I'm using Samba 4.5 with ZFS as a file share to a Windows 8.1 client. Samba itself is working and I've tested my smb.conf using testparm - it looks correct. The smbd log doesn't show any errors. But I'm not seeing any Previous Versions in the client.
I'm not sure where to go with this, to figure what I'm missing and what's needed to fix it.
Output of testparm:
[global]
domain master = Yes
lm announce = Yes
os level = 200
preferred master = Yes
logging = file
max log size = 51200
reject md5 clients = Yes
async smb echo handler = Yes
kernel change notify = No
panic action = /usr/local/libexec/samba/samba-backtrace
pid directory = /var/run/samba
disable spoolss = Yes
load printers = No
printcap name = /dev/null
max mux = 500
name resolve order = wins host bcast
server min protocol = SMB3_02
time server = Yes
auth methods = sam
map to guest = Bad User
security = USER
server role = standalone server
username level = 5
deadtime = 30
hostname lookups = Yes
keepalive = 45
max open files = 2826902
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=131072 SO_SNDBUF=131072
reject md5 servers = Yes
dns proxy = No
wins hook = ***
wins support = Yes
case sensitive = Yes
map archive = No
store dos attributes = Yes
strict locking = No
directory name cache size = 0
dos filemode = Yes
acl allow execute always = Yes
map acl inherit = Yes
access based share enum = Yes
admin users = ***
create mask = ***
directory mask = ***
hosts allow = ***
hosts deny = ***
write cache size = 524288
[Test_share]
path = "***"
hide dot files = No
veto files = /.snapshot/.windows/.zfs/
invalid users = ***
read only = No
vfs objects = zfs_space zfsacl streams_xattr aio_pthread shadow_copy2
shadow:sort = asc
shadow:fixinodes = yes
shadow:format = _%Z-%Y.%m.%d-%H.%M.%S
shadow:delimiter = _
shadow:snapprefix = ^[a-zA-Z0-9_-]+
shadow:snapdir = .zfs/snapshot
zfsacl:acesort = dontcare
nfs4:chown = true
nfs4:acedup = merge
nfs4:mode = special
recycle:subdir_mode = 0700
recycle:directory_mode = 0777
recycle:touch = yes
recycle:versions = yes
recycle:keeptree = yes
recycle:repository = .recycle/%U
Sample output of zfs list -t snapshots
Test_pool/***@cronjob-15m_UTC-2017.10.13-00.00.00 0 - 88K -
Test_pool/***@cronjob-15m_UTC-2017.10.13-00.15.00 0 - 88K -
Test_pool/***@cronjob-15m_UTC-2017.10.13-00.30.00 0 - 88K -
Test_pool/***@cronjob-15m_UTC-2017.10.13-00.45.00 0 - 88K -
Test_pool/***@cronjob-15m_UTC-2017.10.13-01.00.00 0 - 88K -
Test_pool/***@cronjob-15m_UTC-2017.10.13-01.15.00 0 - 88K -
Sample output of grep shadow -C 5 log.smbd | tail -n 300:
doing parameter zfsacl:acesort = dontcare
doing parameter invalid users = ***
doing parameter vfs objects = zfs_space zfsacl streams_xattr aio_pthread shadow_copy2
doing parameter shadow:snapdir = .zfs/snapshot
doing parameter shadow:snapprefix = ^[a-zA-Z0-9_-]+
doing parameter shadow:delimiter = _
doing parameter shadow:format = _%Z-%Y.%m.%d-%H.%M.%S
doing parameter shadow:fixinodes = yes
doing parameter shadow:sort = asc
[2017/10/14 17:08:16.429943, 4, pid=39112, effective(0, 0), real(0, 0)] ../source3/param/loadparm.c:3866(lp_load_ex)
pm_process() returned Yes
[2017/10/14 17:08:16.429982, 7, pid=39112, effective(0, 0), real(0, 0)] ../source3/param/loadparm.c:4185(lp_servicenumber)
lp_servicenumber: couldn't find homes
[2017/10/14 17:08:16.430016, 3, pid=39112, effective(0, 0), real(0, 0)] ../source3/param/loadparm.c:1587(lp_add_ipc)
--- AND ---
Load smb config files from /usr/local/etc/smb4.conf
Processing section "[Test_share]"
Loaded services file OK.
smbd_marshall_dir_entry: space_remaining = 65528
[2017/10/14 17:07:33.867623, 10, pid=39112, effective(0, 65533), real(0, 0)] ../source3/smbd/trans2.c:2231(smbd_marshall_dir_entry)
smbd_marshall_dir_entry: SMB_FIND_ID_BOTH_DIRECTORY_INFO
[2017/10/14 17:07:33.867644, 6, pid=39112, effective(0, 65533), real(0, 0)] ../source3/smbd/dir.c:1136(smbd_dirptr_get_entry)
smbd_dirptr_get_entry: dirptr 0x8120420e0 now at offset 2147483648
[2017/10/14 17:07:33.867663, 10, pid=39112, effective(0, 65533), real(0, 0)] ../source3/modules/vfs_shadow_copy2.c:609(shadow_copy2_strip_snapshot_internal)
../source3/modules/vfs_shadow_copy2.c:609: enter path '***/..'
[2017/10/14 17:07:33.867680, 10, pid=39112, effective(0, 65533), real(0, 0)] ../source3/modules/vfs_shadow_copy2.c:618(shadow_copy2_strip_snapshot_internal)
../source3/modules/vfs_shadow_copy2.c:618: abs path '/***'
[2017/10/14 17:07:33.867701, 8, pid=39112, effective(0, 65533), real(0, 0)] ../source3/smbd/dosmode.c:616(dos_mode)
dos_mode: ***/..
[2017/10/14 17:07:33.867719, 10, pid=39112, effective(0, 65533), real(0, 0)] ../source3/modules/vfs_shadow_copy2.c:609(shadow_copy2_strip_snapshot_internal)
../source3/modules/vfs_shadow_copy2.c:609: enter path '***/..'
[2017/10/14 17:07:33.867734, 10, pid=39112, effective(0, 65533), real(0, 0)] ../source3/modules/vfs_shadow_copy2.c:618(shadow_copy2_strip_snapshot_internal)
../source3/modules/vfs_shadow_copy2.c:618: abs path '/***'
[2017/10/14 17:07:33.867754, 5, pid=39112, effective(0, 65533), real(0, 0)] ../source3/smbd/dosmode.c:287(get_ea_dos_attribute)
get_ea_dos_attribute: Cannot get attribute from EA on file ***/..: Error = Attribute not found
[2017/10/14 17:07:33.867771, 5, pid=39112, effective(0, 65533), real(0, 0)] ../source3/smbd/dosmode.c:70(dos_mode_debug_print)
dos_mode_debug_print: dos_mode_from_sbuf returning (0x10): "d"
[2017/10/14 17:07:33.867786, 5, pid=39112, effective(0, 65533), real(0, 0)] ../source3/smbd/dosmode.c:70(dos_mode_debug_print)
It all looks right, but I'm not seeing Previous Versions in the client, so it's clearly not quite there.
What might be missing?