Bug 1754517

Summary: Gluster 6.5 not listing all quotas
Product: [Community] GlusterFS Reporter: ryan
Component: quotaAssignee: bugs <bugs>
Status: CLOSED NOTABUG QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6CC: bugs, hgowtham, jiri.lunacek, pasik, sunkumar
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-01-28 07:50:44 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 ryan 2019-09-23 13:10:09 UTC
Description of problem:
'gluster vol quota [vol-name] list' doesn't list all quotas on a volume

Version-Release number of selected component (if applicable):
Gluster 6.5

How reproducible:
Unsure

Steps to Reproduce:
1. Create a distributed volume
2. Add a quota to a subfolder of the volume
3. run command 'gluster vol quota [volume-name] list'

Actual results:
Command exits with return code 0, but no quotas are listed


Expected results:
Command exits with return code 0, and all quotas on the volume are listed


Additional info:
Quotad.log seems to be normal with no new entries.
Tailing the quota-mount-volname.log file when running the list command shows a few warnings:

 W [dict.c:1005:str_to_data] (-->/usr/lib64/glusterfs/6.5/xlator/protocol/client.so(+0x40517) [0x7f3f28582517] -->/lib64/libglusterfs.so.0(dict_set_str+0x16) [0x7f3f366e0ce6] -->/lib64/libglusterfs.so.0(str_to_data+0x71) [0x7f3f366dd601] ) 0-dict: value is NULL [Invalid argument]
[2019-09-23 13:08:41.818431] I [MSGID: 114006] [client-handshake.c:1237:client_setvolume] 0-mcv01-client-0: failed to set process-name in handshake msg
[2019-09-23 13:08:41.818948] I [MSGID: 114046] [client-handshake.c:1106:client_setvolume_cbk] 0-mcv01-client-0: Connected to mcv01-client-0, attached to remote volume '/mnt/h1a/mcv01_data'.
[2019-09-23 13:08:41.820531] I [fuse-bridge.c:5142:fuse_init] 0-glusterfs-fuse: FUSE inited with protocol versions: glusterfs 7.24 kernel 7.22
[2019-09-23 13:08:41.820558] I [fuse-bridge.c:5753:fuse_graph_sync] 0-fuse: switched to graph 0
[2019-09-23 13:08:41.835771] I [fuse-bridge.c:6019:fuse_thread_proc] 0-fuse: initating unmount of /var/run/gluster/mcv01_quota_list/
[2019-09-23 13:08:41.835888] W [glusterfsd.c:1570:cleanup_and_exit] (-->/lib64/libpthread.so.0(+0x7dd5) [0x7f3f35527dd5] -->/usr/sbin/glusterfs(glusterfs_sigwaiter+0xe5) [0x55d664f231b5] -->/usr/sbin/glusterfs(cleanup_and_exit+0x6b) [0x55d664f2301b] ) 0-: received signum (15), shutting down
[2019-09-23 13:08:41.835919] I [fuse-bridge.c:6807:fini] 0-fuse: Unmounting '/var/run/gluster/mcv01_quota_list/'.
[2019-09-23 13:08:41.835931] I [fuse-bridge.c:6812:fini] 0-fuse: Closing fuse connection to '/var/run/gluster/mcv01_quota_list/'.

Comment 1 hari gowtham 2019-11-21 06:45:32 UTC
Hi,

We are not able to reproduce the issue. and the above details aren't enough to debug why it happened.
The above is an aux mount, which gets killed after finishing it job. That is expected.

Regards,
Hari.

Comment 2 Sunny Kumar 2020-01-28 07:50:44 UTC
Closing this bug for now based on comment #1 ,we can reopen once it gets a hit.

Comment 3 Jiri Lunacek 2020-06-16 15:37:50 UTC
We have hit (probably) the same bug in 7.5

Distribute (2) volume, quotas set on directories.

glusterfs volume quota volname list shows no output

quota process logs show warnings:


