Questions about less common SMB VFS Objects

seanm

Guru
Joined
Jun 11, 2018
Messages
570
I'm setting up my first real FreeNAS, and going through the docs and forum posts about the various SMB VFS Objects. Most I've figured out if I need or not. But some I can find little info on, or am confused about. Specifically:

crossrename - Allows server side rename operations even if source and target are on different physical devices.

Well that sounds nice enough. Is there some downside to turning it on?

default_quota - Stores the default quotas that are reported to a windows client in the quota record of a user.

As opposed to...? Not supporting quotas at all? Supporting them in a different way?

fake_perms - Allows roaming profile files and directories to be set as read-only.

What's a 'roaming profile file'? Does it refer to this https://en.wikipedia.org/wiki/Roaming_user_profile ?

readahead - Useful for Windows Vista clients reading data using Windows Explorer.

Useful how? :) Was this written when Vista was new or old? i.e. does it mean "Vista and newer"? Of course I have no clients with crappy ol' Vista, but I do have Windows 10 clients, is it useful for them?

snapper - Provides the ability for remote SMB clients to access shadow copies of FSRVP snapshots using Windows Explorer.

Sounds interesting! Something like Time Machine for Windows?

winmsa - Emulate Microsoft’s MoveSecurityAttributes=0 registry option, setting the ACL for file and directory hierarchies to inherit from the parent directory into which they are moved.

This sounds pretty desirable too. Is it a sort of way to keep a share's permissions as if the root permissions were applied recursively and kept that way?

worm - Controls the writability of files and folders depending on their change time and an adjustable grace period.

I could see this being useful for a place where people could drop files into a read-only immutable archive. Are there more docs on this somewhere?

Thanks in advance for any insight you may have into any of these!
 

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,554
`crossrename` is required for the recycle bin to work across dataset boundaries. It is now automatically added when recycle is enabled in U3. Default quota is on the chopping block 'ixnas' will provide all quota support in FreeNAS. "snapper" is about VSS hardware provider support. I'm planning to integrate that with either 'ixnas' or 'shadow_copy_zfs'. winmsa is more about permissions behavior on 'move' vs 'copy'. The only docs for 'worm' are the manpages.
 

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,554
So I've just tried turning on 'export recycle bin' and it did not go well: https://redmine.ixsystems.com/issues/80580

Also, is it me or is 'snapper' not actually in the GUI, despite being in the docs?
Well, I fixed recycle for U3. You're running U2.1. I can't say much about weird UI issues.

I mixed up shell_snap with snapper. Snapper was removed when I moved to samba 4.9 and changed compile options. The authoritative list of available vfs modules is generated by running the following command ls -l /usr/local/lib/shared-modules/vfs In 11.2, the ones we pull from teh UI are 'shadow_copy2', 'recycle', and 'aio_pthread'. The previous two are available via checkbox or dropdown, the latter is a no-op on FreeBSD.
 
Last edited:

MrT_134

Super Moderator
Moderator
iXsystems
Joined
Aug 25, 2016
Messages
14
I've opened PRs 786 and 787 to expand the descriptions of the discussed VFS objects a little.
 
Top