bug#68283: ls -l issues on cifs mounted directories

Collin Funk <[email protected]>
Newsgroups gmane.comp.gnu.core-utils.bugs
Message-ID <[email protected]>
Hey Bjoern,

Bjoern Voigt wrote:

> After upgrading coreutils from version 9.3 to 9.4, "ls -l" shows error 
> messages, if the files or directories are in a cifs/smb3 mounted directory.
>
> Example:
> /mnt/cifstest here is mounted with "mount -t cifs -o username=myuser 
> //192.168.1.2/all /mnt/cifstest/". The server is a Samba 4.19.2 server. 
> The kernel is version 6.1.71.

> # ls -l /mnt/cifstest/
> ls: /mnt/cifstest/: Resource temporarily unavailable
> ls: /mnt/cifstest/opt: Resource temporarily unavailable
> [...]
>
> "ls -l" from coreutils 9.3 does not show any errors.
> 
> Probably it is not just the error message. "dmesg -w" shows several 
> errors after executing "ls -l":
> 
> [17563.999109] smb2_reconnect: 3 callbacks suppressed
> [17563.999113] CIFS: VFS: reconnect tcon failed rc = -11
> [17564.160117] CIFS: VFS: reconnect tcon failed rc = -11
> [17564.192244] CIFS: VFS: reconnect tcon failed rc = -11
> [17564.223303] CIFS: VFS: reconnect tcon failed rc = -11
> [17564.256080] CIFS: VFS: reconnect tcon failed rc = -11
> [17564.287887] CIFS: VFS: reconnect tcon failed rc = -11
> [17564.410323] CIFS: VFS: reconnect tcon failed rc = -11
> [17564.442095] CIFS: VFS: reconnect tcon failed rc = -11
> [17564.474065] CIFS: VFS: reconnect tcon failed rc = -11
> [17564.569435] CIFS: VFS: reconnect tcon failed rc = -11
> 
> I debugged this problem a bit. The changes in 
> coreutils-9.4/lib/file-has-acl.c:file_has_acl are probably responsible 
> for the errors. The system call listxttr produces the error message 
> "Resource temporarily unavailable". I could not find the reasons for 
> error messages shown with "dmesg".
> 
> The listxattr.c test program in the manual page (man listxattr) shows 
> the following output:
> 
> # ./listxattr /mnt/cifstest/
> listxattr: Resource temporarily unavailable
> 
> Work-around are to downgrade to coreutils 9.3 or not to use the "-l" 
> option for ls.

Thanks for the details and analysis.

Pádraig Brady suggested this may have been a CIFS bug at the time:

> Thanks for the details.
> EAGAIN is not a documented return from listxattr,
> and it seems like the cifs client should not let that leak.
> [...]
> Perhaps something to ask at linux-cifs <at> vger.kernel.org ?

I am two years late (sorry), but I see another user reported the same
symptoms on linux-cifs a few days after your email [1]. There the
culprit was statfs and listxattr, as you noticed. There is also a GitHub
thread linked where someone who ran into the same issue noted the same
'dmesg' logs you did [2].

From the linux-cifs thread, it looks like the issue got fixed and
backported quickly. So, I don't think any changes in coreutils are
needed. I'll go ahead and close this.

Thanks again for the well written report.

Collin

[1] https://lore.kernel.org/regressions/[email protected]/
[2] https://github.com/home-assistant/operating-system/issues/3041#issuecomment-1878989390
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.