[2020-06-16 15:26:32.130903] W [dict.c:999:str_to_data] (-->/usr/lib64/glusterfs/7.5/xlator/protocol/client.so(+0x381d4) [0x7fba35d751d4] -->/lib64/libglusterfs.so.0(dict_set_str+0x16) [0x7fba44705346] -->/lib64/libglusterfs.so.0(str_to_data+0x71) [0x7fba44701c61] ) 0-dict: value is NULL [Invalid argument]
[2020-06-16 15:26:32.132841] W [dict.c:999:str_to_data] (-->/usr/lib64/glusterfs/7.5/xlator/protocol/client.so(+0x381d4) [0x7fba35d751d4] -->/lib64/libglusterfs.so.0(dict_set_str+0x16) [0x7fba44705346] -->/lib64/libglusterfs.so.0(str_to_data+0x71) [0x7fba44701c61] ) 0-dict: value is NULL [Invalid argument]

Extended attributes on top-level directories with quotas set:

getfattr -m 'trusted\.glusterfs\.quota.*' -d -e hex *
# file: csv3623
trusted.glusterfs.quota.156d4807-df79-414d-af0a-7995dced80b1.contri.2=0x0000000003be8400000000000000000500000000000000ea
trusted.glusterfs.quota.dirty=0x3000
trusted.glusterfs.quota.limit-set.2=0x0000001900000000ffffffffffffffff
trusted.glusterfs.quota.size.2=0x0000000003be8400000000000000000500000000000000ea

# file: csv3800
trusted.glusterfs.quota.156d4807-df79-414d-af0a-7995dced80b1.contri.2=0x00000002429e4400000000000000d2910000000000001217
trusted.glusterfs.quota.dirty=0x3000
trusted.glusterfs.quota.limit-set.2=0x0000001900000000ffffffffffffffff
trusted.glusterfs.quota.size.2=0x00000002429e4400000000000000d2910000000000001217

# file: csv3862
trusted.glusterfs.quota.156d4807-df79-414d-af0a-7995dced80b1.contri.2=0x0000000005f3f20000000000000001c200000000000001cc
trusted.glusterfs.quota.dirty=0x3000
trusted.glusterfs.quota.limit-set.2=0x0000001900000000ffffffffffffffff
trusted.glusterfs.quota.size.2=0x0000000005f3f20000000000000001c200000000000001cc

# file: csv3886
trusted.glusterfs.quota.156d4807-df79-414d-af0a-7995dced80b1.contri.2=0x0000000000be1c00000000000000009d0000000000000039
trusted.glusterfs.quota.dirty=0x3000
trusted.glusterfs.quota.limit-set.2=0x0000001900000000ffffffffffffffff
trusted.glusterfs.quota.size.2=0x0000000000be1c00000000000000009d0000000000000039

# file: csv3904
trusted.glusterfs.quota.156d4807-df79-414d-af0a-7995dced80b1.contri.2=0x000000000000000000000000000000000000000000000030
trusted.glusterfs.quota.dirty=0x3000
trusted.glusterfs.quota.limit-set.2=0x0000001900000000ffffffffffffffff
trusted.glusterfs.quota.size.2=0x000000000000000000000000000000000000000000000030

# file: csv3947
trusted.glusterfs.quota.156d4807-df79-414d-af0a-7995dced80b1.contri.2=0x000000000000000000000000000000000000000000000001
trusted.glusterfs.quota.dirty=0x3000
trusted.glusterfs.quota.limit-set.2=0x0000006400000000ffffffffffffffff
trusted.glusterfs.quota.size.2=0x000000000000000000000000000000000000000000000001

# file: csv4966
trusted.glusterfs.quota.156d4807-df79-414d-af0a-7995dced80b1.contri.2=0x0000041bf5b8ac0000000000002222f90000000000988f74
trusted.glusterfs.quota.dirty=0x3000
trusted.glusterfs.quota.limit-set.2=0x000007d000000000ffffffffffffffff
trusted.glusterfs.quota.size.2=0x0000041bf5b8ac0000000000002222f90000000000988f74

# file: csv5120
trusted.glusterfs.quota.156d4807-df79-414d-af0a-7995dced80b1.contri.2=0x000000000000000000000000000000000000000000000001
trusted.glusterfs.quota.dirty=0x3000
trusted.glusterfs.quota.limit-set.2=0x0000007d00000000ffffffffffffffff
trusted.glusterfs.quota.size.2=0x000000000000000000000000000000000000000000000001

Comment 4 Jiri Lunacek 2020-06-16 16:02:19 UTC
One more note.

gluster volume quota volname list /path

works as expected