Web lists-archives.com

Re: [Samba] vfs_fruit causes delay in listing directories for Windows clients




Hello Louis,

Thanks for the ideas, I checked for vfs_fruit on Bugzilla before bothering the list and I couldn't find anything related to the problem I observed.

Anyway, so far it seems the code would have to be adapted for clients not negotiating AAPL (see Ralph's answer to my question).

Cheers,
Stephan

On 12.12.2018 15:58, L.P.H. van Belle via samba wrote:
Hai,

Can you tell the following that helps.

OS ?
Samba Version?  ( pre-builded or source )
Kernel version?

I think you need to wait for 4.9.4 if all patches ive seen on vfs_fruit are getting in.
These might help. Go through bugzilla, you might find more about this here.


Greetz,

Louis

-----Oorspronkelijk bericht-----
Van: samba [mailto:samba-bounces@xxxxxxxxxxxxxxx] Namens
Stephan Roth via samba
Verzonden: woensdag 12 december 2018 15:35
Aan: samba@xxxxxxxxxxxxxxx
Onderwerp: [Samba] vfs_fruit causes delay in listing
directories for Windows clients

Listing directories with many files (10000+) from a Windows client is
nociceably slower when vfs_fruit is enabled on the samba
server compared
to the same setup without vfs_fruit.

On my setup it's roughly 2.5 times slower. To me it looks
like this is
caused by the getxattr call which is only present with vfs_fruit
activated and introduces an additional delay of ~ 0.00033 s
per listed file.

strace -T reveals the following with vfs_fruit activated:

newfstatat(35, "03915", {st_mode=S_IFREG|0660, st_size=1265, ...},
AT_SYMLINK_NOFOLLOW) = 0 <0.000243>
fcntl(20, F_SETLKW, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=8368,
l_len=1}) = 0 <0.000010>
fcntl(20, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=8368,
l_len=1}) = 0 <0.000009>
stat("stroth/testfiles_10000-50000/10000/03915",
{st_mode=S_IFREG|0660,
st_size=1265, ...}) = 0 <0.000312>
getxattr("stroth/testfiles_10000-50000/10000/03915",
"user.org.netatalk.Metadata", 0x55803d5c9a90, 402) = -1
ENODATA (No data
available) <0.000348>
listxattr("testfiles_10000-50000/10000/03915", "", 1024) = 0
<0.000345>

a trace of the same directory listing with vfs_fruit disabled
is faster
and doesn't show the getxattr call:

newfstatat(36, "03239", {st_mode=S_IFREG|0660, st_size=303, ...},
AT_SYMLINK_NOFOLLOW) = 0 <0.000252>
fcntl(20, F_SETLKW, {l_type=F_RDLCK, l_whence=SEEK_SET,
l_start=19600,
l_len=1}) = 0 <0.000008>
fcntl(20, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET,
l_start=19600,
l_len=1}) = 0 <0.000007>
stat("stroth/testfiles_10000-50000/10000/03239",
{st_mode=S_IFREG|0660,
st_size=303, ...}) = 0 <0.000419>
listxattr("testfiles_10000-50000/10000/03239", "", 1024) = 0
<0.000355>


My goal with activating vfs_fruit was to speed up directory
listings for
Mac clients, which works. Can the accompanying slowdown for Windows
clients be avoided?

Thank you for any insights,
Stephan

-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba