diff options
author | vmallika <vmallika@redhat.com> | 2015-07-08 22:22:50 +0530 |
---|---|---|
committer | Raghavendra G <rgowdapp@redhat.com> | 2015-07-10 01:20:44 -0700 |
commit | c2cd3aeb0d88117f0929a733e9b05aa3e4d392ac (patch) | |
tree | 613031a50893c46daa68147e2c114637d8f16059 /cli/src/cli-rpc-ops.c | |
parent | 7f9108fc0a5c9543e18ad52759a3ebdf91900a33 (diff) |
quota/marker: fix spurious failure afr-quota-xattr-mdata-heal.t
During quota-update process if inode info is present in size-xattr and
missing in contri-xattrs, then in function '_mq_get_metadata', we set
contri-size as zero (on error -2, which means usage info present, but inode info missing).
With this we are calculating wrong delta and updating the same.
With this patch we are ignoring errors if inode info in xattrs are missing
Change-Id: I7940a0e299b8bb425b5b43746b1f13f775c7fb92
BUG: 1241153
Signed-off-by: vmallika <vmallika@redhat.com>
Reviewed-on: http://review.gluster.org/11583
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Tested-by: Raghavendra G <rgowdapp@redhat.com>
Diffstat (limited to 'cli/src/cli-rpc-ops.c')
-rw-r--r-- | cli/src/cli-rpc-ops.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index bd0d4d8a2c2..dd92a15368f 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -3287,16 +3287,12 @@ print_quota_list_from_quotad (call_frame_t *frame, dict_t *rsp_dict) limits.hl = ntoh64 (size_limits->hl); limits.sl = ntoh64 (size_limits->sl); - ret = quota_dict_get_meta (rsp_dict, QUOTA_SIZE_KEY, &used_space); - if (ret == -2 && type == GF_QUOTA_OPTION_TYPE_LIST) { - ret = 0; - /* quota_dict_get_meta returns -2 if metadata for inode - * quotas is missing. - * This can happen when glusterfs is upgraded from 3.6 to 3.7 - * and the xattr healing is not completed. - * We can contiue as success if we are listing only file usage - */ - } + if (type == GF_QUOTA_OPTION_TYPE_LIST) + ret = quota_dict_get_meta (rsp_dict, QUOTA_SIZE_KEY, + &used_space); + else + ret = quota_dict_get_inode_meta (rsp_dict, QUOTA_SIZE_KEY, + &used_space); if (ret < 0) { gf_log ("cli", GF_LOG_WARNING, |