• Steven Whitehouse's avatar
    GFS2: Fix -o meta mounts for subsequent mounts (i.e. all but the first one) · f55073ff
    Steven Whitehouse authored
    We have a long term plan to use the "-o meta" flag to GFS2 mounts to
    access the alternate root which is used to store metadata for a GFS2
    filesystem. This will allow us to eventually remove support for the
    gfs2meta filesystem type (which is in any case just a "front end" to
    the gfs2 filesystem type with the meta/master root).
    
    Currently the "-o meta" option is only taken into account on the
    initial mount of the filesystem. Subsequent mounts of the same
    filesystem (i.e. on the same device) result in basically the same
    as bind mounting the root of the original mount.
    
    This patch changes that by using what is more or less a copy
    of get_sb_bdev() and extending it so that it will take into
    account the alternate root in all cases. The main difference
    is that we have to parse the mount options a bit earlier. We can
    then use them to select the appropriate root towards the end of
    the function.
    
    In addition this also fixes a bug where it was possible (but certainly
    not desirable) to set different ro/rw options for the meta root
    when mounted via the gfs2meta fs compared with the original mount.
    Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
    Cc: Alexander Viro <aviro@redhat.com>
    f55073ff
super.c 30.9 KB