Samba4 Time Machine: unable to mount share

I’m trying to run Time Machine backups on a Turris Omnia. I’ve managed to set up Samba 4 and can access sharea seemingly without issue. I managed to get a first backup to complete, but now I can’t mount the volume any longer. The Mac is giving me a very generic error message, and logread shows me this:

Sep 14 21:17:58 emerson smbd[16361]: [2021/09/14 17:17:58.894957,  0] ../../source3/modules/vfs_fruit.c:6982(fruit_tmsize_do_dirent)
Sep 14 21:17:58 emerson smbd[16361]:   fruit_tmsize_do_dirent: tmsize potential overflow: bandsize [33554432] nbands [1931]
Sep 14 21:17:58 emerson smbd[16361]: [2021/09/14 17:17:58.895241,  0] ../../source3/smbd/dfree.c:136(sys_disk_free)
Sep 14 21:17:58 emerson smbd[16361]:   sys_disk_free: VFS disk_free failed. Error was : No error information

I can mount other shares without issue. I didn’t find a lot of information about this error. Any suggestions?

[Time Machine Mary]
	path = /srv/shares/timemachine/mary
	create mask = 0666
	directory mask = 0777
	read only = no
	guest ok = no
	fruit:encoding = native
	fruit:metadata = stream
	fruit:veto_appledouble = no
	fruit:time machine = yes
	fruit:time machine max size = 350G
	vfs objects = catia fruit streams_xattr 

If I leave out the time machine max size, the volume gets mounted without issue, and Time Machine works as expected.

I need to limit the available size since I want to back up two machines to the same underlying btrfs filesystem.

I've since tried to use quotas on a btrfs subvolume, but I think this is not going to work in the intended fashion, as the free space on the share is the free space on the whole btrfs volume, not the available quota of the subvolume.

I've searched quite a bit, and the only thing related to the volume size limit I can find is an old bug that talks about calculation issues on i386, but it doesn't seem to have a solution. And I'm not even sure the error message in the log is even related to the problem of not being able to mount the share.

Looks like the old size bug is back, i remember we had a patch for this stuff. Yet the patch was commited into upstream and should be there since 4.12.x . Seems its back again...

I found this regarding it: https://githubmemory.com/repo/mbentley/docker-timemachine/issues/81

You can try setup a issue here: https://bugzilla.samba.org/buglist.cgi?component=VFS%20Modules&order=changeddate%20DESC%2Cbug_status%2Cpriority%2Cassigned_to%2Cbug_id&product=Samba%204.1%20and%20newer&query_format=advanced&resolution=---

Versions:

  • Turris 5.2.7
  • smbd 4.11.17, from the opkg packages:
    • samba4-admin - 4.11.17-3.7-2
    • samba4-client - 4.11.17-3.7-2
    • samba4-libs - 4.11.17-3.7-2
    • samba4-server - 4.11.17-3.7-2
    • samba4-utils - 4.11.17-3.7-2

ok found the commit, it was fixed in 4.11.9

Its this bug: https://bugzilla.samba.org/show_bug.cgi?id=13622

Maybe comment there too if this happens again.

Added a new bug https://bugzilla.samba.org/show_bug.cgi?id=14840. This might be the same issue as reported in https://bugzilla.samba.org/show_bug.cgi?id=14409.

I will try the symlink later today.

In my TM backups, I am seeing only *.sparsebundle entries, so the report in https://bugzilla.samba.org/show_bug.cgi?id=14409 does not seem to apply to my case.