In-Kernel SMB3 File Server Looks To Land In Linux 5.15
KSMBD is an in-kernel SMB3 server developed by Samsung and focused on delivering high performance and new features. Features around RDMA usage is one of the areas KSMBD is planning to embrace as it can be more easily achieved via kernel space rather than the large Samba project in user-space. KSMBD aims to have a much smaller footprint in general than the well known Samba project for SMB/CIFS support on Linux and other non-Windows platforms.
KSMBD has been worked on for a while and formerly known as CIFSD. Now it looks like this in-kernel file server is ready to go mainline.
Steve French who oversees the existing CIFS/SMB3 code within the kernel submitted a pull request on Sunday night that would land this in-kernel file server.
ksmbd is a new kernel module which implements the server-side of the SMB3 protocol. The target is to provide optimized performance, GPLv2 SMB server, better lease handling (distributed caching). The bigger goal is to add new features more rapidly (e.g. RDMA aka "smbdirect", and recent encryption and signing improvements to the protocol) which are easier to develop on a smaller, more tightly optimized kernel server than for example in Samba. The Samba project is much broader in scope (tools, security services, LDAP, Active Directory Domain Controller, and a cross platform file server for a wider variety of purposes) but the user space file server portion of Samba has proved hard to optimize for some Linux workloads, including for smaller devices. This is not meant to replace Samba, but rather be an extension to allow better optimizing for Linux, and will continue to integrate well with Samba user space tools and libraries where appropriate. Working with the Samba team we have already made sure that the configuration files and xattrs are in a compatible format between the kernel and user space server.
Unless Linus Torvalds finds issue with the code, it will land for Linux 5.15. This SMB3 kernel server in its initial form is 32k lines of new code.
Update: KSMBD was merged!