Expose ZFS dataset case sensitivity setting via sb_opts

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
This commit is contained in:
ixhamza 2022-07-14 22:38:16 +05:00 committed by GitHub
parent 9fe2f262aa
commit f371cc18f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 0 deletions

View File

@ -108,5 +108,8 @@
#define MNTOPT_NOACL "noacl" /* likewise */ #define MNTOPT_NOACL "noacl" /* likewise */
#define MNTOPT_POSIXACL "posixacl" /* likewise */ #define MNTOPT_POSIXACL "posixacl" /* likewise */
#define MNTOPT_MNTPOINT "mntpoint" /* mount point hint */ #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 */ #endif /* _SYS_MNTENT_H */

View File

@ -84,6 +84,13 @@ static const option_map_t option_map[] = {
{ MNTOPT_ACL, MS_POSIXACL, ZS_COMMENT }, { MNTOPT_ACL, MS_POSIXACL, ZS_COMMENT },
{ MNTOPT_NOACL, MS_COMMENT, ZS_COMMENT }, { MNTOPT_NOACL, MS_COMMENT, ZS_COMMENT },
{ MNTOPT_POSIXACL, MS_POSIXACL, 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 #ifdef MS_NOATIME
{ MNTOPT_NOATIME, MS_NOATIME, ZS_COMMENT }, { MNTOPT_NOATIME, MS_NOATIME, ZS_COMMENT },
{ MNTOPT_ATIME, MS_COMMENT, ZS_COMMENT }, { MNTOPT_ATIME, MS_COMMENT, ZS_COMMENT },

View File

@ -233,6 +233,18 @@ __zpl_show_options(struct seq_file *seq, zfsvfs_t *zfsvfs)
} }
#endif /* CONFIG_FS_POSIX_ACL */ #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); return (0);
} }