[Bugs] [Bug 1478411] Directory listings on fuse mount are very slow due to small number of getdents () entries
bugzilla at redhat.com
bugzilla at redhat.com
Sun Sep 17 02:02:18 UTC 2017
https://bugzilla.redhat.com/show_bug.cgi?id=1478411
--- Comment #13 from nh2 <nh2-redhatbugzilla at deditus.de> ---
Another weird thing that I haven't demystified yet:
# strace -wc -f -e getdents,lstat ls -1U /glustermount/largenames-10k/ >
/dev/null
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00 0.208856 11603 18 getdents
------ ----------- ----------- --------- --------- ----------------
100.00 0.208856 18 total
# strace -wc -f -e getdents,lstat ls -lU /glustermount/largenames-10k/ >
/dev/null
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
74.99 0.168202 17 10001 lstat
25.01 0.056089 3116 18 getdents
------ ----------- ----------- --------- --------- ----------------
100.00 0.224291 10019 total
Notice the difference ls `-1` vs `-l`, the former stat()s all files and the
latter doesn't.
For some weird reason, when I also stat() as above with `-l`, getdents()
magically get faster!
It would make sense to me if the present of getdents() made stat()s faster
(e.g. as part of some `stat-prefetch`, though I have that off according to my
posted volume config), but not the other way around.
What might be going on here?
--
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