• hujianyang's avatar
    ovl: upper fs should not be R/O · 71cbad7e
    hujianyang authored
    After importing multi-lower layer support, users could mount a r/o
    partition as the left most lowerdir instead of using it as upperdir.
    And a r/o upperdir may cause an error like
    
    	overlayfs: failed to create directory ./workdir/work
    
    during mount.
    
    This patch check the *s_flags* of upper fs and return an error if
    it is a r/o partition. The checking of *upper_mnt->mnt_sb->s_flags*
    can be removed now.
    
    This patch also remove
    
    	/* FIXME: workdir is not needed for a R/O mount */
    
    from ovl_fill_super() because:
    
    1) for upper fs r/o case
    Setting a r/o partition as upper is prevented, no need to care about
    workdir in this case.
    
    2) for "mount overlay -o ro" with a r/w upper fs case
    Users could remount overlayfs to r/w in this case, so workdir should
    not be omitted.
    Signed-off-by: default avatarhujianyang <hujianyang@huawei.com>
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
    71cbad7e
super.c 22 KB