Samsung Posts Newest "KSMBD" Linux Patches For In-Kernel SMB3 Server

Written by Michael Larabel in Linux Storage on 7 July 2021 at 11:30 AM EDT. 25 Comments
LINUX STORAGE
For quite a while now Samsung engineers have been developing an in-kernel SMB3 file sharing server for the Linux kernel. In recent months that code has been maturing more and now the latest version of this KSMBD kernel code has been published.

Out now is the fifth round of these patches for KSMBD (previously as "CIFSD" within the kernel) for implementing an in-kernel SMB3 server. The focus remains on being able to deliver optimal performance and supporting more features like RDMA integration compared to what can be implemented efficiently in user-space with the likes of Samba.

This newest KSMBD code has a variety of fixes and a lot of code clean-ups along with the CIFSD to KSMBD renaming changes. There is also user name-space support now as one of the new features.

As for the KSMBD motivation and how it will co-exist with Samba:
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.

More details on the current state of this SMB3 kernel server can be found via this patch series. In its current form the KSMBD implementation is 32k lines of new kernel code.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week