| Submitter | Andreas Dilger |
|---|---|
| Date | May 30, 2012, 6:39 p.m. |
| Message ID | <1338403182-2253-1-git-send-email-adilger@whamcloud.com> |
| Download | mbox | patch |
| Permalink | /patch/162051/ |
| State | Superseded |
| Headers | show |
Comments
On 2012-05-30, at 12:39 PM, Andreas Dilger wrote: > Commit 732e26b98e5c79a4298dbe341f43b54b354bb241 added checks to > prevent e2fsck from being run in filesystem-modifying mode against > a mounted or otherwise busy device, due to several bug reports of > users doing this even with the verbose warnings in check_mount(). > > However, it also prevented e2fsck from checking a mounted root > filesystem, which will prevent the node from booting. Once again > allow e2fsck to run against the mounted root filesystem. > > Signed-off-by: Andreas Dilger <adilger@whamcloud.com> > --- > e2fsck/unix.c | 7 +++++-- > 1 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/e2fsck/unix.c b/e2fsck/unix.c > index 6161e46..1c1bae8 100644 > --- a/e2fsck/unix.c > +++ b/e2fsck/unix.c > @@ -1221,8 +1221,11 @@ restart: > &old_bitmaps); > if (!old_bitmaps) > flags |= EXT2_FLAG_64BITS; > - if ((ctx->options & E2F_OPT_READONLY) == 0) > - flags |= EXT2_FLAG_RW | EXT2_FLAG_EXCLUSIVE; > + if ((ctx->options & E2F_OPT_READONLY) == 0) { > + flags |= EXT2_FLAG_RW; > + if (!(ctx->mount_flags & EXT2_MF_ISROOT)) > + flags |= EXT2_FLAG_EXCLUSIVE; > + } This should further exclude root filesystems that are not mounted read-only. Another patch on the way. Cheers, Andreas -- Andreas Dilger Whamcloud, Inc. Principal Lustre Engineer http://www.whamcloud.com/ -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Patch
diff --git a/e2fsck/unix.c b/e2fsck/unix.c index 6161e46..1c1bae8 100644 --- a/e2fsck/unix.c +++ b/e2fsck/unix.c @@ -1221,8 +1221,11 @@ restart: &old_bitmaps); if (!old_bitmaps) flags |= EXT2_FLAG_64BITS; - if ((ctx->options & E2F_OPT_READONLY) == 0) - flags |= EXT2_FLAG_RW | EXT2_FLAG_EXCLUSIVE; + if ((ctx->options & E2F_OPT_READONLY) == 0) { + flags |= EXT2_FLAG_RW; + if (!(ctx->mount_flags & EXT2_MF_ISROOT)) + flags |= EXT2_FLAG_EXCLUSIVE; + } retval = try_open_fs(ctx, flags, io_ptr, &fs);
Commit 732e26b98e5c79a4298dbe341f43b54b354bb241 added checks to prevent e2fsck from being run in filesystem-modifying mode against a mounted or otherwise busy device, due to several bug reports of users doing this even with the verbose warnings in check_mount(). However, it also prevented e2fsck from checking a mounted root filesystem, which will prevent the node from booting. Once again allow e2fsck to run against the mounted root filesystem. Signed-off-by: Andreas Dilger <adilger@whamcloud.com> --- e2fsck/unix.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-)