On 7/16/2024 6:08 PM, Carson Buttars via samba-technical wrote:
Hello all,
I just completed the mountpoint detection patch I've been working on,
and feedback on it would be great. Here is a link to it: 3141
<https://gitlab.com/samba-team/samba/-/merge_requests/3141>.
In working on this, I also stumbled upon the
SMB2_CREATE_FLAG_REPARSEPOINT (MS-SMB2 2.2.14
<https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-smb2/d166aa9e-0b53-410e-b35e-3933d8131927>) field in the create request, and it seems to not be implemented in any way. There's not a lot of information on it, but as far as I understand, it should be returned if the requested file is opened without the FILE_OPEN_REPARSE_POINT create option and the file is a in fact a reparse point. Am I understanding that right? Is there a good reason to or to not implement it?
[really adding client list this time]
The protocol requires the server to set it, and the Linux client does
inspect it, so clearly yes it should be implemented.
The Linux client sets a reparse_point boolean in the cifs_open_info_data
here:
https://elixir.bootlin.com/linux/latest/source/fs/smb/client/smb2inode.c#L851
But the document is silent on what the Windows client does, so it might
be worth raising a dochelp issue to clarify - I'll do that. I'm guessing
it will lead to incorrect behavior, but it's pretty much a corner case.
Good catch. Adding Linux client list btw.
Tom.