VFS_CROSSRENAME(8)

NAME
vfs_crossrename - server side rename files across filesystem boundaries

SYNOPSIS

vfs objects = crossrename

DESCRIPTION

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.23.0 of the Samba suite.

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.