summaryrefslogtreecommitdiffstats
path: root/fs/cifs/smbfsctl.h
diff options
context:
space:
mode:
authorSteve French <steve.french@primarydata.com>2015-06-28 06:18:36 +0200
committerSteve French <steve.french@primarydata.com>2015-06-29 04:15:38 +0200
commit02b1666544c08e245cb4e2253ed575f8128943d6 (patch)
treeed2967b35329e08bf327c1985104ec06016c96b8 /fs/cifs/smbfsctl.h
parentAdd SMB3.11 mount option synonym for new dialect (diff)
downloadlinux-02b1666544c08e245cb4e2253ed575f8128943d6.tar.xz
linux-02b1666544c08e245cb4e2253ed575f8128943d6.zip
Add reflink copy over SMB3.11 with new FSCTL_DUPLICATE_EXTENTS
Getting fantastic copy performance with cp --reflink over SMB3.11 using the new FSCTL_DUPLICATE_EXTENTS. This FSCTL was added in the SMB3.11 dialect (testing was against REFS file system) so have put it as a 3.11 protocol specific operation ("vers=3.1.1" on the mount). Tested at the SMB3 plugfest in Redmond. It depends on the new FS Attribute (BLOCK_REFCOUNTING) which is used to advertise support for the ability to do this ioctl (if you can support multiple files pointing to the same block than this refcounting ability or equivalent is needed to support the new reflink-like duplicate extent SMB3 ioctl. Signed-off-by: Steve French <steve.french@primarydata.com>
Diffstat (limited to '')
-rw-r--r--fs/cifs/smbfsctl.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/cifs/smbfsctl.h b/fs/cifs/smbfsctl.h
index 83efa59535be..d098da678668 100644
--- a/fs/cifs/smbfsctl.h
+++ b/fs/cifs/smbfsctl.h
@@ -78,6 +78,7 @@
#define FSCTL_QUERY_ALLOCATED_RANGES 0x000940CF /* BB add struct */
#define FSCTL_SET_DEFECT_MANAGEMENT 0x00098134 /* BB add struct */
#define FSCTL_FILE_LEVEL_TRIM 0x00098208 /* BB add struct */
+#define FSCTL_DUPLICATE_EXTENTS_TO_FILE 0x00098344
#define FSCTL_SIS_LINK_FILES 0x0009C104
#define FSCTL_PIPE_PEEK 0x0011400C /* BB add struct */
#define FSCTL_PIPE_TRANSCEIVE 0x0011C017 /* BB add struct */