diff options
author | Pavan Vilas Sondur <pavan@gluster.com> | 2009-12-03 14:51:11 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2009-12-03 12:45:14 -0800 |
commit | 26257254fb42c132ff2e0565655fdc382184d8af (patch) | |
tree | 0eff913f81c9596624f4d656dbd20fdcd95fef13 /xlators/features/locks/src/common.c | |
parent | 120b446967ef33701a31d0da23324177922a3d73 (diff) |
features/locks: Release all locks of an fd when a client disconnects.
Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 336 (Use lock owner field from fuse in locks)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336
Diffstat (limited to 'xlators/features/locks/src/common.c')
-rw-r--r-- | xlators/features/locks/src/common.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/xlators/features/locks/src/common.c b/xlators/features/locks/src/common.c index 58b95d207..5c83f366e 100644 --- a/xlators/features/locks/src/common.c +++ b/xlators/features/locks/src/common.c @@ -425,7 +425,8 @@ out: /* Create a new posix_lock_t */ posix_lock_t * -new_posix_lock (struct flock *flock, transport_t *transport, pid_t client_pid, uint64_t owner) +new_posix_lock (struct flock *flock, transport_t *transport, pid_t client_pid, + uint64_t owner, fd_t *fd) { posix_lock_t *lock = NULL; @@ -443,6 +444,7 @@ new_posix_lock (struct flock *flock, transport_t *transport, pid_t client_pid, u lock->fl_end = flock->l_start + flock->l_len - 1; lock->transport = transport; + lock->fd = fd; lock->client_pid = client_pid; lock->owner = owner; @@ -686,6 +688,7 @@ __insert_and_merge (pl_inode_t *pl_inode, posix_lock_t *lock) sum->fl_type = lock->fl_type; sum->transport = lock->transport; + sum->fd = lock->fd; sum->client_pid = lock->client_pid; sum->owner = lock->owner; @@ -701,6 +704,7 @@ __insert_and_merge (pl_inode_t *pl_inode, posix_lock_t *lock) sum->fl_type = conf->fl_type; sum->transport = conf->transport; + sum->fd = conf->fd; sum->client_pid = conf->client_pid; sum->owner = conf->owner; |