mbox series

[RFC,0/3] Rename "cifs" module to "smbfs"

Message ID 20220801190933.27197-1-ematsumiya@suse.de (mailing list archive)
Headers show
Series Rename "cifs" module to "smbfs" | expand

Message

Enzo Matsumiya Aug. 1, 2022, 7:09 p.m. UTC
Hi,

As part of the ongoing effort to remove the "cifs" nomenclature from the
Linux SMB client, I'm proposing the rename of the module to "smbfs".

As it's widely known, CIFS is associated to SMB1.0, which, in turn, is
associated with the security issues it presented in the past. Using
"SMBFS" makes clear what's the protocol in use for outsiders, but also
unties it from any particular protocol version. It also fits in the
already existing "fs/smbfs_common" and "fs/ksmbd" naming scheme.

This short patch series only changes directory names and includes/ifdefs in
headers and source code, and updates docs to reflect the rename. Other
than that, no source code/functionality is modified (WIP though).

Patch 1/3: effectively changes the module name to "smbfs" and create a
	   "cifs" module alias to maintain compatibility (a warning
	   should be added to indicate the complete removal/isolation of
	   CIFS/SMB1.0 code).
Patch 2/3: rename the source-code directory to align with the new module
	   name
Patch 3/3: update documentation references to "fs/cifs" or "cifs.ko" or
	   "cifs module" to use the new name

Enzo Matsumiya (3):
  cifs: change module name to "smbfs.ko"
  smbfs: rename directory "fs/cifs" -> "fs/smbfs"
  smbfs: update doc references

 Documentation/admin-guide/index.rst           |   2 +-
 .../admin-guide/{cifs => smbfs}/authors.rst   |   0
 .../admin-guide/{cifs => smbfs}/changes.rst   |   4 +-
 .../admin-guide/{cifs => smbfs}/index.rst     |   0
 .../{cifs => smbfs}/introduction.rst          |   0
 .../admin-guide/{cifs => smbfs}/todo.rst      |  12 +-
 .../admin-guide/{cifs => smbfs}/usage.rst     | 168 +++++++++---------
 .../{cifs => smbfs}/winucase_convert.pl       |   0
 Documentation/filesystems/index.rst           |   2 +-
 .../filesystems/{cifs => smbfs}/cifsroot.rst  |  14 +-
 .../filesystems/{cifs => smbfs}/index.rst     |   0
 .../filesystems/{cifs => smbfs}/ksmbd.rst     |   2 +-
 Documentation/networking/dns_resolver.rst     |   2 +-
 .../translations/zh_CN/admin-guide/index.rst  |   2 +-
 .../translations/zh_TW/admin-guide/index.rst  |   2 +-
 fs/Kconfig                                    |   6 +-
 fs/Makefile                                   |   2 +-
 fs/cifs/Makefile                              |  34 ----
 fs/{cifs => smbfs}/Kconfig                    | 108 +++++------
 fs/smbfs/Makefile                             |  34 ++++
 fs/{cifs => smbfs}/asn1.c                     |   0
 fs/{cifs => smbfs}/cifs_debug.c               |  72 ++++----
 fs/{cifs => smbfs}/cifs_debug.h               |   4 +-
 fs/{cifs => smbfs}/cifs_dfs_ref.c             |   2 +-
 fs/{cifs => smbfs}/cifs_fs_sb.h               |   0
 fs/{cifs => smbfs}/cifs_ioctl.h               |   0
 fs/{cifs => smbfs}/cifs_spnego.c              |   4 +-
 fs/{cifs => smbfs}/cifs_spnego.h              |   0
 .../cifs_spnego_negtokeninit.asn1             |   0
 fs/{cifs => smbfs}/cifs_swn.c                 |   0
 fs/{cifs => smbfs}/cifs_swn.h                 |   4 +-
 fs/{cifs => smbfs}/cifs_unicode.c             |   0
 fs/{cifs => smbfs}/cifs_unicode.h             |   0
 fs/{cifs => smbfs}/cifs_uniupr.h              |   0
 fs/{cifs => smbfs}/cifsacl.c                  |   6 +-
 fs/{cifs => smbfs}/cifsacl.h                  |   0
 fs/{cifs => smbfs}/cifsencrypt.c              |   0
 fs/{cifs => smbfs}/cifsglob.h                 |  26 +--
 fs/{cifs => smbfs}/cifspdu.h                  |   6 +-
 fs/{cifs => smbfs}/cifsproto.h                |  10 +-
 fs/{cifs => smbfs}/cifsroot.c                 |   0
 fs/{cifs => smbfs}/cifssmb.c                  |  14 +-
 fs/{cifs => smbfs}/connect.c                  |  36 ++--
 fs/{cifs/cifsfs.c => smbfs/core.c}            |  49 ++---
 fs/{cifs => smbfs}/dfs_cache.c                |   2 +-
 fs/{cifs => smbfs}/dfs_cache.h                |   0
 fs/{cifs => smbfs}/dir.c                      |   2 +-
 fs/{cifs => smbfs}/dns_resolve.c              |   0
 fs/{cifs => smbfs}/dns_resolve.h              |   0
 fs/{cifs => smbfs}/export.c                   |   8 +-
 fs/{cifs => smbfs}/file.c                     |  16 +-
 fs/{cifs => smbfs}/fs_context.c               |  20 +--
 fs/{cifs => smbfs}/fs_context.h               |   0
 fs/{cifs => smbfs}/fscache.c                  |   0
 fs/{cifs => smbfs}/fscache.h                  |   6 +-
 fs/{cifs => smbfs}/inode.c                    |  10 +-
 fs/{cifs => smbfs}/ioctl.c                    |   6 +-
 fs/{cifs => smbfs}/link.c                     |   2 +-
 fs/{cifs => smbfs}/misc.c                     |  14 +-
 fs/{cifs => smbfs}/netlink.c                  |   0
 fs/{cifs => smbfs}/netlink.h                  |   0
 fs/{cifs => smbfs}/netmisc.c                  |   2 +-
 fs/{cifs => smbfs}/nterr.c                    |   0
 fs/{cifs => smbfs}/nterr.h                    |   0
 fs/{cifs => smbfs}/ntlmssp.h                  |   2 +-
 fs/{cifs => smbfs}/readdir.c                  |   4 +-
 fs/{cifs => smbfs}/rfc1002pdu.h               |   0
 fs/{cifs => smbfs}/sess.c                     |  10 +-
 fs/{cifs => smbfs}/smb1ops.c                  |   4 +-
 fs/{cifs => smbfs}/smb2file.c                 |   2 +-
 fs/{cifs => smbfs}/smb2glob.h                 |   0
 fs/{cifs => smbfs}/smb2inode.c                |   2 +-
 fs/{cifs => smbfs}/smb2maperror.c             |   0
 fs/{cifs => smbfs}/smb2misc.c                 |   0
 fs/{cifs => smbfs}/smb2ops.c                  |  32 ++--
 fs/{cifs => smbfs}/smb2pdu.c                  |  22 +--
 fs/{cifs => smbfs}/smb2pdu.h                  |   0
 fs/{cifs => smbfs}/smb2proto.h                |   0
 fs/{cifs => smbfs}/smb2status.h               |   0
 fs/{cifs => smbfs}/smb2transport.c            |   2 +-
 fs/{cifs => smbfs}/smbdirect.c                |   0
 fs/{cifs => smbfs}/smbdirect.h                |   2 +-
 fs/{cifs => smbfs}/smbencrypt.c               |   0
 fs/{cifs => smbfs}/smberr.h                   |   0
 fs/{cifs/cifsfs.h => smbfs/smbfs.h}           |  12 +-
 fs/{cifs => smbfs}/trace.c                    |   0
 fs/{cifs => smbfs}/trace.h                    |   0
 fs/{cifs => smbfs}/transport.c                |   4 +-
 fs/{cifs => smbfs}/unc.c                      |   0
 fs/{cifs => smbfs}/winucase.c                 |   0
 fs/{cifs => smbfs}/xattr.c                    |  18 +-
 91 files changed, 414 insertions(+), 417 deletions(-)
 rename Documentation/admin-guide/{cifs => smbfs}/authors.rst (100%)
 rename Documentation/admin-guide/{cifs => smbfs}/changes.rst (73%)
 rename Documentation/admin-guide/{cifs => smbfs}/index.rst (100%)
 rename Documentation/admin-guide/{cifs => smbfs}/introduction.rst (100%)
 rename Documentation/admin-guide/{cifs => smbfs}/todo.rst (95%)
 rename Documentation/admin-guide/{cifs => smbfs}/usage.rst (87%)
 rename Documentation/admin-guide/{cifs => smbfs}/winucase_convert.pl (100%)
 rename Documentation/filesystems/{cifs => smbfs}/cifsroot.rst (85%)
 rename Documentation/filesystems/{cifs => smbfs}/index.rst (100%)
 rename Documentation/filesystems/{cifs => smbfs}/ksmbd.rst (99%)
 delete mode 100644 fs/cifs/Makefile
 rename fs/{cifs => smbfs}/Kconfig (72%)
 create mode 100644 fs/smbfs/Makefile
 rename fs/{cifs => smbfs}/asn1.c (100%)
 rename fs/{cifs => smbfs}/cifs_debug.c (96%)
 rename fs/{cifs => smbfs}/cifs_debug.h (98%)
 rename fs/{cifs => smbfs}/cifs_dfs_ref.c (99%)
 rename fs/{cifs => smbfs}/cifs_fs_sb.h (100%)
 rename fs/{cifs => smbfs}/cifs_ioctl.h (100%)
 rename fs/{cifs => smbfs}/cifs_spnego.c (98%)
 rename fs/{cifs => smbfs}/cifs_spnego.h (100%)
 rename fs/{cifs => smbfs}/cifs_spnego_negtokeninit.asn1 (100%)
 rename fs/{cifs => smbfs}/cifs_swn.c (100%)
 rename fs/{cifs => smbfs}/cifs_swn.h (95%)
 rename fs/{cifs => smbfs}/cifs_unicode.c (100%)
 rename fs/{cifs => smbfs}/cifs_unicode.h (100%)
 rename fs/{cifs => smbfs}/cifs_uniupr.h (100%)
 rename fs/{cifs => smbfs}/cifsacl.c (99%)
 rename fs/{cifs => smbfs}/cifsacl.h (100%)
 rename fs/{cifs => smbfs}/cifsencrypt.c (100%)
 rename fs/{cifs => smbfs}/cifsglob.h (99%)
 rename fs/{cifs => smbfs}/cifspdu.h (99%)
 rename fs/{cifs => smbfs}/cifsproto.h (99%)
 rename fs/{cifs => smbfs}/cifsroot.c (100%)
 rename fs/{cifs => smbfs}/cifssmb.c (99%)
 rename fs/{cifs => smbfs}/connect.c (99%)
 rename fs/{cifs/cifsfs.c => smbfs/core.c} (98%)
 rename fs/{cifs => smbfs}/dfs_cache.c (99%)
 rename fs/{cifs => smbfs}/dfs_cache.h (100%)
 rename fs/{cifs => smbfs}/dir.c (99%)
 rename fs/{cifs => smbfs}/dns_resolve.c (100%)
 rename fs/{cifs => smbfs}/dns_resolve.h (100%)
 rename fs/{cifs => smbfs}/export.c (91%)
 rename fs/{cifs => smbfs}/file.c (99%)
 rename fs/{cifs => smbfs}/fs_context.c (99%)
 rename fs/{cifs => smbfs}/fs_context.h (100%)
 rename fs/{cifs => smbfs}/fscache.c (100%)
 rename fs/{cifs => smbfs}/fscache.h (98%)
 rename fs/{cifs => smbfs}/inode.c (99%)
 rename fs/{cifs => smbfs}/ioctl.c (99%)
 rename fs/{cifs => smbfs}/link.c (99%)
 rename fs/{cifs => smbfs}/misc.c (99%)
 rename fs/{cifs => smbfs}/netlink.c (100%)
 rename fs/{cifs => smbfs}/netlink.h (100%)
 rename fs/{cifs => smbfs}/netmisc.c (99%)
 rename fs/{cifs => smbfs}/nterr.c (100%)
 rename fs/{cifs => smbfs}/nterr.h (100%)
 rename fs/{cifs => smbfs}/ntlmssp.h (98%)
 rename fs/{cifs => smbfs}/readdir.c (99%)
 rename fs/{cifs => smbfs}/rfc1002pdu.h (100%)
 rename fs/{cifs => smbfs}/sess.c (99%)
 rename fs/{cifs => smbfs}/smb1ops.c (99%)
 rename fs/{cifs => smbfs}/smb2file.c (99%)
 rename fs/{cifs => smbfs}/smb2glob.h (100%)
 rename fs/{cifs => smbfs}/smb2inode.c (99%)
 rename fs/{cifs => smbfs}/smb2maperror.c (100%)
 rename fs/{cifs => smbfs}/smb2misc.c (100%)
 rename fs/{cifs => smbfs}/smb2ops.c (99%)
 rename fs/{cifs => smbfs}/smb2pdu.c (99%)
 rename fs/{cifs => smbfs}/smb2pdu.h (100%)
 rename fs/{cifs => smbfs}/smb2proto.h (100%)
 rename fs/{cifs => smbfs}/smb2status.h (100%)
 rename fs/{cifs => smbfs}/smb2transport.c (99%)
 rename fs/{cifs => smbfs}/smbdirect.c (100%)
 rename fs/{cifs => smbfs}/smbdirect.h (99%)
 rename fs/{cifs => smbfs}/smbencrypt.c (100%)
 rename fs/{cifs => smbfs}/smberr.h (100%)
 rename fs/{cifs/cifsfs.h => smbfs/smbfs.h} (97%)
 rename fs/{cifs => smbfs}/trace.c (100%)
 rename fs/{cifs => smbfs}/trace.h (100%)
 rename fs/{cifs => smbfs}/transport.c (99%)
 rename fs/{cifs => smbfs}/unc.c (100%)
 rename fs/{cifs => smbfs}/winucase.c (100%)
 rename fs/{cifs => smbfs}/xattr.c (98%)

Comments

Rowland Penny Aug. 1, 2022, 7:58 p.m. UTC | #1
On Mon, 2022-08-01 at 16:09 -0300, Enzo Matsumiya via samba-technical
wrote:
> Hi,
> 
> As part of the ongoing effort to remove the "cifs" nomenclature from
> the
> Linux SMB client, I'm proposing the rename of the module to "smbfs".

Hi, this has absolutely nothing to do with myself, but Linux used
'smbfs' before it started to use 'cifs', so you are going back to an
old term. This could be confusing.

Rowland

> 
> As it's widely known, CIFS is associated to SMB1.0, which, in turn,
> is
> associated with the security issues it presented in the past. Using
> "SMBFS" makes clear what's the protocol in use for outsiders, but
> also
> unties it from any particular protocol version. It also fits in the
> already existing "fs/smbfs_common" and "fs/ksmbd" naming scheme.
> 
> This short patch series only changes directory names and
> includes/ifdefs in
> headers and source code, and updates docs to reflect the rename.
> Other
> than that, no source code/functionality is modified (WIP though).
> 
> Patch 1/3: effectively changes the module name to "smbfs" and create
> a
> 	   "cifs" module alias to maintain compatibility (a warning
> 	   should be added to indicate the complete removal/isolation
> of
> 	   CIFS/SMB1.0 code).
> Patch 2/3: rename the source-code directory to align with the new
> module
> 	   name
> Patch 3/3: update documentation references to "fs/cifs" or "cifs.ko"
> or
> 	   "cifs module" to use the new name
> 
> Enzo Matsumiya (3):
>   cifs: change module name to "smbfs.ko"
>   smbfs: rename directory "fs/cifs" -> "fs/smbfs"
>   smbfs: update doc references
> 
>  Documentation/admin-guide/index.rst           |   2 +-
>  .../admin-guide/{cifs => smbfs}/authors.rst   |   0
>  .../admin-guide/{cifs => smbfs}/changes.rst   |   4 +-
>  .../admin-guide/{cifs => smbfs}/index.rst     |   0
>  .../{cifs => smbfs}/introduction.rst          |   0
>  .../admin-guide/{cifs => smbfs}/todo.rst      |  12 +-
>  .../admin-guide/{cifs => smbfs}/usage.rst     | 168 +++++++++-------
> --
>  .../{cifs => smbfs}/winucase_convert.pl       |   0
>  Documentation/filesystems/index.rst           |   2 +-
>  .../filesystems/{cifs => smbfs}/cifsroot.rst  |  14 +-
>  .../filesystems/{cifs => smbfs}/index.rst     |   0
>  .../filesystems/{cifs => smbfs}/ksmbd.rst     |   2 +-
>  Documentation/networking/dns_resolver.rst     |   2 +-
>  .../translations/zh_CN/admin-guide/index.rst  |   2 +-
>  .../translations/zh_TW/admin-guide/index.rst  |   2 +-
>  fs/Kconfig                                    |   6 +-
>  fs/Makefile                                   |   2 +-
>  fs/cifs/Makefile                              |  34 ----
>  fs/{cifs => smbfs}/Kconfig                    | 108 +++++------
>  fs/smbfs/Makefile                             |  34 ++++
>  fs/{cifs => smbfs}/asn1.c                     |   0
>  fs/{cifs => smbfs}/cifs_debug.c               |  72 ++++----
>  fs/{cifs => smbfs}/cifs_debug.h               |   4 +-
>  fs/{cifs => smbfs}/cifs_dfs_ref.c             |   2 +-
>  fs/{cifs => smbfs}/cifs_fs_sb.h               |   0
>  fs/{cifs => smbfs}/cifs_ioctl.h               |   0
>  fs/{cifs => smbfs}/cifs_spnego.c              |   4 +-
>  fs/{cifs => smbfs}/cifs_spnego.h              |   0
>  .../cifs_spnego_negtokeninit.asn1             |   0
>  fs/{cifs => smbfs}/cifs_swn.c                 |   0
>  fs/{cifs => smbfs}/cifs_swn.h                 |   4 +-
>  fs/{cifs => smbfs}/cifs_unicode.c             |   0
>  fs/{cifs => smbfs}/cifs_unicode.h             |   0
>  fs/{cifs => smbfs}/cifs_uniupr.h              |   0
>  fs/{cifs => smbfs}/cifsacl.c                  |   6 +-
>  fs/{cifs => smbfs}/cifsacl.h                  |   0
>  fs/{cifs => smbfs}/cifsencrypt.c              |   0
>  fs/{cifs => smbfs}/cifsglob.h                 |  26 +--
>  fs/{cifs => smbfs}/cifspdu.h                  |   6 +-
>  fs/{cifs => smbfs}/cifsproto.h                |  10 +-
>  fs/{cifs => smbfs}/cifsroot.c                 |   0
>  fs/{cifs => smbfs}/cifssmb.c                  |  14 +-
>  fs/{cifs => smbfs}/connect.c                  |  36 ++--
>  fs/{cifs/cifsfs.c => smbfs/core.c}            |  49 ++---
>  fs/{cifs => smbfs}/dfs_cache.c                |   2 +-
>  fs/{cifs => smbfs}/dfs_cache.h                |   0
>  fs/{cifs => smbfs}/dir.c                      |   2 +-
>  fs/{cifs => smbfs}/dns_resolve.c              |   0
>  fs/{cifs => smbfs}/dns_resolve.h              |   0
>  fs/{cifs => smbfs}/export.c                   |   8 +-
>  fs/{cifs => smbfs}/file.c                     |  16 +-
>  fs/{cifs => smbfs}/fs_context.c               |  20 +--
>  fs/{cifs => smbfs}/fs_context.h               |   0
>  fs/{cifs => smbfs}/fscache.c                  |   0
>  fs/{cifs => smbfs}/fscache.h                  |   6 +-
>  fs/{cifs => smbfs}/inode.c                    |  10 +-
>  fs/{cifs => smbfs}/ioctl.c                    |   6 +-
>  fs/{cifs => smbfs}/link.c                     |   2 +-
>  fs/{cifs => smbfs}/misc.c                     |  14 +-
>  fs/{cifs => smbfs}/netlink.c                  |   0
>  fs/{cifs => smbfs}/netlink.h                  |   0
>  fs/{cifs => smbfs}/netmisc.c                  |   2 +-
>  fs/{cifs => smbfs}/nterr.c                    |   0
>  fs/{cifs => smbfs}/nterr.h                    |   0
>  fs/{cifs => smbfs}/ntlmssp.h                  |   2 +-
>  fs/{cifs => smbfs}/readdir.c                  |   4 +-
>  fs/{cifs => smbfs}/rfc1002pdu.h               |   0
>  fs/{cifs => smbfs}/sess.c                     |  10 +-
>  fs/{cifs => smbfs}/smb1ops.c                  |   4 +-
>  fs/{cifs => smbfs}/smb2file.c                 |   2 +-
>  fs/{cifs => smbfs}/smb2glob.h                 |   0
>  fs/{cifs => smbfs}/smb2inode.c                |   2 +-
>  fs/{cifs => smbfs}/smb2maperror.c             |   0
>  fs/{cifs => smbfs}/smb2misc.c                 |   0
>  fs/{cifs => smbfs}/smb2ops.c                  |  32 ++--
>  fs/{cifs => smbfs}/smb2pdu.c                  |  22 +--
>  fs/{cifs => smbfs}/smb2pdu.h                  |   0
>  fs/{cifs => smbfs}/smb2proto.h                |   0
>  fs/{cifs => smbfs}/smb2status.h               |   0
>  fs/{cifs => smbfs}/smb2transport.c            |   2 +-
>  fs/{cifs => smbfs}/smbdirect.c                |   0
>  fs/{cifs => smbfs}/smbdirect.h                |   2 +-
>  fs/{cifs => smbfs}/smbencrypt.c               |   0
>  fs/{cifs => smbfs}/smberr.h                   |   0
>  fs/{cifs/cifsfs.h => smbfs/smbfs.h}           |  12 +-
>  fs/{cifs => smbfs}/trace.c                    |   0
>  fs/{cifs => smbfs}/trace.h                    |   0
>  fs/{cifs => smbfs}/transport.c                |   4 +-
>  fs/{cifs => smbfs}/unc.c                      |   0
>  fs/{cifs => smbfs}/winucase.c                 |   0
>  fs/{cifs => smbfs}/xattr.c                    |  18 +-
>  91 files changed, 414 insertions(+), 417 deletions(-)
>  rename Documentation/admin-guide/{cifs => smbfs}/authors.rst (100%)
>  rename Documentation/admin-guide/{cifs => smbfs}/changes.rst (73%)
>  rename Documentation/admin-guide/{cifs => smbfs}/index.rst (100%)
>  rename Documentation/admin-guide/{cifs => smbfs}/introduction.rst
> (100%)
>  rename Documentation/admin-guide/{cifs => smbfs}/todo.rst (95%)
>  rename Documentation/admin-guide/{cifs => smbfs}/usage.rst (87%)
>  rename Documentation/admin-guide/{cifs => smbfs}/winucase_convert.pl
> (100%)
>  rename Documentation/filesystems/{cifs => smbfs}/cifsroot.rst (85%)
>  rename Documentation/filesystems/{cifs => smbfs}/index.rst (100%)
>  rename Documentation/filesystems/{cifs => smbfs}/ksmbd.rst (99%)
>  delete mode 100644 fs/cifs/Makefile
>  rename fs/{cifs => smbfs}/Kconfig (72%)
>  create mode 100644 fs/smbfs/Makefile
>  rename fs/{cifs => smbfs}/asn1.c (100%)
>  rename fs/{cifs => smbfs}/cifs_debug.c (96%)
>  rename fs/{cifs => smbfs}/cifs_debug.h (98%)
>  rename fs/{cifs => smbfs}/cifs_dfs_ref.c (99%)
>  rename fs/{cifs => smbfs}/cifs_fs_sb.h (100%)
>  rename fs/{cifs => smbfs}/cifs_ioctl.h (100%)
>  rename fs/{cifs => smbfs}/cifs_spnego.c (98%)
>  rename fs/{cifs => smbfs}/cifs_spnego.h (100%)
>  rename fs/{cifs => smbfs}/cifs_spnego_negtokeninit.asn1 (100%)
>  rename fs/{cifs => smbfs}/cifs_swn.c (100%)
>  rename fs/{cifs => smbfs}/cifs_swn.h (95%)
>  rename fs/{cifs => smbfs}/cifs_unicode.c (100%)
>  rename fs/{cifs => smbfs}/cifs_unicode.h (100%)
>  rename fs/{cifs => smbfs}/cifs_uniupr.h (100%)
>  rename fs/{cifs => smbfs}/cifsacl.c (99%)
>  rename fs/{cifs => smbfs}/cifsacl.h (100%)
>  rename fs/{cifs => smbfs}/cifsencrypt.c (100%)
>  rename fs/{cifs => smbfs}/cifsglob.h (99%)
>  rename fs/{cifs => smbfs}/cifspdu.h (99%)
>  rename fs/{cifs => smbfs}/cifsproto.h (99%)
>  rename fs/{cifs => smbfs}/cifsroot.c (100%)
>  rename fs/{cifs => smbfs}/cifssmb.c (99%)
>  rename fs/{cifs => smbfs}/connect.c (99%)
>  rename fs/{cifs/cifsfs.c => smbfs/core.c} (98%)
>  rename fs/{cifs => smbfs}/dfs_cache.c (99%)
>  rename fs/{cifs => smbfs}/dfs_cache.h (100%)
>  rename fs/{cifs => smbfs}/dir.c (99%)
>  rename fs/{cifs => smbfs}/dns_resolve.c (100%)
>  rename fs/{cifs => smbfs}/dns_resolve.h (100%)
>  rename fs/{cifs => smbfs}/export.c (91%)
>  rename fs/{cifs => smbfs}/file.c (99%)
>  rename fs/{cifs => smbfs}/fs_context.c (99%)
>  rename fs/{cifs => smbfs}/fs_context.h (100%)
>  rename fs/{cifs => smbfs}/fscache.c (100%)
>  rename fs/{cifs => smbfs}/fscache.h (98%)
>  rename fs/{cifs => smbfs}/inode.c (99%)
>  rename fs/{cifs => smbfs}/ioctl.c (99%)
>  rename fs/{cifs => smbfs}/link.c (99%)
>  rename fs/{cifs => smbfs}/misc.c (99%)
>  rename fs/{cifs => smbfs}/netlink.c (100%)
>  rename fs/{cifs => smbfs}/netlink.h (100%)
>  rename fs/{cifs => smbfs}/netmisc.c (99%)
>  rename fs/{cifs => smbfs}/nterr.c (100%)
>  rename fs/{cifs => smbfs}/nterr.h (100%)
>  rename fs/{cifs => smbfs}/ntlmssp.h (98%)
>  rename fs/{cifs => smbfs}/readdir.c (99%)
>  rename fs/{cifs => smbfs}/rfc1002pdu.h (100%)
>  rename fs/{cifs => smbfs}/sess.c (99%)
>  rename fs/{cifs => smbfs}/smb1ops.c (99%)
>  rename fs/{cifs => smbfs}/smb2file.c (99%)
>  rename fs/{cifs => smbfs}/smb2glob.h (100%)
>  rename fs/{cifs => smbfs}/smb2inode.c (99%)
>  rename fs/{cifs => smbfs}/smb2maperror.c (100%)
>  rename fs/{cifs => smbfs}/smb2misc.c (100%)
>  rename fs/{cifs => smbfs}/smb2ops.c (99%)
>  rename fs/{cifs => smbfs}/smb2pdu.c (99%)
>  rename fs/{cifs => smbfs}/smb2pdu.h (100%)
>  rename fs/{cifs => smbfs}/smb2proto.h (100%)
>  rename fs/{cifs => smbfs}/smb2status.h (100%)
>  rename fs/{cifs => smbfs}/smb2transport.c (99%)
>  rename fs/{cifs => smbfs}/smbdirect.c (100%)
>  rename fs/{cifs => smbfs}/smbdirect.h (99%)
>  rename fs/{cifs => smbfs}/smbencrypt.c (100%)
>  rename fs/{cifs => smbfs}/smberr.h (100%)
>  rename fs/{cifs/cifsfs.h => smbfs/smbfs.h} (97%)
>  rename fs/{cifs => smbfs}/trace.c (100%)
>  rename fs/{cifs => smbfs}/trace.h (100%)
>  rename fs/{cifs => smbfs}/transport.c (99%)
>  rename fs/{cifs => smbfs}/unc.c (100%)
>  rename fs/{cifs => smbfs}/winucase.c (100%)
>  rename fs/{cifs => smbfs}/xattr.c (98%)
>
Enzo Matsumiya Aug. 1, 2022, 8:14 p.m. UTC | #2
On 08/01, Rowland Penny wrote:
>On Mon, 2022-08-01 at 16:09 -0300, Enzo Matsumiya via samba-technical
>wrote:
>> Hi,
>>
>> As part of the ongoing effort to remove the "cifs" nomenclature from
>> the
>> Linux SMB client, I'm proposing the rename of the module to "smbfs".
>
>Hi, this has absolutely nothing to do with myself, but Linux used
>'smbfs' before it started to use 'cifs', so you are going back to an
>old term. This could be confusing.

Hi Rowland, I'm aware of that. I had nothing to do with either
(choosing initial "smbfs" nor "cifs"), but, IMHO, I think it should've
stayed "smbfs". And TBH this is the most coherent name, of all
available/known choices; you know the protocol (SMB), you know it isn't
tied to any SMB version ("cifs", or "smb3" as sometimes suggested or
used (as a module alias)), it's a Linux filesystem module ("FS").

Also the "fs/smbfs_common" directory was renamed as recent as last year
(from "cifs_common") (cf. commit 23e91d8b7).

>Rowland

Thanks for the input, though. As an RFC patch, I'm waiting for more
feedback and suggestions.


Cheers,

Enzo

