Bug 1000302

Summary: quota: list fails to display all the paths
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Saurabh <saujain>
Component: glusterdAssignee: krishnan parthasarathi <kparthas>
Status: CLOSED ERRATA QA Contact: Saurabh <saujain>
Severity: high Docs Contact:
Priority: high    
Version: 2.1CC: grajaiya, kparthas, mzywusko, nsathyan, rhs-bugs, shmohan, vbellur
Target Milestone: ---Keywords: ZStream
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: glusterfs-3.4.0.33rhs-1 Doc Type: Bug Fix
Doc Text:
Volume quota list command would not display all the directories on which quota limits were set. The change in the algorithm involved in fetching quota configuration, associated with a directory, fixed the issue. Now, in this update, volume quota list command would display all the directories.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-27 15:32:26 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Saurabh 2013-08-23 06:54:52 UTC
Description of problem:

the list fails to show all the paths. 
for the new build, the quota list should list the paths on that volume that are having limit set.
but that does not happen presently.

Giving a bit more idea about scenario,

I installed new rpms.
I had existing volume with directories having the quota limit set and data already inside them.
Now, "gluster volume quota <volname> list" didn't work, mean didn't send the desired output.
whereas "gluster volume quota <volname> list <pathname>" worked properly.

so, I set the limit again on the same direcotries, limit set value was also same.

I did the same for 10 directories,
out of 10 directories only 5 directories are listed. 


Version-Release number of selected component (if applicable):
glusterfs-fuse-3.4.0.20rhsquota2-1.el6rhs.x86_64
glusterfs-debuginfo-3.4.0.20rhsquota2-1.el6rhs.x86_64
glusterfs-libs-3.4.0.20rhsquota2-1.el6rhs.x86_64
glusterfs-api-3.4.0.20rhsquota2-1.el6rhs.x86_64
glusterfs-geo-replication-3.4.0.20rhsquota2-1.el6rhs.x86_64
glusterfs-server-3.4.0.20rhsquota2-1.el6rhs.x86_64
glusterfs-3.4.0.20rhsquota2-1.el6rhs.x86_64
glusterfs-rdma-3.4.0.20rhsquota2-1.el6rhs.x86_64


How reproducible:
always

Actual results:
[root@rhsauto032 ~]# gluster volume quota dist-rep2 list
                  Path                   Hard-limit Soft-limit   Used  Available
--------------------------------------------------------------------------------
/1                                         1.0MB       80%    1000.0KB  24.0KB
/3                                         1.0MB       80%    1000.0KB  24.0KB
/5                                         1.0MB       80%    1000.0KB  24.0KB
/7                                         1.0MB       80%       1.0MB  0Bytes
/9                                         1.0MB       80%    1000.0KB  24.0KB


Expected results:
all of them should have been listed.

Additional info:

[root@rhsauto032 ~]# cat /var/lib/glusterd/vols/dist-rep2/quota.conf | wc -l
10
[root@rhsauto032 ~]# cat /var/lib/glusterd/vols/dist-rep2/quota.conf 
1c5b31b0-e972-4728-bbca-a0c6e8fb6907
6ffb3e43-c7be-4e02-b3e3-6011d16f4787
fecd6cdd-4daf-4585-8380-6315672b63c9
4ee7d43e-6204-4747-820f-18e633499cdc
b45524c6-a213-496d-a861-a39ea9ebd534
e4914f8b-2023-4363-82eb-45a97322ab79
128227d4-7050-4e87-9c68-734acd88aec7
5abc5cfb-853b-4018-bc19-3438f47c827c
a3726d8f-84d2-493f-81da-40fa3e45a681
37e7bbdf-b352-417e-b504-5ccc63361d01


presenlty sharing the xattrs from node1 for al the 10 directories in consideration,

[root@rhsauto032 ~]# getfattr -m . -d -e hex /rhs/bricks/d1r1-2/1
getfattr: Removing leading '/' from absolute path names
# file: rhs/bricks/d1r1-2/1
trusted.gfid=0x1c5b31b0e9724728bbcaa0c6e8fb6907
trusted.glusterfs.dht=0x00000001000000007ffffffeaaaaaaa7
trusted.glusterfs.quota.00000000-0000-0000-0000-000000000001.contri=0x0000000000064000
trusted.glusterfs.quota.dirty=0x3000
trusted.glusterfs.quota.limit-set=0x00000000001000000000000000000000
trusted.glusterfs.quota.size=0x0000000000064000

[root@rhsauto032 ~]# getfattr -m . -d -e hex /rhs/bricks/d1r1-2/2
getfattr: Removing leading '/' from absolute path names
# file: rhs/bricks/d1r1-2/2
trusted.gfid=0x6ffb3e43c7be4e02b3e36011d16f4787
trusted.glusterfs.dht=0x00000001000000007ffffffeaaaaaaa7
trusted.glusterfs.quota.00000000-0000-0000-0000-000000000001.contri=0x0000000000032000
trusted.glusterfs.quota.dirty=0x3000
trusted.glusterfs.quota.limit-set=0x00000000001000000000000000000000
trusted.glusterfs.quota.size=0x0000000000032000

