vfs_crossrename8
Server side rename files across filesystem boundaries
Usage
vfs objects
=
crossrename
Overview
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.
This module is not fully stackable. It can be combined with other modules, but should be the last module in the vfs objects list. It directly access the files in the OS filesystem.
Options
crossrename:sizelimit = BYTES
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)
Examples
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
Version
This man page is part of version 4.25.1 of the Samba suite.
History
- Arch Linux 2026-11-01: the text shown here
- Debian 13 (Trixie)
- Debian 12 (Bookworm)
- Debian 11 (Bullseye)
- Debian 10 (Buster)
- Debian 9 (Stretch)
- Debian 8 (Jessie)