>>
>> As it's widely known, CIFS is associated to SMB1.0, which, in turn,
>> is
>> associated with the security issues it presented in the past. Using
>> "SMBFS" makes clear what's the protocol in use for outsiders, but
>> also
>> unties it from any particular protocol version. It also fits in the
>> already existing "fs/smbfs_common" and "fs/ksmbd" naming scheme.
>>
>> This short patch series only changes directory names and
>> includes/ifdefs in
>> headers and source code, and updates docs to reflect the rename.
>> Other
>> than that, no source code/functionality is modified (WIP though).
>>
>> Patch 1/3: effectively changes the module name to "smbfs" and create
>> a
>> 	   "cifs" module alias to maintain compatibility (a warning
>> 	   should be added to indicate the complete removal/isolation
>> of
>> 	   CIFS/SMB1.0 code).
>> Patch 2/3: rename the source-code directory to align with the new
>> module
>> 	   name
>> Patch 3/3: update documentation references to "fs/cifs" or "cifs.ko"
>> or
>> 	   "cifs module" to use the new name
>>
>> Enzo Matsumiya (3):
>>   cifs: change module name to "smbfs.ko"
>>   smbfs: rename directory "fs/cifs" -> "fs/smbfs"
>>   smbfs: update doc references
>>
>>  Documentation/admin-guide/index.rst           |   2 +-
>>  .../admin-guide/{cifs => smbfs}/authors.rst   |   0
>>  .../admin-guide/{cifs => smbfs}/changes.rst   |   4 +-
>>  .../admin-guide/{cifs => smbfs}/index.rst     |   0
>>  .../{cifs => smbfs}/introduction.rst          |   0
>>  .../admin-guide/{cifs => smbfs}/todo.rst      |  12 +-
>>  .../admin-guide/{cifs => smbfs}/usage.rst     | 168 +++++++++-------
>> --
>>  .../{cifs => smbfs}/winucase_convert.pl       |   0
>>  Documentation/filesystems/index.rst           |   2 +-
>>  .../filesystems/{cifs => smbfs}/cifsroot.rst  |  14 +-
>>  .../filesystems/{cifs => smbfs}/index.rst     |   0
>>  .../filesystems/{cifs => smbfs}/ksmbd.rst     |   2 +-
>>  Documentation/networking/dns_resolver.rst     |   2 +-
>>  .../translations/zh_CN/admin-guide/index.rst  |   2 +-
>>  .../translations/zh_TW/admin-guide/index.rst  |   2 +-
>>  fs/Kconfig                                    |   6 +-
>>  fs/Makefile                                   |   2 +-
>>  fs/cifs/Makefile                              |  34 ----
>>  fs/{cifs => smbfs}/Kconfig                    | 108 +++++------
>>  fs/smbfs/Makefile                             |  34 ++++
>>  fs/{cifs => smbfs}/asn1.c                     |   0
>>  fs/{cifs => smbfs}/cifs_debug.c               |  72 ++++----
>>  fs/{cifs => smbfs}/cifs_debug.h               |   4 +-
>>  fs/{cifs => smbfs}/cifs_dfs_ref.c             |   2 +-
>>  fs/{cifs => smbfs}/cifs_fs_sb.h               |   0
>>  fs/{cifs => smbfs}/cifs_ioctl.h               |   0
>>  fs/{cifs => smbfs}/cifs_spnego.c              |   4 +-
>>  fs/{cifs => smbfs}/cifs_spnego.h              |   0
>>  .../cifs_spnego_negtokeninit.asn1             |   0
>>  fs/{cifs => smbfs}/cifs_swn.c                 |   0
>>  fs/{cifs => smbfs}/cifs_swn.h                 |   4 +-
>>  fs/{cifs => smbfs}/cifs_unicode.c             |   0
>>  fs/{cifs => smbfs}/cifs_unicode.h             |   0
>>  fs/{cifs => smbfs}/cifs_uniupr.h              |   0
>>  fs/{cifs => smbfs}/cifsacl.c                  |   6 +-
>>  fs/{cifs => smbfs}/cifsacl.h                  |   0
>>  fs/{cifs => smbfs}/cifsencrypt.c              |   0
>>  fs/{cifs => smbfs}/cifsglob.h                 |  26 +--
>>  fs/{cifs => smbfs}/cifspdu.h                  |   6 +-
>>  fs/{cifs => smbfs}/cifsproto.h                |  10 +-
>>  fs/{cifs => smbfs}/cifsroot.c                 |   0
>>  fs/{cifs => smbfs}/cifssmb.c                  |  14 +-
>>  fs/{cifs => smbfs}/connect.c                  |  36 ++--
>>  fs/{cifs/cifsfs.c => smbfs/core.c}            |  49 ++---
>>  fs/{cifs => smbfs}/dfs_cache.c                |   2 +-
>>  fs/{cifs => smbfs}/dfs_cache.h                |   0
>>  fs/{cifs => smbfs}/dir.c                      |   2 +-
>>  fs/{cifs => smbfs}/dns_resolve.c              |   0
>>  fs/{cifs => smbfs}/dns_resolve.h              |   0
>>  fs/{cifs => smbfs}/export.c                   |   8 +-
>>  fs/{cifs => smbfs}/file.c                     |  16 +-
>>  fs/{cifs => smbfs}/fs_context.c               |  20 +--
>>  fs/{cifs => smbfs}/fs_context.h               |   0
>>  fs/{cifs => smbfs}/fscache.c                  |   0
>>  fs/{cifs => smbfs}/fscache.h                  |   6 +-
>>  fs/{cifs => smbfs}/inode.c                    |  10 +-
>>  fs/{cifs => smbfs}/ioctl.c                    |   6 +-
>>  fs/{cifs => smbfs}/link.c                     |   2 +-
>>  fs/{cifs => smbfs}/misc.c                     |  14 +-
>>  fs/{cifs => smbfs}/netlink.c                  |   0
>>  fs/{cifs => smbfs}/netlink.h                  |   0
>>  fs/{cifs => smbfs}/netmisc.c                  |   2 +-
>>  fs/{cifs => smbfs}/nterr.c                    |   0
>>  fs/{cifs => smbfs}/nterr.h                    |   0
>>  fs/{cifs => smbfs}/ntlmssp.h                  |   2 +-
>>  fs/{cifs => smbfs}/readdir.c                  |   4 +-
>>  fs/{cifs => smbfs}/rfc1002pdu.h               |   0
>>  fs/{cifs => smbfs}/sess.c                     |  10 +-
>>  fs/{cifs => smbfs}/smb1ops.c                  |   4 +-
>>  fs/{cifs => smbfs}/smb2file.c                 |   2 +-
>>  fs/{cifs => smbfs}/smb2glob.h                 |   0
>>  fs/{cifs => smbfs}/smb2inode.c                |   2 +-
>>  fs/{cifs => smbfs}/smb2maperror.c             |   0
>>  fs/{cifs => smbfs}/smb2misc.c                 |   0
>>  fs/{cifs => smbfs}/smb2ops.c                  |  32 ++--
>>  fs/{cifs => smbfs}/smb2pdu.c                  |  22 +--
>>  fs/{cifs => smbfs}/smb2pdu.h                  |   0
>>  fs/{cifs => smbfs}/smb2proto.h                |   0
>>  fs/{cifs => smbfs}/smb2status.h               |   0
>>  fs/{cifs => smbfs}/smb2transport.c            |   2 +-
>>  fs/{cifs => smbfs}/smbdirect.c                |   0
>>  fs/{cifs => smbfs}/smbdirect.h                |   2 +-
>>  fs/{cifs => smbfs}/smbencrypt.c               |   0
>>  fs/{cifs => smbfs}/smberr.h                   |   0
>>  fs/{cifs/cifsfs.h => smbfs/smbfs.h}           |  12 +-
>>  fs/{cifs => smbfs}/trace.c                    |   0
>>  fs/{cifs => smbfs}/trace.h                    |   0
>>  fs/{cifs => smbfs}/transport.c                |   4 +-
>>  fs/{cifs => smbfs}/unc.c                      |   0
>>  fs/{cifs => smbfs}/winucase.c                 |   0
>>  fs/{cifs => smbfs}/xattr.c                    |  18 +-
>>  91 files changed, 414 insertions(+), 417 deletions(-)
>>  rename Documentation/admin-guide/{cifs => smbfs}/authors.rst (100%)
>>  rename Documentation/admin-guide/{cifs => smbfs}/changes.rst (73%)
>>  rename Documentation/admin-guide/{cifs => smbfs}/index.rst (100%)
>>  rename Documentation/admin-guide/{cifs => smbfs}/introduction.rst
>> (100%)
>>  rename Documentation/admin-guide/{cifs => smbfs}/todo.rst (95%)
>>  rename Documentation/admin-guide/{cifs => smbfs}/usage.rst (87%)
>>  rename Documentation/admin-guide/{cifs => smbfs}/winucase_convert.pl
>> (100%)
>>  rename Documentation/filesystems/{cifs => smbfs}/cifsroot.rst (85%)
>>  rename Documentation/filesystems/{cifs => smbfs}/index.rst (100%)
>>  rename Documentation/filesystems/{cifs => smbfs}/ksmbd.rst (99%)
>>  delete mode 100644 fs/cifs/Makefile
>>  rename fs/{cifs => smbfs}/Kconfig (72%)
>>  create mode 100644 fs/smbfs/Makefile
>>  rename fs/{cifs => smbfs}/asn1.c (100%)
>>  rename fs/{cifs => smbfs}/cifs_debug.c (96%)
>>  rename fs/{cifs => smbfs}/cifs_debug.h (98%)
>>  rename fs/{cifs => smbfs}/cifs_dfs_ref.c (99%)
>>  rename fs/{cifs => smbfs}/cifs_fs_sb.h (100%)
>>  rename fs/{cifs => smbfs}/cifs_ioctl.h (100%)
>>  rename fs/{cifs => smbfs}/cifs_spnego.c (98%)
>>  rename fs/{cifs => smbfs}/cifs_spnego.h (100%)
>>  rename fs/{cifs => smbfs}/cifs_spnego_negtokeninit.asn1 (100%)
>>  rename fs/{cifs => smbfs}/cifs_swn.c (100%)
>>  rename fs/{cifs => smbfs}/cifs_swn.h (95%)
>>  rename fs/{cifs => smbfs}/cifs_unicode.c (100%)
>>  rename fs/{cifs => smbfs}/cifs_unicode.h (100%)
>>  rename fs/{cifs => smbfs}/cifs_uniupr.h (100%)
>>  rename fs/{cifs => smbfs}/cifsacl.c (99%)
>>  rename fs/{cifs => smbfs}/cifsacl.h (100%)
>>  rename fs/{cifs => smbfs}/cifsencrypt.c (100%)
>>  rename fs/{cifs => smbfs}/cifsglob.h (99%)
>>  rename fs/{cifs => smbfs}/cifspdu.h (99%)
>>  rename fs/{cifs => smbfs}/cifsproto.h (99%)
>>  rename fs/{cifs => smbfs}/cifsroot.c (100%)
>>  rename fs/{cifs => smbfs}/cifssmb.c (99%)
>>  rename fs/{cifs => smbfs}/connect.c (99%)
>>  rename fs/{cifs/cifsfs.c => smbfs/core.c} (98%)
>>  rename fs/{cifs => smbfs}/dfs_cache.c (99%)
>>  rename fs/{cifs => smbfs}/dfs_cache.h (100%)
>>  rename fs/{cifs => smbfs}/dir.c (99%)
>>  rename fs/{cifs => smbfs}/dns_resolve.c (100%)
>>  rename fs/{cifs => smbfs}/dns_resolve.h (100%)
>>  rename fs/{cifs => smbfs}/export.c (91%)
>>  rename fs/{cifs => smbfs}/file.c (99%)
>>  rename fs/{cifs => smbfs}/fs_context.c (99%)
>>  rename fs/{cifs => smbfs}/fs_context.h (100%)
>>  rename fs/{cifs => smbfs}/fscache.c (100%)
>>  rename fs/{cifs => smbfs}/fscache.h (98%)
>>  rename fs/{cifs => smbfs}/inode.c (99%)
>>  rename fs/{cifs => smbfs}/ioctl.c (99%)
>>  rename fs/{cifs => smbfs}/link.c (99%)
>>  rename fs/{cifs => smbfs}/misc.c (99%)
>>  rename fs/{cifs => smbfs}/netlink.c (100%)
>>  rename fs/{cifs => smbfs}/netlink.h (100%)
>>  rename fs/{cifs => smbfs}/netmisc.c (99%)
>>  rename fs/{cifs => smbfs}/nterr.c (100%)
>>  rename fs/{cifs => smbfs}/nterr.h (100%)
>>  rename fs/{cifs => smbfs}/ntlmssp.h (98%)
>>  rename fs/{cifs => smbfs}/readdir.c (99%)
>>  rename fs/{cifs => smbfs}/rfc1002pdu.h (100%)
>>  rename fs/{cifs => smbfs}/sess.c (99%)
>>  rename fs/{cifs => smbfs}/smb1ops.c (99%)
>>  rename fs/{cifs => smbfs}/smb2file.c (99%)
>>  rename fs/{cifs => smbfs}/smb2glob.h (100%)
>>  rename fs/{cifs => smbfs}/smb2inode.c (99%)
>>  rename fs/{cifs => smbfs}/smb2maperror.c (100%)
>>  rename fs/{cifs => smbfs}/smb2misc.c (100%)
>>  rename fs/{cifs => smbfs}/smb2ops.c (99%)
>>  rename fs/{cifs => smbfs}/smb2pdu.c (99%)
>>  rename fs/{cifs => smbfs}/smb2pdu.h (100%)
>>  rename fs/{cifs => smbfs}/smb2proto.h (100%)
>>  rename fs/{cifs => smbfs}/smb2status.h (100%)
>>  rename fs/{cifs => smbfs}/smb2transport.c (99%)
>>  rename fs/{cifs => smbfs}/smbdirect.c (100%)
>>  rename fs/{cifs => smbfs}/smbdirect.h (99%)
>>  rename fs/{cifs => smbfs}/smbencrypt.c (100%)
>>  rename fs/{cifs => smbfs}/smberr.h (100%)
>>  rename fs/{cifs/cifsfs.h => smbfs/smbfs.h} (97%)
>>  rename fs/{cifs => smbfs}/trace.c (100%)
>>  rename fs/{cifs => smbfs}/trace.h (100%)
>>  rename fs/{cifs => smbfs}/transport.c (99%)
>>  rename fs/{cifs => smbfs}/unc.c (100%)
>>  rename fs/{cifs => smbfs}/winucase.c (100%)
>>  rename fs/{cifs => smbfs}/xattr.c (98%)
>>
>
Steve French Aug. 1, 2022, 8:27 p.m. UTC | #3
In an earlier note, Linus had also suggested an alternative directory
name for the rename
(and suggested delaying the rename to a "calm cycle") to
"fs/smb-client" as one idea.

On Mon, Aug 1, 2022 at 3:16 PM Enzo Matsumiya <ematsumiya@suse.de> wrote:
>
> On 08/01, Rowland Penny wrote:
> >On Mon, 2022-08-01 at 16:09 -0300, Enzo Matsumiya via samba-technical
> >wrote:
> >> Hi,
> >>
> >> As part of the ongoing effort to remove the "cifs" nomenclature from
> >> the
> >> Linux SMB client, I'm proposing the rename of the module to "smbfs".
> >
> >Hi, this has absolutely nothing to do with myself, but Linux used
> >'smbfs' before it started to use 'cifs', so you are going back to an
> >old term. This could be confusing.
>
> Hi Rowland, I'm aware of that. I had nothing to do with either
> (choosing initial "smbfs" nor "cifs"), but, IMHO, I think it should've
> stayed "smbfs". And TBH this is the most coherent name, of all
> available/known choices; you know the protocol (SMB), you know it isn't
> tied to any SMB version ("cifs", or "smb3" as sometimes suggested or
> used (as a module alias)), it's a Linux filesystem module ("FS").
>
> Also the "fs/smbfs_common" directory was renamed as recent as last year
> (from "cifs_common") (cf. commit 23e91d8b7).
>
> >Rowland
>
> Thanks for the input, though. As an RFC patch, I'm waiting for more
> feedback and suggestions.
>
>
> Cheers,
>
> Enzo
>
> >>
> >> As it's widely known, CIFS is associated to SMB1.0, which, in turn,
> >> is
> >> associated with the security issues it presented in the past. Using
> >> "SMBFS" makes clear what's the protocol in use for outsiders, but
> >> also
> >> unties it from any particular protocol version. It also fits in the
> >> already existing "fs/smbfs_common" and "fs/ksmbd" naming scheme.
> >>
> >> This short patch series only changes directory names and
> >> includes/ifdefs in
> >> headers and source code, and updates docs to reflect the rename.
> >> Other
> >> than that, no source code/functionality is modified (WIP though).
> >>
> >> Patch 1/3: effectively changes the module name to "smbfs" and create
> >> a
> >>         "cifs" module alias to maintain compatibility (a warning
> >>         should be added to indicate the complete removal/isolation
> >> of
> >>         CIFS/SMB1.0 code).
> >> Patch 2/3: rename the source-code directory to align with the new
> >> module
> >>         name
> >> Patch 3/3: update documentation references to "fs/cifs" or "cifs.ko"
> >> or
> >>         "cifs module" to use the new name
> >>
> >> Enzo Matsumiya (3):
> >>   cifs: change module name to "smbfs.ko"
> >>   smbfs: rename directory "fs/cifs" -> "fs/smbfs"
> >>   smbfs: update doc references
> >>
> >>  Documentation/admin-guide/index.rst           |   2 +-
> >>  .../admin-guide/{cifs => smbfs}/authors.rst   |   0
> >>  .../admin-guide/{cifs => smbfs}/changes.rst   |   4 +-
> >>  .../admin-guide/{cifs => smbfs}/index.rst     |   0
> >>  .../{cifs => smbfs}/introduction.rst          |   0
> >>  .../admin-guide/{cifs => smbfs}/todo.rst      |  12 +-
> >>  .../admin-guide/{cifs => smbfs}/usage.rst     | 168 +++++++++-------
> >> --
> >>  .../{cifs => smbfs}/winucase_convert.pl       |   0
> >>  Documentation/filesystems/index.rst           |   2 +-
> >>  .../filesystems/{cifs => smbfs}/cifsroot.rst  |  14 +-
> >>  .../filesystems/{cifs => smbfs}/index.rst     |   0
> >>  .../filesystems/{cifs => smbfs}/ksmbd.rst     |   2 +-
> >>  Documentation/networking/dns_resolver.rst     |   2 +-
> >>  .../translations/zh_CN/admin-guide/index.rst  |   2 +-
> >>  .../translations/zh_TW/admin-guide/index.rst  |   2 +-
> >>  fs/Kconfig                                    |   6 +-
> >>  fs/Makefile                                   |   2 +-
> >>  fs/cifs/Makefile                              |  34 ----
> >>  fs/{cifs => smbfs}/Kconfig                    | 108 +++++------
> >>  fs/smbfs/Makefile                             |  34 ++++
> >>  fs/{cifs => smbfs}/asn1.c                     |   0
> >>  fs/{cifs => smbfs}/cifs_debug.c               |  72 ++++----
> >>  fs/{cifs => smbfs}/cifs_debug.h               |   4 +-
> >>  fs/{cifs => smbfs}/cifs_dfs_ref.c             |   2 +-
> >>  fs/{cifs => smbfs}/cifs_fs_sb.h               |   0
> >>  fs/{cifs => smbfs}/cifs_ioctl.h               |   0
> >>  fs/{cifs => smbfs}/cifs_spnego.c              |   4 +-
> >>  fs/{cifs => smbfs}/cifs_spnego.h              |   0
> >>  .../cifs_spnego_negtokeninit.asn1             |   0
> >>  fs/{cifs => smbfs}/cifs_swn.c                 |   0
> >>  fs/{cifs => smbfs}/cifs_swn.h                 |   4 +-
> >>  fs/{cifs => smbfs}/cifs_unicode.c             |   0
> >>  fs/{cifs => smbfs}/cifs_unicode.h             |   0
> >>  fs/{cifs => smbfs}/cifs_uniupr.h              |   0
> >>  fs/{cifs => smbfs}/cifsacl.c                  |   6 +-
> >>  fs/{cifs => smbfs}/cifsacl.h                  |   0
> >>  fs/{cifs => smbfs}/cifsencrypt.c              |   0
> >>  fs/{cifs => smbfs}/cifsglob.h                 |  26 +--
> >>  fs/{cifs => smbfs}/cifspdu.h                  |   6 +-
> >>  fs/{cifs => smbfs}/cifsproto.h                |  10 +-
> >>  fs/{cifs => smbfs}/cifsroot.c                 |   0
> >>  fs/{cifs => smbfs}/cifssmb.c                  |  14 +-
> >>  fs/{cifs => smbfs}/connect.c                  |  36 ++--
> >>  fs/{cifs/cifsfs.c => smbfs/core.c}            |  49 ++---
> >>  fs/{cifs => smbfs}/dfs_cache.c                |   2 +-
> >>  fs/{cifs => smbfs}/dfs_cache.h                |   0
> >>  fs/{cifs => smbfs}/dir.c                      |   2 +-
> >>  fs/{cifs => smbfs}/dns_resolve.c              |   0
> >>  fs/{cifs => smbfs}/dns_resolve.h              |   0
> >>  fs/{cifs => smbfs}/export.c                   |   8 +-
> >>  fs/{cifs => smbfs}/file.c                     |  16 +-
> >>  fs/{cifs => smbfs}/fs_context.c               |  20 +--
> >>  fs/{cifs => smbfs}/fs_context.h               |   0
> >>  fs/{cifs => smbfs}/fscache.c                  |   0
> >>  fs/{cifs => smbfs}/fscache.h                  |   6 +-
> >>  fs/{cifs => smbfs}/inode.c                    |  10 +-
> >>  fs/{cifs => smbfs}/ioctl.c                    |   6 +-
> >>  fs/{cifs => smbfs}/link.c                     |   2 +-
> >>  fs/{cifs => smbfs}/misc.c                     |  14 +-
> >>  fs/{cifs => smbfs}/netlink.c                  |   0
> >>  fs/{cifs => smbfs}/netlink.h                  |   0
> >>  fs/{cifs => smbfs}/netmisc.c                  |   2 +-
> >>  fs/{cifs => smbfs}/nterr.c                    |   0
> >>  fs/{cifs => smbfs}/nterr.h                    |   0
> >>  fs/{cifs => smbfs}/ntlmssp.h                  |   2 +-
> >>  fs/{cifs => smbfs}/readdir.c                  |   4 +-
> >>  fs/{cifs => smbfs}/rfc1002pdu.h               |   0
> >>  fs/{cifs => smbfs}/sess.c                     |  10 +-
> >>  fs/{cifs => smbfs}/smb1ops.c                  |   4 +-
> >>  fs/{cifs => smbfs}/smb2file.c                 |   2 +-
> >>  fs/{cifs => smbfs}/smb2glob.h                 |   0
> >>  fs/{cifs => smbfs}/smb2inode.c                |   2 +-
> >>  fs/{cifs => smbfs}/smb2maperror.c             |   0
> >>  fs/{cifs => smbfs}/smb2misc.c                 |   0
> >>  fs/{cifs => smbfs}/smb2ops.c                  |  32 ++--
> >>  fs/{cifs => smbfs}/smb2pdu.c                  |  22 +--
> >>  fs/{cifs => smbfs}/smb2pdu.h                  |   0
> >>  fs/{cifs => smbfs}/smb2proto.h                |   0
> >>  fs/{cifs => smbfs}/smb2status.h               |   0
> >>  fs/{cifs => smbfs}/smb2transport.c            |   2 +-
> >>  fs/{cifs => smbfs}/smbdirect.c                |   0
> >>  fs/{cifs => smbfs}/smbdirect.h                |   2 +-
> >>  fs/{cifs => smbfs}/smbencrypt.c               |   0
> >>  fs/{cifs => smbfs}/smberr.h                   |   0
> >>  fs/{cifs/cifsfs.h => smbfs/smbfs.h}           |  12 +-
> >>  fs/{cifs => smbfs}/trace.c                    |   0
> >>  fs/{cifs => smbfs}/trace.h                    |   0
> >>  fs/{cifs => smbfs}/transport.c                |   4 +-
> >>  fs/{cifs => smbfs}/unc.c                      |   0
> >>  fs/{cifs => smbfs}/winucase.c                 |   0
> >>  fs/{cifs => smbfs}/xattr.c                    |  18 +-
> >>  91 files changed, 414 insertions(+), 417 deletions(-)
> >>  rename Documentation/admin-guide/{cifs => smbfs}/authors.rst (100%)
> >>  rename Documentation/admin-guide/{cifs => smbfs}/changes.rst (73%)
> >>  rename Documentation/admin-guide/{cifs => smbfs}/index.rst (100%)
> >>  rename Documentation/admin-guide/{cifs => smbfs}/introduction.rst
> >> (100%)
> >>  rename Documentation/admin-guide/{cifs => smbfs}/todo.rst (95%)
> >>  rename Documentation/admin-guide/{cifs => smbfs}/usage.rst (87%)
> >>  rename Documentation/admin-guide/{cifs => smbfs}/winucase_convert.pl
> >> (100%)
> >>  rename Documentation/filesystems/{cifs => smbfs}/cifsroot.rst (85%)
> >>  rename Documentation/filesystems/{cifs => smbfs}/index.rst (100%)
> >>  rename Documentation/filesystems/{cifs => smbfs}/ksmbd.rst (99%)
> >>  delete mode 100644 fs/cifs/Makefile
> >>  rename fs/{cifs => smbfs}/Kconfig (72%)
> >>  create mode 100644 fs/smbfs/Makefile
> >>  rename fs/{cifs => smbfs}/asn1.c (100%)
> >>  rename fs/{cifs => smbfs}/cifs_debug.c (96%)
> >>  rename fs/{cifs => smbfs}/cifs_debug.h (98%)
> >>  rename fs/{cifs => smbfs}/cifs_dfs_ref.c (99%)
> >>  rename fs/{cifs => smbfs}/cifs_fs_sb.h (100%)
> >>  rename fs/{cifs => smbfs}/cifs_ioctl.h (100%)
> >>  rename fs/{cifs => smbfs}/cifs_spnego.c (98%)
> >>  rename fs/{cifs => smbfs}/cifs_spnego.h (100%)
> >>  rename fs/{cifs => smbfs}/cifs_spnego_negtokeninit.asn1 (100%)
> >>  rename fs/{cifs => smbfs}/cifs_swn.c (100%)
> >>  rename fs/{cifs => smbfs}/cifs_swn.h (95%)
> >>  rename fs/{cifs => smbfs}/cifs_unicode.c (100%)
> >>  rename fs/{cifs => smbfs}/cifs_unicode.h (100%)
> >>  rename fs/{cifs => smbfs}/cifs_uniupr.h (100%)
> >>  rename fs/{cifs => smbfs}/cifsacl.c (99%)
> >>  rename fs/{cifs => smbfs}/cifsacl.h (100%)
> >>  rename fs/{cifs => smbfs}/cifsencrypt.c (100%)
> >>  rename fs/{cifs => smbfs}/cifsglob.h (99%)
> >>  rename fs/{cifs => smbfs}/cifspdu.h (99%)
> >>  rename fs/{cifs => smbfs}/cifsproto.h (99%)
> >>  rename fs/{cifs => smbfs}/cifsroot.c (100%)
> >>  rename fs/{cifs => smbfs}/cifssmb.c (99%)
> >>  rename fs/{cifs => smbfs}/connect.c (99%)
> >>  rename fs/{cifs/cifsfs.c => smbfs/core.c} (98%)
> >>  rename fs/{cifs => smbfs}/dfs_cache.c (99%)
> >>  rename fs/{cifs => smbfs}/dfs_cache.h (100%)
> >>  rename fs/{cifs => smbfs}/dir.c (99%)
> >>  rename fs/{cifs => smbfs}/dns_resolve.c (100%)
> >>  rename fs/{cifs => smbfs}/dns_resolve.h (100%)
> >>  rename fs/{cifs => smbfs}/export.c (91%)
> >>  rename fs/{cifs => smbfs}/file.c (99%)
> >>  rename fs/{cifs => smbfs}/fs_context.c (99%)
> >>  rename fs/{cifs => smbfs}/fs_context.h (100%)
> >>  rename fs/{cifs => smbfs}/fscache.c (100%)
> >>  rename fs/{cifs => smbfs}/fscache.h (98%)
> >>  rename fs/{cifs => smbfs}/inode.c (99%)
> >>  rename fs/{cifs => smbfs}/ioctl.c (99%)
> >>  rename fs/{cifs => smbfs}/link.c (99%)
> >>  rename fs/{cifs => smbfs}/misc.c (99%)
> >>  rename fs/{cifs => smbfs}/netlink.c (100%)
> >>  rename fs/{cifs => smbfs}/netlink.h (100%)
> >>  rename fs/{cifs => smbfs}/netmisc.c (99%)
> >>  rename fs/{cifs => smbfs}/nterr.c (100%)
> >>  rename fs/{cifs => smbfs}/nterr.h (100%)
> >>  rename fs/{cifs => smbfs}/ntlmssp.h (98%)
> >>  rename fs/{cifs => smbfs}/readdir.c (99%)
> >>  rename fs/{cifs => smbfs}/rfc1002pdu.h (100%)
> >>  rename fs/{cifs => smbfs}/sess.c (99%)
> >>  rename fs/{cifs => smbfs}/smb1ops.c (99%)
> >>  rename fs/{cifs => smbfs}/smb2file.c (99%)
> >>  rename fs/{cifs => smbfs}/smb2glob.h (100%)
> >>  rename fs/{cifs => smbfs}/smb2inode.c (99%)
> >>  rename fs/{cifs => smbfs}/smb2maperror.c (100%)
> >>  rename fs/{cifs => smbfs}/smb2misc.c (100%)
> >>  rename fs/{cifs => smbfs}/smb2ops.c (99%)
> >>  rename fs/{cifs => smbfs}/smb2pdu.c (99%)
> >>  rename fs/{cifs => smbfs}/smb2pdu.h (100%)
> >>  rename fs/{cifs => smbfs}/smb2proto.h (100%)
> >>  rename fs/{cifs => smbfs}/smb2status.h (100%)
> >>  rename fs/{cifs => smbfs}/smb2transport.c (99%)
> >>  rename fs/{cifs => smbfs}/smbdirect.c (100%)
> >>  rename fs/{cifs => smbfs}/smbdirect.h (99%)
> >>  rename fs/{cifs => smbfs}/smbencrypt.c (100%)
> >>  rename fs/{cifs => smbfs}/smberr.h (100%)
> >>  rename fs/{cifs/cifsfs.h => smbfs/smbfs.h} (97%)
> >>  rename fs/{cifs => smbfs}/trace.c (100%)
> >>  rename fs/{cifs => smbfs}/trace.h (100%)
> >>  rename fs/{cifs => smbfs}/transport.c (99%)
> >>  rename fs/{cifs => smbfs}/unc.c (100%)
> >>  rename fs/{cifs => smbfs}/winucase.c (100%)
> >>  rename fs/{cifs => smbfs}/xattr.c (98%)
> >>
> >
Enzo Matsumiya Aug. 1, 2022, 8:41 p.m. UTC | #4
On 08/01, Steve French wrote:
>In an earlier note, Linus had also suggested an alternative directory
>name for the rename
>(and suggested delaying the rename to a "calm cycle") to
>"fs/smb-client" as one idea.

Wouldn't "smb-client" be too confusing with the userspace tool
"smbclient"? Think grep'ing/googling/documentation.

>
>On Mon, Aug 1, 2022 at 3:16 PM Enzo Matsumiya <ematsumiya@suse.de> wrote:
>>
>> On 08/01, Rowland Penny wrote:
>> >On Mon, 2022-08-01 at 16:09 -0300, Enzo Matsumiya via samba-technical
>> >wrote:
>> >> Hi,
>> >>
>> >> As part of the ongoing effort to remove the "cifs" nomenclature from
>> >> the
>> >> Linux SMB client, I'm proposing the rename of the module to "smbfs".
>> >
>> >Hi, this has absolutely nothing to do with myself, but Linux used
>> >'smbfs' before it started to use 'cifs', so you are going back to an
>> >old term. This could be confusing.
>>
>> Hi Rowland, I'm aware of that. I had nothing to do with either
>> (choosing initial "smbfs" nor "cifs"), but, IMHO, I think it should've
>> stayed "smbfs". And TBH this is the most coherent name, of all
>> available/known choices; you know the protocol (SMB), you know it isn't
>> tied to any SMB version ("cifs", or "smb3" as sometimes suggested or
>> used (as a module alias)), it's a Linux filesystem module ("FS").
>>
>> Also the "fs/smbfs_common" directory was renamed as recent as last year
>> (from "cifs_common") (cf. commit 23e91d8b7).
>>
>> >Rowland
>>
>> Thanks for the input, though. As an RFC patch, I'm waiting for more
>> feedback and suggestions.
>>
>>
>> Cheers,
>>
>> Enzo
>>
>> >>
>> >> As it's widely known, CIFS is associated to SMB1.0, which, in turn,
>> >> is
>> >> associated with the security issues it presented in the past. Using
>> >> "SMBFS" makes clear what's the protocol in use for outsiders, but
>> >> also
>> >> unties it from any particular protocol version. It also fits in the
>> >> already existing "fs/smbfs_common" and "fs/ksmbd" naming scheme.
>> >>
>> >> This short patch series only changes directory names and
>> >> includes/ifdefs in
>> >> headers and source code, and updates docs to reflect the rename.
>> >> Other
>> >> than that, no source code/functionality is modified (WIP though).
>> >>
>> >> Patch 1/3: effectively changes the module name to "smbfs" and create
>> >> a
>> >>         "cifs" module alias to maintain compatibility (a warning
>> >>         should be added to indicate the complete removal/isolation
>> >> of
>> >>         CIFS/SMB1.0 code).
>> >> Patch 2/3: rename the source-code directory to align with the new
>> >> module
>> >>         name
>> >> Patch 3/3: update documentation references to "fs/cifs" or "cifs.ko"
>> >> or
>> >>         "cifs module" to use the new name
>> >>
>> >> Enzo Matsumiya (3):
>> >>   cifs: change module name to "smbfs.ko"
>> >>   smbfs: rename directory "fs/cifs" -> "fs/smbfs"
>> >>   smbfs: update doc references
>> >>
>> >>  Documentation/admin-guide/index.rst           |   2 +-
>> >>  .../admin-guide/{cifs => smbfs}/authors.rst   |   0
>> >>  .../admin-guide/{cifs => smbfs}/changes.rst   |   4 +-
>> >>  .../admin-guide/{cifs => smbfs}/index.rst     |   0
>> >>  .../{cifs => smbfs}/introduction.rst          |   0
>> >>  .../admin-guide/{cifs => smbfs}/todo.rst      |  12 +-
>> >>  .../admin-guide/{cifs => smbfs}/usage.rst     | 168 +++++++++-------
>> >> --
>> >>  .../{cifs => smbfs}/winucase_convert.pl       |   0
>> >>  Documentation/filesystems/index.rst           |   2 +-
>> >>  .../filesystems/{cifs => smbfs}/cifsroot.rst  |  14 +-
>> >>  .../filesystems/{cifs => smbfs}/index.rst     |   0
>> >>  .../filesystems/{cifs => smbfs}/ksmbd.rst     |   2 +-
>> >>  Documentation/networking/dns_resolver.rst     |   2 +-
>> >>  .../translations/zh_CN/admin-guide/index.rst  |   2 +-
>> >>  .../translations/zh_TW/admin-guide/index.rst  |   2 +-
>> >>  fs/Kconfig                                    |   6 +-
>> >>  fs/Makefile                                   |   2 +-
>> >>  fs/cifs/Makefile                              |  34 ----
>> >>  fs/{cifs => smbfs}/Kconfig                    | 108 +++++------
>> >>  fs/smbfs/Makefile                             |  34 ++++
>> >>  fs/{cifs => smbfs}/asn1.c                     |   0
>> >>  fs/{cifs => smbfs}/cifs_debug.c               |  72 ++++----
>> >>  fs/{cifs => smbfs}/cifs_debug.h               |   4 +-
>> >>  fs/{cifs => smbfs}/cifs_dfs_ref.c             |   2 +-
>> >>  fs/{cifs => smbfs}/cifs_fs_sb.h               |   0
>> >>  fs/{cifs => smbfs}/cifs_ioctl.h               |   0
>> >>  fs/{cifs => smbfs}/cifs_spnego.c              |   4 +-
>> >>  fs/{cifs => smbfs}/cifs_spnego.h              |   0
>> >>  .../cifs_spnego_negtokeninit.asn1             |   0
>> >>  fs/{cifs => smbfs}/cifs_swn.c                 |   0
>> >>  fs/{cifs => smbfs}/cifs_swn.h                 |   4 +-
>> >>  fs/{cifs => smbfs}/cifs_unicode.c             |   0
>> >>  fs/{cifs => smbfs}/cifs_unicode.h             |   0
>> >>  fs/{cifs => smbfs}/cifs_uniupr.h              |   0
>> >>  fs/{cifs => smbfs}/cifsacl.c                  |   6 +-
>> >>  fs/{cifs => smbfs}/cifsacl.h                  |   0
>> >>  fs/{cifs => smbfs}/cifsencrypt.c              |   0
>> >>  fs/{cifs => smbfs}/cifsglob.h                 |  26 +--
>> >>  fs/{cifs => smbfs}/cifspdu.h                  |   6 +-
>> >>  fs/{cifs => smbfs}/cifsproto.h                |  10 +-
>> >>  fs/{cifs => smbfs}/cifsroot.c                 |   0
>> >>  fs/{cifs => smbfs}/cifssmb.c                  |  14 +-
>> >>  fs/{cifs => smbfs}/connect.c                  |  36 ++--
>> >>  fs/{cifs/cifsfs.c => smbfs/core.c}            |  49 ++---
>> >>  fs/{cifs => smbfs}/dfs_cache.c                |   2 +-
>> >>  fs/{cifs => smbfs}/dfs_cache.h                |   0
>> >>  fs/{cifs => smbfs}/dir.c                      |   2 +-
>> >>  fs/{cifs => smbfs}/dns_resolve.c              |   0
>> >>  fs/{cifs => smbfs}/dns_resolve.h              |   0
>> >>  fs/{cifs => smbfs}/export.c                   |   8 +-
>> >>  fs/{cifs => smbfs}/file.c                     |  16 +-
>> >>  fs/{cifs => smbfs}/fs_context.c               |  20 +--
>> >>  fs/{cifs => smbfs}/fs_context.h               |   0
>> >>  fs/{cifs => smbfs}/fscache.c                  |   0
>> >>  fs/{cifs => smbfs}/fscache.h                  |   6 +-
>> >>  fs/{cifs => smbfs}/inode.c                    |  10 +-
>> >>  fs/{cifs => smbfs}/ioctl.c                    |   6 +-
>> >>  fs/{cifs => smbfs}/link.c                     |   2 +-
>> >>  fs/{cifs => smbfs}/misc.c                     |  14 +-
>> >>  fs/{cifs => smbfs}/netlink.c                  |   0
>> >>  fs/{cifs => smbfs}/netlink.h                  |   0
>> >>  fs/{cifs => smbfs}/netmisc.c                  |   2 +-
>> >>  fs/{cifs => smbfs}/nterr.c                    |   0
>> >>  fs/{cifs => smbfs}/nterr.h                    |   0
>> >>  fs/{cifs => smbfs}/ntlmssp.h                  |   2 +-
>> >>  fs/{cifs => smbfs}/readdir.c                  |   4 +-
>> >>  fs/{cifs => smbfs}/rfc1002pdu.h               |   0
>> >>  fs/{cifs => smbfs}/sess.c                     |  10 +-
>> >>  fs/{cifs => smbfs}/smb1ops.c                  |   4 +-
>> >>  fs/{cifs => smbfs}/smb2file.c                 |   2 +-
>> >>  fs/{cifs => smbfs}/smb2glob.h                 |   0
>> >>  fs/{cifs => smbfs}/smb2inode.c                |   2 +-
>> >>  fs/{cifs => smbfs}/smb2maperror.c             |   0
>> >>  fs/{cifs => smbfs}/smb2misc.c                 |   0
>> >>  fs/{cifs => smbfs}/smb2ops.c                  |  32 ++--
>> >>  fs/{cifs => smbfs}/smb2pdu.c                  |  22 +--
>> >>  fs/{cifs => smbfs}/smb2pdu.h                  |   0
>> >>  fs/{cifs => smbfs}/smb2proto.h                |   0
>> >>  fs/{cifs => smbfs}/smb2status.h               |   0
>> >>  fs/{cifs => smbfs}/smb2transport.c            |   2 +-
>> >>  fs/{cifs => smbfs}/smbdirect.c                |   0
>> >>  fs/{cifs => smbfs}/smbdirect.h                |   2 +-
>> >>  fs/{cifs => smbfs}/smbencrypt.c               |   0
>> >>  fs/{cifs => smbfs}/smberr.h                   |   0
>> >>  fs/{cifs/cifsfs.h => smbfs/smbfs.h}           |  12 +-
>> >>  fs/{cifs => smbfs}/trace.c                    |   0
>> >>  fs/{cifs => smbfs}/trace.h                    |   0
>> >>  fs/{cifs => smbfs}/transport.c                |   4 +-
>> >>  fs/{cifs => smbfs}/unc.c                      |   0
>> >>  fs/{cifs => smbfs}/winucase.c                 |   0
>> >>  fs/{cifs => smbfs}/xattr.c                    |  18 +-
>> >>  91 files changed, 414 insertions(+), 417 deletions(-)
>> >>  rename Documentation/admin-guide/{cifs => smbfs}/authors.rst (100%)
>> >>  rename Documentation/admin-guide/{cifs => smbfs}/changes.rst (73%)
>> >>  rename Documentation/admin-guide/{cifs => smbfs}/index.rst (100%)
>> >>  rename Documentation/admin-guide/{cifs => smbfs}/introduction.rst
>> >> (100%)
>> >>  rename Documentation/admin-guide/{cifs => smbfs}/todo.rst (95%)
>> >>  rename Documentation/admin-guide/{cifs => smbfs}/usage.rst (87%)
>> >>  rename Documentation/admin-guide/{cifs => smbfs}/winucase_convert.pl
>> >> (100%)
>> >>  rename Documentation/filesystems/{cifs => smbfs}/cifsroot.rst (85%)
>> >>  rename Documentation/filesystems/{cifs => smbfs}/index.rst (100%)
>> >>  rename Documentation/filesystems/{cifs => smbfs}/ksmbd.rst (99%)
>> >>  delete mode 100644 fs/cifs/Makefile
>> >>  rename fs/{cifs => smbfs}/Kconfig (72%)
>> >>  create mode 100644 fs/smbfs/Makefile
>> >>  rename fs/{cifs => smbfs}/asn1.c (100%)
>> >>  rename fs/{cifs => smbfs}/cifs_debug.c (96%)
>> >>  rename fs/{cifs => smbfs}/cifs_debug.h (98%)
>> >>  rename fs/{cifs => smbfs}/cifs_dfs_ref.c (99%)
>> >>  rename fs/{cifs => smbfs}/cifs_fs_sb.h (100%)
>> >>  rename fs/{cifs => smbfs}/cifs_ioctl.h (100%)
>> >>  rename fs/{cifs => smbfs}/cifs_spnego.c (98%)
>> >>  rename fs/{cifs => smbfs}/cifs_spnego.h (100%)
>> >>  rename fs/{cifs => smbfs}/cifs_spnego_negtokeninit.asn1 (100%)
>> >>  rename fs/{cifs => smbfs}/cifs_swn.c (100%)
>> >>  rename fs/{cifs => smbfs}/cifs_swn.h (95%)
>> >>  rename fs/{cifs => smbfs}/cifs_unicode.c (100%)
>> >>  rename fs/{cifs => smbfs}/cifs_unicode.h (100%)
>> >>  rename fs/{cifs => smbfs}/cifs_uniupr.h (100%)
>> >>  rename fs/{cifs => smbfs}/cifsacl.c (99%)
>> >>  rename fs/{cifs => smbfs}/cifsacl.h (100%)
>> >>  rename fs/{cifs => smbfs}/cifsencrypt.c (100%)
>> >>  rename fs/{cifs => smbfs}/cifsglob.h (99%)
>> >>  rename fs/{cifs => smbfs}/cifspdu.h (99%)
>> >>  rename fs/{cifs => smbfs}/cifsproto.h (99%)
>> >>  rename fs/{cifs => smbfs}/cifsroot.c (100%)
>> >>  rename fs/{cifs => smbfs}/cifssmb.c (99%)
>> >>  rename fs/{cifs => smbfs}/connect.c (99%)
>> >>  rename fs/{cifs/cifsfs.c => smbfs/core.c} (98%)
>> >>  rename fs/{cifs => smbfs}/dfs_cache.c (99%)
>> >>  rename fs/{cifs => smbfs}/dfs_cache.h (100%)
>> >>  rename fs/{cifs => smbfs}/dir.c (99%)
>> >>  rename fs/{cifs => smbfs}/dns_resolve.c (100%)
>> >>  rename fs/{cifs => smbfs}/dns_resolve.h (100%)
>> >>  rename fs/{cifs => smbfs}/export.c (91%)
>> >>  rename fs/{cifs => smbfs}/file.c (99%)
>> >>  rename fs/{cifs => smbfs}/fs_context.c (99%)
>> >>  rename fs/{cifs => smbfs}/fs_context.h (100%)
>> >>  rename fs/{cifs => smbfs}/fscache.c (100%)
>> >>  rename fs/{cifs => smbfs}/fscache.h (98%)
>> >>  rename fs/{cifs => smbfs}/inode.c (99%)
>> >>  rename fs/{cifs => smbfs}/ioctl.c (99%)
>> >>  rename fs/{cifs => smbfs}/link.c (99%)
>> >>  rename fs/{cifs => smbfs}/misc.c (99%)
>> >>  rename fs/{cifs => smbfs}/netlink.c (100%)
>> >>  rename fs/{cifs => smbfs}/netlink.h (100%)
>> >>  rename fs/{cifs => smbfs}/netmisc.c (99%)
>> >>  rename fs/{cifs => smbfs}/nterr.c (100%)
>> >>  rename fs/{cifs => smbfs}/nterr.h (100%)
>> >>  rename fs/{cifs => smbfs}/ntlmssp.h (98%)
>> >>  rename fs/{cifs => smbfs}/readdir.c (99%)
>> >>  rename fs/{cifs => smbfs}/rfc1002pdu.h (100%)
>> >>  rename fs/{cifs => smbfs}/sess.c (99%)
>> >>  rename fs/{cifs => smbfs}/smb1ops.c (99%)
>> >>  rename fs/{cifs => smbfs}/smb2file.c (99%)
>> >>  rename fs/{cifs => smbfs}/smb2glob.h (100%)
>> >>  rename fs/{cifs => smbfs}/smb2inode.c (99%)
>> >>  rename fs/{cifs => smbfs}/smb2maperror.c (100%)
>> >>  rename fs/{cifs => smbfs}/smb2misc.c (100%)
>> >>  rename fs/{cifs => smbfs}/smb2ops.c (99%)
>> >>  rename fs/{cifs => smbfs}/smb2pdu.c (99%)
>> >>  rename fs/{cifs => smbfs}/smb2pdu.h (100%)
>> >>  rename fs/{cifs => smbfs}/smb2proto.h (100%)
>> >>  rename fs/{cifs => smbfs}/smb2status.h (100%)
>> >>  rename fs/{cifs => smbfs}/smb2transport.c (99%)
>> >>  rename fs/{cifs => smbfs}/smbdirect.c (100%)
>> >>  rename fs/{cifs => smbfs}/smbdirect.h (99%)
>> >>  rename fs/{cifs => smbfs}/smbencrypt.c (100%)
>> >>  rename fs/{cifs => smbfs}/smberr.h (100%)
>> >>  rename fs/{cifs/cifsfs.h => smbfs/smbfs.h} (97%)
>> >>  rename fs/{cifs => smbfs}/trace.c (100%)
>> >>  rename fs/{cifs => smbfs}/trace.h (100%)
>> >>  rename fs/{cifs => smbfs}/transport.c (99%)
>> >>  rename fs/{cifs => smbfs}/unc.c (100%)
>> >>  rename fs/{cifs => smbfs}/winucase.c (100%)
>> >>  rename fs/{cifs => smbfs}/xattr.c (98%)
>> >>
>> >
>
>
>
>-- 
>Thanks,
>
>Steve
Tom Talpey Aug. 2, 2022, 12:38 a.m. UTC | #5
On 8/1/2022 4:14 PM, Enzo Matsumiya wrote:
> On 08/01, Rowland Penny wrote:
>> On Mon, 2022-08-01 at 16:09 -0300, Enzo Matsumiya via samba-technical
>> wrote:
>>> Hi,
>>>
>>> As part of the ongoing effort to remove the "cifs" nomenclature from
>>> the
>>> Linux SMB client, I'm proposing the rename of the module to "smbfs".
>>
>> Hi, this has absolutely nothing to do with myself, but Linux used
>> 'smbfs' before it started to use 'cifs', so you are going back to an
>> old term. This could be confusing.
> 
> Hi Rowland, I'm aware of that. I had nothing to do with either
> (choosing initial "smbfs" nor "cifs"), but, IMHO, I think it should've
> stayed "smbfs". And TBH this is the most coherent name, of all

I dug around the old tarballs and it looks like fs/smbfs was pulled from
the kernel after 2.6.36, in early 2011. This was different from fs/cifs,
which entered the kernel much earlier, so they previously coexisted.

I don't think the name ambiguity is very important, but I do wonder if
git might uncover some conflicts, when a previously removed directory
suddenly reappears with new content? There wasn't a lot in fs/smbfs
though.

Either way, I think the module name is the question here, and it doesn't
have to be the same as the directory. I still prefer smbfs.

Another possibility for the directory is "ksmb", which might rhyme with
the server, and keep it close alphabetically too? OTOH it might be
confusing to have two similar names.

And sorry but I hate the idea of adding "-client". Should we rename
ksmbd to smb-server?? I don't think so.

Tom.

> available/known choices; you know the protocol (SMB), you know it isn't
> tied to any SMB version ("cifs", or "smb3" as sometimes suggested or
> used (as a module alias)), it's a Linux filesystem module ("FS").
> 
> Also the "fs/smbfs_common" directory was renamed as recent as last year
> (from "cifs_common") (cf. commit 23e91d8b7).
> 
>> Rowland
> 
> Thanks for the input, though. As an RFC patch, I'm waiting for more
> feedback and suggestions.
> 
> 
> Cheers,
> 
> Enzo
> 
>>>
>>> As it's widely known, CIFS is associated to SMB1.0, which, in turn,
>>> is
>>> associated with the security issues it presented in the past. Using
>>> "SMBFS" makes clear what's the protocol in use for outsiders, but
>>> also
>>> unties it from any particular protocol version. It also fits in the
>>> already existing "fs/smbfs_common" and "fs/ksmbd" naming scheme.
>>>
>>> This short patch series only changes directory names and
>>> includes/ifdefs in
>>> headers and source code, and updates docs to reflect the rename.
>>> Other
>>> than that, no source code/functionality is modified (WIP though).
>>>
>>> Patch 1/3: effectively changes the module name to "smbfs" and create
>>> a
>>>        "cifs" module alias to maintain compatibility (a warning
>>>        should be added to indicate the complete removal/isolation
>>> of
>>>        CIFS/SMB1.0 code).
>>> Patch 2/3: rename the source-code directory to align with the new
>>> module
>>>        name
>>> Patch 3/3: update documentation references to "fs/cifs" or "cifs.ko"
>>> or
>>>        "cifs module" to use the new name
>>>
>>> Enzo Matsumiya (3):
>>>   cifs: change module name to "smbfs.ko"
>>>   smbfs: rename directory "fs/cifs" -> "fs/smbfs"
>>>   smbfs: update doc references
>>>
>>>  Documentation/admin-guide/index.rst           |   2 +-
>>>  .../admin-guide/{cifs => smbfs}/authors.rst   |   0
>>>  .../admin-guide/{cifs => smbfs}/changes.rst   |   4 +-
>>>  .../admin-guide/{cifs => smbfs}/index.rst     |   0
>>>  .../{cifs => smbfs}/introduction.rst          |   0
>>>  .../admin-guide/{cifs => smbfs}/todo.rst      |  12 +-
>>>  .../admin-guide/{cifs => smbfs}/usage.rst     | 168 +++++++++-------
>>> -- 
>>>  .../{cifs => smbfs}/winucase_convert.pl       |   0
>>>  Documentation/filesystems/index.rst           |   2 +-
>>>  .../filesystems/{cifs => smbfs}/cifsroot.rst  |  14 +-
>>>  .../filesystems/{cifs => smbfs}/index.rst     |   0
>>>  .../filesystems/{cifs => smbfs}/ksmbd.rst     |   2 +-
>>>  Documentation/networking/dns_resolver.rst     |   2 +-
>>>  .../translations/zh_CN/admin-guide/index.rst  |   2 +-
>>>  .../translations/zh_TW/admin-guide/index.rst  |   2 +-
>>>  fs/Kconfig                                    |   6 +-
>>>  fs/Makefile                                   |   2 +-
>>>  fs/cifs/Makefile                              |  34 ----
>>>  fs/{cifs => smbfs}/Kconfig                    | 108 +++++------
>>>  fs/smbfs/Makefile                             |  34 ++++
>>>  fs/{cifs => smbfs}/asn1.c                     |   0
>>>  fs/{cifs => smbfs}/cifs_debug.c               |  72 ++++----
>>>  fs/{cifs => smbfs}/cifs_debug.h               |   4 +-
>>>  fs/{cifs => smbfs}/cifs_dfs_ref.c             |   2 +-
>>>  fs/{cifs => smbfs}/cifs_fs_sb.h               |   0
>>>  fs/{cifs => smbfs}/cifs_ioctl.h               |   0
>>>  fs/{cifs => smbfs}/cifs_spnego.c              |   4 +-
>>>  fs/{cifs => smbfs}/cifs_spnego.h              |   0
>>>  .../cifs_spnego_negtokeninit.asn1             |   0
>>>  fs/{cifs => smbfs}/cifs_swn.c                 |   0
>>>  fs/{cifs => smbfs}/cifs_swn.h                 |   4 +-
>>>  fs/{cifs => smbfs}/cifs_unicode.c             |   0
>>>  fs/{cifs => smbfs}/cifs_unicode.h             |   0
>>>  fs/{cifs => smbfs}/cifs_uniupr.h              |   0
>>>  fs/{cifs => smbfs}/cifsacl.c                  |   6 +-
>>>  fs/{cifs => smbfs}/cifsacl.h                  |   0
>>>  fs/{cifs => smbfs}/cifsencrypt.c              |   0
>>>  fs/{cifs => smbfs}/cifsglob.h                 |  26 +--
>>>  fs/{cifs => smbfs}/cifspdu.h                  |   6 +-
>>>  fs/{cifs => smbfs}/cifsproto.h                |  10 +-
>>>  fs/{cifs => smbfs}/cifsroot.c                 |   0
>>>  fs/{cifs => smbfs}/cifssmb.c                  |  14 +-
>>>  fs/{cifs => smbfs}/connect.c                  |  36 ++--
>>>  fs/{cifs/cifsfs.c => smbfs/core.c}            |  49 ++---
>>>  fs/{cifs => smbfs}/dfs_cache.c                |   2 +-
>>>  fs/{cifs => smbfs}/dfs_cache.h                |   0
>>>  fs/{cifs => smbfs}/dir.c                      |   2 +-
>>>  fs/{cifs => smbfs}/dns_resolve.c              |   0
>>>  fs/{cifs => smbfs}/dns_resolve.h              |   0
>>>  fs/{cifs => smbfs}/export.c                   |   8 +-
>>>  fs/{cifs => smbfs}/file.c                     |  16 +-
>>>  fs/{cifs => smbfs}/fs_context.c               |  20 +--
>>>  fs/{cifs => smbfs}/fs_context.h               |   0
>>>  fs/{cifs => smbfs}/fscache.c                  |   0
>>>  fs/{cifs => smbfs}/fscache.h                  |   6 +-
>>>  fs/{cifs => smbfs}/inode.c                    |  10 +-
>>>  fs/{cifs => smbfs}/ioctl.c                    |   6 +-
>>>  fs/{cifs => smbfs}/link.c                     |   2 +-
>>>  fs/{cifs => smbfs}/misc.c                     |  14 +-
>>>  fs/{cifs => smbfs}/netlink.c                  |   0
>>>  fs/{cifs => smbfs}/netlink.h                  |   0
>>>  fs/{cifs => smbfs}/netmisc.c                  |   2 +-
>>>  fs/{cifs => smbfs}/nterr.c                    |   0
>>>  fs/{cifs => smbfs}/nterr.h                    |   0
>>>  fs/{cifs => smbfs}/ntlmssp.h                  |   2 +-
>>>  fs/{cifs => smbfs}/readdir.c                  |   4 +-
>>>  fs/{cifs => smbfs}/rfc1002pdu.h               |   0
>>>  fs/{cifs => smbfs}/sess.c                     |  10 +-
>>>  fs/{cifs => smbfs}/smb1ops.c                  |   4 +-
>>>  fs/{cifs => smbfs}/smb2file.c                 |   2 +-
>>>  fs/{cifs => smbfs}/smb2glob.h                 |   0
>>>  fs/{cifs => smbfs}/smb2inode.c                |   2 +-
>>>  fs/{cifs => smbfs}/smb2maperror.c             |   0
>>>  fs/{cifs => smbfs}/smb2misc.c                 |   0
>>>  fs/{cifs => smbfs}/smb2ops.c                  |  32 ++--
>>>  fs/{cifs => smbfs}/smb2pdu.c                  |  22 +--
>>>  fs/{cifs => smbfs}/smb2pdu.h                  |   0
>>>  fs/{cifs => smbfs}/smb2proto.h                |   0
>>>  fs/{cifs => smbfs}/smb2status.h               |   0
>>>  fs/{cifs => smbfs}/smb2transport.c            |   2 +-
>>>  fs/{cifs => smbfs}/smbdirect.c                |   0
>>>  fs/{cifs => smbfs}/smbdirect.h                |   2 +-
>>>  fs/{cifs => smbfs}/smbencrypt.c               |   0
>>>  fs/{cifs => smbfs}/smberr.h                   |   0
>>>  fs/{cifs/cifsfs.h => smbfs/smbfs.h}           |  12 +-
>>>  fs/{cifs => smbfs}/trace.c                    |   0
>>>  fs/{cifs => smbfs}/trace.h                    |   0
>>>  fs/{cifs => smbfs}/transport.c                |   4 +-
>>>  fs/{cifs => smbfs}/unc.c                      |   0
>>>  fs/{cifs => smbfs}/winucase.c                 |   0
>>>  fs/{cifs => smbfs}/xattr.c                    |  18 +-
>>>  91 files changed, 414 insertions(+), 417 deletions(-)
>>>  rename Documentation/admin-guide/{cifs => smbfs}/authors.rst (100%)
>>>  rename Documentation/admin-guide/{cifs => smbfs}/changes.rst (73%)
>>>  rename Documentation/admin-guide/{cifs => smbfs}/index.rst (100%)
>>>  rename Documentation/admin-guide/{cifs => smbfs}/introduction.rst
>>> (100%)
>>>  rename Documentation/admin-guide/{cifs => smbfs}/todo.rst (95%)
>>>  rename Documentation/admin-guide/{cifs => smbfs}/usage.rst (87%)
>>>  rename Documentation/admin-guide/{cifs => smbfs}/winucase_convert.pl
>>> (100%)
>>>  rename Documentation/filesystems/{cifs => smbfs}/cifsroot.rst (85%)
>>>  rename Documentation/filesystems/{cifs => smbfs}/index.rst (100%)
>>>  rename Documentation/filesystems/{cifs => smbfs}/ksmbd.rst (99%)
>>>  delete mode 100644 fs/cifs/Makefile
>>>  rename fs/{cifs => smbfs}/Kconfig (72%)
>>>  create mode 100644 fs/smbfs/Makefile
>>>  rename fs/{cifs => smbfs}/asn1.c (100%)
>>>  rename fs/{cifs => smbfs}/cifs_debug.c (96%)
>>>  rename fs/{cifs => smbfs}/cifs_debug.h (98%)
>>>  rename fs/{cifs => smbfs}/cifs_dfs_ref.c (99%)
>>>  rename fs/{cifs => smbfs}/cifs_fs_sb.h (100%)
>>>  rename fs/{cifs => smbfs}/cifs_ioctl.h (100%)
>>>  rename fs/{cifs => smbfs}/cifs_spnego.c (98%)
>>>  rename fs/{cifs => smbfs}/cifs_spnego.h (100%)
>>>  rename fs/{cifs => smbfs}/cifs_spnego_negtokeninit.asn1 (100%)
>>>  rename fs/{cifs => smbfs}/cifs_swn.c (100%)
>>>  rename fs/{cifs => smbfs}/cifs_swn.h (95%)
>>>  rename fs/{cifs => smbfs}/cifs_unicode.c (100%)
>>>  rename fs/{cifs => smbfs}/cifs_unicode.h (100%)
>>>  rename fs/{cifs => smbfs}/cifs_uniupr.h (100%)
>>>  rename fs/{cifs => smbfs}/cifsacl.c (99%)
>>>  rename fs/{cifs => smbfs}/cifsacl.h (100%)
>>>  rename fs/{cifs => smbfs}/cifsencrypt.c (100%)
>>>  rename fs/{cifs => smbfs}/cifsglob.h (99%)
>>>  rename fs/{cifs => smbfs}/cifspdu.h (99%)
>>>  rename fs/{cifs => smbfs}/cifsproto.h (99%)
>>>  rename fs/{cifs => smbfs}/cifsroot.c (100%)
>>>  rename fs/{cifs => smbfs}/cifssmb.c (99%)
>>>  rename fs/{cifs => smbfs}/connect.c (99%)
>>>  rename fs/{cifs/cifsfs.c => smbfs/core.c} (98%)
>>>  rename fs/{cifs => smbfs}/dfs_cache.c (99%)
>>>  rename fs/{cifs => smbfs}/dfs_cache.h (100%)
>>>  rename fs/{cifs => smbfs}/dir.c (99%)
>>>  rename fs/{cifs => smbfs}/dns_resolve.c (100%)
>>>  rename fs/{cifs => smbfs}/dns_resolve.h (100%)
>>>  rename fs/{cifs => smbfs}/export.c (91%)
>>>  rename fs/{cifs => smbfs}/file.c (99%)
>>>  rename fs/{cifs => smbfs}/fs_context.c (99%)
>>>  rename fs/{cifs => smbfs}/fs_context.h (100%)
>>>  rename fs/{cifs => smbfs}/fscache.c (100%)
>>>  rename fs/{cifs => smbfs}/fscache.h (98%)
>>>  rename fs/{cifs => smbfs}/inode.c (99%)
>>>  rename fs/{cifs => smbfs}/ioctl.c (99%)
>>>  rename fs/{cifs => smbfs}/link.c (99%)
>>>  rename fs/{cifs => smbfs}/misc.c (99%)
>>>  rename fs/{cifs => smbfs}/netlink.c (100%)
>>>  rename fs/{cifs => smbfs}/netlink.h (100%)
>>>  rename fs/{cifs => smbfs}/netmisc.c (99%)
>>>  rename fs/{cifs => smbfs}/nterr.c (100%)
>>>  rename fs/{cifs => smbfs}/nterr.h (100%)
>>>  rename fs/{cifs => smbfs}/ntlmssp.h (98%)
>>>  rename fs/{cifs => smbfs}/readdir.c (99%)
>>>  rename fs/{cifs => smbfs}/rfc1002pdu.h (100%)
>>>  rename fs/{cifs => smbfs}/sess.c (99%)
>>>  rename fs/{cifs => smbfs}/smb1ops.c (99%)
>>>  rename fs/{cifs => smbfs}/smb2file.c (99%)
>>>  rename fs/{cifs => smbfs}/smb2glob.h (100%)
>>>  rename fs/{cifs => smbfs}/smb2inode.c (99%)
>>>  rename fs/{cifs => smbfs}/smb2maperror.c (100%)
>>>  rename fs/{cifs => smbfs}/smb2misc.c (100%)
>>>  rename fs/{cifs => smbfs}/smb2ops.c (99%)
>>>  rename fs/{cifs => smbfs}/smb2pdu.c (99%)
>>>  rename fs/{cifs => smbfs}/smb2pdu.h (100%)
>>>  rename fs/{cifs => smbfs}/smb2proto.h (100%)
>>>  rename fs/{cifs => smbfs}/smb2status.h (100%)
>>>  rename fs/{cifs => smbfs}/smb2transport.c (99%)
>>>  rename fs/{cifs => smbfs}/smbdirect.c (100%)
>>>  rename fs/{cifs => smbfs}/smbdirect.h (99%)
>>>  rename fs/{cifs => smbfs}/smbencrypt.c (100%)
>>>  rename fs/{cifs => smbfs}/smberr.h (100%)
>>>  rename fs/{cifs/cifsfs.h => smbfs/smbfs.h} (97%)
>>>  rename fs/{cifs => smbfs}/trace.c (100%)
>>>  rename fs/{cifs => smbfs}/trace.h (100%)
>>>  rename fs/{cifs => smbfs}/transport.c (99%)
>>>  rename fs/{cifs => smbfs}/unc.c (100%)
>>>  rename fs/{cifs => smbfs}/winucase.c (100%)
>>>  rename fs/{cifs => smbfs}/xattr.c (98%)
>>>
>>
>
Steve French Aug. 2, 2022, 12:42 a.m. UTC | #6
We don't have to rename the directory in this release.  Linus suggested doing it
in a "quiet" merge window, but there are a lot of lines of code
changed in this one
so we can wait to 5.21 kernel (or 6.1 kernel or whatever the release after
next is called) to do the fs/cifs --> fs/smb-something

