Re: [RFC PATCH 0/3] Rename "cifs" module to "smbfs"

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

 



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@xxxxxxx> 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@xxxxxxx> 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@xxxxxxx>
> >> 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@xxxxxxx>
> >>
> >> commit be9eee2e8b87e335531a3ae13abb8d26e834c438
> >> Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
> >> 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@xxxxxx>
> >>      Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
> >> ...
> >> ----
> >>
> >> 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



-- 
Thanks,

Steve



[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux