Now I found this statement in FSCTL_SET_REPARSE_POINT documentation: https://learn.microsoft.com/en-us/windows/win32/api/winioctl/ni-winioctl-fsctl_set_reparse_point "FSCTL_SET_REPARSE_POINT IOCTL - Sets a reparse point on a file or directory." "The calling process must have the SE_CREATE_SYMBOLIC_LINK_NAME privilege." On Sunday 13 October 2024 15:38:27 Pali Rohár wrote: > Anyway, I think that the create symlink privilege is needed to create > any reparse point, so fallback to NFS reparse point would not help. > > On Saturday 12 October 2024 23:18:13 Steve French wrote: > > after doing more experiments with native windows symlinks (and how > > difficult it is to get permission to set them over the wire to Windows), > > was wondering if we should allow fall back strategy if creating windows > > style symlinks fails with STATUS_PRIVILEGE_NOT_HELD then we should try NFS > > reparse point symlink. Any opinions? > > > > On Sat, Oct 12, 2024 at 3:53 AM Pali Rohár <pali@xxxxxxxxxx> wrote: > > > > > This patch series improves choosing reparse format when creating new > > > special files. > > > > > > Changes since v1: > > > * Instead of new -o reparse= mount option is now a new -o symlink= mount > > > option for choosing symlink type during creation, and new option > > > -o nonativesocket for choosing socket type > > > > > > Pali Rohár (7): > > > cifs: Add mount option -o symlink= for choosing symlink create type > > > cifs: Add mount option -o reparse=none > > > cifs: Add support for creating native Windows sockets > > > cifs: Add support for creating NFS-style symlinks > > > cifs: Improve guard for excluding $LXDEV xattr > > > cifs: Add support for creating WSL-style symlinks > > > cifs: Validate content of WSL reparse point buffers > > > > > > fs/smb/client/cifsfs.c | 4 + > > > fs/smb/client/cifsglob.h | 36 +++++++ > > > fs/smb/client/connect.c | 4 + > > > fs/smb/client/fs_context.c | 82 +++++++++++++++ > > > fs/smb/client/fs_context.h | 19 ++++ > > > fs/smb/client/link.c | 60 ++++++++--- > > > fs/smb/client/reparse.c | 201 +++++++++++++++++++++++++++++++------ > > > fs/smb/client/reparse.h | 2 + > > > 8 files changed, 364 insertions(+), 44 deletions(-) > > > > > > -- > > > 2.20.1 > > > > > > > > > > > > > -- > > Thanks, > > > > Steve