On Mon, Aug 1, 2022 at 7:40 PM Tom Talpey <tom@talpey.com> wrote:
>
> On 8/1/2022 4:14 PM, Enzo Matsumiya wrote:
> > On 08/01, Rowland Penny wrote:
> >> On Mon, 2022-08-01 at 16:09 -0300, Enzo Matsumiya via samba-technical
> >> wrote:
> >>> Hi,
> >>>
> >>> As part of the ongoing effort to remove the "cifs" nomenclature from
> >>> the
> >>> Linux SMB client, I'm proposing the rename of the module to "smbfs".
> >>
> >> Hi, this has absolutely nothing to do with myself, but Linux used
> >> 'smbfs' before it started to use 'cifs', so you are going back to an
> >> old term. This could be confusing.
> >
> > Hi Rowland, I'm aware of that. I had nothing to do with either
> > (choosing initial "smbfs" nor "cifs"), but, IMHO, I think it should've
> > stayed "smbfs". And TBH this is the most coherent name, of all
>
> I dug around the old tarballs and it looks like fs/smbfs was pulled from
> the kernel after 2.6.36, in early 2011. This was different from fs/cifs,
> which entered the kernel much earlier, so they previously coexisted.
>
> I don't think the name ambiguity is very important, but I do wonder if
> git might uncover some conflicts, when a previously removed directory
> suddenly reappears with new content? There wasn't a lot in fs/smbfs
> though.
>
> Either way, I think the module name is the question here, and it doesn't
> have to be the same as the directory. I still prefer smbfs.
>
> Another possibility for the directory is "ksmb", which might rhyme with
> the server, and keep it close alphabetically too? OTOH it might be
> confusing to have two similar names.
>
> And sorry but I hate the idea of adding "-client". Should we rename
> ksmbd to smb-server?? I don't think so.
>
> Tom.
>
> > available/known choices; you know the protocol (SMB), you know it isn't
> > tied to any SMB version ("cifs", or "smb3" as sometimes suggested or
> > used (as a module alias)), it's a Linux filesystem module ("FS").
> >
> > Also the "fs/smbfs_common" directory was renamed as recent as last year
> > (from "cifs_common") (cf. commit 23e91d8b7).
> >
> >> Rowland
> >
> > Thanks for the input, though. As an RFC patch, I'm waiting for more
> > feedback and suggestions.
> >
> >
> > Cheers,
> >
> > Enzo
> >
> >>>
> >>> As it's widely known, CIFS is associated to SMB1.0, which, in turn,
> >>> is
> >>> associated with the security issues it presented in the past. Using
> >>> "SMBFS" makes clear what's the protocol in use for outsiders, but
> >>> also
> >>> unties it from any particular protocol version. It also fits in the
> >>> already existing "fs/smbfs_common" and "fs/ksmbd" naming scheme.
> >>>
> >>> This short patch series only changes directory names and
> >>> includes/ifdefs in
> >>> headers and source code, and updates docs to reflect the rename.
> >>> Other
> >>> than that, no source code/functionality is modified (WIP though).
> >>>
> >>> Patch 1/3: effectively changes the module name to "smbfs" and create
> >>> a
> >>>        "cifs" module alias to maintain compatibility (a warning
> >>>        should be added to indicate the complete removal/isolation
> >>> of
> >>>        CIFS/SMB1.0 code).
> >>> Patch 2/3: rename the source-code directory to align with the new
> >>> module
> >>>        name
> >>> Patch 3/3: update documentation references to "fs/cifs" or "cifs.ko"
> >>> or
> >>>        "cifs module" to use the new name
> >>>
> >>> Enzo Matsumiya (3):
> >>>   cifs: change module name to "smbfs.ko"
> >>>   smbfs: rename directory "fs/cifs" -> "fs/smbfs"
> >>>   smbfs: update doc references
> >>>
> >>>  Documentation/admin-guide/index.rst           |   2 +-
> >>>  .../admin-guide/{cifs => smbfs}/authors.rst   |   0
> >>>  .../admin-guide/{cifs => smbfs}/changes.rst   |   4 +-
> >>>  .../admin-guide/{cifs => smbfs}/index.rst     |   0
> >>>  .../{cifs => smbfs}/introduction.rst          |   0
> >>>  .../admin-guide/{cifs => smbfs}/todo.rst      |  12 +-
> >>>  .../admin-guide/{cifs => smbfs}/usage.rst     | 168 +++++++++-------
> >>> --
> >>>  .../{cifs => smbfs}/winucase_convert.pl       |   0
> >>>  Documentation/filesystems/index.rst           |   2 +-
> >>>  .../filesystems/{cifs => smbfs}/cifsroot.rst  |  14 +-
> >>>  .../filesystems/{cifs => smbfs}/index.rst     |   0
> >>>  .../filesystems/{cifs => smbfs}/ksmbd.rst     |   2 +-
> >>>  Documentation/networking/dns_resolver.rst     |   2 +-
> >>>  .../translations/zh_CN/admin-guide/index.rst  |   2 +-
> >>>  .../translations/zh_TW/admin-guide/index.rst  |   2 +-
> >>>  fs/Kconfig                                    |   6 +-
> >>>  fs/Makefile                                   |   2 +-
> >>>  fs/cifs/Makefile                              |  34 ----
> >>>  fs/{cifs => smbfs}/Kconfig                    | 108 +++++------
> >>>  fs/smbfs/Makefile                             |  34 ++++
> >>>  fs/{cifs => smbfs}/asn1.c                     |   0
> >>>  fs/{cifs => smbfs}/cifs_debug.c               |  72 ++++----
> >>>  fs/{cifs => smbfs}/cifs_debug.h               |   4 +-
> >>>  fs/{cifs => smbfs}/cifs_dfs_ref.c             |   2 +-
> >>>  fs/{cifs => smbfs}/cifs_fs_sb.h               |   0
> >>>  fs/{cifs => smbfs}/cifs_ioctl.h               |   0
> >>>  fs/{cifs => smbfs}/cifs_spnego.c              |   4 +-
> >>>  fs/{cifs => smbfs}/cifs_spnego.h              |   0
> >>>  .../cifs_spnego_negtokeninit.asn1             |   0
> >>>  fs/{cifs => smbfs}/cifs_swn.c                 |   0
> >>>  fs/{cifs => smbfs}/cifs_swn.h                 |   4 +-
> >>>  fs/{cifs => smbfs}/cifs_unicode.c             |   0
> >>>  fs/{cifs => smbfs}/cifs_unicode.h             |   0
> >>>  fs/{cifs => smbfs}/cifs_uniupr.h              |   0
> >>>  fs/{cifs => smbfs}/cifsacl.c                  |   6 +-
> >>>  fs/{cifs => smbfs}/cifsacl.h                  |   0
> >>>  fs/{cifs => smbfs}/cifsencrypt.c              |   0
> >>>  fs/{cifs => smbfs}/cifsglob.h                 |  26 +--
> >>>  fs/{cifs => smbfs}/cifspdu.h                  |   6 +-
> >>>  fs/{cifs => smbfs}/cifsproto.h                |  10 +-
> >>>  fs/{cifs => smbfs}/cifsroot.c                 |   0
> >>>  fs/{cifs => smbfs}/cifssmb.c                  |  14 +-
> >>>  fs/{cifs => smbfs}/connect.c                  |  36 ++--
> >>>  fs/{cifs/cifsfs.c => smbfs/core.c}            |  49 ++---
> >>>  fs/{cifs => smbfs}/dfs_cache.c                |   2 +-
> >>>  fs/{cifs => smbfs}/dfs_cache.h                |   0
> >>>  fs/{cifs => smbfs}/dir.c                      |   2 +-
> >>>  fs/{cifs => smbfs}/dns_resolve.c              |   0
> >>>  fs/{cifs => smbfs}/dns_resolve.h              |   0
> >>>  fs/{cifs => smbfs}/export.c                   |   8 +-
> >>>  fs/{cifs => smbfs}/file.c                     |  16 +-
> >>>  fs/{cifs => smbfs}/fs_context.c               |  20 +--
> >>>  fs/{cifs => smbfs}/fs_context.h               |   0
> >>>  fs/{cifs => smbfs}/fscache.c                  |   0
> >>>  fs/{cifs => smbfs}/fscache.h                  |   6 +-
> >>>  fs/{cifs => smbfs}/inode.c                    |  10 +-
> >>>  fs/{cifs => smbfs}/ioctl.c                    |   6 +-
> >>>  fs/{cifs => smbfs}/link.c                     |   2 +-
> >>>  fs/{cifs => smbfs}/misc.c                     |  14 +-
> >>>  fs/{cifs => smbfs}/netlink.c                  |   0
> >>>  fs/{cifs => smbfs}/netlink.h                  |   0
> >>>  fs/{cifs => smbfs}/netmisc.c                  |   2 +-
> >>>  fs/{cifs => smbfs}/nterr.c                    |   0
> >>>  fs/{cifs => smbfs}/nterr.h                    |   0
> >>>  fs/{cifs => smbfs}/ntlmssp.h                  |   2 +-
> >>>  fs/{cifs => smbfs}/readdir.c                  |   4 +-
> >>>  fs/{cifs => smbfs}/rfc1002pdu.h               |   0
> >>>  fs/{cifs => smbfs}/sess.c                     |  10 +-
> >>>  fs/{cifs => smbfs}/smb1ops.c                  |   4 +-
> >>>  fs/{cifs => smbfs}/smb2file.c                 |   2 +-
> >>>  fs/{cifs => smbfs}/smb2glob.h                 |   0
> >>>  fs/{cifs => smbfs}/smb2inode.c                |   2 +-
> >>>  fs/{cifs => smbfs}/smb2maperror.c             |   0
> >>>  fs/{cifs => smbfs}/smb2misc.c                 |   0
> >>>  fs/{cifs => smbfs}/smb2ops.c                  |  32 ++--
> >>>  fs/{cifs => smbfs}/smb2pdu.c                  |  22 +--
> >>>  fs/{cifs => smbfs}/smb2pdu.h                  |   0
> >>>  fs/{cifs => smbfs}/smb2proto.h                |   0
> >>>  fs/{cifs => smbfs}/smb2status.h               |   0
> >>>  fs/{cifs => smbfs}/smb2transport.c            |   2 +-
> >>>  fs/{cifs => smbfs}/smbdirect.c                |   0
> >>>  fs/{cifs => smbfs}/smbdirect.h                |   2 +-
> >>>  fs/{cifs => smbfs}/smbencrypt.c               |   0
> >>>  fs/{cifs => smbfs}/smberr.h                   |   0
> >>>  fs/{cifs/cifsfs.h => smbfs/smbfs.h}           |  12 +-
> >>>  fs/{cifs => smbfs}/trace.c                    |   0
> >>>  fs/{cifs => smbfs}/trace.h                    |   0
> >>>  fs/{cifs => smbfs}/transport.c                |   4 +-
> >>>  fs/{cifs => smbfs}/unc.c                      |   0
> >>>  fs/{cifs => smbfs}/winucase.c                 |   0
> >>>  fs/{cifs => smbfs}/xattr.c                    |  18 +-
> >>>  91 files changed, 414 insertions(+), 417 deletions(-)
> >>>  rename Documentation/admin-guide/{cifs => smbfs}/authors.rst (100%)
> >>>  rename Documentation/admin-guide/{cifs => smbfs}/changes.rst (73%)
> >>>  rename Documentation/admin-guide/{cifs => smbfs}/index.rst (100%)
> >>>  rename Documentation/admin-guide/{cifs => smbfs}/introduction.rst
> >>> (100%)
> >>>  rename Documentation/admin-guide/{cifs => smbfs}/todo.rst (95%)
> >>>  rename Documentation/admin-guide/{cifs => smbfs}/usage.rst (87%)
> >>>  rename Documentation/admin-guide/{cifs => smbfs}/winucase_convert.pl
> >>> (100%)
> >>>  rename Documentation/filesystems/{cifs => smbfs}/cifsroot.rst (85%)
> >>>  rename Documentation/filesystems/{cifs => smbfs}/index.rst (100%)
> >>>  rename Documentation/filesystems/{cifs => smbfs}/ksmbd.rst (99%)
> >>>  delete mode 100644 fs/cifs/Makefile
> >>>  rename fs/{cifs => smbfs}/Kconfig (72%)
> >>>  create mode 100644 fs/smbfs/Makefile
> >>>  rename fs/{cifs => smbfs}/asn1.c (100%)
> >>>  rename fs/{cifs => smbfs}/cifs_debug.c (96%)
> >>>  rename fs/{cifs => smbfs}/cifs_debug.h (98%)
> >>>  rename fs/{cifs => smbfs}/cifs_dfs_ref.c (99%)
> >>>  rename fs/{cifs => smbfs}/cifs_fs_sb.h (100%)
> >>>  rename fs/{cifs => smbfs}/cifs_ioctl.h (100%)
> >>>  rename fs/{cifs => smbfs}/cifs_spnego.c (98%)
> >>>  rename fs/{cifs => smbfs}/cifs_spnego.h (100%)
> >>>  rename fs/{cifs => smbfs}/cifs_spnego_negtokeninit.asn1 (100%)
> >>>  rename fs/{cifs => smbfs}/cifs_swn.c (100%)
> >>>  rename fs/{cifs => smbfs}/cifs_swn.h (95%)
> >>>  rename fs/{cifs => smbfs}/cifs_unicode.c (100%)
> >>>  rename fs/{cifs => smbfs}/cifs_unicode.h (100%)
> >>>  rename fs/{cifs => smbfs}/cifs_uniupr.h (100%)
> >>>  rename fs/{cifs => smbfs}/cifsacl.c (99%)
> >>>  rename fs/{cifs => smbfs}/cifsacl.h (100%)
> >>>  rename fs/{cifs => smbfs}/cifsencrypt.c (100%)
> >>>  rename fs/{cifs => smbfs}/cifsglob.h (99%)
> >>>  rename fs/{cifs => smbfs}/cifspdu.h (99%)
> >>>  rename fs/{cifs => smbfs}/cifsproto.h (99%)
> >>>  rename fs/{cifs => smbfs}/cifsroot.c (100%)
> >>>  rename fs/{cifs => smbfs}/cifssmb.c (99%)
> >>>  rename fs/{cifs => smbfs}/connect.c (99%)
> >>>  rename fs/{cifs/cifsfs.c => smbfs/core.c} (98%)
> >>>  rename fs/{cifs => smbfs}/dfs_cache.c (99%)
> >>>  rename fs/{cifs => smbfs}/dfs_cache.h (100%)
> >>>  rename fs/{cifs => smbfs}/dir.c (99%)
> >>>  rename fs/{cifs => smbfs}/dns_resolve.c (100%)
> >>>  rename fs/{cifs => smbfs}/dns_resolve.h (100%)
> >>>  rename fs/{cifs => smbfs}/export.c (91%)
> >>>  rename fs/{cifs => smbfs}/file.c (99%)
> >>>  rename fs/{cifs => smbfs}/fs_context.c (99%)
> >>>  rename fs/{cifs => smbfs}/fs_context.h (100%)
> >>>  rename fs/{cifs => smbfs}/fscache.c (100%)
> >>>  rename fs/{cifs => smbfs}/fscache.h (98%)
> >>>  rename fs/{cifs => smbfs}/inode.c (99%)
> >>>  rename fs/{cifs => smbfs}/ioctl.c (99%)
> >>>  rename fs/{cifs => smbfs}/link.c (99%)
> >>>  rename fs/{cifs => smbfs}/misc.c (99%)
> >>>  rename fs/{cifs => smbfs}/netlink.c (100%)
> >>>  rename fs/{cifs => smbfs}/netlink.h (100%)
> >>>  rename fs/{cifs => smbfs}/netmisc.c (99%)
> >>>  rename fs/{cifs => smbfs}/nterr.c (100%)
> >>>  rename fs/{cifs => smbfs}/nterr.h (100%)
> >>>  rename fs/{cifs => smbfs}/ntlmssp.h (98%)
> >>>  rename fs/{cifs => smbfs}/readdir.c (99%)
> >>>  rename fs/{cifs => smbfs}/rfc1002pdu.h (100%)
> >>>  rename fs/{cifs => smbfs}/sess.c (99%)
> >>>  rename fs/{cifs => smbfs}/smb1ops.c (99%)
> >>>  rename fs/{cifs => smbfs}/smb2file.c (99%)
> >>>  rename fs/{cifs => smbfs}/smb2glob.h (100%)
> >>>  rename fs/{cifs => smbfs}/smb2inode.c (99%)
> >>>  rename fs/{cifs => smbfs}/smb2maperror.c (100%)
> >>>  rename fs/{cifs => smbfs}/smb2misc.c (100%)
> >>>  rename fs/{cifs => smbfs}/smb2ops.c (99%)
> >>>  rename fs/{cifs => smbfs}/smb2pdu.c (99%)
> >>>  rename fs/{cifs => smbfs}/smb2pdu.h (100%)
> >>>  rename fs/{cifs => smbfs}/smb2proto.h (100%)
> >>>  rename fs/{cifs => smbfs}/smb2status.h (100%)
> >>>  rename fs/{cifs => smbfs}/smb2transport.c (99%)
> >>>  rename fs/{cifs => smbfs}/smbdirect.c (100%)
> >>>  rename fs/{cifs => smbfs}/smbdirect.h (99%)
> >>>  rename fs/{cifs => smbfs}/smbencrypt.c (100%)
> >>>  rename fs/{cifs => smbfs}/smberr.h (100%)
> >>>  rename fs/{cifs/cifsfs.h => smbfs/smbfs.h} (97%)
> >>>  rename fs/{cifs => smbfs}/trace.c (100%)
> >>>  rename fs/{cifs => smbfs}/trace.h (100%)
> >>>  rename fs/{cifs => smbfs}/transport.c (99%)
> >>>  rename fs/{cifs => smbfs}/unc.c (100%)
> >>>  rename fs/{cifs => smbfs}/winucase.c (100%)
> >>>  rename fs/{cifs => smbfs}/xattr.c (98%)
> >>>
> >>
> >
Enzo Matsumiya Aug. 2, 2022, 1:52 p.m. UTC | #7
On 08/01, Tom Talpey wrote:
>On 8/1/2022 4:14 PM, Enzo Matsumiya wrote:
>>On 08/01, Rowland Penny wrote:
>>>On Mon, 2022-08-01 at 16:09 -0300, Enzo Matsumiya via samba-technical
>>>wrote:
>>>>Hi,
>>>>
>>>>As part of the ongoing effort to remove the "cifs" nomenclature from
>>>>the
>>>>Linux SMB client, I'm proposing the rename of the module to "smbfs".
>>>
>>>Hi, this has absolutely nothing to do with myself, but Linux used
>>>'smbfs' before it started to use 'cifs', so you are going back to an
>>>old term. This could be confusing.
>>
>>Hi Rowland, I'm aware of that. I had nothing to do with either
>>(choosing initial "smbfs" nor "cifs"), but, IMHO, I think it should've
>>stayed "smbfs". And TBH this is the most coherent name, of all
>
>I dug around the old tarballs and it looks like fs/smbfs was pulled from
>the kernel after 2.6.36, in early 2011. This was different from fs/cifs,
>which entered the kernel much earlier, so they previously coexisted.
>
>I don't think the name ambiguity is very important, but I do wonder if
>git might uncover some conflicts, when a previously removed directory
>suddenly reappears with new content? There wasn't a lot in fs/smbfs
>though.

I haven't considered that.
Doing a "git log --follow -- fs/smbfs" does show the older commits for
before the previous migration/rename:

----
commit 1e20c73a2935be2d9f19ebc63ddee1afccc42b07
Author: Enzo Matsumiya <ematsumiya@suse.de>
Date:   Mon Aug 1 15:05:23 2022 -0300

     smbfs: rename directory "fs/cifs" -> "fs/smbfs"

     Update fs/Kconfig and fs/Makefile to reflect the change.

     Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de>

commit be9eee2e8b87e335531a3ae13abb8d26e834c438
Author: Christoph Hellwig <hch@infradead.org>
Date:   Sun Oct 10 05:36:29 2010 -0400

     smbfs: use dget_parent

     Use dget_parent instead of opencoding it.  This simplifies the code, but
     more importanly prepares for the more complicated locking for a parent
     dget in the dcache scale patch series.

     Note that the d_time assignment in smb_renew_times moves out of d_lock,
     but it's a single atomic 32-bit value, and that's what other sites
     setting it do already.

     Signed-off-by: Christoph Hellwig <hch@lst.de>
     Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
...
----

I don't know if that would cause a real problem though, someone more
experienced with renaming modules/directories could provide their
opinion.

Could we have an empty commit between old commits and the new rename to
serve as a marker maybe?

>Either way, I think the module name is the question here, and it doesn't
>have to be the same as the directory. I still prefer smbfs.
>
>Another possibility for the directory is "ksmb", which might rhyme with
>the server, and keep it close alphabetically too? OTOH it might be
>confusing to have two similar names.

My original idea of "ideal" was to have:

fs/smbfs/
fs/smbfs/common
fs/smbfs/client
fs/smbfs/server

Which aligns with e.g., drivers/nvme/ that has host/ and target/ subdirs
to accomodate client and server code. This would make things way more
manageable given the quantity of shared code between cifs.ko and
ksmbd.ko.

Another option is:
fs/smbfs_client/
fs/smbfs_common/ (already existing)
fs/smbfs_server/

But, personally, I'm not really a fan of the underscores.

My 2c only though.
Thoughts?

>And sorry but I hate the idea of adding "-client". Should we rename
>ksmbd to smb-server?? I don't think so.

Agreed.

>Tom.

Cheers,

Enzo

