|
|
Subscribe / Log in / New account

A rough start for ksmbd

A rough start for ksmbd

Posted Oct 7, 2021 15:02 UTC (Thu) by geert (subscriber, #98403)
Parent article: A rough start for ksmbd

"meant to be a more performant [...] solution than Samba".

Anyone who remembers khttpd? When it was merged, it was more performant than any existing userspace web server.
It was removed from the kernel when userspace web servers had improved, surpassing khttpd's performance.


to post comments

A rough start for ksmbd

Posted Oct 7, 2021 15:24 UTC (Thu) by bfields (subscriber, #19510) [Link] (3 responses)

On the other hand, we've still got knfsd.

There's also an actively developed userspace NFS server, Ganesha. My impression is that it's mainly focused on exporting userspace filesystem implementations. It's also capable of exporting filesystems implemented in the kernel--that's what we have name_to_handle_at() and open_by_handle_at() syscalls for--but I think that's still a little more difficult for it. Most people exporting xfs or ext4 or btrfs are probably using knfsd.

I believe Solaris has in-kernel NFS and SMB servers too.

It's not a simple decision, there are tradeoffs.

A rough start for ksmbd

Posted Oct 8, 2021 5:15 UTC (Fri) by zdzichu (guest, #17118) [Link] (1 responses)

Solaris choose in-kernel implementation mostly for authentication stuff – managing Windows SIDs natively in-kernel, ACLs and similar stuff. I/O performance was a side benefit. There are slides about Solaris:

https://www.snia.org/sites/default/orig/sdc_archives/2008...

It's interesting how it compares to ksmd rationale in Linux, over a decade later.

A rough start for ksmbd

Posted Oct 8, 2021 14:36 UTC (Fri) by bfields (subscriber, #19510) [Link]

Thanks for the link, I hadn't read those slides and they're interesting.

On p. 3, under "Kernel based implementation", it says "Better I/O performance."

The other goals listed on that and the following slide--I don't know, some look like they could be easier if the file server was in-kernel, with some (ACLs?) I don't see off hand why that would help.

Historically I think it's true that in the case of knfsd the motivation has been the difficulty of providing correct semantics without deeper integration with the filesystems. But I haven't seen a good performance comparison recently.

A rough start for ksmbd

Posted Oct 10, 2021 10:51 UTC (Sun) by iainn (guest, #64312) [Link]

TrueNAS (formerly: FreeNAS) uses Ganesha.

TrueNAS is FreeBSD based, so using an in-kernel Linux implementation wouldn't work so well.

However, TrueNAS now also has a Linux port. (Of course, it'll be easier to share the NFS config code between Linux and FreeBSD, by sticking with Ganesha.)

A rough start for ksmbd

Posted Oct 7, 2021 16:42 UTC (Thu) by atnot (subscriber, #124910) [Link]

There's also other options like only offloading parts of the protocol to reduce attack surface, as e.g. Kernel TLS does. I don't know how feasible that is with something like smb though.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds