@@ -225,7 +225,9 @@ static void check_mount(e2fsck_t ctx)
!(ctx->options & E2F_OPT_WRITECHECK)))
return;
- if ((ctx->options & E2F_OPT_READONLY) &&
+ if (((ctx->options & E2F_OPT_READONLY) ||
+ ((ctx->options & E2F_OPT_FORCE) &&
+ (ctx->mount_flags & EXT2_MF_READONLY))) &&
!(ctx->options & E2F_OPT_WRITECHECK)) {
log_out(ctx, _("Warning! %s is %s.\n"),
ctx->filesystem_name,
@@ -1226,6 +1228,9 @@ restart:
if (!(ctx->mount_flags & EXT2_MF_ISROOT &&
ctx->mount_flags & EXT2_MF_READONLY))
flags |= EXT2_FLAG_EXCLUSIVE;
+ if ((ctx->mount_flags & EXT2_MF_READONLY) &&
+ (ctx->options & E2F_OPT_FORCE))
+ flags &= ~EXT2_FLAG_EXCLUSIVE;
}
retval = try_open_fs(ctx, flags, io_ptr, &fs);
Previously e2fsck would only allow a mounted file system to be checked if it was the root file system and it was mounted read-only. Now allow any file system mounted read-only if the -f option is specified. This makes it easier to test how e2fsck handles checking file systems which are mounted without having to test on the root file system. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> --- e2fsck/unix.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)