This VFS module is part of the samba(7) suite.
The vfs_crossrename VFS module allows server side rename operations even if source and target are on different physical devices. A "move" in Explorer is usually a rename operation if it is inside of a single share or device. Usually such a rename operation returns NT_STATUS_NOT_SAME_DEVICE and the client has to move the file by manual copy and delete operations. If the rename by copy is done by the server this can be much more efficient. vfs_crossrename tries to do this server-side cross-device rename operation.
There are however limitations that this module currently does not solve:
The ACLs of files are not preserved,
meta data in EAs are not preserved,
renames of whole subdirectories cannot be done recursively, in that case we still return STATUS_NOT_SAME_DEVICE and let the client decide what to do,
rename operations of huge files can cause hangs on the client because clients expect a rename operation to return fast.
crossrename:sizelimit = BYTES
To add server-side cross-device renames inside of a share for all files sized up to 50MB:
[testshare] m[blue]path = /data/mountsm m[blue]vfs objects = crossrenamem m[blue]crossrename:sizelimit = 50m
The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.