X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Finclude%2Flustre_export.h;h=3ba56cb2f6ee7e43c0e4e9850f1027da081da183;hp=5862cb8e5cc56e20eff5385faabe2d8ec942c623;hb=580ef453d1d6f901c3227a037137a7db9e600009;hpb=23773b32bfe15fccc9c029d722dc1bd5b0144779 diff --git a/lustre/include/lustre_export.h b/lustre/include/lustre_export.h index 5862cb8..3ba56cb 100644 --- a/lustre/include/lustre_export.h +++ b/lustre/include/lustre_export.h @@ -42,6 +42,7 @@ * @{ */ +#include #include #include @@ -188,12 +189,11 @@ struct obd_export { * what export they are talking to. */ struct portals_handle exp_handle; - atomic_t exp_refcount; /** * Set of counters below is to track where export references are * kept. The exp_rpc_count is used for reconnect handling also, * the cb_count and locks_count are for debug purposes only for now. - * The sum of them should be less than exp_refcount by 3 + * The sum of them should be less than exp_handle.href by 3 */ atomic_t exp_rpc_count; /* RPC references */ atomic_t exp_cb_count; /* Commit callback references */ @@ -212,8 +212,8 @@ struct obd_export { struct work_struct exp_zombie_work; /* Unlinked export list */ struct list_head exp_stale_list; - struct hlist_node exp_uuid_hash; /** uuid-export hash*/ - struct hlist_node exp_nid_hash; /** nid-export hash */ + struct rhash_head exp_uuid_hash; /** uuid-export hash */ + struct rhlist_head exp_nid_hash; /** nid-export hash */ struct hlist_node exp_gen_hash; /** last_rcvd clt gen hash */ /** * All exports eligible for ping evictor are linked into a list @@ -277,7 +277,10 @@ struct obd_export { exp_need_mne_swab:1, /* The export already got final replay ping * request. */ - exp_replay_done:1; + exp_replay_done:1, + /* local client with recovery disabled */ + exp_no_recovery:1, + exp_hashed:1; /* also protected by exp_lock */ enum lustre_sec_part exp_sp_peer; struct sptlrpc_flavor exp_flvr; /* current */ @@ -440,11 +443,6 @@ static inline int exp_connect_large_acl(struct obd_export *exp) return !!(exp_connect_flags(exp) & OBD_CONNECT_LARGE_ACL); } -static inline int exp_connect_lockahead_old(struct obd_export *exp) -{ - return !!(exp_connect_flags(exp) & OBD_CONNECT_LOCKAHEAD_OLD); -} - static inline int exp_connect_lockahead(struct obd_export *exp) { return !!(exp_connect_flags2(exp) & OBD_CONNECT2_LOCKAHEAD);