summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2019-03-25 16:38:23 +0000
committerAl Viro <viro@zeniv.linux.org.uk>2019-05-25 18:00:03 -0400
commitc80fa7c8301c10ad10d997b9e86b4aeac5923b3e (patch)
tree58155c6c51f1dc3be0746dc801297188cb257424
parent7cdfa44227b0d8842d46a775cebe4311150cb8f2 (diff)
vfs: Provide sb->s_iflags settings in fs_context struct
Provide a field in the fs_context struct through which bits in the sb->s_iflags superblock field can be set. Signed-off-by: David Howells <dhowells@redhat.com> cc: linux-fsdevel@vger.kernel.org
-rw-r--r--fs/super.c1
-rw-r--r--include/linux/fs_context.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/fs/super.c b/fs/super.c
index 72b4a5afcfd6..f836b67abffe 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -540,6 +540,7 @@ retry:
}
fc->s_fs_info = NULL;
s->s_type = fc->fs_type;
+ s->s_iflags |= fc->s_iflags;
strlcpy(s->s_id, s->s_type->name, sizeof(s->s_id));
list_add_tail(&s->s_list, &super_blocks);
hlist_add_head(&s->s_instances, &s->s_type->fs_supers);
diff --git a/include/linux/fs_context.h b/include/linux/fs_context.h
index 1f966670c8dc..c995b852ba40 100644
--- a/include/linux/fs_context.h
+++ b/include/linux/fs_context.h
@@ -103,6 +103,7 @@ struct fs_context {
void *s_fs_info; /* Proposed s_fs_info */
unsigned int sb_flags; /* Proposed superblock flags (SB_*) */
unsigned int sb_flags_mask; /* Superblock flags that were changed */
+ unsigned int s_iflags; /* OR'd with sb->s_iflags */
unsigned int lsm_flags; /* Information flags from the fs to the LSM */
enum fs_context_purpose purpose:8;
enum fs_context_phase phase:8; /* The phase the context is in */