VFS fruit and streams_xattr fake_fd passed on to other modules in stack

Varun Mittal vmittal at egnyte.com
Thu Sep 26 08:41:23 UTC 2024


Hi

I am working with VFS fruit and streams_xattr modules stacked before the
module for my filesystem. Samba version 4.18 and my SMB clients are Mac

My smb.conf snippet:
        fruit:metadata = stream
        fruit:resource = stream
        vfs objects = fruit streams_xattr <my-module>
        kernel share modes = Yes

I observe that the fruit module generates a fake_fd for AFP attributes and
then tries to take a lock with this fd.
However the fruit module doesn't implement a filesystem_sharemode wrapper,
so this is passed on to the streams_xattr module. Since that module doesn't
know about this fake fd, it passes it on to the next module. My VFS module
is unaware of this fd as well so it asserts

A similar thing happens with close() call of the fake_fd generated by
streams_xattr module.
The following check fails and the close() for fake_fd is passed on to the
next module
        if (!fsp_is_alternate_stream(fsp))

Am I missing some configuration ?


More information about the samba-technical mailing list