The SMB3 POSIX Extensions now have a dedicated home. At smb3posix.org, developers can access version 1.0.0 of the SMB3 POSIX Specification.
The new website is the culmination of work that began more than a decade ago: since roughly 2015 various members of the Samba and Linux kernel community have been working together to design, implement, and document the SMB3 protocol extensions with the goal of providing first-class POSIX compatibility over SMB3. With a recent Linux kernel and a server implementing the extensions, network shares can preserve POSIX filesystem semantics such as case-sensitive paths, Unix mode bits, symbolic linksm, and hard links. Samba has provided the server reference implementation since version 4.22; the extensions have been enabled by default since 4.23.
Version 1.0.0 represents the first complete specification by documenting not only the protocol extensions themselves, but also the filesystem semantics that distinguish POSIX systems from Windows and how those semantics are represented on the wire.
Although implementations of the SMB3 POSIX Extensions had already been shipping in several open-source SMB clients and servers, the work uncovered subtle POSIX behaviors that still needed to be specified and, in some cases, implemented before the specification could be considered complete.
The foundation for that work was laid in a project funded by the German Sovereign Tech Agency. The project addressed SMB3 POSIX Extensions at several levels: server adjustments and regression tests, client support through libsmbclient for Linux desktop environments, and a dedicated project for completing the protocol documentation.
The funding provided time for this work: making explicit behaviour historically implemented in Samba and the Linux kernel as part of the older CIFS UNIX Extensions; documenting how POSIX semantics differ from Windows semantics; and specifying how this information is transmitted between systems over the network.
The resulting specification consists of three documents:
- POSIX-SMB2 defines SMB protocol semantics.
- POSIX-FSA defines POSIX filesystem semantics and where they differ from Windows.
- POSIX-FSCC defines filesystem information classes and their on-the-wire representations.
SerNet's Samba Team Lead Ralph Böhme worked on this documentation in his role as a member of the international Samba Team. After completing the funded milestone, he also created smb3posix.org to provide a permanent home for the specification and make it more accessible to developers. In September, Ralph will present the work at the SNIA Storage Developer Conference in his talk “SMB3 POSIX Extensions, from plumbing to flowing.”
Anyone who has had to implement a protocol from incomplete documentation knows the difference this makes. The specification and its new home provide a clear reference for anyone implementing SMB3 POSIX support.


