From d90b87eed2fa68df5afcebbc54747e96f6d76cfb Mon Sep 17 00:00:00 2001 From: vmallika Date: Thu, 15 Oct 2015 12:41:13 +0530 Subject: quota: add version to quota xattrs When a quota is disable and the clean-up process terminated without completely cleaning-up the quota xattrs. Now when quota is enabled again, this can mess-up the accounting A version number is suffixed for all quota xattrs and this version number is specific to marker xaltor, i.e when quota xattrs are requested by quotad/client marker will remove the version suffix in the key before sending the response Change-Id: I1ca2c11460645edba0f6b68db70d476d8d26e1eb BUG: 1272411 Signed-off-by: vmallika Reviewed-on: http://review.gluster.org/12386 Tested-by: NetBSD Build System Reviewed-by: Krishnan Parthasarathi Tested-by: Gluster Build System Reviewed-by: Manikandan Selvaganesh Reviewed-by: Raghavendra G --- cli/src/cli-rpc-ops.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'cli') diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index 562c176a2f9..9c42356b594 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -3074,9 +3074,9 @@ print_quota_list_from_mountdir (cli_local_t *local, char *mountdir, GF_ASSERT (path); if (type == GF_QUOTA_OPTION_TYPE_LIST) - key = "trusted.glusterfs.quota.limit-set"; + key = QUOTA_LIMIT_KEY; else - key = "trusted.glusterfs.quota.limit-objects"; + key = QUOTA_LIMIT_OBJECTS_KEY; ret = sys_lgetxattr (mountdir, key, (void *)&limits, sizeof (limits)); @@ -3104,8 +3104,7 @@ print_quota_list_from_mountdir (cli_local_t *local, char *mountdir, limits.hl = ntoh64 (limits.hl); limits.sl = ntoh64 (limits.sl); - xattr_size = sys_lgetxattr (mountdir, "trusted.glusterfs.quota.size", - NULL, 0); + xattr_size = sys_lgetxattr (mountdir, QUOTA_SIZE_KEY, NULL, 0); if (xattr_size < (sizeof (int64_t) * 2) && type == GF_QUOTA_OPTION_TYPE_LIST_OBJECTS) { ret = -1; @@ -3114,13 +3113,13 @@ print_quota_list_from_mountdir (cli_local_t *local, char *mountdir, * and the xattr healing is not completed. */ } else if (xattr_size > (sizeof (int64_t) * 2)) { - ret = sys_lgetxattr (mountdir, "trusted.glusterfs.quota.size", + ret = sys_lgetxattr (mountdir, QUOTA_SIZE_KEY, &used_space, sizeof (used_space)); } else if (xattr_size > 0) { /* This is for compatibility. * Older version had only file usage */ - ret = sys_lgetxattr (mountdir, "trusted.glusterfs.quota.size", + ret = sys_lgetxattr (mountdir, QUOTA_SIZE_KEY, &(used_space.size), sizeof (used_space.size)); used_space.file_count = 0; used_space.dir_count = 0; -- cgit