From: Theodore Tso <tytso@MIT.EDU>
To: Andreas Sundstrom <sunkan@zappa.cx>
Cc: linux-kernel@vger.kernel.org
Subject: Re: 2.6.28 ext4, xen and lvm volume becomes ro after snapshot
Date: Fri, 26 Dec 2008 14:33:07 -0500 [thread overview]
Message-ID: <20081226193307.GA2138@mit.edu> (raw)
In-Reply-To: <495526F6.9040704@zappa.cx>
On Fri, Dec 26, 2008 at 07:48:22PM +0100, Andreas Sundstrom wrote:
> Yes, I mounted it with ext3 and barrier=1 and could reproduce the problem.
> ext3 did not remount the fs ro though, it seems to only disable barriers:
>
> [ 7.681759] blkfront: xvda1: write barrier op failed
> [ 7.681776] blkfront: xvda1: barriers disabled
> [ 7.681785] end_request: I/O error, dev xvda1, sector 4584
> [ 7.681800] end_request: I/O error, dev xvda1, sector 4584
> [ 7.681886] JBD: barrier-based sync failed on xvda1 - disabling barriers
>
> And then I tested with ext4 and barrier=0 and that also works.
Ext4 has patches which will checks the error returns on writes to the
journal, and will abort the journal in case of I/O failures. Ext3
should have the same patches, but it's apparently missing one of the
patches, or it's otherwise not noticing the problem. (You were
testing ext3 on a 2.6.28 kernel, right?)
> But I'm here if you want something tested or a patch verified or anything,
> but I guess this might be a Xen issue rather than vanilla kernel stuff.
Yes, this looks very much like a Xen issue. What is going on is that
we submit the write with barriers enabled, and if it fails, we try
again without barriers. I'm guessing that Xen emulation code didn't
notice that we were trying again without barriers, or the Xen
emulation isn't clearing the error flag, but for whatever reason,
we're getting a write failure somewhere else later on, and that's
causing the failures.
What would be really useful to nail down exactly what is going on
would be to patch fs/jbd/journal.c and fs/jbd2/journal.c so that the
line:
u8 journal_enable_debug __read_mostly;
is changed to read:
u8 journal_enable_debug=3 __read_mostly;
and similarly in fs/jbd2/journal.c, change:
u8 jbd2_journal_enable_debug __read_mostly;
to read
u8 jbd2_journal_enable_debug=3 __read_mostly;
That will generate a lot more debugging information, and hopefully we
can see exactly what was going on right before the journal abort, and
why ext4 apparently didn't get the corret error return after the
barrier operation failed.
But yes, this ultimately seems very likely to be a Xen emulation bug.
- Ted
>
> Thanks for helping out with the narrowing down of the issue
>
> /Andreas
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
next prev parent reply other threads:[~2008-12-26 19:37 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-26 11:06 2.6.28 ext4, xen and lvm volume becomes ro after snapshot Andreas Sundstrom
2008-12-26 14:07 ` Theodore Tso
2008-12-26 15:42 ` Andreas Sundstrom
2008-12-26 18:21 ` Theodore Tso
2008-12-26 18:48 ` Andreas Sundstrom
2008-12-26 19:33 ` Theodore Tso [this message]
2008-12-26 22:00 ` Andreas Sundstrom
2008-12-27 3:06 ` Theodore Tso
2008-12-27 9:19 ` Andreas Sundstrom
2009-01-02 3:11 ` Theodore Tso
2009-01-02 8:29 ` Andreas Sundstrom
2009-01-02 14:10 ` Theodore Tso
2009-01-03 10:25 ` Andreas Sundstrom
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=20081226193307.GA2138@mit.edu \
--to=tytso@mit.edu \
--cc=linux-kernel@vger.kernel.org \
--cc=sunkan@zappa.cx \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox