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 <dhowe...@redhat.com>
cc: linux-fsde...@vger.kernel.org
---

 fs/super.c                 |    1 +
 include/linux/fs_context.h |    1 +
 2 files changed, 2 insertions(+)

diff --git a/fs/super.c b/fs/super.c
index 583a0124bc39..6c3acd633cca 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -543,6 +543,7 @@ struct super_block *sget_fc(struct fs_context *fc,
        }
        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 eaca452088fa..98b44ad89378 100644
--- a/include/linux/fs_context.h
+++ b/include/linux/fs_context.h
@@ -86,6 +86,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;
        bool                    need_free:1;    /* Need to call ops->free() */

Reply via email to