[prev in list] [next in list] [prev in thread] [next in thread] 

List:       samba-technical
Subject:    Re: cifsd/nfsd interop
From:       Amir Goldstein via samba-technical <samba-technical () lists ! samba ! org>
Date:       2021-04-22 8:51:45
Message-ID: CAOQ4uxg7Xc21mkc8kgr1t-GpFHghLOZN6zbpST1GLvrH7vU9LQ () mail ! gmail ! com
[Download RAW message or body]

[re-posting for samba-technical with shorter CC list]

On Thu, Apr 22, 2021 at 11:11 AM Namjae Jeon <namjae.jeon@samsung.com> wrote:
> 
> > 
> > On Thu, Apr 22, 2021 at 4:31 AM Namjae Jeon <namjae.jeon@samsung.com> wrote:
> > > 
> > > This adds a document describing ksmbd design, key features and usage.
> > > 
> > > Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
> > > Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
> > > Signed-off-by: Hyunchul Lee <hyc.lee@gmail.com>
> > > Acked-by: Ronnie Sahlberg <lsahlber@redhat.com>
> > > Signed-off-by: Steve French <stfrench@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.
> > > +==============================
> > > +=================================================
> > > +
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic