Steve French <smfrench@xxxxxxxxx> 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)