Re: [GIT PULL] ksmbd server fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, May 21, 2023 at 2:21 PM Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> On Sun, May 21, 2023 at 12:03 PM Steve French <smfrench@xxxxxxxxx> wrote:
> >
> > I would be happy to do the move (to fs/smb) of the directories and
> > update the config soon (seems reasonably low risk) - let me know if you
> > want me to send it this week or wait till 6.5-rc
>
> So I think the "do it now or wait until the 6.5 merge window" is
> entirely up to you.
>
> We've often intentionally done big renames during the "quiet time"
> after the merge window is oven, just because doing them during the
> merge window can be somewhat painful with unnecessary conflicts.
>
> I would *not* want to do it during the last week of the release, just
> in case there are small details that need to be fixed up, but doing it
> now during the rc3/rc4 kind of timeframe is not only fairly quiet, but
> also gives us time to find any surprises.
>
> So in that sense, doing it now is likely one of the better times, and
> a pure rename should not be risky from a code standpoint.
>
> At the same time, doing it during the merge window isn't *wrong*
> either.  Despite the somewhat painful merge with folio changes, I
> don't think fs/cifs/ or fs/ksmbd/ normally have a lot of conflicts,
> and git does handle rename conflicts fairly well unless there's just
> lots of complexity.
>
> So it's really fine either way. The normal kind of "big changes"
> should obviously always be merge window things, but pure renames
> really are different and are often done outside of the merge window
> (the same way I intentionally did the MAINTAINERS re-ordering just
> *after* the merge window)
>
> But we don't do renames often enough to have any kind of strict rules
> about things like this.
>
> So I think "whenever is most convenient for you" is the thing to aim
> for here. This is *not* a "only during merge window" kind of thing.
>
>                  Linus

Here are two patches:
1)  Move CIFS/SMB3 related client and server files (cifs.ko and ksmbd.ko
and helper modules) to new fs/smb subdirectory (fs/smbfs was not used
to avoid confusion with the directory of the same name removed in 2.6.27
release and we also avoid using CONFIG_SMB_FS for the same reason)

   fs/cifs --> fs/smb/client
   fs/ksmbd --> fs/smb/server
   fs/smbfs_common --> fs/smb/common

2) With the fs/cifs directory moved to fs/smb/client, correct mentions
of this in Documentation and comments.

Follow on patch can change Documentation/filesystems/cifs -->
Documentation/filesystems/smb (since it contains both server
and client documentation)


--
Thanks,

Steve
From 909b8a8f6475bb9902e3621d3cd9cba3a95e3f0e Mon Sep 17 00:00:00 2001
From: Steve French <stfrench@microsoft.com>
Date: Sun, 21 May 2023 20:46:30 -0500
Subject: [PATCH 1/2] smb: move client and server files to common directory
 fs/smb

