Message ID | 20220801190933.27197-1-ematsumiya@suse.de (mailing list archive) |
---|---|
Headers | show |
Series | Rename "cifs" module to "smbfs" | expand |
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%) >
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%) >> >
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%) > >> > >
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
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%) >>> >> >
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%) > >>> > >> > >
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%) >>>> >>> >>
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.
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%) > >>>> > >>> > >>
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
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
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 >
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
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.
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.
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
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).
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
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.
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.
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).
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.