cifsd/nfsd interop
Amir Goldstein
amir73il at gmail.com
Thu Apr 22 08:51:45 UTC 2021
[re-posting for samba-technical with shorter CC list]
On Thu, Apr 22, 2021 at 11:11 AM Namjae Jeon <namjae.jeon at samsung.com> wrote:
>
> >
> > On Thu, Apr 22, 2021 at 4:31 AM Namjae Jeon <namjae.jeon at samsung.com> wrote:
> > >
> > > This adds a document describing ksmbd design, key features and usage.
> > >
> > > Signed-off-by: Namjae Jeon <namjae.jeon at samsung.com>
> > > Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky at gmail.com>
> > > Signed-off-by: Hyunchul Lee <hyc.lee at gmail.com>
> > > Acked-by: Ronnie Sahlberg <lsahlber at redhat.com>
> > > Signed-off-by: Steve French <stfrench at microsoft.com>
> > > ---
> > > 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.
> > > +==============================
> > > +=================================================
> > > +
>
More information about the samba-technical
mailing list