Move CIFS/SMB3 related client and server files (cifs.ko and ksmbd.ko
and helper modules) to new fs/smb subdirectory:

   fs/cifs --> fs/smb/client
   fs/ksmbd --> fs/smb/server
   fs/smbfs_common --> fs/smb/conmon

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
---
 MAINTAINERS                                           |  8 ++++----
 fs/Kconfig                                            |  9 +--------
 fs/Makefile                                           |  4 +---
 fs/smb/Kconfig                                        | 11 +++++++++++
 fs/smb/Makefile                                       |  5 +++++
 fs/{cifs => smb/client}/Kconfig                       |  1 +
 fs/{cifs => smb/client}/Makefile                      |  0
 fs/{cifs => smb/client}/asn1.c                        |  0
 fs/{cifs => smb/client}/cached_dir.c                  |  0
 fs/{cifs => smb/client}/cached_dir.h                  |  0
 fs/{cifs => smb/client}/cifs_debug.c                  |  0
 fs/{cifs => smb/client}/cifs_debug.h                  |  0
 fs/{cifs => smb/client}/cifs_dfs_ref.c                |  0
 fs/{cifs => smb/client}/cifs_fs_sb.h                  |  0
 fs/{cifs => smb/client}/cifs_ioctl.h                  |  0
 fs/{cifs => smb/client}/cifs_spnego.c                 |  0
 fs/{cifs => smb/client}/cifs_spnego.h                 |  0
 fs/{cifs => smb/client}/cifs_spnego_negtokeninit.asn1 |  0
 fs/{cifs => smb/client}/cifs_swn.c                    |  0
 fs/{cifs => smb/client}/cifs_swn.h                    |  0
 fs/{cifs => smb/client}/cifs_unicode.c                |  0
 fs/{cifs => smb/client}/cifs_unicode.h                |  0
 fs/{cifs => smb/client}/cifs_uniupr.h                 |  0
 fs/{cifs => smb/client}/cifsacl.c                     |  0
 fs/{cifs => smb/client}/cifsacl.h                     |  0
 fs/{cifs => smb/client}/cifsencrypt.c                 |  2 +-
 fs/{cifs => smb/client}/cifsfs.c                      |  0
 fs/{cifs => smb/client}/cifsfs.h                      |  0
 fs/{cifs => smb/client}/cifsglob.h                    |  2 +-
 fs/{cifs => smb/client}/cifspdu.h                     |  2 +-
 fs/{cifs => smb/client}/cifsproto.h                   |  0
 fs/{cifs => smb/client}/cifsroot.c                    |  0
 fs/{cifs => smb/client}/cifssmb.c                     |  0
 fs/{cifs => smb/client}/connect.c                     |  0
 fs/{cifs => smb/client}/dfs.c                         |  0
 fs/{cifs => smb/client}/dfs.h                         |  0
 fs/{cifs => smb/client}/dfs_cache.c                   |  0
 fs/{cifs => smb/client}/dfs_cache.h                   |  0
 fs/{cifs => smb/client}/dir.c                         |  0
 fs/{cifs => smb/client}/dns_resolve.c                 |  0
 fs/{cifs => smb/client}/dns_resolve.h                 |  0
 fs/{cifs => smb/client}/export.c                      |  0
 fs/{cifs => smb/client}/file.c                        |  0
 fs/{cifs => smb/client}/fs_context.c                  |  0
 fs/{cifs => smb/client}/fs_context.h                  |  0
 fs/{cifs => smb/client}/fscache.c                     |  0
 fs/{cifs => smb/client}/fscache.h                     |  0
 fs/{cifs => smb/client}/inode.c                       |  0
 fs/{cifs => smb/client}/ioctl.c                       |  0
 fs/{cifs => smb/client}/link.c                        |  0
 fs/{cifs => smb/client}/misc.c                        |  0
 fs/{cifs => smb/client}/netlink.c                     |  0
 fs/{cifs => smb/client}/netlink.h                     |  0
 fs/{cifs => smb/client}/netmisc.c                     |  0
 fs/{cifs => smb/client}/nterr.c                       |  0
 fs/{cifs => smb/client}/nterr.h                       |  0
 fs/{cifs => smb/client}/ntlmssp.h                     |  0
 fs/{cifs => smb/client}/readdir.c                     |  0
 fs/{cifs => smb/client}/rfc1002pdu.h                  |  0
 fs/{cifs => smb/client}/sess.c                        |  0
 fs/{cifs => smb/client}/smb1ops.c                     |  0
 fs/{cifs => smb/client}/smb2file.c                    |  0
 fs/{cifs => smb/client}/smb2glob.h                    |  0
 fs/{cifs => smb/client}/smb2inode.c                   |  0
 fs/{cifs => smb/client}/smb2maperror.c                |  0
 fs/{cifs => smb/client}/smb2misc.c                    |  0
 fs/{cifs => smb/client}/smb2ops.c                     |  0
 fs/{cifs => smb/client}/smb2pdu.c                     |  0
 fs/{cifs => smb/client}/smb2pdu.h                     |  0
 fs/{cifs => smb/client}/smb2proto.h                   |  0
 fs/{cifs => smb/client}/smb2status.h                  |  0
 fs/{cifs => smb/client}/smb2transport.c               |  0
 fs/{cifs => smb/client}/smbdirect.c                   |  0
 fs/{cifs => smb/client}/smbdirect.h                   |  0
 fs/{cifs => smb/client}/smbencrypt.c                  |  2 +-
 fs/{cifs => smb/client}/smberr.h                      |  0
 fs/{cifs => smb/client}/trace.c                       |  0
 fs/{cifs => smb/client}/trace.h                       |  0
 fs/{cifs => smb/client}/transport.c                   |  0
 fs/{cifs => smb/client}/unc.c                         |  0
 fs/{cifs => smb/client}/winucase.c                    |  0
 fs/{cifs => smb/client}/xattr.c                       |  0
 fs/{smbfs_common => smb/common}/Makefile              |  0
 fs/{smbfs_common => smb/common}/arc4.h                |  0
 fs/{smbfs_common => smb/common}/cifs_arc4.c           |  0
 fs/{smbfs_common => smb/common}/cifs_md4.c            |  0
 fs/{smbfs_common => smb/common}/md4.h                 |  0
 fs/{smbfs_common => smb/common}/smb2pdu.h             |  0
 fs/{smbfs_common => smb/common}/smbfsctl.h            |  0
 fs/{ksmbd => smb/server}/Kconfig                      |  0
 fs/{ksmbd => smb/server}/Makefile                     |  0
 fs/{ksmbd => smb/server}/asn1.c                       |  0
 fs/{ksmbd => smb/server}/asn1.h                       |  0
 fs/{ksmbd => smb/server}/auth.c                       |  2 +-
 fs/{ksmbd => smb/server}/auth.h                       |  0
 fs/{ksmbd => smb/server}/connection.c                 |  0
 fs/{ksmbd => smb/server}/connection.h                 |  0
 fs/{ksmbd => smb/server}/crypto_ctx.c                 |  0
 fs/{ksmbd => smb/server}/crypto_ctx.h                 |  0
 fs/{ksmbd => smb/server}/glob.h                       |  0
 fs/{ksmbd => smb/server}/ksmbd_netlink.h              |  0
 .../server}/ksmbd_spnego_negtokeninit.asn1            |  0
 .../server}/ksmbd_spnego_negtokentarg.asn1            |  0
 fs/{ksmbd => smb/server}/ksmbd_work.c                 |  0
 fs/{ksmbd => smb/server}/ksmbd_work.h                 |  0
 fs/{ksmbd => smb/server}/mgmt/ksmbd_ida.c             |  0
 fs/{ksmbd => smb/server}/mgmt/ksmbd_ida.h             |  0
 fs/{ksmbd => smb/server}/mgmt/share_config.c          |  0
 fs/{ksmbd => smb/server}/mgmt/share_config.h          |  0
 fs/{ksmbd => smb/server}/mgmt/tree_connect.c          |  0
 fs/{ksmbd => smb/server}/mgmt/tree_connect.h          |  0
 fs/{ksmbd => smb/server}/mgmt/user_config.c           |  0
 fs/{ksmbd => smb/server}/mgmt/user_config.h           |  0
 fs/{ksmbd => smb/server}/mgmt/user_session.c          |  0
 fs/{ksmbd => smb/server}/mgmt/user_session.h          |  0
 fs/{ksmbd => smb/server}/misc.c                       |  0
 fs/{ksmbd => smb/server}/misc.h                       |  0
 fs/{ksmbd => smb/server}/ndr.c                        |  0
 fs/{ksmbd => smb/server}/ndr.h                        |  0
 fs/{ksmbd => smb/server}/nterr.h                      |  0
 fs/{ksmbd => smb/server}/ntlmssp.h                    |  0
 fs/{ksmbd => smb/server}/oplock.c                     |  0
 fs/{ksmbd => smb/server}/oplock.h                     |  0
 fs/{ksmbd => smb/server}/server.c                     |  0
 fs/{ksmbd => smb/server}/server.h                     |  0
 fs/{ksmbd => smb/server}/smb2misc.c                   |  0
 fs/{ksmbd => smb/server}/smb2ops.c                    |  0
 fs/{ksmbd => smb/server}/smb2pdu.c                    |  0
 fs/{ksmbd => smb/server}/smb2pdu.h                    |  0
 fs/{ksmbd => smb/server}/smb_common.c                 |  0
 fs/{ksmbd => smb/server}/smb_common.h                 |  2 +-
 fs/{ksmbd => smb/server}/smbacl.c                     |  0
 fs/{ksmbd => smb/server}/smbacl.h                     |  0
 fs/{ksmbd => smb/server}/smbfsctl.h                   |  0
 fs/{ksmbd => smb/server}/smbstatus.h                  |  0
 fs/{ksmbd => smb/server}/transport_ipc.c              |  0
 fs/{ksmbd => smb/server}/transport_ipc.h              |  0
 fs/{ksmbd => smb/server}/transport_rdma.c             |  0
 fs/{ksmbd => smb/server}/transport_rdma.h             |  0
 fs/{ksmbd => smb/server}/transport_tcp.c              |  0
 fs/{ksmbd => smb/server}/transport_tcp.h              |  0
 fs/{ksmbd => smb/server}/unicode.c                    |  0
 fs/{ksmbd => smb/server}/unicode.h                    |  0
 fs/{ksmbd => smb/server}/uniupr.h                     |  0
 fs/{ksmbd => smb/server}/vfs.c                        |  0
 fs/{ksmbd => smb/server}/vfs.h                        |  0
 fs/{ksmbd => smb/server}/vfs_cache.c                  |  0
 fs/{ksmbd => smb/server}/vfs_cache.h                  |  0
 fs/{ksmbd => smb/server}/xattr.h                      |  0
 149 files changed, 29 insertions(+), 21 deletions(-)
 create mode 100644 fs/smb/Kconfig
 create mode 100644 fs/smb/Makefile
 rename fs/{cifs => smb/client}/Kconfig (99%)
 rename fs/{cifs => smb/client}/Makefile (100%)
 rename fs/{cifs => smb/client}/asn1.c (100%)
 rename fs/{cifs => smb/client}/cached_dir.c (100%)
 rename fs/{cifs => smb/client}/cached_dir.h (100%)
 rename fs/{cifs => smb/client}/cifs_debug.c (100%)
 rename fs/{cifs => smb/client}/cifs_debug.h (100%)
 rename fs/{cifs => smb/client}/cifs_dfs_ref.c (100%)
 rename fs/{cifs => smb/client}/cifs_fs_sb.h (100%)
 rename fs/{cifs => smb/client}/cifs_ioctl.h (100%)
 rename fs/{cifs => smb/client}/cifs_spnego.c (100%)
 rename fs/{cifs => smb/client}/cifs_spnego.h (100%)
 rename fs/{cifs => smb/client}/cifs_spnego_negtokeninit.asn1 (100%)
 rename fs/{cifs => smb/client}/cifs_swn.c (100%)
 rename fs/{cifs => smb/client}/cifs_swn.h (100%)
 rename fs/{cifs => smb/client}/cifs_unicode.c (100%)
 rename fs/{cifs => smb/client}/cifs_unicode.h (100%)
 rename fs/{cifs => smb/client}/cifs_uniupr.h (100%)
 rename fs/{cifs => smb/client}/cifsacl.c (100%)
 rename fs/{cifs => smb/client}/cifsacl.h (100%)
 rename fs/{cifs => smb/client}/cifsencrypt.c (99%)
 rename fs/{cifs => smb/client}/cifsfs.c (100%)
 rename fs/{cifs => smb/client}/cifsfs.h (100%)
 rename fs/{cifs => smb/client}/cifsglob.h (99%)
 rename fs/{cifs => smb/client}/cifspdu.h (99%)
 rename fs/{cifs => smb/client}/cifsproto.h (100%)
 rename fs/{cifs => smb/client}/cifsroot.c (100%)
 rename fs/{cifs => smb/client}/cifssmb.c (100%)
 rename fs/{cifs => smb/client}/connect.c (100%)
 rename fs/{cifs => smb/client}/dfs.c (100%)
 rename fs/{cifs => smb/client}/dfs.h (100%)
 rename fs/{cifs => smb/client}/dfs_cache.c (100%)
 rename fs/{cifs => smb/client}/dfs_cache.h (100%)
 rename fs/{cifs => smb/client}/dir.c (100%)
 rename fs/{cifs => smb/client}/dns_resolve.c (100%)
 rename fs/{cifs => smb/client}/dns_resolve.h (100%)
 rename fs/{cifs => smb/client}/export.c (100%)
 rename fs/{cifs => smb/client}/file.c (100%)
 rename fs/{cifs => smb/client}/fs_context.c (100%)
 rename fs/{cifs => smb/client}/fs_context.h (100%)
 rename fs/{cifs => smb/client}/fscache.c (100%)
 rename fs/{cifs => smb/client}/fscache.h (100%)
 rename fs/{cifs => smb/client}/inode.c (100%)
 rename fs/{cifs => smb/client}/ioctl.c (100%)
 rename fs/{cifs => smb/client}/link.c (100%)
 rename fs/{cifs => smb/client}/misc.c (100%)
 rename fs/{cifs => smb/client}/netlink.c (100%)
 rename fs/{cifs => smb/client}/netlink.h (100%)
 rename fs/{cifs => smb/client}/netmisc.c (100%)
 rename fs/{cifs => smb/client}/nterr.c (100%)
 rename fs/{cifs => smb/client}/nterr.h (100%)
 rename fs/{cifs => smb/client}/ntlmssp.h (100%)
 rename fs/{cifs => smb/client}/readdir.c (100%)
 rename fs/{cifs => smb/client}/rfc1002pdu.h (100%)
 rename fs/{cifs => smb/client}/sess.c (100%)
 rename fs/{cifs => smb/client}/smb1ops.c (100%)
 rename fs/{cifs => smb/client}/smb2file.c (100%)
 rename fs/{cifs => smb/client}/smb2glob.h (100%)
 rename fs/{cifs => smb/client}/smb2inode.c (100%)
 rename fs/{cifs => smb/client}/smb2maperror.c (100%)
 rename fs/{cifs => smb/client}/smb2misc.c (100%)
 rename fs/{cifs => smb/client}/smb2ops.c (100%)
 rename fs/{cifs => smb/client}/smb2pdu.c (100%)
 rename fs/{cifs => smb/client}/smb2pdu.h (100%)
 rename fs/{cifs => smb/client}/smb2proto.h (100%)
 rename fs/{cifs => smb/client}/smb2status.h (100%)
 rename fs/{cifs => smb/client}/smb2transport.c (100%)
 rename fs/{cifs => smb/client}/smbdirect.c (100%)
 rename fs/{cifs => smb/client}/smbdirect.h (100%)
 rename fs/{cifs => smb/client}/smbencrypt.c (98%)
 rename fs/{cifs => smb/client}/smberr.h (100%)
 rename fs/{cifs => smb/client}/trace.c (100%)
 rename fs/{cifs => smb/client}/trace.h (100%)
 rename fs/{cifs => smb/client}/transport.c (100%)
 rename fs/{cifs => smb/client}/unc.c (100%)
 rename fs/{cifs => smb/client}/winucase.c (100%)
 rename fs/{cifs => smb/client}/xattr.c (100%)
 rename fs/{smbfs_common => smb/common}/Makefile (100%)
 rename fs/{smbfs_common => smb/common}/arc4.h (100%)
 rename fs/{smbfs_common => smb/common}/cifs_arc4.c (100%)
 rename fs/{smbfs_common => smb/common}/cifs_md4.c (100%)
 rename fs/{smbfs_common => smb/common}/md4.h (100%)
 rename fs/{smbfs_common => smb/common}/smb2pdu.h (100%)
 rename fs/{smbfs_common => smb/common}/smbfsctl.h (100%)
 rename fs/{ksmbd => smb/server}/Kconfig (100%)
 rename fs/{ksmbd => smb/server}/Makefile (100%)
 rename fs/{ksmbd => smb/server}/asn1.c (100%)
 rename fs/{ksmbd => smb/server}/asn1.h (100%)
 rename fs/{ksmbd => smb/server}/auth.c (99%)
 rename fs/{ksmbd => smb/server}/auth.h (100%)
 rename fs/{ksmbd => smb/server}/connection.c (100%)
 rename fs/{ksmbd => smb/server}/connection.h (100%)
 rename fs/{ksmbd => smb/server}/crypto_ctx.c (100%)
 rename fs/{ksmbd => smb/server}/crypto_ctx.h (100%)
 rename fs/{ksmbd => smb/server}/glob.h (100%)
 rename fs/{ksmbd => smb/server}/ksmbd_netlink.h (100%)
 rename fs/{ksmbd => smb/server}/ksmbd_spnego_negtokeninit.asn1 (100%)
 rename fs/{ksmbd => smb/server}/ksmbd_spnego_negtokentarg.asn1 (100%)
 rename fs/{ksmbd => smb/server}/ksmbd_work.c (100%)
 rename fs/{ksmbd => smb/server}/ksmbd_work.h (100%)
 rename fs/{ksmbd => smb/server}/mgmt/ksmbd_ida.c (100%)
 rename fs/{ksmbd => smb/server}/mgmt/ksmbd_ida.h (100%)
 rename fs/{ksmbd => smb/server}/mgmt/share_config.c (100%)
 rename fs/{ksmbd => smb/server}/mgmt/share_config.h (100%)
 rename fs/{ksmbd => smb/server}/mgmt/tree_connect.c (100%)
 rename fs/{ksmbd => smb/server}/mgmt/tree_connect.h (100%)
 rename fs/{ksmbd => smb/server}/mgmt/user_config.c (100%)
 rename fs/{ksmbd => smb/server}/mgmt/user_config.h (100%)
 rename fs/{ksmbd => smb/server}/mgmt/user_session.c (100%)
 rename fs/{ksmbd => smb/server}/mgmt/user_session.h (100%)
 rename fs/{ksmbd => smb/server}/misc.c (100%)
 rename fs/{ksmbd => smb/server}/misc.h (100%)
 rename fs/{ksmbd => smb/server}/ndr.c (100%)
 rename fs/{ksmbd => smb/server}/ndr.h (100%)
 rename fs/{ksmbd => smb/server}/nterr.h (100%)
 rename fs/{ksmbd => smb/server}/ntlmssp.h (100%)
 rename fs/{ksmbd => smb/server}/oplock.c (100%)
 rename fs/{ksmbd => smb/server}/oplock.h (100%)
 rename fs/{ksmbd => smb/server}/server.c (100%)
 rename fs/{ksmbd => smb/server}/server.h (100%)
 rename fs/{ksmbd => smb/server}/smb2misc.c (100%)
 rename fs/{ksmbd => smb/server}/smb2ops.c (100%)
 rename fs/{ksmbd => smb/server}/smb2pdu.c (100%)
 rename fs/{ksmbd => smb/server}/smb2pdu.h (100%)
 rename fs/{ksmbd => smb/server}/smb_common.c (100%)
 rename fs/{ksmbd => smb/server}/smb_common.h (99%)
 rename fs/{ksmbd => smb/server}/smbacl.c (100%)
 rename fs/{ksmbd => smb/server}/smbacl.h (100%)
 rename fs/{ksmbd => smb/server}/smbfsctl.h (100%)
 rename fs/{ksmbd => smb/server}/smbstatus.h (100%)
 rename fs/{ksmbd => smb/server}/transport_ipc.c (100%)
 rename fs/{ksmbd => smb/server}/transport_ipc.h (100%)
 rename fs/{ksmbd => smb/server}/transport_rdma.c (100%)
 rename fs/{ksmbd => smb/server}/transport_rdma.h (100%)
 rename fs/{ksmbd => smb/server}/transport_tcp.c (100%)
 rename fs/{ksmbd => smb/server}/transport_tcp.h (100%)
 rename fs/{ksmbd => smb/server}/unicode.c (100%)
 rename fs/{ksmbd => smb/server}/unicode.h (100%)
 rename fs/{ksmbd => smb/server}/uniupr.h (100%)
 rename fs/{ksmbd => smb/server}/vfs.c (100%)
 rename fs/{ksmbd => smb/server}/vfs.h (100%)
 rename fs/{ksmbd => smb/server}/vfs_cache.c (100%)
 rename fs/{ksmbd => smb/server}/vfs_cache.h (100%)
 rename fs/{ksmbd => smb/server}/xattr.h (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index 27ef11624748..902f763e845d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5140,8 +5140,8 @@ S:	Supported
 W:	https://wiki.samba.org/index.php/LinuxCIFS
 T:	git git://git.samba.org/sfrench/cifs-2.6.git
 F:	Documentation/admin-guide/cifs/
-F:	fs/cifs/
-F:	fs/smbfs_common/
+F:	fs/smb/client/
+F:	fs/smb/common/
 F:	include/uapi/linux/cifs
 
 COMPACTPCI HOTPLUG CORE
@@ -11301,8 +11301,8 @@ L:	linux-cifs@vger.kernel.org
 S:	Maintained
 T:	git git://git.samba.org/ksmbd.git
 F:	Documentation/filesystems/cifs/ksmbd.rst
-F:	fs/ksmbd/
-F:	fs/smbfs_common/
+F:	fs/smb/common/
+F:	fs/smb/server/
 
 KERNEL UNIT TESTING FRAMEWORK (KUnit)
 M:	Brendan Higgins <brendanhiggins@google.com>
diff --git a/fs/Kconfig b/fs/Kconfig
index cc07a0cd3172..18d034ec7953 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -368,14 +368,7 @@ config NFS_V4_2_SSC_HELPER
 source "net/sunrpc/Kconfig"
 source "fs/ceph/Kconfig"
 
-source "fs/cifs/Kconfig"
-source "fs/ksmbd/Kconfig"
-
-config SMBFS_COMMON
-	tristate
-	default y if CIFS=y || SMB_SERVER=y
-	default m if CIFS=m || SMB_SERVER=m
-
+source "fs/smb/Kconfig"
 source "fs/coda/Kconfig"
 source "fs/afs/Kconfig"
 source "fs/9p/Kconfig"
diff --git a/fs/Makefile b/fs/Makefile
index 834f1c3dba46..5bfdbf0d7037 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -95,9 +95,7 @@ obj-$(CONFIG_LOCKD)		+= lockd/
 obj-$(CONFIG_NLS)		+= nls/
 obj-y				+= unicode/
 obj-$(CONFIG_SYSV_FS)		+= sysv/
-obj-$(CONFIG_SMBFS_COMMON)	+= smbfs_common/
-obj-$(CONFIG_CIFS)		+= cifs/
-obj-$(CONFIG_SMB_SERVER)	+= ksmbd/
+obj-$(CONFIG_SMBFS)		+= smb/
 obj-$(CONFIG_HPFS_FS)		+= hpfs/
 obj-$(CONFIG_NTFS_FS)		+= ntfs/
 obj-$(CONFIG_NTFS3_FS)		+= ntfs3/
diff --git a/fs/smb/Kconfig b/fs/smb/Kconfig
new file mode 100644
index 000000000000..f010b57d1782
--- /dev/null
+++ b/fs/smb/Kconfig
@@ -0,0 +1,11 @@
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# smbfs configuration
+
+source "fs/smb/client/Kconfig"
+source "fs/smb/server/Kconfig"
+
+config SMBFS
+	tristate
+	default y if CIFS=y || SMB_CLIENT=y || SMB_SERVER=y
+	default m if CIFS=m || SMB_CLIENT=y || SMB_SERVER=m
diff --git a/fs/smb/Makefile b/fs/smb/Makefile
new file mode 100644
index 000000000000..752e97ae40e8
--- /dev/null
+++ b/fs/smb/Makefile
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0
+
+obj-$(CONFIG_SMBFS)		+= common/
+obj-$(CONFIG_SMB_CLIENT)	+= client/
+obj-$(CONFIG_SMB_SERVER)	+= server/
diff --git a/fs/cifs/Kconfig b/fs/smb/client/Kconfig
similarity index 99%
rename from fs/cifs/Kconfig
rename to fs/smb/client/Kconfig
index 4c0d53bf931a..172ab7b64c5e 100644
--- a/fs/cifs/Kconfig
+++ b/fs/smb/client/Kconfig
@@ -2,6 +2,7 @@
 config CIFS
 	tristate "SMB3 and CIFS support (advanced network filesystem)"
 	depends on INET
+	select SMB_CLIENT
 	select NLS
 	select CRYPTO
 	select CRYPTO_MD5
diff --git a/fs/cifs/Makefile b/fs/smb/client/Makefile
similarity index 100%
rename from fs/cifs/Makefile
rename to fs/smb/client/Makefile
diff --git a/fs/cifs/asn1.c b/fs/smb/client/asn1.c
similarity index 100%
rename from fs/cifs/asn1.c
rename to fs/smb/client/asn1.c
diff --git a/fs/cifs/cached_dir.c b/fs/smb/client/cached_dir.c
similarity index 100%
rename from fs/cifs/cached_dir.c
rename to fs/smb/client/cached_dir.c
diff --git a/fs/cifs/cached_dir.h b/fs/smb/client/cached_dir.h
similarity index 100%
rename from fs/cifs/cached_dir.h
rename to fs/smb/client/cached_dir.h
diff --git a/fs/cifs/cifs_debug.c b/fs/smb/client/cifs_debug.c
similarity index 100%
rename from fs/cifs/cifs_debug.c
rename to fs/smb/client/cifs_debug.c
diff --git a/fs/cifs/cifs_debug.h b/fs/smb/client/cifs_debug.h
similarity index 100%
rename from fs/cifs/cifs_debug.h
rename to fs/smb/client/cifs_debug.h
diff --git a/fs/cifs/cifs_dfs_ref.c b/fs/smb/client/cifs_dfs_ref.c
similarity index 100%
rename from fs/cifs/cifs_dfs_ref.c
rename to fs/smb/client/cifs_dfs_ref.c
diff --git a/fs/cifs/cifs_fs_sb.h b/fs/smb/client/cifs_fs_sb.h
similarity index 100%
rename from fs/cifs/cifs_fs_sb.h
rename to fs/smb/client/cifs_fs_sb.h
diff --git a/fs/cifs/cifs_ioctl.h b/fs/smb/client/cifs_ioctl.h
similarity index 100%
rename from fs/cifs/cifs_ioctl.h
rename to fs/smb/client/cifs_ioctl.h
diff --git a/fs/cifs/cifs_spnego.c b/fs/smb/client/cifs_spnego.c
similarity index 100%
rename from fs/cifs/cifs_spnego.c
rename to fs/smb/client/cifs_spnego.c
diff --git a/fs/cifs/cifs_spnego.h b/fs/smb/client/cifs_spnego.h
similarity index 100%
rename from fs/cifs/cifs_spnego.h
rename to fs/smb/client/cifs_spnego.h
diff --git a/fs/cifs/cifs_spnego_negtokeninit.asn1 b/fs/smb/client/cifs_spnego_negtokeninit.asn1
similarity index 100%
rename from fs/cifs/cifs_spnego_negtokeninit.asn1
rename to fs/smb/client/cifs_spnego_negtokeninit.asn1
diff --git a/fs/cifs/cifs_swn.c b/fs/smb/client/cifs_swn.c
similarity index 100%
rename from fs/cifs/cifs_swn.c
rename to fs/smb/client/cifs_swn.c
diff --git a/fs/cifs/cifs_swn.h b/fs/smb/client/cifs_swn.h
similarity index 100%
rename from fs/cifs/cifs_swn.h
rename to fs/smb/client/cifs_swn.h
diff --git a/fs/cifs/cifs_unicode.c b/fs/smb/client/cifs_unicode.c
similarity index 100%
rename from fs/cifs/cifs_unicode.c
rename to fs/smb/client/cifs_unicode.c
diff --git a/fs/cifs/cifs_unicode.h b/fs/smb/client/cifs_unicode.h
similarity index 100%
rename from fs/cifs/cifs_unicode.h
rename to fs/smb/client/cifs_unicode.h
diff --git a/fs/cifs/cifs_uniupr.h b/fs/smb/client/cifs_uniupr.h
similarity index 100%
rename from fs/cifs/cifs_uniupr.h
rename to fs/smb/client/cifs_uniupr.h
diff --git a/fs/cifs/cifsacl.c b/fs/smb/client/cifsacl.c
similarity index 100%
rename from fs/cifs/cifsacl.c
rename to fs/smb/client/cifsacl.c
diff --git a/fs/cifs/cifsacl.h b/fs/smb/client/cifsacl.h
similarity index 100%
rename from fs/cifs/cifsacl.h
rename to fs/smb/client/cifsacl.h
diff --git a/fs/cifs/cifsencrypt.c b/fs/smb/client/cifsencrypt.c
similarity index 99%
rename from fs/cifs/cifsencrypt.c
rename to fs/smb/client/cifsencrypt.c
index 357bd27a7fd1..ef4c2e3c9fa6 100644
--- a/fs/cifs/cifsencrypt.c
+++ b/fs/smb/client/cifsencrypt.c
@@ -21,7 +21,7 @@
 #include <linux/random.h>
 #include <linux/highmem.h>
 #include <linux/fips.h>
-#include "../smbfs_common/arc4.h"
+#include "../common/arc4.h"
 #include <crypto/aead.h>
 
 /*
diff --git a/fs/cifs/cifsfs.c b/fs/smb/client/cifsfs.c
similarity index 100%
rename from fs/cifs/cifsfs.c
rename to fs/smb/client/cifsfs.c
diff --git a/fs/cifs/cifsfs.h b/fs/smb/client/cifsfs.h
similarity index 100%
rename from fs/cifs/cifsfs.h
rename to fs/smb/client/cifsfs.h
diff --git a/fs/cifs/cifsglob.h b/fs/smb/client/cifsglob.h
similarity index 99%
rename from fs/cifs/cifsglob.h
rename to fs/smb/client/cifsglob.h
index 5f8fd20951af..0d84bb1a8cd9 100644
--- a/fs/cifs/cifsglob.h
+++ b/fs/smb/client/cifsglob.h
@@ -24,7 +24,7 @@
 #include "cifsacl.h"
 #include <crypto/internal/hash.h>
 #include <uapi/linux/cifs/cifs_mount.h>
-#include "../smbfs_common/smb2pdu.h"
+#include "../common/smb2pdu.h"
 #include "smb2pdu.h"
 #include <linux/filelock.h>
 
diff --git a/fs/cifs/cifspdu.h b/fs/smb/client/cifspdu.h
similarity index 99%
rename from fs/cifs/cifspdu.h
rename to fs/smb/client/cifspdu.h
index 445e3eaebcc1..e17222fec9d2 100644
--- a/fs/cifs/cifspdu.h
+++ b/fs/smb/client/cifspdu.h
@@ -11,7 +11,7 @@
 
 #include <net/sock.h>
 #include <asm/unaligned.h>
-#include "../smbfs_common/smbfsctl.h"
+#include "../common/smbfsctl.h"
 
 #define CIFS_PROT   0
 #define POSIX_PROT  (CIFS_PROT+1)
diff --git a/fs/cifs/cifsproto.h b/fs/smb/client/cifsproto.h
similarity index 100%
rename from fs/cifs/cifsproto.h
rename to fs/smb/client/cifsproto.h
diff --git a/fs/cifs/cifsroot.c b/fs/smb/client/cifsroot.c
similarity index 100%
rename from fs/cifs/cifsroot.c
rename to fs/smb/client/cifsroot.c
diff --git a/fs/cifs/cifssmb.c b/fs/smb/client/cifssmb.c
similarity index 100%
rename from fs/cifs/cifssmb.c
rename to fs/smb/client/cifssmb.c
diff --git a/fs/cifs/connect.c b/fs/smb/client/connect.c
similarity index 100%
rename from fs/cifs/connect.c
rename to fs/smb/client/connect.c
diff --git a/fs/cifs/dfs.c b/fs/smb/client/dfs.c
similarity index 100%
rename from fs/cifs/dfs.c
rename to fs/smb/client/dfs.c
diff --git a/fs/cifs/dfs.h b/fs/smb/client/dfs.h
similarity index 100%
rename from fs/cifs/dfs.h
rename to fs/smb/client/dfs.h
diff --git a/fs/cifs/dfs_cache.c b/fs/smb/client/dfs_cache.c
similarity index 100%
rename from fs/cifs/dfs_cache.c
rename to fs/smb/client/dfs_cache.c
diff --git a/fs/cifs/dfs_cache.h b/fs/smb/client/dfs_cache.h
similarity index 100%
rename from fs/cifs/dfs_cache.h
rename to fs/smb/client/dfs_cache.h
diff --git a/fs/cifs/dir.c b/fs/smb/client/dir.c
similarity index 100%
rename from fs/cifs/dir.c
rename to fs/smb/client/dir.c
diff --git a/fs/cifs/dns_resolve.c b/fs/smb/client/dns_resolve.c
similarity index 100%
rename from fs/cifs/dns_resolve.c
rename to fs/smb/client/dns_resolve.c
diff --git a/fs/cifs/dns_resolve.h b/fs/smb/client/dns_resolve.h
similarity index 100%
rename from fs/cifs/dns_resolve.h
rename to fs/smb/client/dns_resolve.h
diff --git a/fs/cifs/export.c b/fs/smb/client/export.c
similarity index 100%
rename from fs/cifs/export.c
rename to fs/smb/client/export.c
diff --git a/fs/cifs/file.c b/fs/smb/client/file.c
similarity index 100%
rename from fs/cifs/file.c
rename to fs/smb/client/file.c
diff --git a/fs/cifs/fs_context.c b/fs/smb/client/fs_context.c
similarity index 100%
rename from fs/cifs/fs_context.c
rename to fs/smb/client/fs_context.c
diff --git a/fs/cifs/fs_context.h b/fs/smb/client/fs_context.h
similarity index 100%
rename from fs/cifs/fs_context.h
rename to fs/smb/client/fs_context.h
diff --git a/fs/cifs/fscache.c b/fs/smb/client/fscache.c
similarity index 100%
rename from fs/cifs/fscache.c
rename to fs/smb/client/fscache.c
diff --git a/fs/cifs/fscache.h b/fs/smb/client/fscache.h
similarity index 100%
rename from fs/cifs/fscache.h
rename to fs/smb/client/fscache.h
diff --git a/fs/cifs/inode.c b/fs/smb/client/inode.c
similarity index 100%
rename from fs/cifs/inode.c
rename to fs/smb/client/inode.c
diff --git a/fs/cifs/ioctl.c b/fs/smb/client/ioctl.c
similarity index 100%
rename from fs/cifs/ioctl.c
rename to fs/smb/client/ioctl.c
diff --git a/fs/cifs/link.c b/fs/smb/client/link.c
similarity index 100%
rename from fs/cifs/link.c
rename to fs/smb/client/link.c
diff --git a/fs/cifs/misc.c b/fs/smb/client/misc.c
similarity index 100%
rename from fs/cifs/misc.c
rename to fs/smb/client/misc.c
diff --git a/fs/cifs/netlink.c b/fs/smb/client/netlink.c
similarity index 100%
rename from fs/cifs/netlink.c
rename to fs/smb/client/netlink.c
diff --git a/fs/cifs/netlink.h b/fs/smb/client/netlink.h
similarity index 100%
rename from fs/cifs/netlink.h
rename to fs/smb/client/netlink.h
diff --git a/fs/cifs/netmisc.c b/fs/smb/client/netmisc.c
similarity index 100%
rename from fs/cifs/netmisc.c
rename to fs/smb/client/netmisc.c
diff --git a/fs/cifs/nterr.c b/fs/smb/client/nterr.c
similarity index 100%
rename from fs/cifs/nterr.c
rename to fs/smb/client/nterr.c
diff --git a/fs/cifs/nterr.h b/fs/smb/client/nterr.h
similarity index 100%
rename from fs/cifs/nterr.h
rename to fs/smb/client/nterr.h
diff --git a/fs/cifs/ntlmssp.h b/fs/smb/client/ntlmssp.h
similarity index 100%
rename from fs/cifs/ntlmssp.h
rename to fs/smb/client/ntlmssp.h
diff --git a/fs/cifs/readdir.c b/fs/smb/client/readdir.c
similarity index 100%
rename from fs/cifs/readdir.c
rename to fs/smb/client/readdir.c
diff --git a/fs/cifs/rfc1002pdu.h b/fs/smb/client/rfc1002pdu.h
similarity index 100%
rename from fs/cifs/rfc1002pdu.h
rename to fs/smb/client/rfc1002pdu.h
diff --git a/fs/cifs/sess.c b/fs/smb/client/sess.c
similarity index 100%
rename from fs/cifs/sess.c
rename to fs/smb/client/sess.c
diff --git a/fs/cifs/smb1ops.c b/fs/smb/client/smb1ops.c
similarity index 100%
rename from fs/cifs/smb1ops.c
rename to fs/smb/client/smb1ops.c
diff --git a/fs/cifs/smb2file.c b/fs/smb/client/smb2file.c
similarity index 100%
rename from fs/cifs/smb2file.c
rename to fs/smb/client/smb2file.c
diff --git a/fs/cifs/smb2glob.h b/fs/smb/client/smb2glob.h
similarity index 100%
rename from fs/cifs/smb2glob.h
rename to fs/smb/client/smb2glob.h
diff --git a/fs/cifs/smb2inode.c b/fs/smb/client/smb2inode.c
similarity index 100%
rename from fs/cifs/smb2inode.c
rename to fs/smb/client/smb2inode.c
diff --git a/fs/cifs/smb2maperror.c b/fs/smb/client/smb2maperror.c
similarity index 100%
rename from fs/cifs/smb2maperror.c
rename to fs/smb/client/smb2maperror.c
diff --git a/fs/cifs/smb2misc.c b/fs/smb/client/smb2misc.c
similarity index 100%
rename from fs/cifs/smb2misc.c
rename to fs/smb/client/smb2misc.c
diff --git a/fs/cifs/smb2ops.c b/fs/smb/client/smb2ops.c
similarity index 100%
rename from fs/cifs/smb2ops.c
rename to fs/smb/client/smb2ops.c
diff --git a/fs/cifs/smb2pdu.c b/fs/smb/client/smb2pdu.c
similarity index 100%
rename from fs/cifs/smb2pdu.c
rename to fs/smb/client/smb2pdu.c
diff --git a/fs/cifs/smb2pdu.h b/fs/smb/client/smb2pdu.h
similarity index 100%
rename from fs/cifs/smb2pdu.h
rename to fs/smb/client/smb2pdu.h
diff --git a/fs/cifs/smb2proto.h b/fs/smb/client/smb2proto.h
similarity index 100%
rename from fs/cifs/smb2proto.h
rename to fs/smb/client/smb2proto.h
diff --git a/fs/cifs/smb2status.h b/fs/smb/client/smb2status.h
similarity index 100%
rename from fs/cifs/smb2status.h
rename to fs/smb/client/smb2status.h
diff --git a/fs/cifs/smb2transport.c b/fs/smb/client/smb2transport.c
similarity index 100%
rename from fs/cifs/smb2transport.c
rename to fs/smb/client/smb2transport.c
diff --git a/fs/cifs/smbdirect.c b/fs/smb/client/smbdirect.c
similarity index 100%
rename from fs/cifs/smbdirect.c
rename to fs/smb/client/smbdirect.c
diff --git a/fs/cifs/smbdirect.h b/fs/smb/client/smbdirect.h
similarity index 100%
rename from fs/cifs/smbdirect.h
rename to fs/smb/client/smbdirect.h
diff --git a/fs/cifs/smbencrypt.c b/fs/smb/client/smbencrypt.c
similarity index 98%
rename from fs/cifs/smbencrypt.c
rename to fs/smb/client/smbencrypt.c
index 4a0487753869..f0ce26414f17 100644
--- a/fs/cifs/smbencrypt.c
+++ b/fs/smb/client/smbencrypt.c
@@ -24,7 +24,7 @@
 #include "cifsglob.h"
 #include "cifs_debug.h"
 #include "cifsproto.h"
-#include "../smbfs_common/md4.h"
+#include "../common/md4.h"
 
 #ifndef false
 #define false 0
diff --git a/fs/cifs/smberr.h b/fs/smb/client/smberr.h
similarity index 100%
rename from fs/cifs/smberr.h
rename to fs/smb/client/smberr.h
diff --git a/fs/cifs/trace.c b/fs/smb/client/trace.c
similarity index 100%
rename from fs/cifs/trace.c
rename to fs/smb/client/trace.c
diff --git a/fs/cifs/trace.h b/fs/smb/client/trace.h
similarity index 100%
rename from fs/cifs/trace.h
rename to fs/smb/client/trace.h
diff --git a/fs/cifs/transport.c b/fs/smb/client/transport.c
similarity index 100%
rename from fs/cifs/transport.c
rename to fs/smb/client/transport.c
diff --git a/fs/cifs/unc.c b/fs/smb/client/unc.c
similarity index 100%
rename from fs/cifs/unc.c
rename to fs/smb/client/unc.c
diff --git a/fs/cifs/winucase.c b/fs/smb/client/winucase.c
similarity index 100%
rename from fs/cifs/winucase.c
rename to fs/smb/client/winucase.c
diff --git a/fs/cifs/xattr.c b/fs/smb/client/xattr.c
similarity index 100%
rename from fs/cifs/xattr.c
rename to fs/smb/client/xattr.c
diff --git a/fs/smbfs_common/Makefile b/fs/smb/common/Makefile
similarity index 100%
rename from fs/smbfs_common/Makefile
rename to fs/smb/common/Makefile
diff --git a/fs/smbfs_common/arc4.h b/fs/smb/common/arc4.h
similarity index 100%
rename from fs/smbfs_common/arc4.h
rename to fs/smb/common/arc4.h
diff --git a/fs/smbfs_common/cifs_arc4.c b/fs/smb/common/cifs_arc4.c
similarity index 100%
rename from fs/smbfs_common/cifs_arc4.c
rename to fs/smb/common/cifs_arc4.c
diff --git a/fs/smbfs_common/cifs_md4.c b/fs/smb/common/cifs_md4.c
similarity index 100%
rename from fs/smbfs_common/cifs_md4.c
rename to fs/smb/common/cifs_md4.c
diff --git a/fs/smbfs_common/md4.h b/fs/smb/common/md4.h
similarity index 100%
rename from fs/smbfs_common/md4.h
rename to fs/smb/common/md4.h
diff --git a/fs/smbfs_common/smb2pdu.h b/fs/smb/common/smb2pdu.h
similarity index 100%
rename from fs/smbfs_common/smb2pdu.h
rename to fs/smb/common/smb2pdu.h
diff --git a/fs/smbfs_common/smbfsctl.h b/fs/smb/common/smbfsctl.h
similarity index 100%
rename from fs/smbfs_common/smbfsctl.h
rename to fs/smb/common/smbfsctl.h
diff --git a/fs/ksmbd/Kconfig b/fs/smb/server/Kconfig
similarity index 100%
rename from fs/ksmbd/Kconfig
rename to fs/smb/server/Kconfig
diff --git a/fs/ksmbd/Makefile b/fs/smb/server/Makefile
similarity index 100%
rename from fs/ksmbd/Makefile
rename to fs/smb/server/Makefile
diff --git a/fs/ksmbd/asn1.c b/fs/smb/server/asn1.c
similarity index 100%
rename from fs/ksmbd/asn1.c
rename to fs/smb/server/asn1.c
diff --git a/fs/ksmbd/asn1.h b/fs/smb/server/asn1.h
similarity index 100%
rename from fs/ksmbd/asn1.h
rename to fs/smb/server/asn1.h
diff --git a/fs/ksmbd/auth.c b/fs/smb/server/auth.c
similarity index 99%
rename from fs/ksmbd/auth.c
rename to fs/smb/server/auth.c
index df8fb076f6f1..5e5e120edcc2 100644
--- a/fs/ksmbd/auth.c
+++ b/fs/smb/server/auth.c
@@ -29,7 +29,7 @@
 #include "mgmt/user_config.h"
 #include "crypto_ctx.h"
 #include "transport_ipc.h"
-#include "../smbfs_common/arc4.h"
+#include "../common/arc4.h"
 
 /*
  * Fixed format data defining GSS header and fixed string
diff --git a/fs/ksmbd/auth.h b/fs/smb/server/auth.h
similarity index 100%
rename from fs/ksmbd/auth.h
rename to fs/smb/server/auth.h
diff --git a/fs/ksmbd/connection.c b/fs/smb/server/connection.c
similarity index 100%
rename from fs/ksmbd/connection.c
rename to fs/smb/server/connection.c
diff --git a/fs/ksmbd/connection.h b/fs/smb/server/connection.h
similarity index 100%
rename from fs/ksmbd/connection.h
rename to fs/smb/server/connection.h
diff --git a/fs/ksmbd/crypto_ctx.c b/fs/smb/server/crypto_ctx.c
similarity index 100%
rename from fs/ksmbd/crypto_ctx.c
rename to fs/smb/server/crypto_ctx.c
diff --git a/fs/ksmbd/crypto_ctx.h b/fs/smb/server/crypto_ctx.h
similarity index 100%
rename from fs/ksmbd/crypto_ctx.h
rename to fs/smb/server/crypto_ctx.h
diff --git a/fs/ksmbd/glob.h b/fs/smb/server/glob.h
similarity index 100%
rename from fs/ksmbd/glob.h
rename to fs/smb/server/glob.h
diff --git a/fs/ksmbd/ksmbd_netlink.h b/fs/smb/server/ksmbd_netlink.h
similarity index 100%
rename from fs/ksmbd/ksmbd_netlink.h
rename to fs/smb/server/ksmbd_netlink.h
diff --git a/fs/ksmbd/ksmbd_spnego_negtokeninit.asn1 b/fs/smb/server/ksmbd_spnego_negtokeninit.asn1
similarity index 100%
rename from fs/ksmbd/ksmbd_spnego_negtokeninit.asn1
rename to fs/smb/server/ksmbd_spnego_negtokeninit.asn1
diff --git a/fs/ksmbd/ksmbd_spnego_negtokentarg.asn1 b/fs/smb/server/ksmbd_spnego_negtokentarg.asn1
similarity index 100%
rename from fs/ksmbd/ksmbd_spnego_negtokentarg.asn1
rename to fs/smb/server/ksmbd_spnego_negtokentarg.asn1
diff --git a/fs/ksmbd/ksmbd_work.c b/fs/smb/server/ksmbd_work.c
similarity index 100%
rename from fs/ksmbd/ksmbd_work.c
rename to fs/smb/server/ksmbd_work.c
diff --git a/fs/ksmbd/ksmbd_work.h b/fs/smb/server/ksmbd_work.h
similarity index 100%
rename from fs/ksmbd/ksmbd_work.h
rename to fs/smb/server/ksmbd_work.h
diff --git a/fs/ksmbd/mgmt/ksmbd_ida.c b/fs/smb/server/mgmt/ksmbd_ida.c
similarity index 100%
rename from fs/ksmbd/mgmt/ksmbd_ida.c
rename to fs/smb/server/mgmt/ksmbd_ida.c
diff --git a/fs/ksmbd/mgmt/ksmbd_ida.h b/fs/smb/server/mgmt/ksmbd_ida.h
similarity index 100%
rename from fs/ksmbd/mgmt/ksmbd_ida.h
rename to fs/smb/server/mgmt/ksmbd_ida.h
diff --git a/fs/ksmbd/mgmt/share_config.c b/fs/smb/server/mgmt/share_config.c
similarity index 100%
rename from fs/ksmbd/mgmt/share_config.c
rename to fs/smb/server/mgmt/share_config.c
diff --git a/fs/ksmbd/mgmt/share_config.h b/fs/smb/server/mgmt/share_config.h
similarity index 100%
rename from fs/ksmbd/mgmt/share_config.h
rename to fs/smb/server/mgmt/share_config.h
diff --git a/fs/ksmbd/mgmt/tree_connect.c b/fs/smb/server/mgmt/tree_connect.c
similarity index 100%
rename from fs/ksmbd/mgmt/tree_connect.c
rename to fs/smb/server/mgmt/tree_connect.c
diff --git a/fs/ksmbd/mgmt/tree_connect.h b/fs/smb/server/mgmt/tree_connect.h
similarity index 100%
rename from fs/ksmbd/mgmt/tree_connect.h
rename to fs/smb/server/mgmt/tree_connect.h
diff --git a/fs/ksmbd/mgmt/user_config.c b/fs/smb/server/mgmt/user_config.c
similarity index 100%
rename from fs/ksmbd/mgmt/user_config.c
rename to fs/smb/server/mgmt/user_config.c
diff --git a/fs/ksmbd/mgmt/user_config.h b/fs/smb/server/mgmt/user_config.h
similarity index 100%
rename from fs/ksmbd/mgmt/user_config.h
rename to fs/smb/server/mgmt/user_config.h
diff --git a/fs/ksmbd/mgmt/user_session.c b/fs/smb/server/mgmt/user_session.c
similarity index 100%
rename from fs/ksmbd/mgmt/user_session.c
rename to fs/smb/server/mgmt/user_session.c
diff --git a/fs/ksmbd/mgmt/user_session.h b/fs/smb/server/mgmt/user_session.h
similarity index 100%
rename from fs/ksmbd/mgmt/user_session.h
rename to fs/smb/server/mgmt/user_session.h
diff --git a/fs/ksmbd/misc.c b/fs/smb/server/misc.c
similarity index 100%
rename from fs/ksmbd/misc.c
rename to fs/smb/server/misc.c
diff --git a/fs/ksmbd/misc.h b/fs/smb/server/misc.h
similarity index 100%
rename from fs/ksmbd/misc.h
rename to fs/smb/server/misc.h
diff --git a/fs/ksmbd/ndr.c b/fs/smb/server/ndr.c
similarity index 100%
rename from fs/ksmbd/ndr.c
rename to fs/smb/server/ndr.c
diff --git a/fs/ksmbd/ndr.h b/fs/smb/server/ndr.h
similarity index 100%
rename from fs/ksmbd/ndr.h
rename to fs/smb/server/ndr.h
diff --git a/fs/ksmbd/nterr.h b/fs/smb/server/nterr.h
similarity index 100%
rename from fs/ksmbd/nterr.h
rename to fs/smb/server/nterr.h
diff --git a/fs/ksmbd/ntlmssp.h b/fs/smb/server/ntlmssp.h
similarity index 100%
rename from fs/ksmbd/ntlmssp.h
rename to fs/smb/server/ntlmssp.h
diff --git a/fs/ksmbd/oplock.c b/fs/smb/server/oplock.c
similarity index 100%
rename from fs/ksmbd/oplock.c
rename to fs/smb/server/oplock.c
diff --git a/fs/ksmbd/oplock.h b/fs/smb/server/oplock.h
similarity index 100%
rename from fs/ksmbd/oplock.h
rename to fs/smb/server/oplock.h
diff --git a/fs/ksmbd/server.c b/fs/smb/server/server.c
similarity index 100%
rename from fs/ksmbd/server.c
rename to fs/smb/server/server.c
diff --git a/fs/ksmbd/server.h b/fs/smb/server/server.h
similarity index 100%
rename from fs/ksmbd/server.h
rename to fs/smb/server/server.h
diff --git a/fs/ksmbd/smb2misc.c b/fs/smb/server/smb2misc.c
similarity index 100%
rename from fs/ksmbd/smb2misc.c
rename to fs/smb/server/smb2misc.c
diff --git a/fs/ksmbd/smb2ops.c b/fs/smb/server/smb2ops.c
similarity index 100%
rename from fs/ksmbd/smb2ops.c
rename to fs/smb/server/smb2ops.c
diff --git a/fs/ksmbd/smb2pdu.c b/fs/smb/server/smb2pdu.c
similarity index 100%
rename from fs/ksmbd/smb2pdu.c
rename to fs/smb/server/smb2pdu.c
diff --git a/fs/ksmbd/smb2pdu.h b/fs/smb/server/smb2pdu.h
similarity index 100%
rename from fs/ksmbd/smb2pdu.h
rename to fs/smb/server/smb2pdu.h
diff --git a/fs/ksmbd/smb_common.c b/fs/smb/server/smb_common.c
similarity index 100%
rename from fs/ksmbd/smb_common.c
rename to fs/smb/server/smb_common.c
diff --git a/fs/ksmbd/smb_common.h b/fs/smb/server/smb_common.h
similarity index 99%
rename from fs/ksmbd/smb_common.h
rename to fs/smb/server/smb_common.h
index 9130d2e3cd78..6b0d5f1fe85c 100644
--- a/fs/ksmbd/smb_common.h
+++ b/fs/smb/server/smb_common.h
@@ -10,7 +10,7 @@
 
 #include "glob.h"
 #include "nterr.h"
-#include "../smbfs_common/smb2pdu.h"
+#include "../common/smb2pdu.h"
 #include "smb2pdu.h"
 
 /* ksmbd's Specific ERRNO */
diff --git a/fs/ksmbd/smbacl.c b/fs/smb/server/smbacl.c
similarity index 100%
rename from fs/ksmbd/smbacl.c
rename to fs/smb/server/smbacl.c
diff --git a/fs/ksmbd/smbacl.h b/fs/smb/server/smbacl.h
similarity index 100%
rename from fs/ksmbd/smbacl.h
rename to fs/smb/server/smbacl.h
diff --git a/fs/ksmbd/smbfsctl.h b/fs/smb/server/smbfsctl.h
similarity index 100%
rename from fs/ksmbd/smbfsctl.h
rename to fs/smb/server/smbfsctl.h
diff --git a/fs/ksmbd/smbstatus.h b/fs/smb/server/smbstatus.h
similarity index 100%
rename from fs/ksmbd/smbstatus.h
rename to fs/smb/server/smbstatus.h
diff --git a/fs/ksmbd/transport_ipc.c b/fs/smb/server/transport_ipc.c
similarity index 100%
rename from fs/ksmbd/transport_ipc.c
rename to fs/smb/server/transport_ipc.c
diff --git a/fs/ksmbd/transport_ipc.h b/fs/smb/server/transport_ipc.h
similarity index 100%
rename from fs/ksmbd/transport_ipc.h
rename to fs/smb/server/transport_ipc.h
diff --git a/fs/ksmbd/transport_rdma.c b/fs/smb/server/transport_rdma.c
similarity index 100%
rename from fs/ksmbd/transport_rdma.c
rename to fs/smb/server/transport_rdma.c
diff --git a/fs/ksmbd/transport_rdma.h b/fs/smb/server/transport_rdma.h
similarity index 100%
rename from fs/ksmbd/transport_rdma.h
rename to fs/smb/server/transport_rdma.h
diff --git a/fs/ksmbd/transport_tcp.c b/fs/smb/server/transport_tcp.c
similarity index 100%
rename from fs/ksmbd/transport_tcp.c
rename to fs/smb/server/transport_tcp.c
diff --git a/fs/ksmbd/transport_tcp.h b/fs/smb/server/transport_tcp.h
similarity index 100%
rename from fs/ksmbd/transport_tcp.h
rename to fs/smb/server/transport_tcp.h
diff --git a/fs/ksmbd/unicode.c b/fs/smb/server/unicode.c
similarity index 100%
rename from fs/ksmbd/unicode.c
rename to fs/smb/server/unicode.c
diff --git a/fs/ksmbd/unicode.h b/fs/smb/server/unicode.h
similarity index 100%
rename from fs/ksmbd/unicode.h
rename to fs/smb/server/unicode.h
diff --git a/fs/ksmbd/uniupr.h b/fs/smb/server/uniupr.h
similarity index 100%
rename from fs/ksmbd/uniupr.h
rename to fs/smb/server/uniupr.h
diff --git a/fs/ksmbd/vfs.c b/fs/smb/server/vfs.c
similarity index 100%
rename from fs/ksmbd/vfs.c
rename to fs/smb/server/vfs.c
diff --git a/fs/ksmbd/vfs.h b/fs/smb/server/vfs.h
similarity index 100%
rename from fs/ksmbd/vfs.h
rename to fs/smb/server/vfs.h
diff --git a/fs/ksmbd/vfs_cache.c b/fs/smb/server/vfs_cache.c
similarity index 100%
rename from fs/ksmbd/vfs_cache.c
rename to fs/smb/server/vfs_cache.c
diff --git a/fs/ksmbd/vfs_cache.h b/fs/smb/server/vfs_cache.h
similarity index 100%
rename from fs/ksmbd/vfs_cache.h
rename to fs/smb/server/vfs_cache.h
diff --git a/fs/ksmbd/xattr.h b/fs/smb/server/xattr.h
similarity index 100%
rename from fs/ksmbd/xattr.h
rename to fs/smb/server/xattr.h
-- 
2.34.1

From b686a0741a28969786944c7ffb38563f4c6383f4 Mon Sep 17 00:00:00 2001
From: Steve French <stfrench@microsoft.com>
Date: Sun, 21 May 2023 22:52:04 -0500
Subject: [PATCH 2/2] cifs: correct references in Documentation to old fs/cifs
 path

The fs/cifs directory has moved to fs/smb/client, correct mentions
of this in Documentation and comments.

Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
---
 Documentation/admin-guide/cifs/changes.rst         | 4 ++--
 Documentation/admin-guide/cifs/usage.rst           | 8 ++++----
 Documentation/filesystems/cifs/cifsroot.rst        | 2 +-
 Documentation/userspace-api/ioctl/ioctl-number.rst | 2 +-
 fs/smb/server/smbfsctl.h                           | 2 +-
 fs/smb/server/smbstatus.h                          | 2 +-
 6 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/Documentation/admin-guide/cifs/changes.rst b/Documentation/admin-guide/cifs/changes.rst
index 3147bbae9c43..8c42c4de510b 100644
--- a/Documentation/admin-guide/cifs/changes.rst
+++ b/Documentation/admin-guide/cifs/changes.rst
@@ -5,5 +5,5 @@ Changes
 See https://wiki.samba.org/index.php/LinuxCIFSKernel for summary
 information about fixes/improvements to CIFS/SMB2/SMB3 support (changes
 to cifs.ko module) by kernel version (and cifs internal module version).
-This may be easier to read than parsing the output of "git log fs/cifs"
-by release.
+This may be easier to read than parsing the output of
+"git log fs/smb/client" by release.
diff --git a/Documentation/admin-guide/cifs/usage.rst b/Documentation/admin-guide/cifs/usage.rst
index 2e151cd8c2e4..5f936b4b6018 100644
--- a/Documentation/admin-guide/cifs/usage.rst
+++ b/Documentation/admin-guide/cifs/usage.rst
@@ -45,7 +45,7 @@ Installation instructions
 
 If you have built the CIFS vfs as module (successfully) simply
 type ``make modules_install`` (or if you prefer, manually copy the file to
-the modules directory e.g. /lib/modules/2.4.10-4GB/kernel/fs/cifs/cifs.ko).
+the modules directory e.g. /lib/modules/6.3.0-060300-generic/kernel/fs/smb/client/cifs.ko).
 
 If you have built the CIFS vfs into the kernel itself, follow the instructions
 for your distribution on how to install a new kernel (usually you
@@ -66,15 +66,15 @@ If cifs is built as a module, then the size and number of network buffers
 and maximum number of simultaneous requests to one server can be configured.
 Changing these from their defaults is not recommended. By executing modinfo::
 
-	modinfo kernel/fs/cifs/cifs.ko
+	modinfo <path to cifs.ko>
 
-on kernel/fs/cifs/cifs.ko the list of configuration changes that can be made
+on kernel/fs/smb/client/cifs.ko the list of configuration changes that can be made
 at module initialization time (by running insmod cifs.ko) can be seen.
 
 Recommendations
 ===============
 
-To improve security the SMB2.1 dialect or later (usually will get SMB3) is now
+To improve security the SMB2.1 dialect or later (usually will get SMB3.1.1) is now
 the new default. To use old dialects (e.g. to mount Windows XP) use "vers=1.0"
 on mount (or vers=2.0 for Windows Vista).  Note that the CIFS (vers=1.0) is
 much older and less secure than the default dialect SMB3 which includes
diff --git a/Documentation/filesystems/cifs/cifsroot.rst b/Documentation/filesystems/cifs/cifsroot.rst
index 4930bb443134..bf2d9db3acb9 100644
--- a/Documentation/filesystems/cifs/cifsroot.rst
+++ b/Documentation/filesystems/cifs/cifsroot.rst
@@ -59,7 +59,7 @@ the root file system via SMB protocol.
 Enables the kernel to mount the root file system via SMB that are
 located in the <server-ip> and <share> specified in this option.
 
-The default mount options are set in fs/cifs/cifsroot.c.
+The default mount options are set in fs/smb/client/cifsroot.c.
 
 server-ip
 	IPv4 address of the server.
diff --git a/Documentation/userspace-api/ioctl/ioctl-number.rst b/Documentation/userspace-api/ioctl/ioctl-number.rst
index 176e8fc3f31b..4f7b23faebb9 100644
--- a/Documentation/userspace-api/ioctl/ioctl-number.rst
+++ b/Documentation/userspace-api/ioctl/ioctl-number.rst
@@ -363,7 +363,7 @@ Code  Seq#    Include File                                           Comments
 0xCC  00-0F  drivers/misc/ibmvmc.h                                   pseries VMC driver
 0xCD  01     linux/reiserfs_fs.h
 0xCE  01-02  uapi/linux/cxl_mem.h                                    Compute Express Link Memory Devices
-0xCF  02     fs/cifs/ioctl.c
+0xCF  02     fs/smb/client/cifs_ioctl.h
 0xDB  00-0F  drivers/char/mwave/mwavepub.h
 0xDD  00-3F                                                          ZFCP device driver see drivers/s390/scsi/
                                                                      <mailto:aherrman@de.ibm.com>
diff --git a/fs/smb/server/smbfsctl.h b/fs/smb/server/smbfsctl.h
index b98418aae20c..ecdf8f6e0df4 100644
--- a/fs/smb/server/smbfsctl.h
+++ b/fs/smb/server/smbfsctl.h
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: LGPL-2.1+ */
 /*
- *   fs/cifs/smbfsctl.h: SMB, CIFS, SMB2 FSCTL definitions
+ *   fs/smb/server/smbfsctl.h: SMB, CIFS, SMB2 FSCTL definitions
  *
  *   Copyright (c) International Business Machines  Corp., 2002,2009
  *   Author(s): Steve French (sfrench@us.ibm.com)
diff --git a/fs/smb/server/smbstatus.h b/fs/smb/server/smbstatus.h
index 108a8b6ed24a..8963deb42404 100644
--- a/fs/smb/server/smbstatus.h
+++ b/fs/smb/server/smbstatus.h
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: LGPL-2.1+ */
 /*
- *   fs/cifs/smb2status.h
+ *   fs/server/smb2status.h
  *
  *   SMB2 Status code (network error) definitions
  *   Definitions are from MS-ERREF
-- 
2.34.1


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux