diff options
| author | Pavan Sondur <pavan@gluster.com> | 2009-11-17 05:24:03 +0000 | 
|---|---|---|
| committer | Anand V. Avati <avati@dev.gluster.com> | 2009-11-19 00:53:02 -0800 | 
| commit | 916ca4d87c410c075a622fc24848ba06868c280a (patch) | |
| tree | 3c2931ca29a9f7e0a8a7820deac489c8ec3fdf39 | |
| parent | 7a6b1de614c6db02eeb437c06fd2568ccea7d34e (diff) | |
Do not access a free'd lock while releasing all inodelks of transport.
Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 222 (Enhance Internal locks to support multilple domains and rewrite inodelks)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=222
| -rw-r--r-- | xlators/features/locks/src/inodelk.c | 10 | 
1 files changed, 4 insertions, 6 deletions
diff --git a/xlators/features/locks/src/inodelk.c b/xlators/features/locks/src/inodelk.c index 53a708fdb..89bb81f42 100644 --- a/xlators/features/locks/src/inodelk.c +++ b/xlators/features/locks/src/inodelk.c @@ -340,13 +340,11 @@ grant_blocked_inode_locks (xlator_t *this, pl_inode_t *pl_inode, pl_inode_lock_t  {          if (list_empty (&dom->blocked_inodelks)) { -                goto out; +                gf_log (this->name, GF_LOG_TRACE, +                        "No locks for domain: %s", dom->domain);          } -  	__grant_blocked_inode_locks (this, pl_inode, dom); -out: -        __destroy_inode_lock (lock);  } @@ -378,11 +376,11 @@ release_inode_locks_of_transport (xlator_t *this, pl_dom_list_t *dom,                          if (l->transport != trans)                                  continue; -                        list_del_init (&l->list); +                        __delete_inode_lock (l);  			grant_blocked_inode_locks (this, pinode, l, dom); -                        __delete_inode_lock (l); +                        __destroy_inode_lock (l);                          if (inode_path (inode, NULL, &path) < 0) {                                  gf_log (this->name, GF_LOG_TRACE,  | 
