On Thu, Jun 18, 2020 at 11:19:12AM +1000, Dave Chinner wrote: > On Wed, Jun 17, 2020 at 07:57:29AM +0000, Satya Tangirala wrote: > > Introduce SB_INLINECRYPT, which is set by filesystems that wish to use > > blk-crypto for file content en/decryption. This flag maps to the > > '-o inlinecrypt' mount option which multiple filesystems will implement, > > and code in fs/crypto/ needs to be able to check for this mount option > > in a filesystem-independent way. > > > > Signed-off-by: Satya Tangirala <satyat@xxxxxxxxxx> > > --- > > fs/proc_namespace.c | 1 + > > include/linux/fs.h | 1 + > > 2 files changed, 2 insertions(+) > > > > diff --git a/fs/proc_namespace.c b/fs/proc_namespace.c > > index 3059a9394c2d..e0ff1f6ac8f1 100644 > > --- a/fs/proc_namespace.c > > +++ b/fs/proc_namespace.c > > @@ -49,6 +49,7 @@ static int show_sb_opts(struct seq_file *m, struct super_block *sb) > > { SB_DIRSYNC, ",dirsync" }, > > { SB_MANDLOCK, ",mand" }, > > { SB_LAZYTIME, ",lazytime" }, > > + { SB_INLINECRYPT, ",inlinecrypt" }, > > { 0, NULL } > > }; > > const struct proc_fs_opts *fs_infop; > > NACK. > > SB_* flgs are for functionality enabled on the superblock, not for > indicating mount options that have been set by the user. That's an interesting claim, given that most SB_* flags are for mount options. E.g.: ro => SB_RDONLY nosuid => SB_NOSUID nodev => SB_NODEV noexec => SB_NOEXEC sync => SB_SYNCHRONOUS mand => SB_MANDLOCK noatime => SB_NOATIME nodiratime => SB_NODIRATIME lazytime => SB_LAZYTIME > > If the mount options are directly parsed by the filesystem option > parser (as is done later in this patchset), then the mount option > setting should be emitted by the filesystem's ->show_options > function, not a generic function. > > The option string must match what the filesystem defines, not > require separate per-filesystem and VFS definitions of the same > option that people could potentially get wrong (*cough* i_version vs > iversion *cough*).... Are you objecting to the use of a SB_* flag, or just to showing the flag in show_sb_opts() instead of in the individual filesystems? Note that the SB_* flag was requested by Christoph (https://lkml.kernel.org/r/20191031183217.GF23601@xxxxxxxxxxxxx/, https://lkml.kernel.org/r/20191031212103.GA6244@xxxxxxxxxxxxx/). We originally used a function fscrypt_operations::inline_crypt_enabled() instead. - Eric