>>available/known choices; you know the protocol (SMB), you know it isn't
>>tied to any SMB version ("cifs", or "smb3" as sometimes suggested or
>>used (as a module alias)), it's a Linux filesystem module ("FS").
>>
>>Also the "fs/smbfs_common" directory was renamed as recent as last year
>>(from "cifs_common") (cf. commit 23e91d8b7).
>>
>>>Rowland
>>
>>Thanks for the input, though. As an RFC patch, I'm waiting for more
>>feedback and suggestions.
>>
>>
>>Cheers,
>>
>>Enzo
>>
>>>>
>>>>As it's widely known, CIFS is associated to SMB1.0, which, in turn,
>>>>is
>>>>associated with the security issues it presented in the past. Using
>>>>"SMBFS" makes clear what's the protocol in use for outsiders, but
>>>>also
>>>>unties it from any particular protocol version. It also fits in the
>>>>already existing "fs/smbfs_common" and "fs/ksmbd" naming scheme.
>>>>
>>>>This short patch series only changes directory names and
>>>>includes/ifdefs in
>>>>headers and source code, and updates docs to reflect the rename.
>>>>Other
>>>>than that, no source code/functionality is modified (WIP though).
>>>>
>>>>Patch 1/3: effectively changes the module name to "smbfs" and create
>>>>a
>>>>       "cifs" module alias to maintain compatibility (a warning
>>>>       should be added to indicate the complete removal/isolation
>>>>of
>>>>       CIFS/SMB1.0 code).
>>>>Patch 2/3: rename the source-code directory to align with the new
>>>>module
>>>>       name
>>>>Patch 3/3: update documentation references to "fs/cifs" or "cifs.ko"
>>>>or
>>>>       "cifs module" to use the new name
>>>>
>>>>Enzo Matsumiya (3):
>>>>  cifs: change module name to "smbfs.ko"
>>>>  smbfs: rename directory "fs/cifs" -> "fs/smbfs"
>>>>  smbfs: update doc references
>>>>
>>>> Documentation/admin-guide/index.rst           |   2 +-
>>>> .../admin-guide/{cifs => smbfs}/authors.rst   |   0
>>>> .../admin-guide/{cifs => smbfs}/changes.rst   |   4 +-
>>>> .../admin-guide/{cifs => smbfs}/index.rst     |   0
>>>> .../{cifs => smbfs}/introduction.rst          |   0
>>>> .../admin-guide/{cifs => smbfs}/todo.rst      |  12 +-
>>>> .../admin-guide/{cifs => smbfs}/usage.rst     | 168 +++++++++-------
>>>>-- 
>>>> .../{cifs => smbfs}/winucase_convert.pl       |   0
>>>> Documentation/filesystems/index.rst           |   2 +-
>>>> .../filesystems/{cifs => smbfs}/cifsroot.rst  |  14 +-
>>>> .../filesystems/{cifs => smbfs}/index.rst     |   0
>>>> .../filesystems/{cifs => smbfs}/ksmbd.rst     |   2 +-
>>>> Documentation/networking/dns_resolver.rst     |   2 +-
>>>> .../translations/zh_CN/admin-guide/index.rst  |   2 +-
>>>> .../translations/zh_TW/admin-guide/index.rst  |   2 +-
>>>> fs/Kconfig                                    |   6 +-
>>>> fs/Makefile                                   |   2 +-
>>>> fs/cifs/Makefile                              |  34 ----
>>>> fs/{cifs => smbfs}/Kconfig                    | 108 +++++------
>>>> fs/smbfs/Makefile                             |  34 ++++
>>>> fs/{cifs => smbfs}/asn1.c                     |   0
>>>> fs/{cifs => smbfs}/cifs_debug.c               |  72 ++++----
>>>> fs/{cifs => smbfs}/cifs_debug.h               |   4 +-
>>>> fs/{cifs => smbfs}/cifs_dfs_ref.c             |   2 +-
>>>> fs/{cifs => smbfs}/cifs_fs_sb.h               |   0
>>>> fs/{cifs => smbfs}/cifs_ioctl.h               |   0
>>>> fs/{cifs => smbfs}/cifs_spnego.c              |   4 +-
>>>> fs/{cifs => smbfs}/cifs_spnego.h              |   0
>>>> .../cifs_spnego_negtokeninit.asn1             |   0
>>>> fs/{cifs => smbfs}/cifs_swn.c                 |   0
>>>> fs/{cifs => smbfs}/cifs_swn.h                 |   4 +-
>>>> fs/{cifs => smbfs}/cifs_unicode.c             |   0
>>>> fs/{cifs => smbfs}/cifs_unicode.h             |   0
>>>> fs/{cifs => smbfs}/cifs_uniupr.h              |   0
>>>> fs/{cifs => smbfs}/cifsacl.c                  |   6 +-
>>>> fs/{cifs => smbfs}/cifsacl.h                  |   0
>>>> fs/{cifs => smbfs}/cifsencrypt.c              |   0
>>>> fs/{cifs => smbfs}/cifsglob.h                 |  26 +--
>>>> fs/{cifs => smbfs}/cifspdu.h                  |   6 +-
>>>> fs/{cifs => smbfs}/cifsproto.h                |  10 +-
>>>> fs/{cifs => smbfs}/cifsroot.c                 |   0
>>>> fs/{cifs => smbfs}/cifssmb.c                  |  14 +-
>>>> fs/{cifs => smbfs}/connect.c                  |  36 ++--
>>>> fs/{cifs/cifsfs.c => smbfs/core.c}            |  49 ++---
>>>> fs/{cifs => smbfs}/dfs_cache.c                |   2 +-
>>>> fs/{cifs => smbfs}/dfs_cache.h                |   0
>>>> fs/{cifs => smbfs}/dir.c                      |   2 +-
>>>> fs/{cifs => smbfs}/dns_resolve.c              |   0
>>>> fs/{cifs => smbfs}/dns_resolve.h              |   0
>>>> fs/{cifs => smbfs}/export.c                   |   8 +-
>>>> fs/{cifs => smbfs}/file.c                     |  16 +-
>>>> fs/{cifs => smbfs}/fs_context.c               |  20 +--
>>>> fs/{cifs => smbfs}/fs_context.h               |   0
>>>> fs/{cifs => smbfs}/fscache.c                  |   0
>>>> fs/{cifs => smbfs}/fscache.h                  |   6 +-
>>>> fs/{cifs => smbfs}/inode.c                    |  10 +-
>>>> fs/{cifs => smbfs}/ioctl.c                    |   6 +-
>>>> fs/{cifs => smbfs}/link.c                     |   2 +-
>>>> fs/{cifs => smbfs}/misc.c                     |  14 +-
>>>> fs/{cifs => smbfs}/netlink.c                  |   0
>>>> fs/{cifs => smbfs}/netlink.h                  |   0
>>>> fs/{cifs => smbfs}/netmisc.c                  |   2 +-
>>>> fs/{cifs => smbfs}/nterr.c                    |   0
>>>> fs/{cifs => smbfs}/nterr.h                    |   0
>>>> fs/{cifs => smbfs}/ntlmssp.h                  |   2 +-
>>>> fs/{cifs => smbfs}/readdir.c                  |   4 +-
>>>> fs/{cifs => smbfs}/rfc1002pdu.h               |   0
>>>> fs/{cifs => smbfs}/sess.c                     |  10 +-
>>>> fs/{cifs => smbfs}/smb1ops.c                  |   4 +-
>>>> fs/{cifs => smbfs}/smb2file.c                 |   2 +-
>>>> fs/{cifs => smbfs}/smb2glob.h                 |   0
>>>> fs/{cifs => smbfs}/smb2inode.c                |   2 +-
>>>> fs/{cifs => smbfs}/smb2maperror.c             |   0
>>>> fs/{cifs => smbfs}/smb2misc.c                 |   0
>>>> fs/{cifs => smbfs}/smb2ops.c                  |  32 ++--
>>>> fs/{cifs => smbfs}/smb2pdu.c                  |  22 +--
>>>> fs/{cifs => smbfs}/smb2pdu.h                  |   0
>>>> fs/{cifs => smbfs}/smb2proto.h                |   0
>>>> fs/{cifs => smbfs}/smb2status.h               |   0
>>>> fs/{cifs => smbfs}/smb2transport.c            |   2 +-
>>>> fs/{cifs => smbfs}/smbdirect.c                |   0
>>>> fs/{cifs => smbfs}/smbdirect.h                |   2 +-
>>>> fs/{cifs => smbfs}/smbencrypt.c               |   0
>>>> fs/{cifs => smbfs}/smberr.h                   |   0
>>>> fs/{cifs/cifsfs.h => smbfs/smbfs.h}           |  12 +-
>>>> fs/{cifs => smbfs}/trace.c                    |   0
>>>> fs/{cifs => smbfs}/trace.h                    |   0
>>>> fs/{cifs => smbfs}/transport.c                |   4 +-
>>>> fs/{cifs => smbfs}/unc.c                      |   0
>>>> fs/{cifs => smbfs}/winucase.c                 |   0
>>>> fs/{cifs => smbfs}/xattr.c                    |  18 +-
>>>> 91 files changed, 414 insertions(+), 417 deletions(-)
>>>> rename Documentation/admin-guide/{cifs => smbfs}/authors.rst (100%)
>>>> rename Documentation/admin-guide/{cifs => smbfs}/changes.rst (73%)
>>>> rename Documentation/admin-guide/{cifs => smbfs}/index.rst (100%)
>>>> rename Documentation/admin-guide/{cifs => smbfs}/introduction.rst
>>>>(100%)
>>>> rename Documentation/admin-guide/{cifs => smbfs}/todo.rst (95%)
>>>> rename Documentation/admin-guide/{cifs => smbfs}/usage.rst (87%)
>>>> rename Documentation/admin-guide/{cifs => smbfs}/winucase_convert.pl
>>>>(100%)
>>>> rename Documentation/filesystems/{cifs => smbfs}/cifsroot.rst (85%)
>>>> rename Documentation/filesystems/{cifs => smbfs}/index.rst (100%)
>>>> rename Documentation/filesystems/{cifs => smbfs}/ksmbd.rst (99%)
>>>> delete mode 100644 fs/cifs/Makefile
>>>> rename fs/{cifs => smbfs}/Kconfig (72%)
>>>> create mode 100644 fs/smbfs/Makefile
>>>> rename fs/{cifs => smbfs}/asn1.c (100%)
>>>> rename fs/{cifs => smbfs}/cifs_debug.c (96%)
>>>> rename fs/{cifs => smbfs}/cifs_debug.h (98%)
>>>> rename fs/{cifs => smbfs}/cifs_dfs_ref.c (99%)
>>>> rename fs/{cifs => smbfs}/cifs_fs_sb.h (100%)
>>>> rename fs/{cifs => smbfs}/cifs_ioctl.h (100%)
>>>> rename fs/{cifs => smbfs}/cifs_spnego.c (98%)
>>>> rename fs/{cifs => smbfs}/cifs_spnego.h (100%)
>>>> rename fs/{cifs => smbfs}/cifs_spnego_negtokeninit.asn1 (100%)
>>>> rename fs/{cifs => smbfs}/cifs_swn.c (100%)
>>>> rename fs/{cifs => smbfs}/cifs_swn.h (95%)
>>>> rename fs/{cifs => smbfs}/cifs_unicode.c (100%)
>>>> rename fs/{cifs => smbfs}/cifs_unicode.h (100%)
>>>> rename fs/{cifs => smbfs}/cifs_uniupr.h (100%)
>>>> rename fs/{cifs => smbfs}/cifsacl.c (99%)
>>>> rename fs/{cifs => smbfs}/cifsacl.h (100%)
>>>> rename fs/{cifs => smbfs}/cifsencrypt.c (100%)
>>>> rename fs/{cifs => smbfs}/cifsglob.h (99%)
>>>> rename fs/{cifs => smbfs}/cifspdu.h (99%)
>>>> rename fs/{cifs => smbfs}/cifsproto.h (99%)
>>>> rename fs/{cifs => smbfs}/cifsroot.c (100%)
>>>> rename fs/{cifs => smbfs}/cifssmb.c (99%)
>>>> rename fs/{cifs => smbfs}/connect.c (99%)
>>>> rename fs/{cifs/cifsfs.c => smbfs/core.c} (98%)
>>>> rename fs/{cifs => smbfs}/dfs_cache.c (99%)
>>>> rename fs/{cifs => smbfs}/dfs_cache.h (100%)
>>>> rename fs/{cifs => smbfs}/dir.c (99%)
>>>> rename fs/{cifs => smbfs}/dns_resolve.c (100%)
>>>> rename fs/{cifs => smbfs}/dns_resolve.h (100%)
>>>> rename fs/{cifs => smbfs}/export.c (91%)
>>>> rename fs/{cifs => smbfs}/file.c (99%)
>>>> rename fs/{cifs => smbfs}/fs_context.c (99%)
>>>> rename fs/{cifs => smbfs}/fs_context.h (100%)
>>>> rename fs/{cifs => smbfs}/fscache.c (100%)
>>>> rename fs/{cifs => smbfs}/fscache.h (98%)
>>>> rename fs/{cifs => smbfs}/inode.c (99%)
>>>> rename fs/{cifs => smbfs}/ioctl.c (99%)
>>>> rename fs/{cifs => smbfs}/link.c (99%)
>>>> rename fs/{cifs => smbfs}/misc.c (99%)
>>>> rename fs/{cifs => smbfs}/netlink.c (100%)
>>>> rename fs/{cifs => smbfs}/netlink.h (100%)
>>>> rename fs/{cifs => smbfs}/netmisc.c (99%)
>>>> rename fs/{cifs => smbfs}/nterr.c (100%)
>>>> rename fs/{cifs => smbfs}/nterr.h (100%)
>>>> rename fs/{cifs => smbfs}/ntlmssp.h (98%)
>>>> rename fs/{cifs => smbfs}/readdir.c (99%)
>>>> rename fs/{cifs => smbfs}/rfc1002pdu.h (100%)
>>>> rename fs/{cifs => smbfs}/sess.c (99%)
>>>> rename fs/{cifs => smbfs}/smb1ops.c (99%)
>>>> rename fs/{cifs => smbfs}/smb2file.c (99%)
>>>> rename fs/{cifs => smbfs}/smb2glob.h (100%)
>>>> rename fs/{cifs => smbfs}/smb2inode.c (99%)
>>>> rename fs/{cifs => smbfs}/smb2maperror.c (100%)
>>>> rename fs/{cifs => smbfs}/smb2misc.c (100%)
>>>> rename fs/{cifs => smbfs}/smb2ops.c (99%)
>>>> rename fs/{cifs => smbfs}/smb2pdu.c (99%)
>>>> rename fs/{cifs => smbfs}/smb2pdu.h (100%)
>>>> rename fs/{cifs => smbfs}/smb2proto.h (100%)
>>>> rename fs/{cifs => smbfs}/smb2status.h (100%)
>>>> rename fs/{cifs => smbfs}/smb2transport.c (99%)
>>>> rename fs/{cifs => smbfs}/smbdirect.c (100%)
>>>> rename fs/{cifs => smbfs}/smbdirect.h (99%)
>>>> rename fs/{cifs => smbfs}/smbencrypt.c (100%)
>>>> rename fs/{cifs => smbfs}/smberr.h (100%)
>>>> rename fs/{cifs/cifsfs.h => smbfs/smbfs.h} (97%)
>>>> rename fs/{cifs => smbfs}/trace.c (100%)
>>>> rename fs/{cifs => smbfs}/trace.h (100%)
>>>> rename fs/{cifs => smbfs}/transport.c (99%)
>>>> rename fs/{cifs => smbfs}/unc.c (100%)
>>>> rename fs/{cifs => smbfs}/winucase.c (100%)
>>>> rename fs/{cifs => smbfs}/xattr.c (98%)
>>>>
>>>
>>
Jeff Layton Aug. 2, 2022, 2:42 p.m. UTC | #8
On Mon, 2022-08-01 at 16:09 -0300, Enzo Matsumiya wrote:
> Hi,
> 
> As part of the ongoing effort to remove the "cifs" nomenclature from the
> Linux SMB client, I'm proposing the rename of the module to "smbfs".
> 
> As it's widely known, CIFS is associated to SMB1.0, which, in turn, is
> associated with the security issues it presented in the past. Using
> "SMBFS" makes clear what's the protocol in use for outsiders, but also
> unties it from any particular protocol version. It also fits in the
> already existing "fs/smbfs_common" and "fs/ksmbd" naming scheme.
> 
> This short patch series only changes directory names and includes/ifdefs in
> headers and source code, and updates docs to reflect the rename. Other
> than that, no source code/functionality is modified (WIP though).
> 
> Patch 1/3: effectively changes the module name to "smbfs" and create a
> 	   "cifs" module alias to maintain compatibility (a warning
> 	   should be added to indicate the complete removal/isolation of
> 	   CIFS/SMB1.0 code).
> Patch 2/3: rename the source-code directory to align with the new module
> 	   name
> Patch 3/3: update documentation references to "fs/cifs" or "cifs.ko" or
> 	   "cifs module" to use the new name
> 
> Enzo Matsumiya (3):
>   cifs: change module name to "smbfs.ko"
>   smbfs: rename directory "fs/cifs" -> "fs/smbfs"
>   smbfs: update doc references
> 
>  Documentation/admin-guide/index.rst           |   2 +-
>  .../admin-guide/{cifs => smbfs}/authors.rst   |   0
>  .../admin-guide/{cifs => smbfs}/changes.rst   |   4 +-
>  .../admin-guide/{cifs => smbfs}/index.rst     |   0
>  .../{cifs => smbfs}/introduction.rst          |   0
>  .../admin-guide/{cifs => smbfs}/todo.rst      |  12 +-
>  .../admin-guide/{cifs => smbfs}/usage.rst     | 168 +++++++++---------
>  .../{cifs => smbfs}/winucase_convert.pl       |   0
>  Documentation/filesystems/index.rst           |   2 +-
>  .../filesystems/{cifs => smbfs}/cifsroot.rst  |  14 +-
>  .../filesystems/{cifs => smbfs}/index.rst     |   0
>  .../filesystems/{cifs => smbfs}/ksmbd.rst     |   2 +-
>  Documentation/networking/dns_resolver.rst     |   2 +-
>  .../translations/zh_CN/admin-guide/index.rst  |   2 +-
>  .../translations/zh_TW/admin-guide/index.rst  |   2 +-
>  fs/Kconfig                                    |   6 +-
>  fs/Makefile                                   |   2 +-
>  fs/cifs/Makefile                              |  34 ----
>  fs/{cifs => smbfs}/Kconfig                    | 108 +++++------
>  fs/smbfs/Makefile                             |  34 ++++
>  fs/{cifs => smbfs}/asn1.c                     |   0
>  fs/{cifs => smbfs}/cifs_debug.c               |  72 ++++----
>  fs/{cifs => smbfs}/cifs_debug.h               |   4 +-
>  fs/{cifs => smbfs}/cifs_dfs_ref.c             |   2 +-
>  fs/{cifs => smbfs}/cifs_fs_sb.h               |   0
>  fs/{cifs => smbfs}/cifs_ioctl.h               |   0
>  fs/{cifs => smbfs}/cifs_spnego.c              |   4 +-
>  fs/{cifs => smbfs}/cifs_spnego.h              |   0
>  .../cifs_spnego_negtokeninit.asn1             |   0
>  fs/{cifs => smbfs}/cifs_swn.c                 |   0
>  fs/{cifs => smbfs}/cifs_swn.h                 |   4 +-
>  fs/{cifs => smbfs}/cifs_unicode.c             |   0
>  fs/{cifs => smbfs}/cifs_unicode.h             |   0
>  fs/{cifs => smbfs}/cifs_uniupr.h              |   0
>  fs/{cifs => smbfs}/cifsacl.c                  |   6 +-
>  fs/{cifs => smbfs}/cifsacl.h                  |   0
>  fs/{cifs => smbfs}/cifsencrypt.c              |   0
>  fs/{cifs => smbfs}/cifsglob.h                 |  26 +--
>  fs/{cifs => smbfs}/cifspdu.h                  |   6 +-
>  fs/{cifs => smbfs}/cifsproto.h                |  10 +-
>  fs/{cifs => smbfs}/cifsroot.c                 |   0
>  fs/{cifs => smbfs}/cifssmb.c                  |  14 +-
>  fs/{cifs => smbfs}/connect.c                  |  36 ++--
>  fs/{cifs/cifsfs.c => smbfs/core.c}            |  49 ++---
>  fs/{cifs => smbfs}/dfs_cache.c                |   2 +-
>  fs/{cifs => smbfs}/dfs_cache.h                |   0
>  fs/{cifs => smbfs}/dir.c                      |   2 +-
>  fs/{cifs => smbfs}/dns_resolve.c              |   0
>  fs/{cifs => smbfs}/dns_resolve.h              |   0
>  fs/{cifs => smbfs}/export.c                   |   8 +-
>  fs/{cifs => smbfs}/file.c                     |  16 +-
>  fs/{cifs => smbfs}/fs_context.c               |  20 +--
>  fs/{cifs => smbfs}/fs_context.h               |   0
>  fs/{cifs => smbfs}/fscache.c                  |   0
>  fs/{cifs => smbfs}/fscache.h                  |   6 +-
>  fs/{cifs => smbfs}/inode.c                    |  10 +-
>  fs/{cifs => smbfs}/ioctl.c                    |   6 +-
>  fs/{cifs => smbfs}/link.c                     |   2 +-
>  fs/{cifs => smbfs}/misc.c                     |  14 +-
>  fs/{cifs => smbfs}/netlink.c                  |   0
>  fs/{cifs => smbfs}/netlink.h                  |   0
>  fs/{cifs => smbfs}/netmisc.c                  |   2 +-
>  fs/{cifs => smbfs}/nterr.c                    |   0
>  fs/{cifs => smbfs}/nterr.h                    |   0
>  fs/{cifs => smbfs}/ntlmssp.h                  |   2 +-
>  fs/{cifs => smbfs}/readdir.c                  |   4 +-
>  fs/{cifs => smbfs}/rfc1002pdu.h               |   0
>  fs/{cifs => smbfs}/sess.c                     |  10 +-
>  fs/{cifs => smbfs}/smb1ops.c                  |   4 +-
>  fs/{cifs => smbfs}/smb2file.c                 |   2 +-
>  fs/{cifs => smbfs}/smb2glob.h                 |   0
>  fs/{cifs => smbfs}/smb2inode.c                |   2 +-
>  fs/{cifs => smbfs}/smb2maperror.c             |   0
>  fs/{cifs => smbfs}/smb2misc.c                 |   0
>  fs/{cifs => smbfs}/smb2ops.c                  |  32 ++--
>  fs/{cifs => smbfs}/smb2pdu.c                  |  22 +--
>  fs/{cifs => smbfs}/smb2pdu.h                  |   0
>  fs/{cifs => smbfs}/smb2proto.h                |   0
>  fs/{cifs => smbfs}/smb2status.h               |   0
>  fs/{cifs => smbfs}/smb2transport.c            |   2 +-
>  fs/{cifs => smbfs}/smbdirect.c                |   0
>  fs/{cifs => smbfs}/smbdirect.h                |   2 +-
>  fs/{cifs => smbfs}/smbencrypt.c               |   0
>  fs/{cifs => smbfs}/smberr.h                   |   0
>  fs/{cifs/cifsfs.h => smbfs/smbfs.h}           |  12 +-
>  fs/{cifs => smbfs}/trace.c                    |   0
>  fs/{cifs => smbfs}/trace.h                    |   0
>  fs/{cifs => smbfs}/transport.c                |   4 +-
>  fs/{cifs => smbfs}/unc.c                      |   0
>  fs/{cifs => smbfs}/winucase.c                 |   0
>  fs/{cifs => smbfs}/xattr.c                    |  18 +-
>  91 files changed, 414 insertions(+), 417 deletions(-)
>  rename Documentation/admin-guide/{cifs => smbfs}/authors.rst (100%)
>  rename Documentation/admin-guide/{cifs => smbfs}/changes.rst (73%)
>  rename Documentation/admin-guide/{cifs => smbfs}/index.rst (100%)
>  rename Documentation/admin-guide/{cifs => smbfs}/introduction.rst (100%)
>  rename Documentation/admin-guide/{cifs => smbfs}/todo.rst (95%)
>  rename Documentation/admin-guide/{cifs => smbfs}/usage.rst (87%)
>  rename Documentation/admin-guide/{cifs => smbfs}/winucase_convert.pl (100%)
>  rename Documentation/filesystems/{cifs => smbfs}/cifsroot.rst (85%)
>  rename Documentation/filesystems/{cifs => smbfs}/index.rst (100%)
>  rename Documentation/filesystems/{cifs => smbfs}/ksmbd.rst (99%)
>  delete mode 100644 fs/cifs/Makefile
>  rename fs/{cifs => smbfs}/Kconfig (72%)
>  create mode 100644 fs/smbfs/Makefile
>  rename fs/{cifs => smbfs}/asn1.c (100%)
>  rename fs/{cifs => smbfs}/cifs_debug.c (96%)
>  rename fs/{cifs => smbfs}/cifs_debug.h (98%)
>  rename fs/{cifs => smbfs}/cifs_dfs_ref.c (99%)
>  rename fs/{cifs => smbfs}/cifs_fs_sb.h (100%)
>  rename fs/{cifs => smbfs}/cifs_ioctl.h (100%)
>  rename fs/{cifs => smbfs}/cifs_spnego.c (98%)
>  rename fs/{cifs => smbfs}/cifs_spnego.h (100%)
>  rename fs/{cifs => smbfs}/cifs_spnego_negtokeninit.asn1 (100%)
>  rename fs/{cifs => smbfs}/cifs_swn.c (100%)
>  rename fs/{cifs => smbfs}/cifs_swn.h (95%)
>  rename fs/{cifs => smbfs}/cifs_unicode.c (100%)
>  rename fs/{cifs => smbfs}/cifs_unicode.h (100%)
>  rename fs/{cifs => smbfs}/cifs_uniupr.h (100%)
>  rename fs/{cifs => smbfs}/cifsacl.c (99%)
>  rename fs/{cifs => smbfs}/cifsacl.h (100%)
>  rename fs/{cifs => smbfs}/cifsencrypt.c (100%)
>  rename fs/{cifs => smbfs}/cifsglob.h (99%)
>  rename fs/{cifs => smbfs}/cifspdu.h (99%)
>  rename fs/{cifs => smbfs}/cifsproto.h (99%)
>  rename fs/{cifs => smbfs}/cifsroot.c (100%)
>  rename fs/{cifs => smbfs}/cifssmb.c (99%)
>  rename fs/{cifs => smbfs}/connect.c (99%)
>  rename fs/{cifs/cifsfs.c => smbfs/core.c} (98%)
>  rename fs/{cifs => smbfs}/dfs_cache.c (99%)
>  rename fs/{cifs => smbfs}/dfs_cache.h (100%)
>  rename fs/{cifs => smbfs}/dir.c (99%)
>  rename fs/{cifs => smbfs}/dns_resolve.c (100%)
>  rename fs/{cifs => smbfs}/dns_resolve.h (100%)
>  rename fs/{cifs => smbfs}/export.c (91%)
>  rename fs/{cifs => smbfs}/file.c (99%)
>  rename fs/{cifs => smbfs}/fs_context.c (99%)
>  rename fs/{cifs => smbfs}/fs_context.h (100%)
>  rename fs/{cifs => smbfs}/fscache.c (100%)
>  rename fs/{cifs => smbfs}/fscache.h (98%)
>  rename fs/{cifs => smbfs}/inode.c (99%)
>  rename fs/{cifs => smbfs}/ioctl.c (99%)
>  rename fs/{cifs => smbfs}/link.c (99%)
>  rename fs/{cifs => smbfs}/misc.c (99%)
>  rename fs/{cifs => smbfs}/netlink.c (100%)
>  rename fs/{cifs => smbfs}/netlink.h (100%)
>  rename fs/{cifs => smbfs}/netmisc.c (99%)
>  rename fs/{cifs => smbfs}/nterr.c (100%)
>  rename fs/{cifs => smbfs}/nterr.h (100%)
>  rename fs/{cifs => smbfs}/ntlmssp.h (98%)
>  rename fs/{cifs => smbfs}/readdir.c (99%)
>  rename fs/{cifs => smbfs}/rfc1002pdu.h (100%)
>  rename fs/{cifs => smbfs}/sess.c (99%)
>  rename fs/{cifs => smbfs}/smb1ops.c (99%)
>  rename fs/{cifs => smbfs}/smb2file.c (99%)
>  rename fs/{cifs => smbfs}/smb2glob.h (100%)
>  rename fs/{cifs => smbfs}/smb2inode.c (99%)
>  rename fs/{cifs => smbfs}/smb2maperror.c (100%)
>  rename fs/{cifs => smbfs}/smb2misc.c (100%)
>  rename fs/{cifs => smbfs}/smb2ops.c (99%)
>  rename fs/{cifs => smbfs}/smb2pdu.c (99%)
>  rename fs/{cifs => smbfs}/smb2pdu.h (100%)
>  rename fs/{cifs => smbfs}/smb2proto.h (100%)
>  rename fs/{cifs => smbfs}/smb2status.h (100%)
>  rename fs/{cifs => smbfs}/smb2transport.c (99%)
>  rename fs/{cifs => smbfs}/smbdirect.c (100%)
>  rename fs/{cifs => smbfs}/smbdirect.h (99%)
>  rename fs/{cifs => smbfs}/smbencrypt.c (100%)
>  rename fs/{cifs => smbfs}/smberr.h (100%)
>  rename fs/{cifs/cifsfs.h => smbfs/smbfs.h} (97%)
>  rename fs/{cifs => smbfs}/trace.c (100%)
>  rename fs/{cifs => smbfs}/trace.h (100%)
>  rename fs/{cifs => smbfs}/transport.c (99%)
>  rename fs/{cifs => smbfs}/unc.c (100%)
>  rename fs/{cifs => smbfs}/winucase.c (100%)
>  rename fs/{cifs => smbfs}/xattr.c (98%)
> 


Why do this? My inclination is to say NAK here.

This seems like a lot of change for not a lot of benefit. Renaming the
directory like this pretty much guarantees that backporting patches
after this change to kernels that existed before it will be very
difficult.

Also, bear in mind that there used to be an smbfs in the kernel that
predated cifs.ko. That was removed ~2010 though, which is long enough
ago that it shouldn't produce conflicts in currently shipping releases.
Steve French Aug. 2, 2022, 3:35 p.m. UTC | #9
What about just "fs/smb" but "fs/smb_client" is also a possibility -
but I agree "fs/smbfs" could get confusing due to the very old module
that was removed more than 10 years ago

On Tue, Aug 2, 2022 at 8:52 AM Enzo Matsumiya <ematsumiya@suse.de> wrote:
>
> On 08/01, Tom Talpey wrote:
> >On 8/1/2022 4:14 PM, Enzo Matsumiya wrote:
> >>On 08/01, Rowland Penny wrote:
> >>>On Mon, 2022-08-01 at 16:09 -0300, Enzo Matsumiya via samba-technical
> >>>wrote:
> >>>>Hi,
> >>>>
> >>>>As part of the ongoing effort to remove the "cifs" nomenclature from
> >>>>the
> >>>>Linux SMB client, I'm proposing the rename of the module to "smbfs".
> >>>
> >>>Hi, this has absolutely nothing to do with myself, but Linux used
> >>>'smbfs' before it started to use 'cifs', so you are going back to an
> >>>old term. This could be confusing.
> >>
> >>Hi Rowland, I'm aware of that. I had nothing to do with either
> >>(choosing initial "smbfs" nor "cifs"), but, IMHO, I think it should've
> >>stayed "smbfs". And TBH this is the most coherent name, of all
> >
> >I dug around the old tarballs and it looks like fs/smbfs was pulled from
> >the kernel after 2.6.36, in early 2011. This was different from fs/cifs,
> >which entered the kernel much earlier, so they previously coexisted.
> >
> >I don't think the name ambiguity is very important, but I do wonder if
> >git might uncover some conflicts, when a previously removed directory
> >suddenly reappears with new content? There wasn't a lot in fs/smbfs
> >though.
>
> I haven't considered that.
> Doing a "git log --follow -- fs/smbfs" does show the older commits for
> before the previous migration/rename:
>
> ----
> commit 1e20c73a2935be2d9f19ebc63ddee1afccc42b07
> Author: Enzo Matsumiya <ematsumiya@suse.de>
> Date:   Mon Aug 1 15:05:23 2022 -0300
>
>      smbfs: rename directory "fs/cifs" -> "fs/smbfs"
>
>      Update fs/Kconfig and fs/Makefile to reflect the change.
>
>      Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de>
>
> commit be9eee2e8b87e335531a3ae13abb8d26e834c438
> Author: Christoph Hellwig <hch@infradead.org>
> Date:   Sun Oct 10 05:36:29 2010 -0400
>
>      smbfs: use dget_parent
>
>      Use dget_parent instead of opencoding it.  This simplifies the code, but
>      more importanly prepares for the more complicated locking for a parent
>      dget in the dcache scale patch series.
>
>      Note that the d_time assignment in smb_renew_times moves out of d_lock,
>      but it's a single atomic 32-bit value, and that's what other sites
>      setting it do already.
>
>      Signed-off-by: Christoph Hellwig <hch@lst.de>
>      Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
> ...
> ----
>
> I don't know if that would cause a real problem though, someone more
> experienced with renaming modules/directories could provide their
> opinion.
>
> Could we have an empty commit between old commits and the new rename to
> serve as a marker maybe?
>
> >Either way, I think the module name is the question here, and it doesn't
> >have to be the same as the directory. I still prefer smbfs.
> >
> >Another possibility for the directory is "ksmb", which might rhyme with
> >the server, and keep it close alphabetically too? OTOH it might be
> >confusing to have two similar names.
>
> My original idea of "ideal" was to have:
>
> fs/smbfs/
> fs/smbfs/common
> fs/smbfs/client
> fs/smbfs/server
>
> Which aligns with e.g., drivers/nvme/ that has host/ and target/ subdirs
> to accomodate client and server code. This would make things way more
> manageable given the quantity of shared code between cifs.ko and
> ksmbd.ko.
>
> Another option is:
> fs/smbfs_client/
> fs/smbfs_common/ (already existing)
> fs/smbfs_server/
>
> But, personally, I'm not really a fan of the underscores.
>
> My 2c only though.
> Thoughts?
>
> >And sorry but I hate the idea of adding "-client". Should we rename
> >ksmbd to smb-server?? I don't think so.
>
> Agreed.
>
> >Tom.
>
> Cheers,
>
> Enzo
>
> >>available/known choices; you know the protocol (SMB), you know it isn't
> >>tied to any SMB version ("cifs", or "smb3" as sometimes suggested or
> >>used (as a module alias)), it's a Linux filesystem module ("FS").
> >>
> >>Also the "fs/smbfs_common" directory was renamed as recent as last year
> >>(from "cifs_common") (cf. commit 23e91d8b7).
> >>
> >>>Rowland
> >>
> >>Thanks for the input, though. As an RFC patch, I'm waiting for more
> >>feedback and suggestions.
> >>
> >>
> >>Cheers,
> >>
> >>Enzo
> >>
> >>>>
> >>>>As it's widely known, CIFS is associated to SMB1.0, which, in turn,
> >>>>is
> >>>>associated with the security issues it presented in the past. Using
> >>>>"SMBFS" makes clear what's the protocol in use for outsiders, but
> >>>>also
> >>>>unties it from any particular protocol version. It also fits in the
> >>>>already existing "fs/smbfs_common" and "fs/ksmbd" naming scheme.
> >>>>
> >>>>This short patch series only changes directory names and
> >>>>includes/ifdefs in
> >>>>headers and source code, and updates docs to reflect the rename.
> >>>>Other
> >>>>than that, no source code/functionality is modified (WIP though).
> >>>>
> >>>>Patch 1/3: effectively changes the module name to "smbfs" and create
> >>>>a
> >>>>       "cifs" module alias to maintain compatibility (a warning
> >>>>       should be added to indicate the complete removal/isolation
> >>>>of
> >>>>       CIFS/SMB1.0 code).
> >>>>Patch 2/3: rename the source-code directory to align with the new
> >>>>module
> >>>>       name
> >>>>Patch 3/3: update documentation references to "fs/cifs" or "cifs.ko"
> >>>>or
> >>>>       "cifs module" to use the new name
> >>>>
> >>>>Enzo Matsumiya (3):
> >>>>  cifs: change module name to "smbfs.ko"
> >>>>  smbfs: rename directory "fs/cifs" -> "fs/smbfs"
> >>>>  smbfs: update doc references
> >>>>
> >>>> Documentation/admin-guide/index.rst           |   2 +-
> >>>> .../admin-guide/{cifs => smbfs}/authors.rst   |   0
> >>>> .../admin-guide/{cifs => smbfs}/changes.rst   |   4 +-
> >>>> .../admin-guide/{cifs => smbfs}/index.rst     |   0
> >>>> .../{cifs => smbfs}/introduction.rst          |   0
> >>>> .../admin-guide/{cifs => smbfs}/todo.rst      |  12 +-
> >>>> .../admin-guide/{cifs => smbfs}/usage.rst     | 168 +++++++++-------
> >>>>--
> >>>> .../{cifs => smbfs}/winucase_convert.pl       |   0
> >>>> Documentation/filesystems/index.rst           |   2 +-
> >>>> .../filesystems/{cifs => smbfs}/cifsroot.rst  |  14 +-
> >>>> .../filesystems/{cifs => smbfs}/index.rst     |   0
> >>>> .../filesystems/{cifs => smbfs}/ksmbd.rst     |   2 +-
> >>>> Documentation/networking/dns_resolver.rst     |   2 +-
> >>>> .../translations/zh_CN/admin-guide/index.rst  |   2 +-
> >>>> .../translations/zh_TW/admin-guide/index.rst  |   2 +-
> >>>> fs/Kconfig                                    |   6 +-
> >>>> fs/Makefile                                   |   2 +-
> >>>> fs/cifs/Makefile                              |  34 ----
> >>>> fs/{cifs => smbfs}/Kconfig                    | 108 +++++------
> >>>> fs/smbfs/Makefile                             |  34 ++++
> >>>> fs/{cifs => smbfs}/asn1.c                     |   0
> >>>> fs/{cifs => smbfs}/cifs_debug.c               |  72 ++++----
> >>>> fs/{cifs => smbfs}/cifs_debug.h               |   4 +-
> >>>> fs/{cifs => smbfs}/cifs_dfs_ref.c             |   2 +-
> >>>> fs/{cifs => smbfs}/cifs_fs_sb.h               |   0
> >>>> fs/{cifs => smbfs}/cifs_ioctl.h               |   0
> >>>> fs/{cifs => smbfs}/cifs_spnego.c              |   4 +-
> >>>> fs/{cifs => smbfs}/cifs_spnego.h              |   0
> >>>> .../cifs_spnego_negtokeninit.asn1             |   0
> >>>> fs/{cifs => smbfs}/cifs_swn.c                 |   0
> >>>> fs/{cifs => smbfs}/cifs_swn.h                 |   4 +-
> >>>> fs/{cifs => smbfs}/cifs_unicode.c             |   0
> >>>> fs/{cifs => smbfs}/cifs_unicode.h             |   0
> >>>> fs/{cifs => smbfs}/cifs_uniupr.h              |   0
> >>>> fs/{cifs => smbfs}/cifsacl.c                  |   6 +-
> >>>> fs/{cifs => smbfs}/cifsacl.h                  |   0
> >>>> fs/{cifs => smbfs}/cifsencrypt.c              |   0
> >>>> fs/{cifs => smbfs}/cifsglob.h                 |  26 +--
> >>>> fs/{cifs => smbfs}/cifspdu.h                  |   6 +-
> >>>> fs/{cifs => smbfs}/cifsproto.h                |  10 +-
> >>>> fs/{cifs => smbfs}/cifsroot.c                 |   0
> >>>> fs/{cifs => smbfs}/cifssmb.c                  |  14 +-
> >>>> fs/{cifs => smbfs}/connect.c                  |  36 ++--
> >>>> fs/{cifs/cifsfs.c => smbfs/core.c}            |  49 ++---
> >>>> fs/{cifs => smbfs}/dfs_cache.c                |   2 +-
> >>>> fs/{cifs => smbfs}/dfs_cache.h                |   0
> >>>> fs/{cifs => smbfs}/dir.c                      |   2 +-
> >>>> fs/{cifs => smbfs}/dns_resolve.c              |   0
> >>>> fs/{cifs => smbfs}/dns_resolve.h              |   0
> >>>> fs/{cifs => smbfs}/export.c                   |   8 +-
> >>>> fs/{cifs => smbfs}/file.c                     |  16 +-
> >>>> fs/{cifs => smbfs}/fs_context.c               |  20 +--
> >>>> fs/{cifs => smbfs}/fs_context.h               |   0
> >>>> fs/{cifs => smbfs}/fscache.c                  |   0
> >>>> fs/{cifs => smbfs}/fscache.h                  |   6 +-
> >>>> fs/{cifs => smbfs}/inode.c                    |  10 +-
> >>>> fs/{cifs => smbfs}/ioctl.c                    |   6 +-
> >>>> fs/{cifs => smbfs}/link.c                     |   2 +-
> >>>> fs/{cifs => smbfs}/misc.c                     |  14 +-
> >>>> fs/{cifs => smbfs}/netlink.c                  |   0
> >>>> fs/{cifs => smbfs}/netlink.h                  |   0
> >>>> fs/{cifs => smbfs}/netmisc.c                  |   2 +-
> >>>> fs/{cifs => smbfs}/nterr.c                    |   0
> >>>> fs/{cifs => smbfs}/nterr.h                    |   0
> >>>> fs/{cifs => smbfs}/ntlmssp.h                  |   2 +-
> >>>> fs/{cifs => smbfs}/readdir.c                  |   4 +-
> >>>> fs/{cifs => smbfs}/rfc1002pdu.h               |   0
> >>>> fs/{cifs => smbfs}/sess.c                     |  10 +-
> >>>> fs/{cifs => smbfs}/smb1ops.c                  |   4 +-
> >>>> fs/{cifs => smbfs}/smb2file.c                 |   2 +-
> >>>> fs/{cifs => smbfs}/smb2glob.h                 |   0
> >>>> fs/{cifs => smbfs}/smb2inode.c                |   2 +-
> >>>> fs/{cifs => smbfs}/smb2maperror.c             |   0
> >>>> fs/{cifs => smbfs}/smb2misc.c                 |   0
> >>>> fs/{cifs => smbfs}/smb2ops.c                  |  32 ++--
> >>>> fs/{cifs => smbfs}/smb2pdu.c                  |  22 +--
> >>>> fs/{cifs => smbfs}/smb2pdu.h                  |   0
> >>>> fs/{cifs => smbfs}/smb2proto.h                |   0
> >>>> fs/{cifs => smbfs}/smb2status.h               |   0
> >>>> fs/{cifs => smbfs}/smb2transport.c            |   2 +-
> >>>> fs/{cifs => smbfs}/smbdirect.c                |   0
> >>>> fs/{cifs => smbfs}/smbdirect.h                |   2 +-
> >>>> fs/{cifs => smbfs}/smbencrypt.c               |   0
> >>>> fs/{cifs => smbfs}/smberr.h                   |   0
> >>>> fs/{cifs/cifsfs.h => smbfs/smbfs.h}           |  12 +-
> >>>> fs/{cifs => smbfs}/trace.c                    |   0
> >>>> fs/{cifs => smbfs}/trace.h                    |   0
> >>>> fs/{cifs => smbfs}/transport.c                |   4 +-
> >>>> fs/{cifs => smbfs}/unc.c                      |   0
> >>>> fs/{cifs => smbfs}/winucase.c                 |   0
> >>>> fs/{cifs => smbfs}/xattr.c                    |  18 +-
> >>>> 91 files changed, 414 insertions(+), 417 deletions(-)
> >>>> rename Documentation/admin-guide/{cifs => smbfs}/authors.rst (100%)
> >>>> rename Documentation/admin-guide/{cifs => smbfs}/changes.rst (73%)
> >>>> rename Documentation/admin-guide/{cifs => smbfs}/index.rst (100%)
> >>>> rename Documentation/admin-guide/{cifs => smbfs}/introduction.rst
> >>>>(100%)
> >>>> rename Documentation/admin-guide/{cifs => smbfs}/todo.rst (95%)
> >>>> rename Documentation/admin-guide/{cifs => smbfs}/usage.rst (87%)
> >>>> rename Documentation/admin-guide/{cifs => smbfs}/winucase_convert.pl
> >>>>(100%)
> >>>> rename Documentation/filesystems/{cifs => smbfs}/cifsroot.rst (85%)
> >>>> rename Documentation/filesystems/{cifs => smbfs}/index.rst (100%)
> >>>> rename Documentation/filesystems/{cifs => smbfs}/ksmbd.rst (99%)
> >>>> delete mode 100644 fs/cifs/Makefile
> >>>> rename fs/{cifs => smbfs}/Kconfig (72%)
> >>>> create mode 100644 fs/smbfs/Makefile
> >>>> rename fs/{cifs => smbfs}/asn1.c (100%)
> >>>> rename fs/{cifs => smbfs}/cifs_debug.c (96%)
> >>>> rename fs/{cifs => smbfs}/cifs_debug.h (98%)
> >>>> rename fs/{cifs => smbfs}/cifs_dfs_ref.c (99%)
> >>>> rename fs/{cifs => smbfs}/cifs_fs_sb.h (100%)
> >>>> rename fs/{cifs => smbfs}/cifs_ioctl.h (100%)
> >>>> rename fs/{cifs => smbfs}/cifs_spnego.c (98%)
> >>>> rename fs/{cifs => smbfs}/cifs_spnego.h (100%)
> >>>> rename fs/{cifs => smbfs}/cifs_spnego_negtokeninit.asn1 (100%)
> >>>> rename fs/{cifs => smbfs}/cifs_swn.c (100%)
> >>>> rename fs/{cifs => smbfs}/cifs_swn.h (95%)
> >>>> rename fs/{cifs => smbfs}/cifs_unicode.c (100%)
> >>>> rename fs/{cifs => smbfs}/cifs_unicode.h (100%)
> >>>> rename fs/{cifs => smbfs}/cifs_uniupr.h (100%)
> >>>> rename fs/{cifs => smbfs}/cifsacl.c (99%)
> >>>> rename fs/{cifs => smbfs}/cifsacl.h (100%)
> >>>> rename fs/{cifs => smbfs}/cifsencrypt.c (100%)
> >>>> rename fs/{cifs => smbfs}/cifsglob.h (99%)
> >>>> rename fs/{cifs => smbfs}/cifspdu.h (99%)
> >>>> rename fs/{cifs => smbfs}/cifsproto.h (99%)
> >>>> rename fs/{cifs => smbfs}/cifsroot.c (100%)
> >>>> rename fs/{cifs => smbfs}/cifssmb.c (99%)
> >>>> rename fs/{cifs => smbfs}/connect.c (99%)
> >>>> rename fs/{cifs/cifsfs.c => smbfs/core.c} (98%)
> >>>> rename fs/{cifs => smbfs}/dfs_cache.c (99%)
> >>>> rename fs/{cifs => smbfs}/dfs_cache.h (100%)
> >>>> rename fs/{cifs => smbfs}/dir.c (99%)
> >>>> rename fs/{cifs => smbfs}/dns_resolve.c (100%)
> >>>> rename fs/{cifs => smbfs}/dns_resolve.h (100%)
> >>>> rename fs/{cifs => smbfs}/export.c (91%)
> >>>> rename fs/{cifs => smbfs}/file.c (99%)
> >>>> rename fs/{cifs => smbfs}/fs_context.c (99%)
> >>>> rename fs/{cifs => smbfs}/fs_context.h (100%)
> >>>> rename fs/{cifs => smbfs}/fscache.c (100%)
> >>>> rename fs/{cifs => smbfs}/fscache.h (98%)
> >>>> rename fs/{cifs => smbfs}/inode.c (99%)
> >>>> rename fs/{cifs => smbfs}/ioctl.c (99%)
> >>>> rename fs/{cifs => smbfs}/link.c (99%)
> >>>> rename fs/{cifs => smbfs}/misc.c (99%)
> >>>> rename fs/{cifs => smbfs}/netlink.c (100%)
> >>>> rename fs/{cifs => smbfs}/netlink.h (100%)
> >>>> rename fs/{cifs => smbfs}/netmisc.c (99%)
> >>>> rename fs/{cifs => smbfs}/nterr.c (100%)
> >>>> rename fs/{cifs => smbfs}/nterr.h (100%)
> >>>> rename fs/{cifs => smbfs}/ntlmssp.h (98%)
> >>>> rename fs/{cifs => smbfs}/readdir.c (99%)
> >>>> rename fs/{cifs => smbfs}/rfc1002pdu.h (100%)
> >>>> rename fs/{cifs => smbfs}/sess.c (99%)
> >>>> rename fs/{cifs => smbfs}/smb1ops.c (99%)
> >>>> rename fs/{cifs => smbfs}/smb2file.c (99%)
> >>>> rename fs/{cifs => smbfs}/smb2glob.h (100%)
> >>>> rename fs/{cifs => smbfs}/smb2inode.c (99%)
> >>>> rename fs/{cifs => smbfs}/smb2maperror.c (100%)
> >>>> rename fs/{cifs => smbfs}/smb2misc.c (100%)
> >>>> rename fs/{cifs => smbfs}/smb2ops.c (99%)
> >>>> rename fs/{cifs => smbfs}/smb2pdu.c (99%)
> >>>> rename fs/{cifs => smbfs}/smb2pdu.h (100%)
> >>>> rename fs/{cifs => smbfs}/smb2proto.h (100%)
> >>>> rename fs/{cifs => smbfs}/smb2status.h (100%)
> >>>> rename fs/{cifs => smbfs}/smb2transport.c (99%)
> >>>> rename fs/{cifs => smbfs}/smbdirect.c (100%)
> >>>> rename fs/{cifs => smbfs}/smbdirect.h (99%)
> >>>> rename fs/{cifs => smbfs}/smbencrypt.c (100%)
> >>>> rename fs/{cifs => smbfs}/smberr.h (100%)
> >>>> rename fs/{cifs/cifsfs.h => smbfs/smbfs.h} (97%)
> >>>> rename fs/{cifs => smbfs}/trace.c (100%)
> >>>> rename fs/{cifs => smbfs}/trace.h (100%)
> >>>> rename fs/{cifs => smbfs}/transport.c (99%)
> >>>> rename fs/{cifs => smbfs}/unc.c (100%)
> >>>> rename fs/{cifs => smbfs}/winucase.c (100%)
> >>>> rename fs/{cifs => smbfs}/xattr.c (98%)
> >>>>
> >>>
> >>
Enzo Matsumiya Aug. 2, 2022, 3:58 p.m. UTC | #10
On 08/02, Steve French wrote:
>What about just "fs/smb" but "fs/smb_client" is also a possibility -
>but I agree "fs/smbfs" could get confusing due to the very old module
>that was removed more than 10 years ago

