X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Finclude%2Flustre_export.h;h=cf24fa62c35d7e2f2c861d70a18fd6ae30d8a58c;hb=af8bcd8339128470065d4b2e06bda94a1ce4adad;hp=5c328f77b03b3e0b7d2177762027c8298feae6d4;hpb=e8d44741cc49104891c69d50a344e51bc4d5fc61;p=fs%2Flustre-release.git diff --git a/lustre/include/lustre_export.h b/lustre/include/lustre_export.h index 5c328f7..cf24fa6 100644 --- a/lustre/include/lustre_export.h +++ b/lustre/include/lustre_export.h @@ -143,9 +143,20 @@ enum obd_option { struct obd_export { struct portals_handle exp_handle; atomic_t exp_refcount; - atomic_t exp_rpc_count; - atomic_t exp_cb_count; - atomic_t exp_locks_count; + /** + * 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 + */ + atomic_t exp_rpc_count; /** RPC references */ + atomic_t exp_cb_count; /** Commit callback references */ + atomic_t exp_locks_count; /** Lock references */ +#if LUSTRE_TRACKS_LOCK_EXP_REFS + struct list_head exp_locks_list; + spinlock_t exp_locks_list_guard; +#endif + atomic_t exp_replay_count; struct obd_uuid exp_client_uuid; struct list_head exp_obd_chain; struct hlist_node exp_uuid_hash; /* uuid-export hash*/