smb: client: return reparse type in /proc/mounts
authorPaulo Alcantara <pc@manguebit.com>
Sat, 24 Feb 2024 19:57:14 +0000 (16:57 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 25 May 2024 14:22:49 +0000 (16:22 +0200)
[ Upstream commit 1e5f4240714bb238d2d17c7e14e5fb45c9140665 ]

Add support for returning reparse mount option in /proc/mounts.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202402262152.YZOwDlCM-lkp@intel.com/
Signed-off-by: Paulo Alcantara <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/smb/client/cifsfs.c
fs/smb/client/cifsglob.h

index 6d9d2174ee69196fda7530cf7b85804ae14ada59..30bf754c9fc939708b7e88acb953457d0c35fd0a 100644 (file)
@@ -674,6 +674,8 @@ cifs_show_options(struct seq_file *s, struct dentry *root)
                seq_printf(s, ",backupgid=%u",
                           from_kgid_munged(&init_user_ns,
                                            cifs_sb->ctx->backupgid));
+       seq_show_option(s, "reparse",
+                       cifs_reparse_type_str(cifs_sb->ctx->reparse_type));
 
        seq_printf(s, ",rsize=%u", cifs_sb->ctx->rsize);
        seq_printf(s, ",wsize=%u", cifs_sb->ctx->wsize);
index ddb64af50a45deeaacddd24ad84ae13224f39f43..053556ca6f011da513a732cc480ee4d2f6236b98 100644 (file)
@@ -159,6 +159,18 @@ enum cifs_reparse_type {
        CIFS_REPARSE_TYPE_DEFAULT = CIFS_REPARSE_TYPE_NFS,
 };
 
+static inline const char *cifs_reparse_type_str(enum cifs_reparse_type type)
+{
+       switch (type) {
+       case CIFS_REPARSE_TYPE_NFS:
+               return "nfs";
+       case CIFS_REPARSE_TYPE_WSL:
+               return "wsl";
+       default:
+               return "unknown";
+       }
+}
+
 struct session_key {
        unsigned int len;
        char *response;