+++ This bug was initially created as a clone of Bug #1726205 +++ Description of problem: Windows client errors out while copying large file into GlusterFS volume share configured with fruit and streams_xattr VFS modules. See attachment for error message. Version-Release number of selected component (if applicable): master How reproducible: Always Steps to Reproduce: 1. Create a basic distribute-replicate volume 2. Enable "group samba" volume set on the volume 3. Set up a Samba share with fruit and streams_xattr VFS modules vfs objects = fruit streams_xattr glusterfs 4. Connect to the share from a Windows client 5. Try to copy a large file(probably with size > 600M) into share Actual results: Windows client fails to copy large file with error(see attachment). Expected results: Copy completes successfully. Additional info(root cause): Problem lies in md-cache layer where it fails to update cache for xattrs with null value("\0"). Following steps reproduce the core issue on a plain FUSE mount: # touch /mnt/glusterfs/foobar # setfattr -n "user.DosStream.Zone.Identifier:\$DATA" -v "\0" /mnt/glusterfs/foobar # echo $? 0 # getfattr -d -m . -e hex /mnt/glusterfs/foobar getfattr: Removing leading '/' from absolute path names # file: mnt/glusterfs/foobar security.selinux=0x73797374656d5f753a6f626a6563745f723a6675736566735f74 3a733000 /mnt/glusterfs/foobar: user.DosStream.Zone.Identifier:$DATA: No such attribute # getfattr -d -m . -e hex /brick/brick1/foobar getfattr: Removing leading '/' from absolute path names # file: brick/brick1/foobar security.selinux=0x73797374656d5f753a6f626a6563745f723a676c757374657264 5f627269636b5f743a733000 trusted.gfid=0xde7d450691b24107b0c03fac58d9e49e trusted.gfid2path.17f514a2c19aaa57=0x30303030303030302d303030302d303030 302d303030302d3030303030303030303030312f666f6f626172 user.DosStream.Zone.Identifier:$DATA=0x00 # gluster v set vol performance.cache-samba-metadata off volume set: success # getfattr -d -m . -e hex /mnt/glusterfs/foobar getfattr: Removing leading '/' from absolute path names # file: mnt/glusterfs/foobar security.selinux=0x73797374656d5f753a6f626a6563745f723a6675736566735f74 3a733000 user.DosStream.Zone.Identifier:$DATA=0x00 --- Additional comment from on 2019-07-04 16:22:06 IST --- Just raised this bug: https://bugzilla.redhat.com/show_bug.cgi?id=1727062 Not sure if there are any similarities? --- Additional comment from Anoop C S on 2019-07-05 17:11:08 IST --- --- Additional comment from Worker Ant on 2019-08-12 10:43:49 IST --- REVIEW: https://review.gluster.org/23206 (performance/md-cache: Do not skip caching of null character xattr values) posted (#1) for review on master by Anoop C S --- Additional comment from Worker Ant on 2019-08-20 15:43:03 IST --- REVIEW: https://review.gluster.org/23206 (performance/md-cache: Do not skip caching of null character xattr values) merged (#5) on master by Amar Tumballi
REVIEW: https://review.gluster.org/23279 (performance/md-cache: Do not skip caching of null character xattr values) posted (#1) for review on release-6 by Anoop C S
REVIEW: https://review.gluster.org/23279 (performance/md-cache: Do not skip caching of null character xattr values) merged (#2) on release-6 by hari gowtham