diff options
author | Steve French <steve.french@primarydata.com> | 2015-06-27 21:18:36 -0700 |
---|---|---|
committer | Steve French <steve.french@primarydata.com> | 2015-06-28 21:15:38 -0500 |
commit | 02b1666544c08e245cb4e2253ed575f8128943d6 (patch) | |
tree | ed2967b35329e08bf327c1985104ec06016c96b8 /fs/cifs/cifspdu.h | |
parent | aab1893d5fbeb7c931e97189f54a71ab0ecbf4c7 (diff) | |
download | linux-stable-02b1666544c08e245cb4e2253ed575f8128943d6.tar.gz linux-stable-02b1666544c08e245cb4e2253ed575f8128943d6.tar.bz2 linux-stable-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 'fs/cifs/cifspdu.h')
-rw-r--r-- | fs/cifs/cifspdu.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/cifs/cifspdu.h b/fs/cifs/cifspdu.h index 998a66ffe01e..47b030da0781 100644 --- a/fs/cifs/cifspdu.h +++ b/fs/cifs/cifspdu.h @@ -2255,6 +2255,8 @@ typedef struct { /* List of FileSystemAttributes - see 2.5.1 of MS-FSCC */ +#define FILE_SUPPORTS_SPARSE_VDL 0x10000000 /* faster nonsparse extend */ +#define FILE_SUPPORTS_BLOCK_REFCOUNTING 0x08000000 /* allow ioctl dup extents */ #define FILE_SUPPORT_INTEGRITY_STREAMS 0x04000000 #define FILE_SUPPORTS_USN_JOURNAL 0x02000000 #define FILE_SUPPORTS_OPEN_BY_FILE_ID 0x01000000 |