X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Finclude%2Flustre_export.h;h=b424358041d4621fcde8c181b95ff4ca53676100;hp=f5ac2f14eec429424fb46ec0eb1bc39494a773a0;hb=1069f0832fe33a6944bcba0773ae4241949f970c;hpb=65701b4a30efdb695776bcf690a2b3cabc928da1 diff --git a/lustre/include/lustre_export.h b/lustre/include/lustre_export.h index f5ac2f1..b424358 100644 --- a/lustre/include/lustre_export.h +++ b/lustre/include/lustre_export.h @@ -1,6 +1,4 @@ -/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- - * vim:expandtab:shiftwidth=8:tabstop=8: - * +/* * GPL HEADER START * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -62,7 +60,7 @@ struct mdt_idmap_table; */ struct tg_export_data { /** Protects led_lcd below */ - cfs_semaphore_t ted_lcd_lock; + cfs_mutex_t ted_lcd_lock; /** Per-client data for each export */ struct lsd_client_data *ted_lcd; /** Offset of record in last_rcvd file */ @@ -81,7 +79,7 @@ struct mdt_export_data { cfs_spinlock_t med_open_lock; /* lock med_open_head, mfd_list*/ /** Bitmask of all ibit locks this MDT understands */ __u64 med_ibits_known; - cfs_semaphore_t med_idmap_sem; + cfs_mutex_t med_idmap_mutex; struct lustre_idmap_table *med_idmap; }; @@ -181,13 +179,13 @@ struct obd_export { */ cfs_atomic_t exp_rpc_count; /* RPC references */ cfs_atomic_t exp_cb_count; /* Commit callback references */ + /** Number of queued replay requests to be processes */ + cfs_atomic_t exp_replay_count; cfs_atomic_t exp_locks_count; /** Lock references */ #if LUSTRE_TRACKS_LOCK_EXP_REFS cfs_list_t exp_locks_list; cfs_spinlock_t exp_locks_list_guard; #endif - /** Number of queued replay requests to be processes */ - cfs_atomic_t exp_replay_count; /** UUID of client connected to this export */ struct obd_uuid exp_client_uuid; /** To link all exports on an obd device */ @@ -213,8 +211,13 @@ struct obd_export { __u32 exp_conn_cnt; /** Hash list of all ldlm locks granted on this export */ cfs_hash_t *exp_lock_hash; - /** lock to protect exp_lock_hash accesses */ - cfs_spinlock_t exp_lock_hash_lock; + /** Lock protecting access to exp_flock_wait_list */ + cfs_rwlock_t exp_flock_wait_lock; + /** + * Wait queue for Posix lock deadlock detection, added with + * ldlm_lock::l_flock_waitq. + */ + cfs_list_t exp_flock_wait_list; cfs_list_t exp_outstanding_replies; cfs_list_t exp_uncommitted_replies; cfs_spinlock_t exp_uncommitted_replies_lock;