1、Reparse Points in SMBStorage Developer Conference 2023FremontVolker LendeckeSamba Team/SerNet2023-09-20SMB3 Posix ExtensionsMake SMB a competitor to NFSExtend SMB with behavior Posix clients expectClient can ask for Posix Extensions in NegProt requestNew negotiate contextFile Name handlingCase Sensi
2、tive,no reserved names and streamsNew Posix Create ContextPosix MetadataNew file information classpermissions,ownership,all of struct statThis talk is NOT about any of thishttps:/codeberg.org/SMB3UNIX by David MulderVolker LendeckeReparse Points(2/12)File types in SUSV4Opengroup defines 7 types of f
3、ilesS IFBLK Block special.S IFCHR Character special.S IFIFO FIFO special.S IFREG Regular.S IFDIR Directory.S IFLNK Symbolic link.S IFSOCK Socket.SMB3 in Samba handles S IFREG and S DIR well.What about the others?Volker LendeckeReparse Points(3/12)Sambas role for Posix special filesSamba has to prese
4、nt special files it finds to clientsNormal files and directories are taken care ofFIFOs are broken right nowClients can open a FIFO,but read/write failsSamba removed SMB VFS READ and SMB VFS WRITEFIFOs dont like pread/pwriteSockets only work for named pipe(MS-RPC)servers,such assamba-dcerpcdBlock an
5、d character devices dont make sense over SMB,but shouldbe visible for clients to use locallyVolker LendeckeReparse Points(4/12)NTFS reparse pointsWikipedia:Reparse points provide a way to extend the NTFSfilesystem.A reparse point contains a reparse tag and data that areinterpreted by a filesystem fi
6、lter driver identified by the tag.Applications can set an arbitrary blob as a reparse pointWhen opening a file,NTFS filters can interpret the contentsA reparse point not handled by any filter givesSTATUS IO REPARSE TAG NOT HANDLEDMS-FSCC defines a few dozen reparse tags,most of them as“notmeaningful