[PATCH][WIP] query smb3 reparse tags for special files
Steve French
smfrench at gmail.com
Thu Oct 22 17:14:32 UTC 2020
on query dir I see the EAsize set to the reparse tag as expected (in
query dir), but not on FILE_ALL_INFO (query info).
So as you indicated, there are only the query dir info levels (not
query info ones) which allow returning what we need for reparse point
special files - so will have to use fsctl as in smb2_query_symlink.
On Thu, Oct 22, 2020 at 6:37 AM Aurélien Aptel <aaptel at suse.com> wrote:
>
> Steve French <smfrench at gmail.com> writes:
> > smbfsctl.h:#define IO_REPARSE_TAG_LX_SYMLINK 0xA000001D
> > smbfsctl.h:#define IO_REPARSE_TAG_LX_FIFO 0x80000024
> > smbfsctl.h:#define IO_REPARSE_TAG_LX_CHR 0x80000025
> > smbfsctl.h:#define IO_REPARSE_TAG_LX_BLK 0x80000026
> >
> > These also make sense for us to use more broadly because it simplifies readdir
> >
> > but ... my first attempt at querying this using infolevel 33
> > FileReparsePointInformation (see MS-FSCC section 2.4.35) failed ...
> > with Windows 10 returning STATUS_NOT_SUPPORTED when querying various
> > reparse points (created by WSL indirectly) including fifos, symlinks
> > and char devices.
> >
> > I can switch approaches and try to do the smb3 fsctl to query reparse
> > info instead but was hoping that query info would work. Any idea if
> > there is another info level that would allow me to query the tag?
>
> According to [MS-FSCC] if the file has the REPARSE_TAG attribute, the
> EaSize field must be interpreted as a reparse tag for these info levels:
>
> * FileFullDirectoryInfo
> * FileBothDirectoryInfo
> * FileIdFullDirectoryInfo
> * FileIdBothDirectoryInfo
>
> Otherwise we have code for querying the reparse tag in
> smb2_query_symlink():
>
> rc = SMB2_ioctl_init(tcon, server,
> &rqst[1], fid.persistent_fid,
> fid.volatile_fid, FSCTL_GET_REPARSE_POINT,
> true /* is_fctl */, NULL, 0,
> CIFSMaxBufSize -
> MAX_SMB2_CREATE_RESPONSE_SIZE -
> MAX_SMB2_CLOSE_RESPONSE_SIZE);
>
> --
> Aurélien Aptel / SUSE Labs Samba Team
> GPG: 1839 CB5F 9F5B FB9B AA97 8C99 03C8 A49B 521B D5D3
> SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg, DE
> GF: Felix Imendörffer, Mary Higgins, Sri Rasiah HRB 247165 (AG München)
>
--
Thanks,
Steve
More information about the samba-technical
mailing list