X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Finclude%2Flustre_export.h;h=3ba56cb2f6ee7e43c0e4e9850f1027da081da183;hb=580ef453d1d6f901c3227a037137a7db9e600009;hp=5cf29e1a74d0098b46160d782edb67e1b7a93565;hpb=dd200e5530fd841999399f6dcafb5ded46ba3cf1;p=fs%2Flustre-release.git diff --git a/lustre/include/lustre_export.h b/lustre/include/lustre_export.h index 5cf29e1..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 */ @@ -307,7 +310,8 @@ struct obd_export { /** highest XID received by export client that has no * unreceived lower-numbered XID */ - __u64 exp_last_xid; + __u64 exp_last_xid; + long *exp_used_slots; }; #define exp_target_data u.eu_target_data @@ -439,14 +443,14 @@ 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) +static inline int exp_connect_lockahead(struct obd_export *exp) { - return !!(exp_connect_flags(exp) & OBD_CONNECT_LOCKAHEAD_OLD); + return !!(exp_connect_flags2(exp) & OBD_CONNECT2_LOCKAHEAD); } -static inline int exp_connect_lockahead(struct obd_export *exp) +static inline int exp_connect_overstriping(struct obd_export *exp) { - return !!(exp_connect_flags2(exp) & OBD_CONNECT2_LOCKAHEAD); + return !!(exp_connect_flags2(exp) & OBD_CONNECT2_OVERSTRIPING); } static inline int exp_connect_flr(struct obd_export *exp)