From: Calvin Owens <jcalvinowens@gmail.com>
To: Theodore Ts'o <tytso@mit.edu>
Cc: Eric Sandeen <sandeen@redhat.com>, linux-ext4@vger.kernel.org
Subject: Re: e2fsprogs: Fsck of read-only FS w/ external journal fails after 1.42.5?
Date: Sat, 4 May 2013 19:33:32 -0500 [thread overview]
Message-ID: <20130505003332.GA21178@gmail.com> (raw)
In-Reply-To: <20130504233307.GB5948@thunk.org>
On Saturday 05/04 at 19:33 -0400, Theodore Ts'o wrote:
> On Sat, May 04, 2013 at 02:53:50PM -0500, Calvin Owens wrote:
> >
> > Commit a85f8350 (http://goo.gl/aCykm) makes it impossible to fsck an
> > ext4 filesystem w/ external journal if it is mounted read-only. Certain
> > distros (Gentoo in my case) expect to be able to do this on the root
> > filesystem at boot time, and get very upset if they can't.
>
> The fact that e2fsck would working with root file systems with an
> external journal between commits 47c1b8e166 and a85f8350 was by accident.
> Can you try this patch? This should allow external journals on the
> root file system to work properly.
>
> - Ted
Tested - your patch fixes the issue.
Thanks,
Calvin
>
> From 26991d026e4b555229a4466ae4d003420321bbd2 Mon Sep 17 00:00:00 2001
> From: Theodore Ts'o <tytso@mit.edu>
> Date: Sat, 4 May 2013 19:07:18 -0400
> Subject: [PATCH] e2fsck: don't use IO_FLAG_EXCLUSIVE for read-only root file
> systems
>
> When opening the external journal, use the same logic to decide
> whether or not to open the file system with EXT2_FLAG_EXCLUSIVE found
> in main().
>
> Otherwise, it's not posible to use e2fsck when the root file system is
> using an external journal.
>
> Reported-by: Calvin Owens <jcalvinowens@gmail.com>
> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
> ---
> e2fsck/journal.c | 14 ++++++++++++--
> 1 file changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/e2fsck/journal.c b/e2fsck/journal.c
> index 767ea10..69771da 100644
> --- a/e2fsck/journal.c
> +++ b/e2fsck/journal.c
> @@ -372,9 +372,19 @@ static errcode_t e2fsck_get_journal(e2fsck_t ctx, journal_t **ret_journal)
> #ifndef USE_INODE_IO
> if (ext_journal)
> #endif
> - retval = io_ptr->open(journal_name,
> - IO_FLAG_RW | IO_FLAG_EXCLUSIVE,
> + {
> + int flags = IO_FLAG_RW;
> + if (!(ctx->mount_flags & EXT2_MF_ISROOT &&
> + ctx->mount_flags & EXT2_MF_READONLY))
> + flags |= IO_FLAG_EXCLUSIVE;
> + if ((ctx->mount_flags & EXT2_MF_READONLY) &&
> + (ctx->options & E2F_OPT_FORCE))
> + flags &= ~IO_FLAG_EXCLUSIVE;
> +
> +
> + retval = io_ptr->open(journal_name, flags,
> &ctx->journal_io);
> + }
> if (retval)
> goto errout;
>
> --
> 1.7.12.rc0.22.gcdd159b
>
prev parent reply other threads:[~2013-05-05 0:33 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-04 19:53 e2fsprogs: Fsck of read-only FS w/ external journal fails after 1.42.5? Calvin Owens
2013-05-04 23:33 ` Theodore Ts'o
2013-05-05 0:33 ` Calvin Owens [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130505003332.GA21178@gmail.com \
--to=jcalvinowens@gmail.com \
--cc=linux-ext4@vger.kernel.org \
--cc=sandeen@redhat.com \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.