smb: client: allow creating special files via reparse points
authorSteve French <stfrench@microsoft.com>
Sun, 28 Jan 2024 18:13:23 +0000 (12:13 -0600)
committerSteve French <stfrench@microsoft.com>
Sun, 28 Jan 2024 18:13:23 +0000 (12:13 -0600)
commit97cb051fc51936b217391f43001645975aecffa0
treeaae9e374ee1adda22bee7e060a11b3efc0d3cd8c
parentfdc37a10cb5a554841b09f4ce002e23cfab5dc63
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>
fs/cifs/cifsproto.h
fs/cifs/dir.c
fs/cifs/file.c
fs/cifs/inode.c
fs/cifs/link.c
fs/cifs/smb2glob.h
fs/cifs/smb2inode.c
fs/cifs/smb2ops.c
fs/cifs/smb2proto.h
fs/cifs/trace.h