diff options
author | Pali Rohár <pali@kernel.org> | 2024-12-26 02:43:22 +0300 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2025-07-28 01:43:08 +0300 |
commit | 309c2b776c8716d4e3b98506bde3ccd131f2fae6 (patch) | |
tree | 623208d454c6d072677258baddbef82e327aaec8 /scripts/lib/kdoc/kdoc_files.py | |
parent | 75d519b0b52a4ffccfc335be7e5d5eb303d330e6 (diff) | |
download | linux-309c2b776c8716d4e3b98506bde3ccd131f2fae6.tar.xz |
cifs: Add support for creating reparse points over SMB1
SMB1 already supports querying reparse points and detecting types of
symlink, fifo, socket, block and char.
This change implements the missing part - ability to create a new reparse
points over SMB1. This includes everything which SMB2+ already supports:
- native SMB symlinks and sockets
- NFS style of special files (symlinks, fifos, sockets, char/block devs)
- WSL style of special files (symlinks, fifos, sockets, char/block devs)
Attaching a reparse point to an existing file or directory is done via
SMB1 SMB_COM_NT_TRANSACT/NT_TRANSACT_IOCTL/FSCTL_SET_REPARSE_POINT command
and implemented in a new cifs_create_reparse_inode() function.
This change introduce a new callback ->create_reparse_inode() which creates
a new reperse point file or directory and returns inode. For SMB1 it is
provided via that new cifs_create_reparse_inode() function.
Existing reparse.c code was only slightly updated to call new protocol
callback ->create_reparse_inode() instead of hardcoded SMB2+ function.
This make the whole reparse.c code to work with every SMB dialect.
The original callback ->create_reparse_symlink() is not needed anymore as
the implementation of new create_reparse_symlink() function is dialect
agnostic too. So the link.c code was updated to call that function directly
(and not via callback).
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'scripts/lib/kdoc/kdoc_files.py')
0 files changed, 0 insertions, 0 deletions