diff mbox series

[SMB3] Add defines for various newer FSCTLs

Message ID CAH2r5muiMW76Xt2zRNJWTcQVuewEj3Qs3p4oc8tvEyw5f6528g@mail.gmail.com
State New
Headers show
Series [SMB3] Add defines for various newer FSCTLs | expand

Commit Message

Steve French May 22, 2022, 11:36 p.m. UTC
Checking MS-FSCC section 2.3 found six FSCTL defines that were missing

See attached

Comments

Steve French May 23, 2022, 12:09 a.m. UTC | #1
Fixed minor typo in one define


On Sun, May 22, 2022 at 6:36 PM Steve French <smfrench@gmail.com> wrote:
>
> Checking MS-FSCC section 2.3 found six FSCTL defines that were missing
>
> See attached
> --
> Thanks,
>
> Steve
David Disseldorp May 23, 2022, 10:13 a.m. UTC | #2
Patch looks fine to me:
Reviewed-by: David Disseldorp <ddiss@suse.de>

On Sun, 22 May 2022 19:09:34 -0500, Steve French via samba-technical wrote:

>  #define FSCTL_DUPLICATE_EXTENTS_TO_FILE 0x00098344
> +#define FSCTL_DUPLICATE_EXTENTS_TO_FILE_EX 0x000983E8

This one looks interesting - I wonder what kind of client use it gets.
FICLONERANGE / BTRFS_IOC_CLONE_RANGE is atomic, so it should be possible
to extend Samba's current dup-extents support to handle the new flag
(DUPLICATE_EXTENTS_DATA_EX_SOURCE_ATOMIC) without needing any lower
level changes.

Cheers, David
diff mbox series

Patch

From 82a70e341b94fdf02a61ef7118ab34a9c15f9f4b Mon Sep 17 00:00:00 2001
From: Steve French <stfrench@microsoft.com>
Date: Sun, 22 May 2022 18:30:38 -0500
Subject: [PATCH] [SMB3] Add defines for various newer FSCTLs

Checking MS-FSCC section 2.3 found six FSCTL defines
that were missing

Signed-off-by: Steve French <stfrench@microsoft.com>
---
 fs/smbfs_common/smbfsctl.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/fs/smbfs_common/smbfsctl.h b/fs/smbfs_common/smbfsctl.h
index d51939c43ad7..9e9e86de95f6 100644
--- a/fs/smbfs_common/smbfsctl.h
+++ b/fs/smbfs_common/smbfsctl.h
@@ -88,21 +88,27 @@ 
 #define FSCTL_READ_RAW_ENCRYPTED     0x000900E3 /* BB add struct */
 #define FSCTL_READ_FILE_USN_DATA     0x000900EB /* BB add struct */
 #define FSCTL_WRITE_USN_CLOSE_RECORD 0x000900EF /* BB add struct */
+#define FSCTL_MARK_HANDLE	     0x000900FC /* BB add struct */
 #define FSCTL_SIS_COPYFILE           0x00090100 /* BB add struct */
 #define FSCTL_RECALL_FILE            0x00090117 /* BB add struct */
 #define FSCTL_QUERY_SPARING_INFO     0x00090138 /* BB add struct */
+#define FSCTL_QUERY_ON_DISK_VOLUME_INFO 0x000913C
 #define FSCTL_SET_ZERO_ON_DEALLOC    0x00090194 /* BB add struct */
 #define FSCTL_SET_SHORT_NAME_BEHAVIOR 0x000901B4 /* BB add struct */
 #define FSCTL_GET_INTEGRITY_INFORMATION 0x0009027C
+#define FSCTL_QUERY_FILE_REGIONS     0x00090284
 #define FSCTL_GET_REFS_VOLUME_DATA   0x000902D8 /* See MS-FSCC 2.3.24 */
 #define FSCTL_SET_INTEGRITY_INFORMATION_EXT 0x00090380
 #define FSCTL_GET_RETRIEVAL_POINTERS_AND_REFCOUNT 0x000903d3
 #define FSCTL_GET_RETRIEVAL_POINTER_COUNT 0x0009042b
 #define FSCTL_REFS_STREAM_SNAPSHOT_MANAGEMENT 0x00090440
 #define FSCTL_QUERY_ALLOCATED_RANGES 0x000940CF
+#define FSCTL_OFFLOAD_READ	0x00094264 /* BB add struct */
+#define FSCTL_OFFLOAD_WRITE	0x00098268 /* 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_DUPLICATE_EXTENTS_TO_FILE_EX 0x000983E8
 #define FSCTL_SIS_LINK_FILES         0x0009C104
 #define FSCTL_SET_INTEGRITY_INFORMATION 0x0009C280
 #define FSCTL_PIPE_PEEK              0x0011400C /* BB add struct */
-- 
2.34.1