vfs_crossrename — server side rename files across filesystem boundaries
vfs objects = crossrename
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:
This module is stackable.
server-side cross-device-renames are only done for files if the filesize is not larger than the defined size in MiB to prevent timeouts. The default sizelimit is 20 (MiB)
To add server-side cross-device renames inside of a share for all files sized up to 50MB:
[testshare]
path = /data/mounts
vfs objects = crossrename
crossrename:sizelimit = 50