carta
vfs_crossrename(8)

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)

Author

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.

From samba 2:4.25.1-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.