IMHO "fs/smb" is better than "fs/smb_client".

Let me know if it's ok to resubmit a v2 of this rename series.

Also, do we keep the module name as smbfs.ko?

>On Tue, Aug 2, 2022 at 8:52 AM Enzo Matsumiya <ematsumiya@suse.de> wrote:
>>
>> On 08/01, Tom Talpey wrote:
>> >On 8/1/2022 4:14 PM, Enzo Matsumiya wrote:
>> >>On 08/01, Rowland Penny wrote:
>> >>>On Mon, 2022-08-01 at 16:09 -0300, Enzo Matsumiya via samba-technical
>> >>>wrote:
>> >>>>Hi,
>> >>>>
>> >>>>As part of the ongoing effort to remove the "cifs" nomenclature from
>> >>>>the
>> >>>>Linux SMB client, I'm proposing the rename of the module to "smbfs".
>> >>>
>> >>>Hi, this has absolutely nothing to do with myself, but Linux used
>> >>>'smbfs' before it started to use 'cifs', so you are going back to an
>> >>>old term. This could be confusing.
>> >>
>> >>Hi Rowland, I'm aware of that. I had nothing to do with either
>> >>(choosing initial "smbfs" nor "cifs"), but, IMHO, I think it should've
>> >>stayed "smbfs". And TBH this is the most coherent name, of all
>> >
>> >I dug around the old tarballs and it looks like fs/smbfs was pulled from
>> >the kernel after 2.6.36, in early 2011. This was different from fs/cifs,
>> >which entered the kernel much earlier, so they previously coexisted.
>> >
>> >I don't think the name ambiguity is very important, but I do wonder if
>> >git might uncover some conflicts, when a previously removed directory
>> >suddenly reappears with new content? There wasn't a lot in fs/smbfs
>> >though.
>>
>> I haven't considered that.
>> Doing a "git log --follow -- fs/smbfs" does show the older commits for
>> before the previous migration/rename:
>>
>> ----
>> commit 1e20c73a2935be2d9f19ebc63ddee1afccc42b07
>> Author: Enzo Matsumiya <ematsumiya@suse.de>
>> Date:   Mon Aug 1 15:05:23 2022 -0300
>>
>>      smbfs: rename directory "fs/cifs" -> "fs/smbfs"
>>
>>      Update fs/Kconfig and fs/Makefile to reflect the change.
>>
>>      Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de>
>>
>> commit be9eee2e8b87e335531a3ae13abb8d26e834c438
>> Author: Christoph Hellwig <hch@infradead.org>
>> Date:   Sun Oct 10 05:36:29 2010 -0400
>>
>>      smbfs: use dget_parent
>>
>>      Use dget_parent instead of opencoding it.  This simplifies the code, but
>>      more importanly prepares for the more complicated locking for a parent
>>      dget in the dcache scale patch series.
>>
>>      Note that the d_time assignment in smb_renew_times moves out of d_lock,
>>      but it's a single atomic 32-bit value, and that's what other sites
>>      setting it do already.
>>
>>      Signed-off-by: Christoph Hellwig <hch@lst.de>
>>      Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
>> ...
>> ----
>>
>> I don't know if that would cause a real problem though, someone more
>> experienced with renaming modules/directories could provide their
>> opinion.
>>
>> Could we have an empty commit between old commits and the new rename to
>> serve as a marker maybe?
>>
>> >Either way, I think the module name is the question here, and it doesn't
>> >have to be the same as the directory. I still prefer smbfs.
>> >
>> >Another possibility for the directory is "ksmb", which might rhyme with
>> >the server, and keep it close alphabetically too? OTOH it might be
>> >confusing to have two similar names.
>>
>> My original idea of "ideal" was to have:
>>
>> fs/smbfs/
>> fs/smbfs/common
>> fs/smbfs/client
>> fs/smbfs/server
>>
>> Which aligns with e.g., drivers/nvme/ that has host/ and target/ subdirs
>> to accomodate client and server code. This would make things way more
>> manageable given the quantity of shared code between cifs.ko and
>> ksmbd.ko.
>>
>> Another option is:
>> fs/smbfs_client/
>> fs/smbfs_common/ (already existing)
>> fs/smbfs_server/
>>
>> But, personally, I'm not really a fan of the underscores.
>>
>> My 2c only though.
>> Thoughts?
>>
>> >And sorry but I hate the idea of adding "-client". Should we rename
>> >ksmbd to smb-server?? I don't think so.
>>
>> Agreed.
>>
>> >Tom.
>>
>> Cheers,
>>
>> Enzo
>>
>> >>available/known choices; you know the protocol (SMB), you know it isn't
>> >>tied to any SMB version ("cifs", or "smb3" as sometimes suggested or
>> >>used (as a module alias)), it's a Linux filesystem module ("FS").
>> >>
>> >>Also the "fs/smbfs_common" directory was renamed as recent as last year
>> >>(from "cifs_common") (cf. commit 23e91d8b7).
>> >>
>> >>>Rowland
>> >>
>> >>Thanks for the input, though. As an RFC patch, I'm waiting for more
>> >>feedback and suggestions.
>> >>
>> >>
>> >>Cheers,
>> >>
>> >>Enzo
>> >>
>> >>>>
>> >>>>As it's widely known, CIFS is associated to SMB1.0, which, in turn,
>> >>>>is
>> >>>>associated with the security issues it presented in the past. Using
>> >>>>"SMBFS" makes clear what's the protocol in use for outsiders, but
>> >>>>also
>> >>>>unties it from any particular protocol version. It also fits in the
>> >>>>already existing "fs/smbfs_common" and "fs/ksmbd" naming scheme.
>> >>>>
>> >>>>This short patch series only changes directory names and
>> >>>>includes/ifdefs in
>> >>>>headers and source code, and updates docs to reflect the rename.
>> >>>>Other
>> >>>>than that, no source code/functionality is modified (WIP though).
>> >>>>
>> >>>>Patch 1/3: effectively changes the module name to "smbfs" and create
>> >>>>a
>> >>>>       "cifs" module alias to maintain compatibility (a warning
>> >>>>       should be added to indicate the complete removal/isolation
>> >>>>of
>> >>>>       CIFS/SMB1.0 code).
>> >>>>Patch 2/3: rename the source-code directory to align with the new
>> >>>>module
>> >>>>       name
>> >>>>Patch 3/3: update documentation references to "fs/cifs" or "cifs.ko"
>> >>>>or
>> >>>>       "cifs module" to use the new name
>> >>>>
>> >>>>Enzo Matsumiya (3):
>> >>>>  cifs: change module name to "smbfs.ko"
>> >>>>  smbfs: rename directory "fs/cifs" -> "fs/smbfs"
>> >>>>  smbfs: update doc references
>> >>>>
>> >>>> Documentation/admin-guide/index.rst           |   2 +-
>> >>>> .../admin-guide/{cifs => smbfs}/authors.rst   |   0
>> >>>> .../admin-guide/{cifs => smbfs}/changes.rst   |   4 +-
>> >>>> .../admin-guide/{cifs => smbfs}/index.rst     |   0
>> >>>> .../{cifs => smbfs}/introduction.rst          |   0
>> >>>> .../admin-guide/{cifs => smbfs}/todo.rst      |  12 +-
>> >>>> .../admin-guide/{cifs => smbfs}/usage.rst     | 168 +++++++++-------
>> >>>>--
>> >>>> .../{cifs => smbfs}/winucase_convert.pl       |   0
>> >>>> Documentation/filesystems/index.rst           |   2 +-
>> >>>> .../filesystems/{cifs => smbfs}/cifsroot.rst  |  14 +-
>> >>>> .../filesystems/{cifs => smbfs}/index.rst     |   0
>> >>>> .../filesystems/{cifs => smbfs}/ksmbd.rst     |   2 +-
>> >>>> Documentation/networking/dns_resolver.rst     |   2 +-
>> >>>> .../translations/zh_CN/admin-guide/index.rst  |   2 +-
>> >>>> .../translations/zh_TW/admin-guide/index.rst  |   2 +-
>> >>>> fs/Kconfig                                    |   6 +-
>> >>>> fs/Makefile                                   |   2 +-
>> >>>> fs/cifs/Makefile                              |  34 ----
>> >>>> fs/{cifs => smbfs}/Kconfig                    | 108 +++++------
>> >>>> fs/smbfs/Makefile                             |  34 ++++
>> >>>> fs/{cifs => smbfs}/asn1.c                     |   0
>> >>>> fs/{cifs => smbfs}/cifs_debug.c               |  72 ++++----
>> >>>> fs/{cifs => smbfs}/cifs_debug.h               |   4 +-
>> >>>> fs/{cifs => smbfs}/cifs_dfs_ref.c             |   2 +-
>> >>>> fs/{cifs => smbfs}/cifs_fs_sb.h               |   0
>> >>>> fs/{cifs => smbfs}/cifs_ioctl.h               |   0
>> >>>> fs/{cifs => smbfs}/cifs_spnego.c              |   4 +-
>> >>>> fs/{cifs => smbfs}/cifs_spnego.h              |   0
>> >>>> .../cifs_spnego_negtokeninit.asn1             |   0
>> >>>> fs/{cifs => smbfs}/cifs_swn.c                 |   0
>> >>>> fs/{cifs => smbfs}/cifs_swn.h                 |   4 +-
>> >>>> fs/{cifs => smbfs}/cifs_unicode.c             |   0
>> >>>> fs/{cifs => smbfs}/cifs_unicode.h             |   0
>> >>>> fs/{cifs => smbfs}/cifs_uniupr.h              |   0
>> >>>> fs/{cifs => smbfs}/cifsacl.c                  |   6 +-
>> >>>> fs/{cifs => smbfs}/cifsacl.h                  |   0
>> >>>> fs/{cifs => smbfs}/cifsencrypt.c              |   0
>> >>>> fs/{cifs => smbfs}/cifsglob.h                 |  26 +--
>> >>>> fs/{cifs => smbfs}/cifspdu.h                  |   6 +-
>> >>>> fs/{cifs => smbfs}/cifsproto.h                |  10 +-
>> >>>> fs/{cifs => smbfs}/cifsroot.c                 |   0
>> >>>> fs/{cifs => smbfs}/cifssmb.c                  |  14 +-
>> >>>> fs/{cifs => smbfs}/connect.c                  |  36 ++--
>> >>>> fs/{cifs/cifsfs.c => smbfs/core.c}            |  49 ++---
>> >>>> fs/{cifs => smbfs}/dfs_cache.c                |   2 +-
>> >>>> fs/{cifs => smbfs}/dfs_cache.h                |   0
>> >>>> fs/{cifs => smbfs}/dir.c                      |   2 +-
>> >>>> fs/{cifs => smbfs}/dns_resolve.c              |   0
>> >>>> fs/{cifs => smbfs}/dns_resolve.h              |   0
>> >>>> fs/{cifs => smbfs}/export.c                   |   8 +-
>> >>>> fs/{cifs => smbfs}/file.c                     |  16 +-
>> >>>> fs/{cifs => smbfs}/fs_context.c               |  20 +--
>> >>>> fs/{cifs => smbfs}/fs_context.h               |   0
>> >>>> fs/{cifs => smbfs}/fscache.c                  |   0
>> >>>> fs/{cifs => smbfs}/fscache.h                  |   6 +-
>> >>>> fs/{cifs => smbfs}/inode.c                    |  10 +-
>> >>>> fs/{cifs => smbfs}/ioctl.c                    |   6 +-
>> >>>> fs/{cifs => smbfs}/link.c                     |   2 +-
>> >>>> fs/{cifs => smbfs}/misc.c                     |  14 +-
>> >>>> fs/{cifs => smbfs}/netlink.c                  |   0
>> >>>> fs/{cifs => smbfs}/netlink.h                  |   0
>> >>>> fs/{cifs => smbfs}/netmisc.c                  |   2 +-
>> >>>> fs/{cifs => smbfs}/nterr.c                    |   0
>> >>>> fs/{cifs => smbfs}/nterr.h                    |   0
>> >>>> fs/{cifs => smbfs}/ntlmssp.h                  |   2 +-
>> >>>> fs/{cifs => smbfs}/readdir.c                  |   4 +-
>> >>>> fs/{cifs => smbfs}/rfc1002pdu.h               |   0
>> >>>> fs/{cifs => smbfs}/sess.c                     |  10 +-
>> >>>> fs/{cifs => smbfs}/smb1ops.c                  |   4 +-
>> >>>> fs/{cifs => smbfs}/smb2file.c                 |   2 +-
>> >>>> fs/{cifs => smbfs}/smb2glob.h                 |   0
>> >>>> fs/{cifs => smbfs}/smb2inode.c                |   2 +-
>> >>>> fs/{cifs => smbfs}/smb2maperror.c             |   0
>> >>>> fs/{cifs => smbfs}/smb2misc.c                 |   0
>> >>>> fs/{cifs => smbfs}/smb2ops.c                  |  32 ++--
>> >>>> fs/{cifs => smbfs}/smb2pdu.c                  |  22 +--
>> >>>> fs/{cifs => smbfs}/smb2pdu.h                  |   0
>> >>>> fs/{cifs => smbfs}/smb2proto.h                |   0
>> >>>> fs/{cifs => smbfs}/smb2status.h               |   0
>> >>>> fs/{cifs => smbfs}/smb2transport.c            |   2 +-
>> >>>> fs/{cifs => smbfs}/smbdirect.c                |   0
>> >>>> fs/{cifs => smbfs}/smbdirect.h                |   2 +-
>> >>>> fs/{cifs => smbfs}/smbencrypt.c               |   0
>> >>>> fs/{cifs => smbfs}/smberr.h                   |   0
>> >>>> fs/{cifs/cifsfs.h => smbfs/smbfs.h}           |  12 +-
>> >>>> fs/{cifs => smbfs}/trace.c                    |   0
>> >>>> fs/{cifs => smbfs}/trace.h                    |   0
>> >>>> fs/{cifs => smbfs}/transport.c                |   4 +-
>> >>>> fs/{cifs => smbfs}/unc.c                      |   0
>> >>>> fs/{cifs => smbfs}/winucase.c                 |   0
>> >>>> fs/{cifs => smbfs}/xattr.c                    |  18 +-
>> >>>> 91 files changed, 414 insertions(+), 417 deletions(-)
>> >>>> rename Documentation/admin-guide/{cifs => smbfs}/authors.rst (100%)
>> >>>> rename Documentation/admin-guide/{cifs => smbfs}/changes.rst (73%)
>> >>>> rename Documentation/admin-guide/{cifs => smbfs}/index.rst (100%)
>> >>>> rename Documentation/admin-guide/{cifs => smbfs}/introduction.rst
>> >>>>(100%)
>> >>>> rename Documentation/admin-guide/{cifs => smbfs}/todo.rst (95%)
>> >>>> rename Documentation/admin-guide/{cifs => smbfs}/usage.rst (87%)
>> >>>> rename Documentation/admin-guide/{cifs => smbfs}/winucase_convert.pl
>> >>>>(100%)
>> >>>> rename Documentation/filesystems/{cifs => smbfs}/cifsroot.rst (85%)
>> >>>> rename Documentation/filesystems/{cifs => smbfs}/index.rst (100%)
>> >>>> rename Documentation/filesystems/{cifs => smbfs}/ksmbd.rst (99%)
>> >>>> delete mode 100644 fs/cifs/Makefile
>> >>>> rename fs/{cifs => smbfs}/Kconfig (72%)
>> >>>> create mode 100644 fs/smbfs/Makefile
>> >>>> rename fs/{cifs => smbfs}/asn1.c (100%)
>> >>>> rename fs/{cifs => smbfs}/cifs_debug.c (96%)
>> >>>> rename fs/{cifs => smbfs}/cifs_debug.h (98%)
>> >>>> rename fs/{cifs => smbfs}/cifs_dfs_ref.c (99%)
>> >>>> rename fs/{cifs => smbfs}/cifs_fs_sb.h (100%)
>> >>>> rename fs/{cifs => smbfs}/cifs_ioctl.h (100%)
>> >>>> rename fs/{cifs => smbfs}/cifs_spnego.c (98%)
>> >>>> rename fs/{cifs => smbfs}/cifs_spnego.h (100%)
>> >>>> rename fs/{cifs => smbfs}/cifs_spnego_negtokeninit.asn1 (100%)
>> >>>> rename fs/{cifs => smbfs}/cifs_swn.c (100%)
>> >>>> rename fs/{cifs => smbfs}/cifs_swn.h (95%)
>> >>>> rename fs/{cifs => smbfs}/cifs_unicode.c (100%)
>> >>>> rename fs/{cifs => smbfs}/cifs_unicode.h (100%)
>> >>>> rename fs/{cifs => smbfs}/cifs_uniupr.h (100%)
>> >>>> rename fs/{cifs => smbfs}/cifsacl.c (99%)
>> >>>> rename fs/{cifs => smbfs}/cifsacl.h (100%)
>> >>>> rename fs/{cifs => smbfs}/cifsencrypt.c (100%)
>> >>>> rename fs/{cifs => smbfs}/cifsglob.h (99%)
>> >>>> rename fs/{cifs => smbfs}/cifspdu.h (99%)
>> >>>> rename fs/{cifs => smbfs}/cifsproto.h (99%)
>> >>>> rename fs/{cifs => smbfs}/cifsroot.c (100%)
>> >>>> rename fs/{cifs => smbfs}/cifssmb.c (99%)
>> >>>> rename fs/{cifs => smbfs}/connect.c (99%)
>> >>>> rename fs/{cifs/cifsfs.c => smbfs/core.c} (98%)
>> >>>> rename fs/{cifs => smbfs}/dfs_cache.c (99%)
>> >>>> rename fs/{cifs => smbfs}/dfs_cache.h (100%)
>> >>>> rename fs/{cifs => smbfs}/dir.c (99%)
>> >>>> rename fs/{cifs => smbfs}/dns_resolve.c (100%)
>> >>>> rename fs/{cifs => smbfs}/dns_resolve.h (100%)
>> >>>> rename fs/{cifs => smbfs}/export.c (91%)
>> >>>> rename fs/{cifs => smbfs}/file.c (99%)
>> >>>> rename fs/{cifs => smbfs}/fs_context.c (99%)
>> >>>> rename fs/{cifs => smbfs}/fs_context.h (100%)
>> >>>> rename fs/{cifs => smbfs}/fscache.c (100%)
>> >>>> rename fs/{cifs => smbfs}/fscache.h (98%)
>> >>>> rename fs/{cifs => smbfs}/inode.c (99%)
>> >>>> rename fs/{cifs => smbfs}/ioctl.c (99%)
>> >>>> rename fs/{cifs => smbfs}/link.c (99%)
>> >>>> rename fs/{cifs => smbfs}/misc.c (99%)
>> >>>> rename fs/{cifs => smbfs}/netlink.c (100%)
>> >>>> rename fs/{cifs => smbfs}/netlink.h (100%)
>> >>>> rename fs/{cifs => smbfs}/netmisc.c (99%)
>> >>>> rename fs/{cifs => smbfs}/nterr.c (100%)
>> >>>> rename fs/{cifs => smbfs}/nterr.h (100%)
>> >>>> rename fs/{cifs => smbfs}/ntlmssp.h (98%)
>> >>>> rename fs/{cifs => smbfs}/readdir.c (99%)
>> >>>> rename fs/{cifs => smbfs}/rfc1002pdu.h (100%)
>> >>>> rename fs/{cifs => smbfs}/sess.c (99%)
>> >>>> rename fs/{cifs => smbfs}/smb1ops.c (99%)
>> >>>> rename fs/{cifs => smbfs}/smb2file.c (99%)
>> >>>> rename fs/{cifs => smbfs}/smb2glob.h (100%)
>> >>>> rename fs/{cifs => smbfs}/smb2inode.c (99%)
>> >>>> rename fs/{cifs => smbfs}/smb2maperror.c (100%)
>> >>>> rename fs/{cifs => smbfs}/smb2misc.c (100%)
>> >>>> rename fs/{cifs => smbfs}/smb2ops.c (99%)
>> >>>> rename fs/{cifs => smbfs}/smb2pdu.c (99%)
>> >>>> rename fs/{cifs => smbfs}/smb2pdu.h (100%)
>> >>>> rename fs/{cifs => smbfs}/smb2proto.h (100%)
>> >>>> rename fs/{cifs => smbfs}/smb2status.h (100%)
>> >>>> rename fs/{cifs => smbfs}/smb2transport.c (99%)
>> >>>> rename fs/{cifs => smbfs}/smbdirect.c (100%)
>> >>>> rename fs/{cifs => smbfs}/smbdirect.h (99%)
>> >>>> rename fs/{cifs => smbfs}/smbencrypt.c (100%)
>> >>>> rename fs/{cifs => smbfs}/smberr.h (100%)
>> >>>> rename fs/{cifs/cifsfs.h => smbfs/smbfs.h} (97%)
>> >>>> rename fs/{cifs => smbfs}/trace.c (100%)
>> >>>> rename fs/{cifs => smbfs}/trace.h (100%)
>> >>>> rename fs/{cifs => smbfs}/transport.c (99%)
>> >>>> rename fs/{cifs => smbfs}/unc.c (100%)
>> >>>> rename fs/{cifs => smbfs}/winucase.c (100%)
>> >>>> rename fs/{cifs => smbfs}/xattr.c (98%)
>> >>>>
>> >>>
>> >>
>
>
>
>-- 
>Thanks,
>
>Steve
Steve French Aug. 2, 2022, 4:20 p.m. UTC | #11
it may be ok to have the module name match what you can say on mount
(so "smb3.ko"):

e.g. we already can be encouraging users to use "mount -t smb3 ..."
not "mount -t cifs"
since we already have that as a module alias

