vfs: Provide sb->s_iflags settings in fs_context struct
authorDavid Howells <dhowells@redhat.com>
Mon, 25 Mar 2019 16:38:23 +0000 (16:38 +0000)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 25 May 2019 22:00:03 +0000 (18:00 -0400)
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

fs/super.c
include/linux/fs_context.h

index 72b4a5afcfd6da3cbd7ba9cdca70f11d3df92fd9..f836b67abffee08efab12e77f943c75f08aad204 100644 (file)
@@ -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);
index 1f966670c8dc7b40113fbb6a27cb8f8a00fad644..c995b852ba405ff5687669ae8dbe68fe9e81b6bc 100644 (file)
@@ -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 */