diff options
author | Eric Sandeen <sandeen@redhat.com> | 2015-04-13 04:25:41 +0300 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2015-04-13 04:25:41 +0300 |
commit | bbe051c841d522bf2aaa1d362b57fe47457187bf (patch) | |
tree | 45f55239cc81b63aff4f457c1365b87675bc8936 /fs/xfs | |
parent | 72c1a73993cfa3572e45e1a878ff7acf31d14fc8 (diff) | |
download | linux-bbe051c841d522bf2aaa1d362b57fe47457187bf.tar.xz |
xfs: disallow ro->rw remount on norecovery mount
There's a bit of a loophole in norecovery mount handling right
now: an initial mount must be readonly, but nothing prevents
a mount -o remount,rw from producing a writable, unrecovered
xfs filesystem.
It might be possible to try to perform a log recovery when this
is requested, but I'm not sure it's worth the effort. For now,
simply disallow this sort of transition.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs')
-rw-r--r-- | fs/xfs/xfs_super.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index 58453e3255f8..02718638dc12 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -1237,6 +1237,12 @@ xfs_fs_remount( /* ro -> rw */ if ((mp->m_flags & XFS_MOUNT_RDONLY) && !(*flags & MS_RDONLY)) { + if (mp->m_flags & XFS_MOUNT_NORECOVERY) { + xfs_warn(mp, + "ro->rw transition prohibited on norecovery mount"); + return -EINVAL; + } + mp->m_flags &= ~XFS_MOUNT_RDONLY; /* |