[Bugs] [Bug 1529842] New: Read-only listxattr syscalls seem to translate to non-read-only FOPs
bugzilla at redhat.com
bugzilla at redhat.com
Sat Dec 30 04:01:22 UTC 2017
https://bugzilla.redhat.com/show_bug.cgi?id=1529842
Bug ID: 1529842
Summary: Read-only listxattr syscalls seem to translate to
non-read-only FOPs
Product: GlusterFS
Version: mainline
Component: changelog
Assignee: bugs at gluster.org
Reporter: nh2-redhatbugzilla at deditus.de
CC: bugs at gluster.org
Description of problem:
I'm running Gluster 3.12.3 on Linux (NixOS).
When I use
getfattr /my/glustermount/myfile
which does a `listxattr()` syscall, then glusterfs translates this to a pair of
SETATTR/REMOVEXATTR FOPs that appear in CHANGELOG.* files, for example
# cat
/var/var/lib/misc/glusterfsd/glusterfind/myvol/myvolume/20171229-213130-082373-0RsA37/eef7fa430d9ab60e74ec72b66629f783f9fb37fa/.history/.current/CHANGELOG.1512988094
M 588ddd06-ca1f-48bc-b5ea-eece0e407b3d SETATTR
M 588ddd06-ca1f-48bc-b5ea-eece0e407b3d REMOVEXATTR
Should really any SETATTR FOP be issued on the gluster side given that
`listxattr()` is a read-only operation?
This makes performance problems:
My backup tool (bup) that I use for backing up my volume issues a
`llistxattr()` for each file it encounters, thus creating millions of
SETATTR/REMOVEXATTR pairs in CHANGELOG.* files and blowing up the work that
`glusterfind` has to do to process them a lot.
How reproducible: Always
Steps to Reproduce:
1. Make sure changelog xlator is enabled (e.g. run glusterfind)
2. Monitor CHANGELOG entries, e.g. using: while true; do cat
/data/glusterfs/myvol/brick1/brick/.glusterfs/changelogs/CHANGELOG.$(date '+%s'
&& sleep 1); sleep 0.1; done
3. Run `getfattr` on a file in the mount
Actual results:
SETATTR/REMOVEXATTR appears in the changelog.
Expected results:
SETATTR/REMOVEXATTR does not appear in the changelog.
--
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
More information about the Bugs
mailing list