]> git.proxmox.com Git - mirror_zfs.git/commitdiff
Expose ZFS dataset case sensitivity setting via sb_opts
authorixhamza <106930537+ixhamza@users.noreply.github.com>
Thu, 14 Jul 2022 17:38:16 +0000 (22:38 +0500)
committerGitHub <noreply@github.com>
Thu, 14 Jul 2022 17:38:16 +0000 (10:38 -0700)
Makes the case sensitivity setting visible on Linux in /proc/mounts.

Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>
Closes #13607

include/sys/mntent.h
lib/libzfs/os/linux/libzfs_mount_os.c
module/os/linux/zfs/zpl_super.c

index d5e75daf0ee81b3816a10ce24fd0a8cc7b2e6e2e..5bb7e080cda8e2fce79dc98d147627f21c3db65e 100644 (file)
 #define        MNTOPT_NOACL    "noacl"         /* likewise */
 #define        MNTOPT_POSIXACL "posixacl"      /* likewise */
 #define        MNTOPT_MNTPOINT "mntpoint"      /* mount point hint */
+#define        MNTOPT_CASESENSITIVE    "casesensitive"         /* case sensitivity */
+#define        MNTOPT_CASEINSENSITIVE  "caseinsensitive"       /* case insensitivity */
+#define        MNTOPT_CASEMIXED        "casemixed"             /* case mixed */
 
 #endif /* _SYS_MNTENT_H */
index 1718cf62ab737950d6d8a565de0dfab3355da44a..f0bf3dcc6c6bc78b087c1d2521aba23edf8b4289 100644 (file)
@@ -84,6 +84,13 @@ static const option_map_t option_map[] = {
        { MNTOPT_ACL,           MS_POSIXACL,    ZS_COMMENT      },
        { MNTOPT_NOACL,         MS_COMMENT,     ZS_COMMENT      },
        { MNTOPT_POSIXACL,      MS_POSIXACL,    ZS_COMMENT      },
+       /*
+        * Case sensitive options are just listed here to silently
+        * ignore the error if passed with zfs mount command.
+        */
+       { MNTOPT_CASESENSITIVE,         MS_COMMENT,     ZS_COMMENT      },
+       { MNTOPT_CASEINSENSITIVE,       MS_COMMENT,     ZS_COMMENT      },
+       { MNTOPT_CASEMIXED,             MS_COMMENT,     ZS_COMMENT      },
 #ifdef MS_NOATIME
        { MNTOPT_NOATIME,       MS_NOATIME,     ZS_COMMENT      },
        { MNTOPT_ATIME,         MS_COMMENT,     ZS_COMMENT      },
index 88b01145cd6b758ee17ac396f8df91ab3dccc477..cf879a2897b38ae99f29002073bea295ff0f5c58 100644 (file)
@@ -233,6 +233,18 @@ __zpl_show_options(struct seq_file *seq, zfsvfs_t *zfsvfs)
        }
 #endif /* CONFIG_FS_POSIX_ACL */
 
+       switch (zfsvfs->z_case) {
+       case ZFS_CASE_SENSITIVE:
+               seq_puts(seq, ",casesensitive");
+               break;
+       case ZFS_CASE_INSENSITIVE:
+               seq_puts(seq, ",caseinsensitive");
+               break;
+       default:
+               seq_puts(seq, ",casemixed");
+               break;
+       }
+
        return (0);
 }