summaryrefslogtreecommitdiffstats
path: root/source3/modules
diff options
context:
space:
mode:
authorDavid Disseldorp <ddiss@samba.org>2013-11-18 14:54:34 +0100
committerJeremy Allison <jra@samba.org>2013-11-22 08:56:45 -0800
commit423230f473020326ba6262784ed03268f4a894f8 (patch)
tree772865debb24a5854587e276eeaaa1ad8705022a /source3/modules
parentb24e42a70242757f83a60e723950bbaac148379a (diff)
downloadsamba-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.c15
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,