mirror of
https://github.com/samba-team/samba.git
synced 2025-01-14 19:24:43 +03:00
12c0b6bf40
The Linux fallocate syscall offers a mode parameter which can take the following flags: FALLOC_FL_KEEP_SIZE FALLOC_FL_PUNCH_HOLE (since 2.6.38) FALLOC_FL_COLLAPSE_RANGE (since 3.15) FALLOC_FL_ZERO_RANGE (since 3.14) The flags are not exclusive, e.g. FALLOC_FL_PUNCH_HOLE must be specified alongside FALLOC_FL_KEEP_SIZE. Samba currently takes a vfs_fallocate_mode enum parameter for the VFS fallocate hook, taking either an EXTEND_SIZE or KEEP_SIZE value. This commit changes the fallocate hook such that it accepts a uint32_t flags parameter, in preparation for PUNCH_HOLE and ZERO_RANGE support. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
README for Samba Virtual File System (VFS) Example =================================================== This directory contains skeleton VFS modules. When used, this module simply passes all requests back to the disk functions (i.e it operates as a passthrough filter). It should be useful as a starting point for developing new VFS modules. Please look at skel_opaque.c when you want your module to provide final functions, like a database filesystem. Please look at skel_transparent.c when you want your module to provide passthrough functions, like audit modules. Please read the VFS chapter in the HOWTO collection for general help on the usage of VFS modules. Further documentation on writing VFS modules for Samba can be found in Samba Developers Guide.