> > On Thu, Apr 22, 2021 at 4:31 AM Namjae Jeon <namjae.jeon@xxxxxxxxxxx> wrote: > > > > This adds a document describing ksmbd design, key features and usage. > > > > Signed-off-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> > > Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> > > Signed-off-by: Hyunchul Lee <hyc.lee@xxxxxxxxx> > > Acked-by: Ronnie Sahlberg <lsahlber@xxxxxxxxxx> > > Signed-off-by: Steve French <stfrench@xxxxxxxxxxxxx> > > --- > > Documentation/filesystems/cifs/cifsd.rst | 152 > > +++++++++++++++++++++++ Documentation/filesystems/cifs/index.rst | 10 ++ > > Documentation/filesystems/index.rst | 2 +- > > 3 files changed, 163 insertions(+), 1 deletion(-) create mode 100644 > > Documentation/filesystems/cifs/cifsd.rst > > create mode 100644 Documentation/filesystems/cifs/index.rst > > > > diff --git a/Documentation/filesystems/cifs/cifsd.rst > > b/Documentation/filesystems/cifs/cifsd.rst > > new file mode 100644 > > index 000000000000..cb9f87b8529f > > --- /dev/null > > +++ b/Documentation/filesystems/cifs/cifsd.rst > > @@ -0,0 +1,152 @@ > > +.. SPDX-License-Identifier: GPL-2.0 > > + > > +========================== > > +CIFSD - SMB3 Kernel Server > > +========================== > > + > > +CIFSD is a linux kernel server which implements SMB3 protocol in > > +kernel space for sharing files over network. > > + > > Hello cifsd team! Hi Amir, > > I am very excited to see your work posted and especially excited to learn about the collaboration with > the samba team. Thanks! > > One of the benefits from kernel smbd implementation is improved ability to interoperate with VFS in > general and nfsd in particular. Agreed. This seems to be an important issue, I was missing this. > > For example, I have discussed with several samba team members the option that ksmbd will serve as a > kernel lease agent for samba, instead of having to work around the limitations of file lock UAPI. > > Could you share your plans (if any) for interoperability improvements with vfs/nfsd? > > It would be useful to add an "Interop" column to the Features table below to document the current > state and future plans or just include a note about it in the Status column. Okay, First, I need to check your previous mails about this. Then I will update it in features table. > > Off the top of my head, a list of features that samba supports partial kernel/nfsd interop with are: > - Leases (level 1) > - Notify > - ACLs (NT to POSIX map) > - Share modes > > In all of those features, ksmbd is in a position to do a better job. Right. > > I only assume that ksmbd implementation of POSIX extensions is a "native" implementation (i.e. a > symlink is implemented as a symlink) so ksmbd and nfsd exporting the same POSIX fs would at least > observe the same objects(?), but I would rather see this explicitly documented. Okay. > > Thanks, Thank you! > Amir. > > [...] > > > + > > +CIFSD Feature Status > > +==================== > > + > > +============================== ================================================= > > +Feature name Status > > +============================== ================================================= > > +Dialects Supported. SMB2.1 SMB3.0, SMB3.1.1 dialects > > + excluding security vulnerable SMB1. > > +Auto Negotiation Supported. > > +Compound Request Supported. > > +Oplock Cache Mechanism Supported. > > +SMB2 leases(v1 lease) Supported. > > +Directory leases(v2 lease) Planned for future. > > +Multi-credits Supported. > > +NTLM/NTLMv2 Supported. > > +HMAC-SHA256 Signing Supported. > > +Secure negotiate Supported. > > +Signing Update Supported. > > +Pre-authentication integrity Supported. > > +SMB3 encryption(CCM, GCM) Supported. > > +SMB direct(RDMA) Partial Supported. SMB3 Multi-channel is required > > + to connect to Windows client. > > +SMB3 Multi-channel In Progress. > > +SMB3.1.1 POSIX extension Supported. > > +ACLs Partial Supported. only DACLs available, SACLs is > > + planned for future. ksmbd generate random subauth > > + values(then store it to disk) and use uid/gid > > + get from inode as RID for local domain SID. > > + The current acl implementation is limited to > > + standalone server, not a domain member. > > +Kerberos Supported. > > +Durable handle v1,v2 Planned for future. > > +Persistent handle Planned for future. > > +SMB2 notify Planned for future. > > +Sparse file support Supported. > > +DCE/RPC support Partial Supported. a few calls(NetShareEnumAll, > > + NetServerGetInfo, SAMR, LSARPC) that needed as > > + file server via netlink interface from > > + ksmbd.mountd. > > +============================== > > +================================================= > > +