summaryrefslogtreecommitdiffstats
path: root/fs/smb/client/smb2glob.h
diff options
context:
space:
mode:
authorPaulo Alcantara <pc@manguebit.com>2023-11-25 23:55:03 -0300
committerSteve French <stfrench@microsoft.com>2024-01-07 15:46:05 -0600
commit102466f303ffcd5cff207b3c122557f73f1041e6 (patch)
tree3f6c69b86dbb4343870b24ea3a289823622835ae /fs/smb/client/smb2glob.h
parent3322960ce222997b1663ffa69e691b2edfec4ac9 (diff)
downloadlinux-stable-102466f303ffcd5cff207b3c122557f73f1041e6.tar.gz
linux-stable-102466f303ffcd5cff207b3c122557f73f1041e6.tar.bz2
linux-stable-102466f303ffcd5cff207b3c122557f73f1041e6.zip
smb: client: allow creating special files via reparse points
Add support for creating special files (e.g. char/block devices, sockets, fifos) via NFS reparse points on SMB2+, which are fully supported by most SMB servers and documented in MS-FSCC. smb2_get_reparse_inode() creates the file with a corresponding reparse point buffer set in @iov through a single roundtrip to the server. Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202311260746.HOJ039BV-lkp@intel.com/ Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/smb/client/smb2glob.h')
-rw-r--r--fs/smb/client/smb2glob.h25
1 files changed, 14 insertions, 11 deletions
diff --git a/fs/smb/client/smb2glob.h b/fs/smb/client/smb2glob.h
index 82e916ad167c..ca87a0011c33 100644
--- a/fs/smb/client/smb2glob.h
+++ b/fs/smb/client/smb2glob.h
@@ -23,17 +23,20 @@
* Identifiers for functions that use the open, operation, close pattern
* in smb2inode.c:smb2_compound_op()
*/
-#define SMB2_OP_SET_DELETE 1
-#define SMB2_OP_SET_INFO 2
-#define SMB2_OP_QUERY_INFO 3
-#define SMB2_OP_QUERY_DIR 4
-#define SMB2_OP_MKDIR 5
-#define SMB2_OP_RENAME 6
-#define SMB2_OP_DELETE 7
-#define SMB2_OP_HARDLINK 8
-#define SMB2_OP_SET_EOF 9
-#define SMB2_OP_RMDIR 10
-#define SMB2_OP_POSIX_QUERY_INFO 11
+enum smb2_compound_ops {
+ SMB2_OP_SET_DELETE = 1,
+ SMB2_OP_SET_INFO,
+ SMB2_OP_QUERY_INFO,
+ SMB2_OP_QUERY_DIR,
+ SMB2_OP_MKDIR,
+ SMB2_OP_RENAME,
+ SMB2_OP_DELETE,
+ SMB2_OP_HARDLINK,
+ SMB2_OP_SET_EOF,
+ SMB2_OP_RMDIR,
+ SMB2_OP_POSIX_QUERY_INFO,
+ SMB2_OP_SET_REPARSE
+};
/* Used when constructing chained read requests. */
#define CHAINED_REQUEST 1