diff options
author | Mohammed Junaid Ahmed <junaid@gluster.com> | 2011-01-03 00:37:22 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2011-01-24 14:19:44 -0800 |
commit | 5fd43d28ff12ac1c4e4d60e77a38659013b1ab3a (patch) | |
tree | 6c34905d7f7dd073ccd9abfceadef3221f41d32a /xlators/protocol/server/src/server.h | |
parent | df6d34d0042421bb87f30bcf5e03d4ba0de7501c (diff) |
protocol/server: Distinguishing the locks based on the type of fop like inodelk and entrylk.
Currently, the protocol server considers entrylk to be held only on directories
and inodelk on files and thus when a client unmounts itself while holding locks,
it fails to free entrylk locks held on files and inodelk locks held on directories.
Signed-off-by: Junaid <junaid@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2221 (Failed to free Inodlk locks on directories when the client holding the locks was unmounted before releasing the locks held.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2221
Diffstat (limited to 'xlators/protocol/server/src/server.h')
-rw-r--r-- | xlators/protocol/server/src/server.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/xlators/protocol/server/src/server.h b/xlators/protocol/server/src/server.h index 562ac5b8f5b..c9e14d00be7 100644 --- a/xlators/protocol/server/src/server.h +++ b/xlators/protocol/server/src/server.h @@ -44,13 +44,12 @@ struct _locker { }; struct _lock_table { - struct list_head file_lockers; - struct list_head dir_lockers; + struct list_head inodelk_lockers; + struct list_head entrylk_lockers; gf_lock_t lock; size_t count; }; - /* private structure per connection (transport object) * used as transport_t->xl_private */ |