Unfortunately vfs_fruit is currently not usable with "fruit:metadata=stream".
Related: fruit:resource = stream is not tested well either and is probably broken as well.
Created attachment 12725 [details] Proposed fixes for vfs_fruit stream mode Attached is a patch that contains fixes for issues I have identified in vfs_fruit operating in stream mode.
Just posted a patch to fix a few issues I found trying to resolve this particular bug. A significant piece still missing is correct function of readdir_attr_macmeta(). Allowing FinderInfo to pass through to streams_xattr leaves readdir_attr_macmeta() without access to the FinderInfo stream. Without a fsp, it is difficult to read that stream. Need guidance on the best way to read that stream in readdir_attr_macmeta(). I do have a workaround where readdir_attr_macmeta() takes the liberty of calling SMB_VFS_GETXATTR() to directly access the xattr stored by streams_xattr. Works, but fruit reaching around streams_xattr is a bit undesirable.
Thanks for looking into this! I'm currently working on a for this as well. My WIP branch is here: <https://git.samba.org/?p=slow/samba.git;a=shortlog;h=refs/heads/fruit-metadata> It passes 'make test TESTS=vfs.fruit' and manual testing. While I'm at it I'll be doing more refactoring, so this won't be the final patchset.
Nice work. I've reviewed it and its definitely a superset of my work and solves the readdir_attr_macmeta() problem. Will let you know if I find any issues with it.
Created attachment 13009 [details] Patch for 4.5 cherry-picked from master All committs cherry-picked besides "vfs_fruit: rework struct adouble API" which didn't apply and needed minimal changes.
Created attachment 13010 [details] Patch for 4.6 cherry-picked from master
No patch for 4.4 here, it's not possible to backport due to the changes at the VFS layer and the size of the patchset.
Reassigning to Karolin for inclusion in 4.5 and 4.6.
(In reply to Ralph Böhme from comment #9) Pushed to autobuild-v4-{6,5}-test.
(In reply to Karolin Seeger from comment #10) Pushed to both branches. Closing out bug report. Thanks!