On Tue, Aug 2, 2022 at 10:58 AM Enzo Matsumiya <ematsumiya@suse.de> wrote:
>
> On 08/02, Steve French wrote:
> >What about just "fs/smb" but "fs/smb_client" is also a possibility -
> >but I agree "fs/smbfs" could get confusing due to the very old module
> >that was removed more than 10 years ago
>
> IMHO "fs/smb" is better than "fs/smb_client".
>
> Let me know if it's ok to resubmit a v2 of this rename series.
>
> Also, do we keep the module name as smbfs.ko?
>
> >On Tue, Aug 2, 2022 at 8:52 AM Enzo Matsumiya <ematsumiya@suse.de> wrote:
> >>
> >> On 08/01, Tom Talpey wrote:
> >> >On 8/1/2022 4:14 PM, Enzo Matsumiya wrote:
> >> >>On 08/01, Rowland Penny wrote:
> >> >>>On Mon, 2022-08-01 at 16:09 -0300, Enzo Matsumiya via samba-technical
> >> >>>wrote:
> >> >>>>Hi,
> >> >>>>
> >> >>>>As part of the ongoing effort to remove the "cifs" nomenclature from
> >> >>>>the
> >> >>>>Linux SMB client, I'm proposing the rename of the module to "smbfs".
> >> >>>
> >> >>>Hi, this has absolutely nothing to do with myself, but Linux used
> >> >>>'smbfs' before it started to use 'cifs', so you are going back to an
> >> >>>old term. This could be confusing.
> >> >>
> >> >>Hi Rowland, I'm aware of that. I had nothing to do with either
> >> >>(choosing initial "smbfs" nor "cifs"), but, IMHO, I think it should've
> >> >>stayed "smbfs". And TBH this is the most coherent name, of all
> >> >
> >> >I dug around the old tarballs and it looks like fs/smbfs was pulled from
> >> >the kernel after 2.6.36, in early 2011. This was different from fs/cifs,
> >> >which entered the kernel much earlier, so they previously coexisted.
> >> >
> >> >I don't think the name ambiguity is very important, but I do wonder if
> >> >git might uncover some conflicts, when a previously removed directory
> >> >suddenly reappears with new content? There wasn't a lot in fs/smbfs
> >> >though.
> >>
> >> I haven't considered that.
> >> Doing a "git log --follow -- fs/smbfs" does show the older commits for
> >> before the previous migration/rename:
> >>
> >> ----
> >> commit 1e20c73a2935be2d9f19ebc63ddee1afccc42b07
> >> Author: Enzo Matsumiya <ematsumiya@suse.de>
> >> Date:   Mon Aug 1 15:05:23 2022 -0300
> >>
> >>      smbfs: rename directory "fs/cifs" -> "fs/smbfs"
> >>
> >>      Update fs/Kconfig and fs/Makefile to reflect the change.
> >>
> >>      Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de>
> >>
> >> commit be9eee2e8b87e335531a3ae13abb8d26e834c438
> >> Author: Christoph Hellwig <hch@infradead.org>
> >> Date:   Sun Oct 10 05:36:29 2010 -0400
> >>
> >>      smbfs: use dget_parent
> >>
> >>      Use dget_parent instead of opencoding it.  This simplifies the code, but
> >>      more importanly prepares for the more complicated locking for a parent
> >>      dget in the dcache scale patch series.
> >>
> >>      Note that the d_time assignment in smb_renew_times moves out of d_lock,
> >>      but it's a single atomic 32-bit value, and that's what other sites
> >>      setting it do already.
> >>
> >>      Signed-off-by: Christoph Hellwig <hch@lst.de>
> >>      Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
> >> ...
> >> ----
> >>
> >> I don't know if that would cause a real problem though, someone more
> >> experienced with renaming modules/directories could provide their
> >> opinion.
> >>
> >> Could we have an empty commit between old commits and the new rename to
> >> serve as a marker maybe?
> >>
> >> >Either way, I think the module name is the question here, and it doesn't
> >> >have to be the same as the directory. I still prefer smbfs.
> >> >
> >> >Another possibility for the directory is "ksmb", which might rhyme with
> >> >the server, and keep it close alphabetically too? OTOH it might be
> >> >confusing to have two similar names.
> >>
> >> My original idea of "ideal" was to have:
> >>
> >> fs/smbfs/
> >> fs/smbfs/common
> >> fs/smbfs/client
> >> fs/smbfs/server
> >>
> >> Which aligns with e.g., drivers/nvme/ that has host/ and target/ subdirs
> >> to accomodate client and server code. This would make things way more
> >> manageable given the quantity of shared code between cifs.ko and
> >> ksmbd.ko.
> >>
> >> Another option is:
> >> fs/smbfs_client/
> >> fs/smbfs_common/ (already existing)
> >> fs/smbfs_server/
> >>
> >> But, personally, I'm not really a fan of the underscores.
> >>
> >> My 2c only though.
> >> Thoughts?
> >>
> >> >And sorry but I hate the idea of adding "-client". Should we rename
> >> >ksmbd to smb-server?? I don't think so.
> >>
> >> Agreed.
> >>
> >> >Tom.
> >>
> >> Cheers,
> >>
> >> Enzo
> >>
> >> >>available/known choices; you know the protocol (SMB), you know it isn't
> >> >>tied to any SMB version ("cifs", or "smb3" as sometimes suggested or
> >> >>used (as a module alias)), it's a Linux filesystem module ("FS").
> >> >>
> >> >>Also the "fs/smbfs_common" directory was renamed as recent as last year
> >> >>(from "cifs_common") (cf. commit 23e91d8b7).
> >> >>
> >> >>>Rowland
> >> >>
> >> >>Thanks for the input, though. As an RFC patch, I'm waiting for more
> >> >>feedback and suggestions.
> >> >>
> >> >>
> >> >>Cheers,
> >> >>
> >> >>Enzo
> >> >>
> >> >>>>
> >> >>>>As it's widely known, CIFS is associated to SMB1.0, which, in turn,
> >> >>>>is
> >> >>>>associated with the security issues it presented in the past. Using
> >> >>>>"SMBFS" makes clear what's the protocol in use for outsiders, but
> >> >>>>also
> >> >>>>unties it from any particular protocol version. It also fits in the
> >> >>>>already existing "fs/smbfs_common" and "fs/ksmbd" naming scheme.
> >> >>>>
> >> >>>>This short patch series only changes directory names and
> >> >>>>includes/ifdefs in
> >> >>>>headers and source code, and updates docs to reflect the rename.
> >> >>>>Other
> >> >>>>than that, no source code/functionality is modified (WIP though).
> >> >>>>
> >> >>>>Patch 1/3: effectively changes the module name to "smbfs" and create
> >> >>>>a
> >> >>>>       "cifs" module alias to maintain compatibility (a warning
> >> >>>>       should be added to indicate the complete removal/isolation
> >> >>>>of
> >> >>>>       CIFS/SMB1.0 code).
> >> >>>>Patch 2/3: rename the source-code directory to align with the new
> >> >>>>module
> >> >>>>       name
> >> >>>>Patch 3/3: update documentation references to "fs/cifs" or "cifs.ko"
> >> >>>>or
> >> >>>>       "cifs module" to use the new name
> >> >>>>
> >> >>>>Enzo Matsumiya (3):
> >> >>>>  cifs: change module name to "smbfs.ko"
> >> >>>>  smbfs: rename directory "fs/cifs" -> "fs/smbfs"
> >> >>>>  smbfs: update doc references
> >> >>>>
> >> >>>> Documentation/admin-guide/index.rst           |   2 +-
> >> >>>> .../admin-guide/{cifs => smbfs}/authors.rst   |   0
> >> >>>> .../admin-guide/{cifs => smbfs}/changes.rst   |   4 +-
> >> >>>> .../admin-guide/{cifs => smbfs}/index.rst     |   0
> >> >>>> .../{cifs => smbfs}/introduction.rst          |   0
> >> >>>> .../admin-guide/{cifs => smbfs}/todo.rst      |  12 +-
> >> >>>> .../admin-guide/{cifs => smbfs}/usage.rst     | 168 +++++++++-------
> >> >>>>--
> >> >>>> .../{cifs => smbfs}/winucase_convert.pl       |   0
> >> >>>> Documentation/filesystems/index.rst           |   2 +-
> >> >>>> .../filesystems/{cifs => smbfs}/cifsroot.rst  |  14 +-
> >> >>>> .../filesystems/{cifs => smbfs}/index.rst     |   0
> >> >>>> .../filesystems/{cifs => smbfs}/ksmbd.rst     |   2 +-
> >> >>>> Documentation/networking/dns_resolver.rst     |   2 +-
> >> >>>> .../translations/zh_CN/admin-guide/index.rst  |   2 +-
> >> >>>> .../translations/zh_TW/admin-guide/index.rst  |   2 +-
> >> >>>> fs/Kconfig                                    |   6 +-
> >> >>>> fs/Makefile                                   |   2 +-
> >> >>>> fs/cifs/Makefile                              |  34 ----
> >> >>>> fs/{cifs => smbfs}/Kconfig                    | 108 +++++------
> >> >>>> fs/smbfs/Makefile                             |  34 ++++
> >> >>>> fs/{cifs => smbfs}/asn1.c                     |   0
> >> >>>> fs/{cifs => smbfs}/cifs_debug.c               |  72 ++++----
> >> >>>> fs/{cifs => smbfs}/cifs_debug.h               |   4 +-
> >> >>>> fs/{cifs => smbfs}/cifs_dfs_ref.c             |   2 +-
> >> >>>> fs/{cifs => smbfs}/cifs_fs_sb.h               |   0
> >> >>>> fs/{cifs => smbfs}/cifs_ioctl.h               |   0
> >> >>>> fs/{cifs => smbfs}/cifs_spnego.c              |   4 +-
> >> >>>> fs/{cifs => smbfs}/cifs_spnego.h              |   0
> >> >>>> .../cifs_spnego_negtokeninit.asn1             |   0
> >> >>>> fs/{cifs => smbfs}/cifs_swn.c                 |   0
> >> >>>> fs/{cifs => smbfs}/cifs_swn.h                 |   4 +-
> >> >>>> fs/{cifs => smbfs}/cifs_unicode.c             |   0
> >> >>>> fs/{cifs => smbfs}/cifs_unicode.h             |   0
> >> >>>> fs/{cifs => smbfs}/cifs_uniupr.h              |   0
> >> >>>> fs/{cifs => smbfs}/cifsacl.c                  |   6 +-
> >> >>>> fs/{cifs => smbfs}/cifsacl.h                  |   0
> >> >>>> fs/{cifs => smbfs}/cifsencrypt.c              |   0
> >> >>>> fs/{cifs => smbfs}/cifsglob.h                 |  26 +--
> >> >>>> fs/{cifs => smbfs}/cifspdu.h                  |   6 +-
> >> >>>> fs/{cifs => smbfs}/cifsproto.h                |  10 +-
> >> >>>> fs/{cifs => smbfs}/cifsroot.c                 |   0
> >> >>>> fs/{cifs => smbfs}/cifssmb.c                  |  14 +-
> >> >>>> fs/{cifs => smbfs}/connect.c                  |  36 ++--
> >> >>>> fs/{cifs/cifsfs.c => smbfs/core.c}            |  49 ++---
> >> >>>> fs/{cifs => smbfs}/dfs_cache.c                |   2 +-
> >> >>>> fs/{cifs => smbfs}/dfs_cache.h                |   0
> >> >>>> fs/{cifs => smbfs}/dir.c                      |   2 +-
> >> >>>> fs/{cifs => smbfs}/dns_resolve.c              |   0
> >> >>>> fs/{cifs => smbfs}/dns_resolve.h              |   0
> >> >>>> fs/{cifs => smbfs}/export.c                   |   8 +-
> >> >>>> fs/{cifs => smbfs}/file.c                     |  16 +-
> >> >>>> fs/{cifs => smbfs}/fs_context.c               |  20 +--
> >> >>>> fs/{cifs => smbfs}/fs_context.h               |   0
> >> >>>> fs/{cifs => smbfs}/fscache.c                  |   0
> >> >>>> fs/{cifs => smbfs}/fscache.h                  |   6 +-
> >> >>>> fs/{cifs => smbfs}/inode.c                    |  10 +-
> >> >>>> fs/{cifs => smbfs}/ioctl.c                    |   6 +-
> >> >>>> fs/{cifs => smbfs}/link.c                     |   2 +-
> >> >>>> fs/{cifs => smbfs}/misc.c                     |  14 +-
> >> >>>> fs/{cifs => smbfs}/netlink.c                  |   0
> >> >>>> fs/{cifs => smbfs}/netlink.h                  |   0
> >> >>>> fs/{cifs => smbfs}/netmisc.c                  |   2 +-
> >> >>>> fs/{cifs => smbfs}/nterr.c                    |   0
> >> >>>> fs/{cifs => smbfs}/nterr.h                    |   0
> >> >>>> fs/{cifs => smbfs}/ntlmssp.h                  |   2 +-
> >> >>>> fs/{cifs => smbfs}/readdir.c                  |   4 +-
> >> >>>> fs/{cifs => smbfs}/rfc1002pdu.h               |   0
> >> >>>> fs/{cifs => smbfs}/sess.c                     |  10 +-
> >> >>>> fs/{cifs => smbfs}/smb1ops.c                  |   4 +-
> >> >>>> fs/{cifs => smbfs}/smb2file.c                 |   2 +-
> >> >>>> fs/{cifs => smbfs}/smb2glob.h                 |   0
> >> >>>> fs/{cifs => smbfs}/smb2inode.c                |   2 +-
> >> >>>> fs/{cifs => smbfs}/smb2maperror.c             |   0
> >> >>>> fs/{cifs => smbfs}/smb2misc.c                 |   0
> >> >>>> fs/{cifs => smbfs}/smb2ops.c                  |  32 ++--
> >> >>>> fs/{cifs => smbfs}/smb2pdu.c                  |  22 +--
> >> >>>> fs/{cifs => smbfs}/smb2pdu.h                  |   0
> >> >>>> fs/{cifs => smbfs}/smb2proto.h                |   0
> >> >>>> fs/{cifs => smbfs}/smb2status.h               |   0
> >> >>>> fs/{cifs => smbfs}/smb2transport.c            |   2 +-
> >> >>>> fs/{cifs => smbfs}/smbdirect.c                |   0
> >> >>>> fs/{cifs => smbfs}/smbdirect.h                |   2 +-
> >> >>>> fs/{cifs => smbfs}/smbencrypt.c               |   0
> >> >>>> fs/{cifs => smbfs}/smberr.h                   |   0
> >> >>>> fs/{cifs/cifsfs.h => smbfs/smbfs.h}           |  12 +-
> >> >>>> fs/{cifs => smbfs}/trace.c                    |   0
> >> >>>> fs/{cifs => smbfs}/trace.h                    |   0
> >> >>>> fs/{cifs => smbfs}/transport.c                |   4 +-
> >> >>>> fs/{cifs => smbfs}/unc.c                      |   0
> >> >>>> fs/{cifs => smbfs}/winucase.c                 |   0
> >> >>>> fs/{cifs => smbfs}/xattr.c                    |  18 +-
> >> >>>> 91 files changed, 414 insertions(+), 417 deletions(-)
> >> >>>> rename Documentation/admin-guide/{cifs => smbfs}/authors.rst (100%)
> >> >>>> rename Documentation/admin-guide/{cifs => smbfs}/changes.rst (73%)
> >> >>>> rename Documentation/admin-guide/{cifs => smbfs}/index.rst (100%)
> >> >>>> rename Documentation/admin-guide/{cifs => smbfs}/introduction.rst
> >> >>>>(100%)
> >> >>>> rename Documentation/admin-guide/{cifs => smbfs}/todo.rst (95%)
> >> >>>> rename Documentation/admin-guide/{cifs => smbfs}/usage.rst (87%)
> >> >>>> rename Documentation/admin-guide/{cifs => smbfs}/winucase_convert.pl
> >> >>>>(100%)
> >> >>>> rename Documentation/filesystems/{cifs => smbfs}/cifsroot.rst (85%)
> >> >>>> rename Documentation/filesystems/{cifs => smbfs}/index.rst (100%)
> >> >>>> rename Documentation/filesystems/{cifs => smbfs}/ksmbd.rst (99%)
> >> >>>> delete mode 100644 fs/cifs/Makefile
> >> >>>> rename fs/{cifs => smbfs}/Kconfig (72%)
> >> >>>> create mode 100644 fs/smbfs/Makefile
> >> >>>> rename fs/{cifs => smbfs}/asn1.c (100%)
> >> >>>> rename fs/{cifs => smbfs}/cifs_debug.c (96%)
> >> >>>> rename fs/{cifs => smbfs}/cifs_debug.h (98%)
> >> >>>> rename fs/{cifs => smbfs}/cifs_dfs_ref.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/cifs_fs_sb.h (100%)
> >> >>>> rename fs/{cifs => smbfs}/cifs_ioctl.h (100%)
> >> >>>> rename fs/{cifs => smbfs}/cifs_spnego.c (98%)
> >> >>>> rename fs/{cifs => smbfs}/cifs_spnego.h (100%)
> >> >>>> rename fs/{cifs => smbfs}/cifs_spnego_negtokeninit.asn1 (100%)
> >> >>>> rename fs/{cifs => smbfs}/cifs_swn.c (100%)
> >> >>>> rename fs/{cifs => smbfs}/cifs_swn.h (95%)
> >> >>>> rename fs/{cifs => smbfs}/cifs_unicode.c (100%)
> >> >>>> rename fs/{cifs => smbfs}/cifs_unicode.h (100%)
> >> >>>> rename fs/{cifs => smbfs}/cifs_uniupr.h (100%)
> >> >>>> rename fs/{cifs => smbfs}/cifsacl.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/cifsacl.h (100%)
> >> >>>> rename fs/{cifs => smbfs}/cifsencrypt.c (100%)
> >> >>>> rename fs/{cifs => smbfs}/cifsglob.h (99%)
> >> >>>> rename fs/{cifs => smbfs}/cifspdu.h (99%)
> >> >>>> rename fs/{cifs => smbfs}/cifsproto.h (99%)
> >> >>>> rename fs/{cifs => smbfs}/cifsroot.c (100%)
> >> >>>> rename fs/{cifs => smbfs}/cifssmb.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/connect.c (99%)
> >> >>>> rename fs/{cifs/cifsfs.c => smbfs/core.c} (98%)
> >> >>>> rename fs/{cifs => smbfs}/dfs_cache.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/dfs_cache.h (100%)
> >> >>>> rename fs/{cifs => smbfs}/dir.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/dns_resolve.c (100%)
> >> >>>> rename fs/{cifs => smbfs}/dns_resolve.h (100%)
> >> >>>> rename fs/{cifs => smbfs}/export.c (91%)
> >> >>>> rename fs/{cifs => smbfs}/file.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/fs_context.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/fs_context.h (100%)
> >> >>>> rename fs/{cifs => smbfs}/fscache.c (100%)
> >> >>>> rename fs/{cifs => smbfs}/fscache.h (98%)
> >> >>>> rename fs/{cifs => smbfs}/inode.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/ioctl.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/link.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/misc.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/netlink.c (100%)
> >> >>>> rename fs/{cifs => smbfs}/netlink.h (100%)
> >> >>>> rename fs/{cifs => smbfs}/netmisc.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/nterr.c (100%)
> >> >>>> rename fs/{cifs => smbfs}/nterr.h (100%)
> >> >>>> rename fs/{cifs => smbfs}/ntlmssp.h (98%)
> >> >>>> rename fs/{cifs => smbfs}/readdir.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/rfc1002pdu.h (100%)
> >> >>>> rename fs/{cifs => smbfs}/sess.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/smb1ops.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/smb2file.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/smb2glob.h (100%)
> >> >>>> rename fs/{cifs => smbfs}/smb2inode.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/smb2maperror.c (100%)
> >> >>>> rename fs/{cifs => smbfs}/smb2misc.c (100%)
> >> >>>> rename fs/{cifs => smbfs}/smb2ops.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/smb2pdu.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/smb2pdu.h (100%)
> >> >>>> rename fs/{cifs => smbfs}/smb2proto.h (100%)
> >> >>>> rename fs/{cifs => smbfs}/smb2status.h (100%)
> >> >>>> rename fs/{cifs => smbfs}/smb2transport.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/smbdirect.c (100%)
> >> >>>> rename fs/{cifs => smbfs}/smbdirect.h (99%)
> >> >>>> rename fs/{cifs => smbfs}/smbencrypt.c (100%)
> >> >>>> rename fs/{cifs => smbfs}/smberr.h (100%)
> >> >>>> rename fs/{cifs/cifsfs.h => smbfs/smbfs.h} (97%)
> >> >>>> rename fs/{cifs => smbfs}/trace.c (100%)
> >> >>>> rename fs/{cifs => smbfs}/trace.h (100%)
> >> >>>> rename fs/{cifs => smbfs}/transport.c (99%)
> >> >>>> rename fs/{cifs => smbfs}/unc.c (100%)
> >> >>>> rename fs/{cifs => smbfs}/winucase.c (100%)
> >> >>>> rename fs/{cifs => smbfs}/xattr.c (98%)
> >> >>>>
> >> >>>
> >> >>
> >
> >
> >
> >--
> >Thanks,
> >
> >Steve
Tom Talpey Aug. 2, 2022, 5:43 p.m. UTC | #12
MHO, yes and yes.

On 8/2/2022 11:58 AM, Enzo Matsumiya wrote:
> On 08/02, Steve French wrote:
>> What about just "fs/smb" but "fs/smb_client" is also a possibility -
>> but I agree "fs/smbfs" could get confusing due to the very old module
>> that was removed more than 10 years ago
> 
> IMHO "fs/smb" is better than "fs/smb_client".
> 
> Let me know if it's ok to resubmit a v2 of this rename series.
> 
> Also, do we keep the module name as smbfs.ko?
> 
>> On Tue, Aug 2, 2022 at 8:52 AM Enzo Matsumiya <ematsumiya@suse.de> wrote:
>>>
>>> On 08/01, Tom Talpey wrote:
>>> >On 8/1/2022 4:14 PM, Enzo Matsumiya wrote:
>>> >>On 08/01, Rowland Penny wrote:
>>> >>>On Mon, 2022-08-01 at 16:09 -0300, Enzo Matsumiya via samba-technical
>>> >>>wrote:
>>> >>>>Hi,
>>> >>>>
>>> >>>>As part of the ongoing effort to remove the "cifs" nomenclature from
>>> >>>>the
>>> >>>>Linux SMB client, I'm proposing the rename of the module to "smbfs".
>>> >>>
>>> >>>Hi, this has absolutely nothing to do with myself, but Linux used
>>> >>>'smbfs' before it started to use 'cifs', so you are going back to an
>>> >>>old term. This could be confusing.
>>> >>
>>> >>Hi Rowland, I'm aware of that. I had nothing to do with either
>>> >>(choosing initial "smbfs" nor "cifs"), but, IMHO, I think it should've
>>> >>stayed "smbfs". And TBH this is the most coherent name, of all
>>> >
>>> >I dug around the old tarballs and it looks like fs/smbfs was pulled 
>>> from
>>> >the kernel after 2.6.36, in early 2011. This was different from 
>>> fs/cifs,
>>> >which entered the kernel much earlier, so they previously coexisted.
>>> >
>>> >I don't think the name ambiguity is very important, but I do wonder if
>>> >git might uncover some conflicts, when a previously removed directory
>>> >suddenly reappears with new content? There wasn't a lot in fs/smbfs
>>> >though.
>>>
>>> I haven't considered that.
>>> Doing a "git log --follow -- fs/smbfs" does show the older commits for
>>> before the previous migration/rename:
>>>
>>> ----
>>> commit 1e20c73a2935be2d9f19ebc63ddee1afccc42b07
>>> Author: Enzo Matsumiya <ematsumiya@suse.de>
>>> Date:   Mon Aug 1 15:05:23 2022 -0300
>>>
>>>      smbfs: rename directory "fs/cifs" -> "fs/smbfs"
>>>
>>>      Update fs/Kconfig and fs/Makefile to reflect the change.
>>>
>>>      Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de>
>>>
>>> commit be9eee2e8b87e335531a3ae13abb8d26e834c438
>>> Author: Christoph Hellwig <hch@infradead.org>
>>> Date:   Sun Oct 10 05:36:29 2010 -0400
>>>
>>>      smbfs: use dget_parent
>>>
>>>      Use dget_parent instead of opencoding it.  This simplifies the 
>>> code, but
>>>      more importanly prepares for the more complicated locking for a 
>>> parent
>>>      dget in the dcache scale patch series.
>>>
>>>      Note that the d_time assignment in smb_renew_times moves out of 
>>> d_lock,
>>>      but it's a single atomic 32-bit value, and that's what other sites
>>>      setting it do already.
>>>
>>>      Signed-off-by: Christoph Hellwig <hch@lst.de>
>>>      Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
>>> ...
>>> ----
>>>
>>> I don't know if that would cause a real problem though, someone more
>>> experienced with renaming modules/directories could provide their
>>> opinion.
>>>
>>> Could we have an empty commit between old commits and the new rename to
>>> serve as a marker maybe?
>>>
>>> >Either way, I think the module name is the question here, and it 
>>> doesn't
>>> >have to be the same as the directory. I still prefer smbfs.
>>> >
>>> >Another possibility for the directory is "ksmb", which might rhyme with
>>> >the server, and keep it close alphabetically too? OTOH it might be
>>> >confusing to have two similar names.
>>>
>>> My original idea of "ideal" was to have:
>>>
>>> fs/smbfs/
>>> fs/smbfs/common
>>> fs/smbfs/client
>>> fs/smbfs/server
>>>
>>> Which aligns with e.g., drivers/nvme/ that has host/ and target/ subdirs
>>> to accomodate client and server code. This would make things way more
>>> manageable given the quantity of shared code between cifs.ko and
>>> ksmbd.ko.
>>>
>>> Another option is:
>>> fs/smbfs_client/
>>> fs/smbfs_common/ (already existing)
>>> fs/smbfs_server/
>>>
>>> But, personally, I'm not really a fan of the underscores.
>>>
>>> My 2c only though.
>>> Thoughts?
>>>
>>> >And sorry but I hate the idea of adding "-client". Should we rename
>>> >ksmbd to smb-server?? I don't think so.
>>>
>>> Agreed.
>>>
>>> >Tom.
>>>
>>> Cheers,
>>>
>>> Enzo
>>>
>>> >>available/known choices; you know the protocol (SMB), you know it 
>>> isn't
>>> >>tied to any SMB version ("cifs", or "smb3" as sometimes suggested or
>>> >>used (as a module alias)), it's a Linux filesystem module ("FS").
>>> >>
>>> >>Also the "fs/smbfs_common" directory was renamed as recent as last 
>>> year
>>> >>(from "cifs_common") (cf. commit 23e91d8b7).
>>> >>
>>> >>>Rowland
>>> >>
>>> >>Thanks for the input, though. As an RFC patch, I'm waiting for more
>>> >>feedback and suggestions.
>>> >>
>>> >>
>>> >>Cheers,
>>> >>
>>> >>Enzo
>>> >>
>>> >>>>
>>> >>>>As it's widely known, CIFS is associated to SMB1.0, which, in turn,
>>> >>>>is
>>> >>>>associated with the security issues it presented in the past. Using
>>> >>>>"SMBFS" makes clear what's the protocol in use for outsiders, but
>>> >>>>also
>>> >>>>unties it from any particular protocol version. It also fits in the
>>> >>>>already existing "fs/smbfs_common" and "fs/ksmbd" naming scheme.
>>> >>>>
>>> >>>>This short patch series only changes directory names and
>>> >>>>includes/ifdefs in
>>> >>>>headers and source code, and updates docs to reflect the rename.
>>> >>>>Other
>>> >>>>than that, no source code/functionality is modified (WIP though).
>>> >>>>
>>> >>>>Patch 1/3: effectively changes the module name to "smbfs" and create
>>> >>>>a
>>> >>>>       "cifs" module alias to maintain compatibility (a warning
>>> >>>>       should be added to indicate the complete removal/isolation
>>> >>>>of
>>> >>>>       CIFS/SMB1.0 code).
>>> >>>>Patch 2/3: rename the source-code directory to align with the new
>>> >>>>module
>>> >>>>       name
>>> >>>>Patch 3/3: update documentation references to "fs/cifs" or "cifs.ko"
>>> >>>>or
>>> >>>>       "cifs module" to use the new name
>>> >>>>
>>> >>>>Enzo Matsumiya (3):
>>> >>>>  cifs: change module name to "smbfs.ko"
>>> >>>>  smbfs: rename directory "fs/cifs" -> "fs/smbfs"
>>> >>>>  smbfs: update doc references
>>> >>>>
>>> >>>> Documentation/admin-guide/index.rst           |   2 +-
>>> >>>> .../admin-guide/{cifs => smbfs}/authors.rst   |   0
>>> >>>> .../admin-guide/{cifs => smbfs}/changes.rst   |   4 +-
>>> >>>> .../admin-guide/{cifs => smbfs}/index.rst     |   0
>>> >>>> .../{cifs => smbfs}/introduction.rst          |   0
>>> >>>> .../admin-guide/{cifs => smbfs}/todo.rst      |  12 +-
>>> >>>> .../admin-guide/{cifs => smbfs}/usage.rst     | 168 
>>> +++++++++-------
>>> >>>>--
>>> >>>> .../{cifs => smbfs}/winucase_convert.pl       |   0
>>> >>>> Documentation/filesystems/index.rst           |   2 +-
>>> >>>> .../filesystems/{cifs => smbfs}/cifsroot.rst  |  14 +-
>>> >>>> .../filesystems/{cifs => smbfs}/index.rst     |   0
>>> >>>> .../filesystems/{cifs => smbfs}/ksmbd.rst     |   2 +-
>>> >>>> Documentation/networking/dns_resolver.rst     |   2 +-
>>> >>>> .../translations/zh_CN/admin-guide/index.rst  |   2 +-
>>> >>>> .../translations/zh_TW/admin-guide/index.rst  |   2 +-
>>> >>>> fs/Kconfig                                    |   6 +-
>>> >>>> fs/Makefile                                   |   2 +-
>>> >>>> fs/cifs/Makefile                              |  34 ----
>>> >>>> fs/{cifs => smbfs}/Kconfig                    | 108 +++++------
>>> >>>> fs/smbfs/Makefile                             |  34 ++++
>>> >>>> fs/{cifs => smbfs}/asn1.c                     |   0
>>> >>>> fs/{cifs => smbfs}/cifs_debug.c               |  72 ++++----
>>> >>>> fs/{cifs => smbfs}/cifs_debug.h               |   4 +-
>>> >>>> fs/{cifs => smbfs}/cifs_dfs_ref.c             |   2 +-
>>> >>>> fs/{cifs => smbfs}/cifs_fs_sb.h               |   0
>>> >>>> fs/{cifs => smbfs}/cifs_ioctl.h               |   0
>>> >>>> fs/{cifs => smbfs}/cifs_spnego.c              |   4 +-
>>> >>>> fs/{cifs => smbfs}/cifs_spnego.h              |   0
>>> >>>> .../cifs_spnego_negtokeninit.asn1             |   0
>>> >>>> fs/{cifs => smbfs}/cifs_swn.c                 |   0
>>> >>>> fs/{cifs => smbfs}/cifs_swn.h                 |   4 +-
>>> >>>> fs/{cifs => smbfs}/cifs_unicode.c             |   0
>>> >>>> fs/{cifs => smbfs}/cifs_unicode.h             |   0
>>> >>>> fs/{cifs => smbfs}/cifs_uniupr.h              |   0
>>> >>>> fs/{cifs => smbfs}/cifsacl.c                  |   6 +-
>>> >>>> fs/{cifs => smbfs}/cifsacl.h                  |   0
>>> >>>> fs/{cifs => smbfs}/cifsencrypt.c              |   0
>>> >>>> fs/{cifs => smbfs}/cifsglob.h                 |  26 +--
>>> >>>> fs/{cifs => smbfs}/cifspdu.h                  |   6 +-
>>> >>>> fs/{cifs => smbfs}/cifsproto.h                |  10 +-
>>> >>>> fs/{cifs => smbfs}/cifsroot.c                 |   0
>>> >>>> fs/{cifs => smbfs}/cifssmb.c                  |  14 +-
>>> >>>> fs/{cifs => smbfs}/connect.c                  |  36 ++--
>>> >>>> fs/{cifs/cifsfs.c => smbfs/core.c}            |  49 ++---
>>> >>>> fs/{cifs => smbfs}/dfs_cache.c                |   2 +-
>>> >>>> fs/{cifs => smbfs}/dfs_cache.h                |   0
>>> >>>> fs/{cifs => smbfs}/dir.c                      |   2 +-
>>> >>>> fs/{cifs => smbfs}/dns_resolve.c              |   0
>>> >>>> fs/{cifs => smbfs}/dns_resolve.h              |   0
>>> >>>> fs/{cifs => smbfs}/export.c                   |   8 +-
>>> >>>> fs/{cifs => smbfs}/file.c                     |  16 +-
>>> >>>> fs/{cifs => smbfs}/fs_context.c               |  20 +--
>>> >>>> fs/{cifs => smbfs}/fs_context.h               |   0
>>> >>>> fs/{cifs => smbfs}/fscache.c                  |   0
>>> >>>> fs/{cifs => smbfs}/fscache.h                  |   6 +-
>>> >>>> fs/{cifs => smbfs}/inode.c                    |  10 +-
>>> >>>> fs/{cifs => smbfs}/ioctl.c                    |   6 +-
>>> >>>> fs/{cifs => smbfs}/link.c                     |   2 +-
>>> >>>> fs/{cifs => smbfs}/misc.c                     |  14 +-
>>> >>>> fs/{cifs => smbfs}/netlink.c                  |   0
>>> >>>> fs/{cifs => smbfs}/netlink.h                  |   0
>>> >>>> fs/{cifs => smbfs}/netmisc.c                  |   2 +-
>>> >>>> fs/{cifs => smbfs}/nterr.c                    |   0
>>> >>>> fs/{cifs => smbfs}/nterr.h                    |   0
>>> >>>> fs/{cifs => smbfs}/ntlmssp.h                  |   2 +-
>>> >>>> fs/{cifs => smbfs}/readdir.c                  |   4 +-
>>> >>>> fs/{cifs => smbfs}/rfc1002pdu.h               |   0
>>> >>>> fs/{cifs => smbfs}/sess.c                     |  10 +-
>>> >>>> fs/{cifs => smbfs}/smb1ops.c                  |   4 +-
>>> >>>> fs/{cifs => smbfs}/smb2file.c                 |   2 +-
>>> >>>> fs/{cifs => smbfs}/smb2glob.h                 |   0
>>> >>>> fs/{cifs => smbfs}/smb2inode.c                |   2 +-
>>> >>>> fs/{cifs => smbfs}/smb2maperror.c             |   0
>>> >>>> fs/{cifs => smbfs}/smb2misc.c                 |   0
>>> >>>> fs/{cifs => smbfs}/smb2ops.c                  |  32 ++--
>>> >>>> fs/{cifs => smbfs}/smb2pdu.c                  |  22 +--
>>> >>>> fs/{cifs => smbfs}/smb2pdu.h                  |   0
>>> >>>> fs/{cifs => smbfs}/smb2proto.h                |   0
>>> >>>> fs/{cifs => smbfs}/smb2status.h               |   0
>>> >>>> fs/{cifs => smbfs}/smb2transport.c            |   2 +-
>>> >>>> fs/{cifs => smbfs}/smbdirect.c                |   0
>>> >>>> fs/{cifs => smbfs}/smbdirect.h                |   2 +-
>>> >>>> fs/{cifs => smbfs}/smbencrypt.c               |   0
>>> >>>> fs/{cifs => smbfs}/smberr.h                   |   0
>>> >>>> fs/{cifs/cifsfs.h => smbfs/smbfs.h}           |  12 +-
>>> >>>> fs/{cifs => smbfs}/trace.c                    |   0
>>> >>>> fs/{cifs => smbfs}/trace.h                    |   0
>>> >>>> fs/{cifs => smbfs}/transport.c                |   4 +-
>>> >>>> fs/{cifs => smbfs}/unc.c                      |   0
>>> >>>> fs/{cifs => smbfs}/winucase.c                 |   0
>>> >>>> fs/{cifs => smbfs}/xattr.c                    |  18 +-
>>> >>>> 91 files changed, 414 insertions(+), 417 deletions(-)
>>> >>>> rename Documentation/admin-guide/{cifs => smbfs}/authors.rst (100%)
>>> >>>> rename Documentation/admin-guide/{cifs => smbfs}/changes.rst (73%)
>>> >>>> rename Documentation/admin-guide/{cifs => smbfs}/index.rst (100%)
>>> >>>> rename Documentation/admin-guide/{cifs => smbfs}/introduction.rst
>>> >>>>(100%)
>>> >>>> rename Documentation/admin-guide/{cifs => smbfs}/todo.rst (95%)
>>> >>>> rename Documentation/admin-guide/{cifs => smbfs}/usage.rst (87%)
>>> >>>> rename Documentation/admin-guide/{cifs => 
>>> smbfs}/winucase_convert.pl
>>> >>>>(100%)
>>> >>>> rename Documentation/filesystems/{cifs => smbfs}/cifsroot.rst (85%)
>>> >>>> rename Documentation/filesystems/{cifs => smbfs}/index.rst (100%)
>>> >>>> rename Documentation/filesystems/{cifs => smbfs}/ksmbd.rst (99%)
>>> >>>> delete mode 100644 fs/cifs/Makefile
>>> >>>> rename fs/{cifs => smbfs}/Kconfig (72%)
>>> >>>> create mode 100644 fs/smbfs/Makefile
>>> >>>> rename fs/{cifs => smbfs}/asn1.c (100%)
>>> >>>> rename fs/{cifs => smbfs}/cifs_debug.c (96%)
>>> >>>> rename fs/{cifs => smbfs}/cifs_debug.h (98%)
>>> >>>> rename fs/{cifs => smbfs}/cifs_dfs_ref.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/cifs_fs_sb.h (100%)
>>> >>>> rename fs/{cifs => smbfs}/cifs_ioctl.h (100%)
>>> >>>> rename fs/{cifs => smbfs}/cifs_spnego.c (98%)
>>> >>>> rename fs/{cifs => smbfs}/cifs_spnego.h (100%)
>>> >>>> rename fs/{cifs => smbfs}/cifs_spnego_negtokeninit.asn1 (100%)
>>> >>>> rename fs/{cifs => smbfs}/cifs_swn.c (100%)
>>> >>>> rename fs/{cifs => smbfs}/cifs_swn.h (95%)
>>> >>>> rename fs/{cifs => smbfs}/cifs_unicode.c (100%)
>>> >>>> rename fs/{cifs => smbfs}/cifs_unicode.h (100%)
>>> >>>> rename fs/{cifs => smbfs}/cifs_uniupr.h (100%)
>>> >>>> rename fs/{cifs => smbfs}/cifsacl.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/cifsacl.h (100%)
>>> >>>> rename fs/{cifs => smbfs}/cifsencrypt.c (100%)
>>> >>>> rename fs/{cifs => smbfs}/cifsglob.h (99%)
>>> >>>> rename fs/{cifs => smbfs}/cifspdu.h (99%)
>>> >>>> rename fs/{cifs => smbfs}/cifsproto.h (99%)
>>> >>>> rename fs/{cifs => smbfs}/cifsroot.c (100%)
>>> >>>> rename fs/{cifs => smbfs}/cifssmb.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/connect.c (99%)
>>> >>>> rename fs/{cifs/cifsfs.c => smbfs/core.c} (98%)
>>> >>>> rename fs/{cifs => smbfs}/dfs_cache.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/dfs_cache.h (100%)
>>> >>>> rename fs/{cifs => smbfs}/dir.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/dns_resolve.c (100%)
>>> >>>> rename fs/{cifs => smbfs}/dns_resolve.h (100%)
>>> >>>> rename fs/{cifs => smbfs}/export.c (91%)
>>> >>>> rename fs/{cifs => smbfs}/file.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/fs_context.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/fs_context.h (100%)
>>> >>>> rename fs/{cifs => smbfs}/fscache.c (100%)
>>> >>>> rename fs/{cifs => smbfs}/fscache.h (98%)
>>> >>>> rename fs/{cifs => smbfs}/inode.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/ioctl.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/link.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/misc.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/netlink.c (100%)
>>> >>>> rename fs/{cifs => smbfs}/netlink.h (100%)
>>> >>>> rename fs/{cifs => smbfs}/netmisc.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/nterr.c (100%)
>>> >>>> rename fs/{cifs => smbfs}/nterr.h (100%)
>>> >>>> rename fs/{cifs => smbfs}/ntlmssp.h (98%)
>>> >>>> rename fs/{cifs => smbfs}/readdir.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/rfc1002pdu.h (100%)
>>> >>>> rename fs/{cifs => smbfs}/sess.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/smb1ops.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/smb2file.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/smb2glob.h (100%)
>>> >>>> rename fs/{cifs => smbfs}/smb2inode.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/smb2maperror.c (100%)
>>> >>>> rename fs/{cifs => smbfs}/smb2misc.c (100%)
>>> >>>> rename fs/{cifs => smbfs}/smb2ops.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/smb2pdu.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/smb2pdu.h (100%)
>>> >>>> rename fs/{cifs => smbfs}/smb2proto.h (100%)
>>> >>>> rename fs/{cifs => smbfs}/smb2status.h (100%)
>>> >>>> rename fs/{cifs => smbfs}/smb2transport.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/smbdirect.c (100%)
>>> >>>> rename fs/{cifs => smbfs}/smbdirect.h (99%)
>>> >>>> rename fs/{cifs => smbfs}/smbencrypt.c (100%)
>>> >>>> rename fs/{cifs => smbfs}/smberr.h (100%)
>>> >>>> rename fs/{cifs/cifsfs.h => smbfs/smbfs.h} (97%)
>>> >>>> rename fs/{cifs => smbfs}/trace.c (100%)
>>> >>>> rename fs/{cifs => smbfs}/trace.h (100%)
>>> >>>> rename fs/{cifs => smbfs}/transport.c (99%)
>>> >>>> rename fs/{cifs => smbfs}/unc.c (100%)
>>> >>>> rename fs/{cifs => smbfs}/winucase.c (100%)
>>> >>>> rename fs/{cifs => smbfs}/xattr.c (98%)
>>> >>>>
>>> >>>
>>> >>
>>
>>
>>
>> -- 
>> Thanks,
>>
>> Steve
>
Enzo Matsumiya Aug. 2, 2022, 7:36 p.m. UTC | #13
On 08/02, Jeff Layton wrote:
>On Mon, 2022-08-01 at 16:09 -0300, Enzo Matsumiya wrote:
>> Hi,
>>
>> As part of the ongoing effort to remove the "cifs" nomenclature from the
>> Linux SMB client, I'm proposing the rename of the module to "smbfs".
>>
>> As it's widely known, CIFS is associated to SMB1.0, which, in turn, is
>> associated with the security issues it presented in the past. Using
>> "SMBFS" makes clear what's the protocol in use for outsiders, but also
>> unties it from any particular protocol version. It also fits in the
>> already existing "fs/smbfs_common" and "fs/ksmbd" naming scheme.
>>
>> This short patch series only changes directory names and includes/ifdefs in
>> headers and source code, and updates docs to reflect the rename. Other
>> than that, no source code/functionality is modified (WIP though).
>>
>> Patch 1/3: effectively changes the module name to "smbfs" and create a
>> 	   "cifs" module alias to maintain compatibility (a warning
>> 	   should be added to indicate the complete removal/isolation of
>> 	   CIFS/SMB1.0 code).
>> Patch 2/3: rename the source-code directory to align with the new module
>> 	   name
>> Patch 3/3: update documentation references to "fs/cifs" or "cifs.ko" or
>> 	   "cifs module" to use the new name
>>
>> Enzo Matsumiya (3):
>>   cifs: change module name to "smbfs.ko"
>>   smbfs: rename directory "fs/cifs" -> "fs/smbfs"
>>   smbfs: update doc references
>> ...
>
>Why do this? My inclination is to say NAK here.
>
>This seems like a lot of change for not a lot of benefit. Renaming the
>directory like this pretty much guarantees that backporting patches
>after this change to kernels that existed before it will be very
>difficult.