[root@rhsauto032 ~]# getfattr -m . -d -e hex /rhs/bricks/d1r1-2/3
getfattr: Removing leading '/' from absolute path names
# file: rhs/bricks/d1r1-2/3
trusted.gfid=0xfecd6cdd4daf458583806315672b63c9
trusted.glusterfs.dht=0x0000000100000000aaaaaaa8d5555551
trusted.glusterfs.quota.00000000-0000-0000-0000-000000000001.contri=0x000000000004b000
trusted.glusterfs.quota.dirty=0x3000
trusted.glusterfs.quota.limit-set=0x00000000001000000000000000000000
trusted.glusterfs.quota.size=0x000000000004b000

[root@rhsauto032 ~]# getfattr -m . -d -e hex /rhs/bricks/d1r1-2/4
getfattr: Removing leading '/' from absolute path names
# file: rhs/bricks/d1r1-2/4
trusted.gfid=0x4ee7d43e62044747820f18e633499cdc
trusted.glusterfs.dht=0x00000001000000002aaaaaaa55555553
trusted.glusterfs.quota.00000000-0000-0000-0000-000000000001.contri=0x0000000000019000
trusted.glusterfs.quota.dirty=0x3000
trusted.glusterfs.quota.limit-set=0x00000000001000000000000000000000
trusted.glusterfs.quota.size=0x0000000000019000

[root@rhsauto032 ~]# getfattr -m . -d -e hex /rhs/bricks/d1r1-2/5
getfattr: Removing leading '/' from absolute path names
# file: rhs/bricks/d1r1-2/5
trusted.gfid=0xb45524c6a213496da861a39ea9ebd534
trusted.glusterfs.dht=0x00000001000000002aaaaaaa55555553
trusted.glusterfs.quota.00000000-0000-0000-0000-000000000001.contri=0x0000000000000000
trusted.glusterfs.quota.dirty=0x3000
trusted.glusterfs.quota.limit-set=0x00000000001000000000000000000000
trusted.glusterfs.quota.size=0x0000000000000000

[root@rhsauto032 ~]# getfattr -m . -d -e hex /rhs/bricks/d1r1-2/7
getfattr: Removing leading '/' from absolute path names
# file: rhs/bricks/d1r1-2/7
trusted.gfid=0x128227d470504e879c68734acd88aec7
trusted.glusterfs.dht=0x00000001000000002aaaaaaa55555553
trusted.glusterfs.quota.00000000-0000-0000-0000-000000000001.contri=0x0000000000010000
trusted.glusterfs.quota.dirty=0x3000
trusted.glusterfs.quota.limit-set=0x00000000001000000000000000000000
trusted.glusterfs.quota.size=0x0000000000010000

[root@rhsauto032 ~]# getfattr -m . -d -e hex /rhs/bricks/d1r1-2/8
getfattr: Removing leading '/' from absolute path names
# file: rhs/bricks/d1r1-2/8
trusted.gfid=0x5abc5cfb853b4018bc193438f47c827c
trusted.glusterfs.dht=0x0000000100000000000000002aaaaaa9
trusted.glusterfs.quota.00000000-0000-0000-0000-000000000001.contri=0x0000000000019000
trusted.glusterfs.quota.dirty=0x3000
trusted.glusterfs.quota.limit-set=0x00000000001000000000000000000000
trusted.glusterfs.quota.size=0x0000000000019000

[root@rhsauto032 ~]# getfattr -m . -d -e hex /rhs/bricks/d1r1-2/9
getfattr: Removing leading '/' from absolute path names
# file: rhs/bricks/d1r1-2/9
trusted.gfid=0xa3726d8f84d2493f81da40fa3e45a681
trusted.glusterfs.dht=0x00000001000000007ffffffeaaaaaaa7
trusted.glusterfs.quota.00000000-0000-0000-0000-000000000001.contri=0x0000000000019000
trusted.glusterfs.quota.dirty=0x3000
trusted.glusterfs.quota.limit-set=0x00000000001000000000000000000000
trusted.glusterfs.quota.size=0x0000000000019000

[root@rhsauto032 ~]# getfattr -m . -d -e hex /rhs/bricks/d1r1-2/10
getfattr: Removing leading '/' from absolute path names
# file: rhs/bricks/d1r1-2/10
trusted.gfid=0x37e7bbdfb352417eb5045ccc63361d01
trusted.glusterfs.dht=0x00000001000000002aaaaaaa55555553
trusted.glusterfs.quota.00000000-0000-0000-0000-000000000001.contri=0x000000000004b000
trusted.glusterfs.quota.dirty=0x3000
trusted.glusterfs.quota.limit-set=0x00000000001000000000000000000000
trusted.glusterfs.quota.size=0x000000000004b000


if required more information please let me know.

Comment 4 shylesh 2013-10-07 06:19:39 UTC
Verified on 3.4.0.33rhs-1.el6rhs.x86_64

Comment 5 errata-xmlrpc 2013-11-27 15:32:26 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-1769.html