Bug 14192 - Inconsistent manpages and wiki for vfs_fruit and eventual bug in fruit:zero_file_id
Summary: Inconsistent manpages and wiki for vfs_fruit and eventual bug in fruit:zero_f...
Status: NEW
Alias: None
Product: Samba 4.1 and newer
Classification: Unclassified
Component: VFS Modules (show other bugs)
Version: 4.11.2
Hardware: All All
: P5 normal (vote)
Target Milestone: ---
Assignee: Samba QA Contact
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-11-11 13:34 UTC by thomas.schwark
Modified: 2020-03-02 13:17 UTC (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description thomas.schwark 2019-11-11 13:34:20 UTC
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
Comment 1 thomas.schwark 2019-11-11 13:41:09 UTC
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
Comment 2 Karolin Seeger 2020-02-27 12:50:14 UTC
1 and 2 has been fixed meanwhile.
Comment 3 thomas.schwark 2020-03-02 13:17:25 UTC
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.