Return SMB2_CREATE_FLAG_REPARSEPOINT in create response

Tom Talpey tom at talpey.com
Wed Jul 17 11:18:16 UTC 2024


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.



More information about the samba-technical mailing list