diff options
author | David Disseldorp <ddiss@samba.org> | 2013-11-18 14:54:34 +0100 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2013-11-22 08:56:45 -0800 |
commit | 423230f473020326ba6262784ed03268f4a894f8 (patch) | |
tree | 772865debb24a5854587e276eeaaa1ad8705022a /source3/modules | |
parent | b24e42a70242757f83a60e723950bbaac148379a (diff) | |
download | samba-423230f473020326ba6262784ed03268f4a894f8.tar.gz samba-423230f473020326ba6262784ed03268f4a894f8.tar.xz samba-423230f473020326ba6262784ed03268f4a894f8.zip |
vfs_btrfs: advertise per-file compression capability
Plumb into the get_fs_capabilities code path to advertise the
FILE_FILE_COMPRESSION attribute.
Also, document file compression support in the VFS btrfs man page.
Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/modules')
-rw-r--r-- | source3/modules/vfs_btrfs.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source3/modules/vfs_btrfs.c b/source3/modules/vfs_btrfs.c index 66bb4822b69..c6e90fd052a 100644 --- a/source3/modules/vfs_btrfs.c +++ b/source3/modules/vfs_btrfs.c @@ -30,6 +30,20 @@ #include "librpc/gen_ndr/ioctl.h" #include "lib/util/tevent_ntstatus.h" +static uint32_t btrfs_fs_capabilities(struct vfs_handle_struct *handle, + enum timestamp_set_resolution *_ts_res) +{ + uint32_t fs_capabilities; + enum timestamp_set_resolution ts_res; + + /* inherit default capabilities, expose compression support */ + fs_capabilities = SMB_VFS_NEXT_FS_CAPABILITIES(handle, &ts_res); + fs_capabilities |= FILE_FILE_COMPRESSION; + *_ts_res = ts_res; + + return fs_capabilities; +} + struct btrfs_ioctl_clone_range_args { int64_t src_fd; uint64_t src_offset; @@ -301,6 +315,7 @@ err_out: static struct vfs_fn_pointers btrfs_fns = { + .fs_capabilities_fn = btrfs_fs_capabilities, .copy_chunk_send_fn = btrfs_copy_chunk_send, .copy_chunk_recv_fn = btrfs_copy_chunk_recv, .get_compression_fn = btrfs_get_compression, |