smb: client: allow creating symlinks via reparse points
authorPaulo Alcantara <pc@manguebit.com>
Sun, 26 Nov 2023 02:55:04 +0000 (23:55 -0300)
committerSteve French <stfrench@microsoft.com>
Sun, 7 Jan 2024 21:46:06 +0000 (15:46 -0600)
commit514d793e27a310eb26b112c1f8f1a160472907e5
tree54cea0694e0874fe597f8e87a1604f61b9d9a223
parent5408990aa662bcfd6ba894734023a023a16e8729
smb: client: allow creating symlinks via reparse points

Add support for creating symlinks via IO_REPARSE_TAG_SYMLINK reparse
points in SMB2+.

These are fully supported by most SMB servers and documented in
MS-FSCC.  Also have the advantage of requiring fewer roundtrips as
their symlink targets can be parsed directly from CREATE responses on
STATUS_STOPPED_ON_SYMLINK errors.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202311260838.nx5mkj1j-lkp@intel.com/
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/cifsglob.h
fs/smb/client/link.c
fs/smb/client/smb2ops.c