diff options
| author | Krishnan Parthasarathi <kp@gluster.com> | 2012-03-12 17:34:32 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vijay@gluster.com> | 2012-03-14 10:58:35 -0700 | 
| commit | 48adf93423ba52f2a0e6d9d59060e6f2f1aa203c (patch) | |
| tree | f70aa7699db1bd8a8504aeaf8c5d4ee97c4e5c03 | |
| parent | bf65ae4fef113d78b7555db8520cd9f64817eda2 (diff) | |
afr: Corrected getxattr 'key' matching in case of clrlk cmd
- Added local->dict cleanup into afr_local_cleanup
Change-Id: Ie1b96615735a9d2a2be1757cd016dbe225aae31c
BUG: 800412
Signed-off-by: Krishnan Parthasarathi <kp@gluster.com>
Reviewed-on: http://review.gluster.com/2922
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
| -rw-r--r-- | xlators/cluster/afr/src/afr-common.c | 3 | ||||
| -rw-r--r-- | xlators/cluster/afr/src/afr-inode-read.c | 12 | 
2 files changed, 5 insertions, 10 deletions
diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c index 4eafed34232..31854b13838 100644 --- a/xlators/cluster/afr/src/afr-common.c +++ b/xlators/cluster/afr/src/afr-common.c @@ -841,6 +841,9 @@ afr_local_cleanup (afr_local_t *local, xlator_t *this)          if (local->xattr_req)                  dict_unref (local->xattr_req); +        if (local->dict) +                dict_unref (local->dict); +          if (local->child_up)                  GF_FREE (local->child_up); diff --git a/xlators/cluster/afr/src/afr-inode-read.c b/xlators/cluster/afr/src/afr-inode-read.c index c4619270207..6c837c3371e 100644 --- a/xlators/cluster/afr/src/afr-inode-read.c +++ b/xlators/cluster/afr/src/afr-inode-read.c @@ -713,12 +713,6 @@ unlock:                                                      priv->child_count);                  AFR_STACK_UNWIND (getxattr, frame, op_ret, op_errno, xattr); -                if (local->dict) -                        dict_unref (local->dict); - -                if (local->child_errno) -                        GF_FREE (local->child_errno); -                  if (xattr)                          dict_unref (xattr);          } @@ -879,9 +873,6 @@ afr_getxattr_pathinfo_cbk (call_frame_t *frame, void *cookie,          unwind:                  AFR_STACK_UNWIND (getxattr, frame, op_ret, op_errno, nxattr); -                if (local->dict) -                        dict_unref (local->dict); -                  if (nxattr)                          dict_unref (nxattr);          } @@ -903,7 +894,8 @@ afr_is_special_xattr (const char *name, fop_getxattr_cbk_t *cbk)          if (!strcmp (name, GF_XATTR_PATHINFO_KEY))                  *cbk = afr_getxattr_pathinfo_cbk; -        else if (!strcmp (name, GF_XATTR_CLRLK_CMD)) +        else if (!strncmp (name, GF_XATTR_CLRLK_CMD, +                           strlen (GF_XATTR_CLRLK_CMD)))                  *cbk = afr_getxattr_clrlk_cbk;          else                  is_spl = _gf_false;  | 
