Re: getxattr() on cifs sometimes hangs since kernel 5.14

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 18 May 2022 at 13:15, Forest <forestix@xxxxxxxxx> wrote:
>
> When running on recent kernel versions, this system call on a cifs-mounted
> file sometimes takes an unusually long time:
>
> getxattr("/cifsmount/dir/image.jpg", "user.baloo.rating", NULL, 0)
>
> The call normally returns in under 10 milliseconds, but on kernel 5.14+, it
> sometimes takes over 30 seconds with no significant client or server load.
>
> Discovered while using gwenview to browse 100+ 1.5 MiB images on a samba share
> mounted via /etc/fstab. While quickly flipping through the images, the problem
> often occurs within 20 seconds. Gwenview freezes until the call completes.
>
> Client:
>   kernel versions 5.14 and later
>   mount.cifs 6.11
>   Gwenview 20.12.3
>   Debian Bullseye
>   4-core amd64
> Server:
>   Samba 4.13.13-Debian
>   Debian Bullseye
>   6-core arm64
>
> A git bisect identified kernel commit 9e992755be8f as the problematic change.
> The problem does not occur when any of the following are true:
> - Client is running a kernel from before that commit.
> - The nouser_xattr mount option is used on the cifs share.
> - Gwenview accesses the files via smb:// URL instead of a cifs mount.
>
> I don't know Gwenview's internals, but using its strace output as a guide, I
> have written a potential reproducer. It succeeds at triggering slow getxattr()
> calls, though not nearly as slow as those triggered by Gwenview. I can post it
> if that would be helpful.


Please post the reproducer. It will be useful for testing as well as
verifying if a potential fix.
If the reproducer is simple enough we might add it to our buildbot.



[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux