Hello, I sent this patch as part of this series to the list: https://lore.kernel.org/linux-cifs/20241222145845.23801-1-pali@xxxxxxxxxx/t/#u In cover letter is some information. Linux SMB client already handles support for IO_REPARSE_TAG_MOUNT_POINT which is just one example of name surrogate point. This patch just generalize support for all name surrogate reparse point without need to explicitly list all of reparse point of that type. The easiest way how to create name surrogate reparse point is to use mklink.exe to create directory junction point, which uses the IO_REPARSE_TAG_MOUNT_POINT. On Windows server create directory C:\dir and then in exported SMB share directory just call: mklink /j entry C:\dir This will create directory junction point named "entry" which redirects to the C:\dir when SMB client try to access "entry" directory. Note that symlink is _not_ name surrogate point, even it is reparse point. But junction point and mount point are name surrogate points. On Tuesday 04 February 2025 18:06:41 Steve French wrote: > Do you have a repro scenario (an easy way to create the surrogate > directory type you mention) to test your patch below > > > > If the reparse point was not handled (indicated by the -EOPNOTSUPP from > ops->parse_reparse_point() call) but reparse tag is of type name surrogate > directory type, then treat is as a new mount point. > > Name surrogate reparse point represents another named entity in the system. > > From SMB client point of view, this another entity is resolved on the SMB > server, and server serves its content automatically. Therefore from Linux > client point of view, this name surrogate reparse point of directory type > crosses mount point. > > Signed-off-by: Pali Rohár <pali@xxxxxxxxxx> > > > -- > Thanks, > > Steve