Page MenuHomeFreeBSD

net/samba46: Add experimental FULLSYNC support
AbandonedPublic

Authored by feld on Aug 21 2017, 2:26 PM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 20 2023, 7:27 AM
Unknown Object (File)
Nov 21 2023, 4:24 AM
Unknown Object (File)
Nov 21 2023, 4:09 AM
Unknown Object (File)
Nov 20 2023, 8:35 PM
Unknown Object (File)
Nov 10 2023, 12:43 PM
Unknown Object (File)
Nov 5 2023, 5:05 PM
Unknown Object (File)
Oct 30 2023, 9:59 AM
Unknown Object (File)
Oct 19 2023, 6:56 PM

Details

Reviewers
None
Summary

Apple is moving their products away from Netatalk/AFP for Time Machine
backups. If you use OSX Server as your Time Machine it is actually using
Apple's SMB software (not samba) for the backups. Open source solutions
have not been able to migrate to SMB because of missing support for
Apple's FULLSYNC extension to the SMB protocol. This patch supplies that
support. This work is being done in the open and will probably land in
the next stable release of Samba (4.8?) but many people will want this
sooner.

My current testing shows this works great.

Do note this is completely different than the old "defaults write
com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1" trick
which was actually dangerous and truly unsupported. With this patch and
Avavhi running your Time Machine volume will automatically be detected
by your MacOS machines.

Test Plan

Build with FULLSYNC, configure smb4.conf with something like this:

[global]
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
security = user

[time machine]
fruit:aapl = yes
fruit:time machine = yes
path = /zfs/timemachine
valid users = me
writable = yes
kernel oplocks = no
kernel share modes = no
posix locking = no
vfs objects = catia fruit streams_xattr
ea support = yes

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 11246
Build 11622: arc lint + arc unit

Event Timeline

Clean up Makefile to revert unrelated changes

The patch header has not been altered to remove [PATCH 1/2] so the
original metadata stays intact and the source can be properly identified

I have confirmed this patch does work: I'm using it successfully.

closing as this will be in the 4.8 release and we can put the rc into the tree instead of adding an experimental patch to the 4.6 port