First of all thanks for the great work the samba team is doing ;) When we were upgrading to samba 4.11.x on linux (macOS 10.15.x clients) I updated our config file. 1 I found that on https://www.samba.org/samba/docs/current/man-html/vfs_fruit.8.html fruit:zero_file_id is listed as global option. On https://github.com/samba-team/samba/blob/master/docs-xml/manpages/vfs_fruit.8.xml and therefore on its history (1st of July 2019) it was changed to per share option. Please correct the manpage which is wrong. 2 On the mac samba wiki https://wiki.samba.org/index.php/Configure_Samba_to_Work_Better_with_Mac_OS_X under file cleanup it suggests fruit:veto_appledouble = yes Below in the usage suggestion it says: fruit:veto_appledouble = no which is (in my opinion) the better choice for most workloads. Please change it to use fruit:veto_appledouble = no in both occurances and please consider to change this as new default. 3 I only came across this as a software we use is writing zero byte files before filling them and - I talked to their support - it is not possible to change this. When using the new 4.11.x default fruit:zero_file_id = no the software produces a lot of errors and can not delete some files. When setting back to the old default fruit:zero_file_id = yes everything is working again. I don`t know if this behavior of fruit:zero_file_id is by design or a bug. We found no problems using fruit:zero_file_id = yes. Please consider setting the default back to this or fix the underlying problem. 4 Generally I would suggest to add fruit:encoding = native to the wiki suggestion and correct the suggestions for global and per share options: [Global] min protocol = SMB2 fruit:model = MacSamba [Non-Time-Machine-Share] vfs objects = catia fruit streams_xattr # # already default # fruit:posix_rename = yes # fruit:metadata = stream fruit:encoding = native fruit:veto_appledouble = no fruit:wipe_intentionally_left_blank_rfork = yes fruit:delete_empty_adfiles = yes # # samba 4.11 and newer fruit:zero_file_id = yes [TimeMachineBackup] vfs objects = catia fruit streams_xattr fruit:time machine = yes # fruit:time machine max size = SIZE 5 I would add the working wiki suggestions from (4) as example to the vfs_fruit manpage as it is the best setup to start with (in my opinion) right now. 6 Generally it would be good for all users to see a consistent and working setup/suggestions on all three relevant sites: https://www.samba.org/samba/docs/current/man-html/vfs_fruit.8.html https://github.com/samba-team/samba/blob/master/docs-xml/manpages/vfs_fruit.8.xml https://wiki.samba.org/index.php/Configure_Samba_to_Work_Better_with_Mac_OS_X
additionally I forgot another change for the wiki to set fruit:metadata = netatalk as fruit:metadata = stream gives us a lot of these log entries fruit_pread_meta_stream: Removing [PATH/TO/FILE:AFP_AfpInfo] failed So my suggestion would be [Global] min protocol = SMB2 fruit:model = MacSamba [Non-Time-Machine-Share] vfs objects = catia fruit streams_xattr # # already default # fruit:posix_rename = yes # fruit:metadata = netatalk # fruit:encoding = native fruit:veto_appledouble = no fruit:wipe_intentionally_left_blank_rfork = yes fruit:delete_empty_adfiles = yes # # samba 4.11 and newer fruit:zero_file_id = yes [TimeMachineBackup] vfs objects = catia fruit streams_xattr fruit:time machine = yes # fruit:time machine max size = SIZE
1 and 2 has been fixed meanwhile.
Thanks, number 2 indeed is fixed. Number 1 does not seem to be fixed. On https://www.samba.org/samba/docs/current/man-html/vfs_fruit.8.html fruit:zero_file_id is listed as global option and on https://github.com/samba-team/samba/blob/master/docs-xml/manpages/vfs_fruit.8.xml it is listed under (per share) options.