Hi Jeff, yes that's a big concern that I've discussed internally with my
team as well, since we'll also suffer from those future backports.

But, as stated in the commit message, and from what I gathered from
Steve, it has been an ongoing wish to have the "cifs" name no longer
associated with a module handling SMB2.0 and SMB3.0, as the name brings
back old bad memories for several users.

There really is no functional benefit for this change, and I have no
argument against that.

>Also, bear in mind that there used to be an smbfs in the kernel that
>predated cifs.ko. That was removed ~2010 though, which is long enough
>ago that it shouldn't produce conflicts in currently shipping releases. 

Yes, I was aware of this before sending v1, and it got raised again in
https://lore.kernel.org/all/20220802135201.4vm36drd5mp57nvv@cyberdelia/

I have no experience on what kind of issues/problems could arise of
that, aside from the git commit history being weird. If you ever seen
any problems with that happening, please do share.

>Jeff Layton <jlayton@kernel.org>

I sent a v2 with a new "fs/smb" directory name, but kept "smbfs" as the
module name.

Sorry I didn't reply to you before that, I got confused as the thread
replies all went to different folders in my mailbox.


Cheers,

Enzo
Jeff Layton Aug. 2, 2022, 8:07 p.m. UTC | #14
On Tue, 2022-08-02 at 16:36 -0300, Enzo Matsumiya wrote:
> On 08/02, Jeff Layton wrote:
> > On Mon, 2022-08-01 at 16:09 -0300, Enzo Matsumiya wrote:
> > > Hi,
> > > 
> > > As part of the ongoing effort to remove the "cifs" nomenclature from the
> > > Linux SMB client, I'm proposing the rename of the module to "smbfs".
> > > 
> > > As it's widely known, CIFS is associated to SMB1.0, which, in turn, is
> > > associated with the security issues it presented in the past. Using
> > > "SMBFS" makes clear what's the protocol in use for outsiders, but also
> > > unties it from any particular protocol version. It also fits in the
> > > already existing "fs/smbfs_common" and "fs/ksmbd" naming scheme.
> > > 
> > > This short patch series only changes directory names and includes/ifdefs in
> > > headers and source code, and updates docs to reflect the rename. Other
> > > than that, no source code/functionality is modified (WIP though).
> > > 
> > > Patch 1/3: effectively changes the module name to "smbfs" and create a
> > > 	   "cifs" module alias to maintain compatibility (a warning
> > > 	   should be added to indicate the complete removal/isolation of
> > > 	   CIFS/SMB1.0 code).
> > > Patch 2/3: rename the source-code directory to align with the new module
> > > 	   name
> > > Patch 3/3: update documentation references to "fs/cifs" or "cifs.ko" or
> > > 	   "cifs module" to use the new name
> > > 
> > > Enzo Matsumiya (3):
> > >   cifs: change module name to "smbfs.ko"
> > >   smbfs: rename directory "fs/cifs" -> "fs/smbfs"
> > >   smbfs: update doc references
> > > ...
> > 
> > Why do this? My inclination is to say NAK here.
> > 
> > This seems like a lot of change for not a lot of benefit. Renaming the
> > directory like this pretty much guarantees that backporting patches
> > after this change to kernels that existed before it will be very
> > difficult.
> 
> Hi Jeff, yes that's a big concern that I've discussed internally with my
> team as well, since we'll also suffer from those future backports.
> 
> But, as stated in the commit message, and from what I gathered from
> Steve, it has been an ongoing wish to have the "cifs" name no longer
> associated with a module handling SMB2.0 and SMB3.0, as the name brings
> back old bad memories for several users.
> 
> There really is no functional benefit for this change, and I have no
> argument against that.
> 

If the concern is "branding" then I don't see how this really helps.
Very few users interact with the kernel modules directly.

FWIW, I just called "modprobe smb3" on my workstation and got this:

[ 1223.581583] Key type cifs.spnego registered
[ 1223.582523] Key type cifs.idmap registered
[ 1230.411422] Key type cifs.idmap unregistered
[ 1230.412542] Key type cifs.spnego unregistered

Are you going to rename the keyrings too? That will have implications
for userland helper programs like cifs.upcall. There's also
/proc/fs/cifs/*.

These are a "stable interfaces" that you can't just rename at will. If
you want to change these interfaces then you need to do a formal
deprecation announcement, and probably a period with /proc/fs/smbfs and
/proc/fs/cifs coexisting.

There are also a ton of printk's and such that have "CIFS" in them that
will need to be changed.

These costs do not seem worth the perceived benefit to me. You could
probably hide a lot of what users see by just renaming (or symlinking)
mount.cifs to mount.smb3.

I think if you guys are serious about this, you should probably start
somewhere else besides renaming the directory and module. This is going
to impact developers (and people who make their living doing backports)
far more than it will users.

> > Also, bear in mind that there used to be an smbfs in the kernel that
> > predated cifs.ko. That was removed ~2010 though, which is long enough
> > ago that it shouldn't produce conflicts in currently shipping releases. 
> 
> Yes, I was aware of this before sending v1, and it got raised again in
> https://lore.kernel.org/all/20220802135201.4vm36drd5mp57nvv@cyberdelia/
> 
> I have no experience on what kind of issues/problems could arise of
> that, aside from the git commit history being weird. If you ever seen
> any problems with that happening, please do share.
> 

I doubt it'd be a problem in practice. If we hadn't ripped out smbfs so
long ago I'd be more concerned, but that's pretty much ancient history
now.

> 
> I sent a v2 with a new "fs/smb" directory name, but kept "smbfs" as the
> module name.
> 

That's a little nicer, but really the problem is the "big rename"
itself.

> Sorry I didn't reply to you before that, I got confused as the thread
> replies all went to different folders in my mailbox.
> 

No worries.
Tom Talpey Aug. 3, 2022, 1:32 a.m. UTC | #15
On 8/2/2022 4:07 PM, Jeff Layton wrote:
> On Tue, 2022-08-02 at 16:36 -0300, Enzo Matsumiya wrote:
>> On 08/02, Jeff Layton wrote:
>>> On Mon, 2022-08-01 at 16:09 -0300, Enzo Matsumiya wrote:
>>>> Hi,
>>>>
>>>> As part of the ongoing effort to remove the "cifs" nomenclature from the
>>>> Linux SMB client, I'm proposing the rename of the module to "smbfs".
>>>>
>>>> As it's widely known, CIFS is associated to SMB1.0, which, in turn, is
>>>> associated with the security issues it presented in the past. Using
>>>> "SMBFS" makes clear what's the protocol in use for outsiders, but also
>>>> unties it from any particular protocol version. It also fits in the
>>>> already existing "fs/smbfs_common" and "fs/ksmbd" naming scheme.
>>>>
>>>> This short patch series only changes directory names and includes/ifdefs in
>>>> headers and source code, and updates docs to reflect the rename. Other
>>>> than that, no source code/functionality is modified (WIP though).
>>>>
>>>> Patch 1/3: effectively changes the module name to "smbfs" and create a
>>>> 	   "cifs" module alias to maintain compatibility (a warning
>>>> 	   should be added to indicate the complete removal/isolation of
>>>> 	   CIFS/SMB1.0 code).
>>>> Patch 2/3: rename the source-code directory to align with the new module
>>>> 	   name
>>>> Patch 3/3: update documentation references to "fs/cifs" or "cifs.ko" or
>>>> 	   "cifs module" to use the new name
>>>>
>>>> Enzo Matsumiya (3):
>>>>    cifs: change module name to "smbfs.ko"
>>>>    smbfs: rename directory "fs/cifs" -> "fs/smbfs"
>>>>    smbfs: update doc references
>>>> ...
>>>
>>> Why do this? My inclination is to say NAK here.
>>>
>>> This seems like a lot of change for not a lot of benefit. Renaming the
>>> directory like this pretty much guarantees that backporting patches
>>> after this change to kernels that existed before it will be very
>>> difficult.
>>
>> Hi Jeff, yes that's a big concern that I've discussed internally with my
>> team as well, since we'll also suffer from those future backports.
>>
>> But, as stated in the commit message, and from what I gathered from
>> Steve, it has been an ongoing wish to have the "cifs" name no longer
>> associated with a module handling SMB2.0 and SMB3.0, as the name brings
>> back old bad memories for several users.
>>
>> There really is no functional benefit for this change, and I have no
>> argument against that.
>>
> 
> If the concern is "branding" then I don't see how this really helps.
> Very few users interact with the kernel modules directly.
> 
> FWIW, I just called "modprobe smb3" on my workstation and got this:
> 
> [ 1223.581583] Key type cifs.spnego registered
> [ 1223.582523] Key type cifs.idmap registered
> [ 1230.411422] Key type cifs.idmap unregistered
> [ 1230.412542] Key type cifs.spnego unregistered
> 
> Are you going to rename the keyrings too? That will have implications
> for userland helper programs like cifs.upcall. There's also
> /proc/fs/cifs/*.
> 
> These are a "stable interfaces" that you can't just rename at will. If
> you want to change these interfaces then you need to do a formal
> deprecation announcement, and probably a period with /proc/fs/smbfs and
> /proc/fs/cifs coexisting.
> 
> There are also a ton of printk's and such that have "CIFS" in them that
> will need to be changed.
> 
> These costs do not seem worth the perceived benefit to me. You could
> probably hide a lot of what users see by just renaming (or symlinking)
> mount.cifs to mount.smb3.
> 
> I think if you guys are serious about this, you should probably start
> somewhere else besides renaming the directory and module. This is going
> to impact developers (and people who make their living doing backports)
> far more than it will users.

The initial goal is to modularize the SMB1 code, so it can be completely
removed from a running system. The extensive refactoring logically leads
to this directory renaming, but renaming is basically a side effect.

Stamping out the four-letter word C-I-F-S is a secondary goal. At this
point, the industry has stopped using it. You make a good point that
it's still visible outside the kernel source though.

It makes good sense to do the refactoring in place, at first. Splitting
the {smb1,cifs}*.[ch] files will be more complex, but maybe easier to
review and merge, without folding in a new directory tree and git rm/mv.
Either way, there will be at least two modules, maybe three if we split
out generic subroutines.

Enzo, you're up to your elbows in this code now, is it too ugly without
the new directories?

Tom.


>>> Also, bear in mind that there used to be an smbfs in the kernel that
>>> predated cifs.ko. That was removed ~2010 though, which is long enough
>>> ago that it shouldn't produce conflicts in currently shipping releases.
>>
>> Yes, I was aware of this before sending v1, and it got raised again in
>> https://lore.kernel.org/all/20220802135201.4vm36drd5mp57nvv@cyberdelia/
>>
>> I have no experience on what kind of issues/problems could arise of
>> that, aside from the git commit history being weird. If you ever seen
>> any problems with that happening, please do share.
>>
> 
> I doubt it'd be a problem in practice. If we hadn't ripped out smbfs so
> long ago I'd be more concerned, but that's pretty much ancient history
> now.
> 
>>
>> I sent a v2 with a new "fs/smb" directory name, but kept "smbfs" as the
>> module name.
>>
> 
> That's a little nicer, but really the problem is the "big rename"
> itself.
> 
>> Sorry I didn't reply to you before that, I got confused as the thread
>> replies all went to different folders in my mailbox.
>>
> 
> No worries.
Enzo Matsumiya Aug. 3, 2022, 1:56 a.m. UTC | #16
On 08/02, Tom Talpey wrote:
>The initial goal is to modularize the SMB1 code, so it can be completely
>removed from a running system. The extensive refactoring logically leads
>to this directory renaming, but renaming is basically a side effect.
>
>Stamping out the four-letter word C-I-F-S is a secondary goal. At this
>point, the industry has stopped using it. You make a good point that
>it's still visible outside the kernel source though.
>
>It makes good sense to do the refactoring in place, at first. Splitting
>the {smb1,cifs}*.[ch] files will be more complex, but maybe easier to
>review and merge, without folding in a new directory tree and git rm/mv.
>Either way, there will be at least two modules, maybe three if we split
>out generic subroutines.
>
>Enzo, you're up to your elbows in this code now, is it too ugly without
>the new directories?

Having things in separate directories and code appropriately distributed
in coherently named headers/sources certainly makes things easier to
work with.

Of course this patch is not important, by far, but from what I
gathered, it was some people's wish to move away from "cifs" name.

Answering your question (IIUC), Tom, I'm ok with postponing this change.

>Tom.

Cheers,

Enzo
Steve French Aug. 3, 2022, 5:38 a.m. UTC | #17
On Tue, Aug 2, 2022 at 8:32 PM Tom Talpey <tom@talpey.com> wrote:
>
> On 8/2/2022 4:07 PM, Jeff Layton wrote:
> > On Tue, 2022-08-02 at 16:36 -0300, Enzo Matsumiya wrote:
> >> On 08/02, Jeff Layton wrote:
> >>> On Mon, 2022-08-01 at 16:09 -0300, Enzo Matsumiya wrote:
> >>>> Hi,
> >>>>
> >>>> As part of the ongoing effort to remove the "cifs" nomenclature from the
> >>>> Linux SMB client, I'm proposing the rename of the module to "smbfs".
> >>>>
> >>>> As it's widely known, CIFS is associated to SMB1.0, which, in turn, is
> >>>> associated with the security issues it presented in the past. Using
> >>>> "SMBFS" makes clear what's the protocol in use for outsiders, but also
> >>>> unties it from any particular protocol version. It also fits in the
> >>>> already existing "fs/smbfs_common" and "fs/ksmbd" naming scheme.
> >>>>
> >>>> This short patch series only changes directory names and includes/ifdefs in
> >>>> headers and source code, and updates docs to reflect the rename. Other
> >>>> than that, no source code/functionality is modified (WIP though).
> >>>>
> >>>> Patch 1/3: effectively changes the module name to "smbfs" and create a
> >>>>       "cifs" module alias to maintain compatibility (a warning
> >>>>       should be added to indicate the complete removal/isolation of
> >>>>       CIFS/SMB1.0 code).
> >>>> Patch 2/3: rename the source-code directory to align with the new module
> >>>>       name
> >>>> Patch 3/3: update documentation references to "fs/cifs" or "cifs.ko" or
> >>>>       "cifs module" to use the new name
> >>>>
> >>>> Enzo Matsumiya (3):
> >>>>    cifs: change module name to "smbfs.ko"
> >>>>    smbfs: rename directory "fs/cifs" -> "fs/smbfs"
> >>>>    smbfs: update doc references
> >>>> ...
> >>>
> >>> Why do this? My inclination is to say NAK here.
> >>>
> >>> This seems like a lot of change for not a lot of benefit. Renaming the
> >>> directory like this pretty much guarantees that backporting patches
> >>> after this change to kernels that existed before it will be very
> >>> difficult.
> >>
> >> Hi Jeff, yes that's a big concern that I've discussed internally with my
> >> team as well, since we'll also suffer from those future backports.
> >>
> >> But, as stated in the commit message, and from what I gathered from
> >> Steve, it has been an ongoing wish to have the "cifs" name no longer
> >> associated with a module handling SMB2.0 and SMB3.0, as the name brings
> >> back old bad memories for several users.
> >>
> >> There really is no functional benefit for this change, and I have no
> >> argument against that.
> >>
> >
> > If the concern is "branding" then I don't see how this really helps.
> > Very few users interact with the kernel modules directly.
> >
> > FWIW, I just called "modprobe smb3" on my workstation and got this:
> >
> > [ 1223.581583] Key type cifs.spnego registered
> > [ 1223.582523] Key type cifs.idmap registered
> > [ 1230.411422] Key type cifs.idmap unregistered
> > [ 1230.412542] Key type cifs.spnego unregistered
> >
> > Are you going to rename the keyrings too? That will have implications
> > for userland helper programs like cifs.upcall. There's also
> > /proc/fs/cifs/*.
> >
> > These are a "stable interfaces" that you can't just rename at will. If
> > you want to change these interfaces then you need to do a formal
> > deprecation announcement, and probably a period with /proc/fs/smbfs and
> > /proc/fs/cifs coexisting.
> >
> > There are also a ton of printk's and such that have "CIFS" in them that
> > will need to be changed.
> >
> > These costs do not seem worth the perceived benefit to me. You could
> > probably hide a lot of what users see by just renaming (or symlinking)
> > mount.cifs to mount.smb3.
> >
> > I think if you guys are serious about this, you should probably start
> > somewhere else besides renaming the directory and module. This is going
> > to impact developers (and people who make their living doing backports)
> > far more than it will users.
>
> The initial goal is to modularize the SMB1 code, so it can be completely
> removed from a running system. The extensive refactoring logically leads
> to this directory renaming, but renaming is basically a side effect.
>
> Stamping out the four-letter word C-I-F-S is a secondary goal. At this
> point, the industry has stopped using it. You make a good point that
> it's still visible outside the kernel source though.
>
> It makes good sense to do the refactoring in place, at first. Splitting
> the {smb1,cifs}*.[ch] files will be more complex, but maybe easier to
> review and merge, without folding in a new directory tree and git rm/mv.
> Either way, there will be at least two modules, maybe three if we split
> out generic subroutines.

Yes, Tom's points make sense.  The initial goal is to modularize the
smb1 (cifs) code,
and first goal is to do the refactoring in place without creating a
new directory
tree, allowing more and more of the smb1 code to be split out (currently
we can save about 10% on the module size when built with legacy disabled, but
I suspect that it will be about double that as more smb1 code is moved into
ifdefs or the smb1 specific c files).
Enzo Matsumiya Aug. 3, 2022, 2:45 p.m. UTC | #18
On 08/02, Jeff Layton wrote:
>If the concern is "branding" then I don't see how this really helps.
>Very few users interact with the kernel modules directly.
>
>FWIW, I just called "modprobe smb3" on my workstation and got this:
>
>[ 1223.581583] Key type cifs.spnego registered
>[ 1223.582523] Key type cifs.idmap registered
>[ 1230.411422] Key type cifs.idmap unregistered
>[ 1230.412542] Key type cifs.spnego unregistered
>
>Are you going to rename the keyrings too? That will have implications
>for userland helper programs like cifs.upcall. There's also
>/proc/fs/cifs/*.
>
>These are a "stable interfaces" that you can't just rename at will. If
>you want to change these interfaces then you need to do a formal
>deprecation announcement, and probably a period with /proc/fs/smbfs and
>/proc/fs/cifs coexisting.
>
>There are also a ton of printk's and such that have "CIFS" in them that
>will need to be changed.
>
>These costs do not seem worth the perceived benefit to me. You could
>probably hide a lot of what users see by just renaming (or symlinking)
>mount.cifs to mount.smb3.
>
>I think if you guys are serious about this, you should probably start
>somewhere else besides renaming the directory and module. This is going
>to impact developers (and people who make their living doing backports)
>far more than it will users.

I was thinking about the possible issues of a rename, and my
perspective/assessment of the impact is this:

For devs:
- from running userspace/upcall tools with "cifs" name for a while until
   everything eventually catches up
- not much else, really (enlighten me here please)

For backporters/distros:
- this might *look* like an issue first, because of the name conflicts it
   would arise when backporting fixes to older kernels, but these are
   _just_ a rename, without any functional changes whatsoever. It could
   be backported just fine as well, and customers/end users would still
   see no difference in behaviour

For customers/end users:
- at first, there should be no impact. "cifs" and "smb3" modules aliases
   are kept (and will be for a long while) and nothing else changes
   (procfs entry, idmap/spnego upcalls, mount.cifs, etc stays the same)

A note on backports: I myself (and Paulo) do the backports for our SLE
products, sometimes down to SLE11-SP4 (based on kernel 3.0) and I
could not see what other issues could appear given if we backport this
rename to released products.

Of course, I don't know every process for every distro vendors, so if
someone could provide feedback on this, I'd appreciate.

@Paulo I'd like to hear your opinion on possible issues of future backports,
if we backported this rename patch to SLES.


Cheers,

Enzo
Paulo Alcantara Aug. 3, 2022, 5:50 p.m. UTC | #19
Enzo Matsumiya <ematsumiya@suse.de> writes:

> A note on backports: I myself (and Paulo) do the backports for our SLE
> products, sometimes down to SLE11-SP4 (based on kernel 3.0) and I
> could not see what other issues could appear given if we backport this
> rename to released products.
>
> Of course, I don't know every process for every distro vendors, so if
> someone could provide feedback on this, I'd appreciate.
>
> @Paulo I'd like to hear your opinion on possible issues of future backports,
> if we backported this rename patch to SLES.

We all know that backports aren't usually easy to deal with --
especially when doing them on very old kernels.  So, if we're gonna make
them even more difficult, there must be a good reason like a new feature
or bugfix.  This rename simply doesn't justify all the trouble, IMO.

Besides, for any future fixes marked for stable after this rename, it's
gonna be tricky as well.  Of course, we can definitely handle them but
not worth the trouble, too.

Just to be clear, this is a NAK from me.
Jeff Layton Aug. 4, 2022, 7:03 p.m. UTC | #20
On Tue, 2022-08-02 at 22:56 -0300, Enzo Matsumiya wrote:
> On 08/02, Tom Talpey wrote:
> > The initial goal is to modularize the SMB1 code, so it can be completely
> > removed from a running system. The extensive refactoring logically leads
> > to this directory renaming, but renaming is basically a side effect.
> > 

This is a great technical goal. Splitting up cifs.ko into smaller
modules would be great, in addition to being able to turn off smb1
support.

> > Stamping out the four-letter word C-I-F-S is a secondary goal. At this
> > point, the industry has stopped using it. You make a good point that
> > it's still visible outside the kernel source though.
> > 
> > It makes good sense to do the refactoring in place, at first. Splitting
> > the {smb1,cifs}*.[ch] files will be more complex, but maybe easier to
> > review and merge, without folding in a new directory tree and git rm/mv.
> > Either way, there will be at least two modules, maybe three if we split
> > out generic subroutines.
> > 
> > Enzo, you're up to your elbows in this code now, is it too ugly without
> > the new directories?
> 
> Having things in separate directories and code appropriately distributed
> in coherently named headers/sources certainly makes things easier to
> work with.
> 
> Of course this patch is not important, by far, but from what I
> gathered, it was some people's wish to move away from "cifs" name.
> 
> Answering your question (IIUC), Tom, I'm ok with postponing this change.
> 
> 

Cool. I'm not even really opposed to moving the directory to a new one,
but I think a change of that magnitude ought to have some clear
technical benefit. Maybe it'll look more palatable once the breakup into
multiple modules is in place.
Matthew Wilcox Aug. 4, 2022, 8:23 p.m. UTC | #21
On Thu, Aug 04, 2022 at 03:03:23PM -0400, Jeff Layton wrote:
> On Tue, 2022-08-02 at 22:56 -0300, Enzo Matsumiya wrote:
> > On 08/02, Tom Talpey wrote:
> > > The initial goal is to modularize the SMB1 code, so it can be completely
> > > removed from a running system. The extensive refactoring logically leads
> > > to this directory renaming, but renaming is basically a side effect.
> > > 
> 
> This is a great technical goal. Splitting up cifs.ko into smaller
> modules would be great, in addition to being able to turn off smb1
> support.

I don't know the CIFS module that well.  How do you see it being split
up?  It's #4 in the list of filesystems:

$ size /lib/modules/5.18.0-3-amd64/kernel/fs/*/*.ko |sort -n |tail
 369020	  28460	    132	 397612	  6112c	/lib/modules/5.18.0-3-amd64/kernel/fs/ubifs/ubifs.ko
 395793	  50398	    960	 447151	  6d2af	/lib/modules/5.18.0-3-amd64/kernel/fs/ceph/ceph.ko
 477909	  58883	  10512	 547304	  859e8	/lib/modules/5.18.0-3-amd64/kernel/fs/nfsd/nfsd.ko
 609260	  84848	    640	 694748	  a99dc	/lib/modules/5.18.0-3-amd64/kernel/fs/f2fs/f2fs.ko
 622638	 252078	   1008	 875724	  d5ccc	/lib/modules/5.18.0-3-amd64/kernel/fs/nfs/nfsv4.ko
 717343	 111314	   1176	 829833	  ca989	/lib/modules/5.18.0-3-amd64/kernel/fs/ext4/ext4.ko
 884247	 206051	    504	1090802	 10a4f2	/lib/modules/5.18.0-3-amd64/kernel/fs/cifs/cifs.ko
 890155	 159520	    240	1049915	 10053b	/lib/modules/5.18.0-3-amd64/kernel/fs/ocfs2/ocfs2.ko
1193834	 274148	    456	1468438	 166816	/lib/modules/5.18.0-3-amd64/kernel/fs/xfs/xfs.ko
1393088	 126501	  15072	1534661	 176ac5	/lib/modules/5.18.0-3-amd64/kernel/fs/btrfs/btrfs.ko

... but if you look at how NFS is split up:

 311322	  76200	    392	 387914	  5eb4a	/lib/modules/5.18.0-3-amd64/kernel/fs/nfs/nfs.ko
  25157	   1100	     72	  26329	   66d9	/lib/modules/5.18.0-3-amd64/kernel/fs/nfs/nfsv2.ko
  49332	   1544	    120	  50996	   c734	/lib/modules/5.18.0-3-amd64/kernel/fs/nfs/nfsv3.ko
 622638	 252078	   1008	 875724	  d5ccc	/lib/modules/5.18.0-3-amd64/kernel/fs/nfs/nfsv4.ko

you can save a lot of RAM if you don't need NFSv4 (then there's also
nfs_common, 408kB of sunrpc.ko, etc, etc).
Jeff Layton Aug. 4, 2022, 8:48 p.m. UTC | #22
On Thu, 2022-08-04 at 21:23 +0100, Matthew Wilcox wrote:
> On Thu, Aug 04, 2022 at 03:03:23PM -0400, Jeff Layton wrote:
> > On Tue, 2022-08-02 at 22:56 -0300, Enzo Matsumiya wrote:
> > > On 08/02, Tom Talpey wrote:
> > > > The initial goal is to modularize the SMB1 code, so it can be completely
> > > > removed from a running system. The extensive refactoring logically leads
> > > > to this directory renaming, but renaming is basically a side effect.
> > > > 
> > 
> > This is a great technical goal. Splitting up cifs.ko into smaller
> > modules would be great, in addition to being able to turn off smb1
> > support.
> 
> I don't know the CIFS module that well.  How do you see it being split
> up?  It's #4 in the list of filesystems:
> 

Probably by SMB protocol version, similar to how nfs.ko was split. Some
of the files are already version-specific. Some others will need to be
split up or moved into a common helper module, etc. It's not as
mechanical a change, but it would be nice to move in that direction.

To be clear for Enzo, if you have to do enough moving things around,
then it may make sense to go ahead and rename the directory too. It sort
of depends on what the final delta looks like.

> $ size /lib/modules/5.18.0-3-amd64/kernel/fs/*/*.ko |sort -n |tail
>  369020	  28460	    132	 397612	  6112c	/lib/modules/5.18.0-3-amd64/kernel/fs/ubifs/ubifs.ko
>  395793	  50398	    960	 447151	  6d2af	/lib/modules/5.18.0-3-amd64/kernel/fs/ceph/ceph.ko
>  477909	  58883	  10512	 547304	  859e8	/lib/modules/5.18.0-3-amd64/kernel/fs/nfsd/nfsd.ko
>  609260	  84848	    640	 694748	  a99dc	/lib/modules/5.18.0-3-amd64/kernel/fs/f2fs/f2fs.ko
>  622638	 252078	   1008	 875724	  d5ccc	/lib/modules/5.18.0-3-amd64/kernel/fs/nfs/nfsv4.ko
>  717343	 111314	   1176	 829833	  ca989	/lib/modules/5.18.0-3-amd64/kernel/fs/ext4/ext4.ko
>  884247	 206051	    504	1090802	 10a4f2	/lib/modules/5.18.0-3-amd64/kernel/fs/cifs/cifs.ko
>  890155	 159520	    240	1049915	 10053b	/lib/modules/5.18.0-3-amd64/kernel/fs/ocfs2/ocfs2.ko
> 1193834	 274148	    456	1468438	 166816	/lib/modules/5.18.0-3-amd64/kernel/fs/xfs/xfs.ko
> 1393088	 126501	  15072	1534661	 176ac5	/lib/modules/5.18.0-3-amd64/kernel/fs/btrfs/btrfs.ko
> 
> ... but if you look at how NFS is split up:
> 
>  311322	  76200	    392	 387914	  5eb4a	/lib/modules/5.18.0-3-amd64/kernel/fs/nfs/nfs.ko
>   25157	   1100	     72	  26329	   66d9	/lib/modules/5.18.0-3-amd64/kernel/fs/nfs/nfsv2.ko
>   49332	   1544	    120	  50996	   c734	/lib/modules/5.18.0-3-amd64/kernel/fs/nfs/nfsv3.ko
>  622638	 252078	   1008	 875724	  d5ccc	/lib/modules/5.18.0-3-amd64/kernel/fs/nfs/nfsv4.ko
> 
> you can save a lot of RAM if you don't need NFSv4 (then there's also
> nfs_common, 408kB of sunrpc.ko, etc, etc).

The memory savings is nice, but the real gain is in being able to
eventually drop SMB1 support. The SMB1 protocol is notoriously awful, so
there is legitimate interest in doing so. Moving it into a separate
module (built under a new Kconfig option) would be a great first step in
that direction.