From: "Jörn Engel" <joern@logfs.org>
To: Jens Axboe <jens.axboe@oracle.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
linux-kernel@vger.kernel.org,
Christoph Hellwig <hch@infradead.org>,
Paolo Minazzi <paolo.minazzi@gmail.com>,
linux-mtd@lists.infradead.org,
David Woodhouse <dwmw2@infradead.org>
Subject: Re: [Patch] Catch filesystems lacking s_bdi
Date: Mon, 26 Apr 2010 16:32:53 +0200 [thread overview]
Message-ID: <20100426143253.GB4364@logfs.org> (raw)
In-Reply-To: <20100426094810.GE27497@kernel.dk>
On Mon, 26 April 2010 11:48:11 +0200, Jens Axboe wrote:
> On Fri, Apr 23 2010, Jörn Engel wrote:
> > On Fri, 23 April 2010 12:05:32 +0200, Jens Axboe wrote:
> > >
> > > So it's probably safe and good enough as-is, I'll add it. Thanks!
> >
> > I cannot see this patch in your tree yet. Could be the weekend or a
> > deliberate decision not to send this for 2.6.34-rc anymore.
>
> It's there, I put it in yesterday. It's definitely 2.6.34-rc material, I
> hope to submit it tonight.
Ok, thanks.
> > In case it was a deliberate decision, can we please make it explicit? I
> > don't like the idea of adding a BUG_ON() that potentially triggers for
> > thousands of people this late in the stabilization process - but it is
> > better than having people lose data. Even if we already ran two stable
> > kernels that way.
> >
> > Damned if you do, damned if you don't. :(
>
> Yeah, it's a bad situation to be in. I changed that BUG_ON() to a
> WARN_ON(). I'm not too worried about that part, I'm more worried about
> the file system changed. OTOH, they do lack proper flushing now, so it's
> likely not a huge risk from that perspective.
It is worse still. Using mtd->backing_dev_info results in
kernel BUG at fs/fs-writeback.c:157
which is BUG_ON(!work->seen); in bdi_queue_work(). Logfs is affected
and I bet jffs2 is as well. So much for dwmw2 or me actually testing
the fix. :(
I did a hexdump to see what sb->s_bdi actually contained and the result
was this:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ........
Which should be mtd_bdi_unmappable. And at this point I have to admit
being clueless. What exactly should a struct backing_dev_info contain
and for what purposes? And where is this documented?
Jörn
--
He who knows others is wise.
He who knows himself is enlightened.
-- Lao Tsu
WARNING: multiple messages have this Message-ID (diff)
From: "Jörn Engel" <joern@logfs.org>
To: Jens Axboe <jens.axboe@oracle.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
David Woodhouse <dwmw2@infradead.org>,
linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org,
Christoph Hellwig <hch@infradead.org>,
Paolo Minazzi <paolo.minazzi@gmail.com>
Subject: Re: [Patch] Catch filesystems lacking s_bdi
Date: Mon, 26 Apr 2010 16:32:53 +0200 [thread overview]
Message-ID: <20100426143253.GB4364@logfs.org> (raw)
In-Reply-To: <20100426094810.GE27497@kernel.dk>
On Mon, 26 April 2010 11:48:11 +0200, Jens Axboe wrote:
> On Fri, Apr 23 2010, Jörn Engel wrote:
> > On Fri, 23 April 2010 12:05:32 +0200, Jens Axboe wrote:
> > >
> > > So it's probably safe and good enough as-is, I'll add it. Thanks!
> >
> > I cannot see this patch in your tree yet. Could be the weekend or a
> > deliberate decision not to send this for 2.6.34-rc anymore.
>
> It's there, I put it in yesterday. It's definitely 2.6.34-rc material, I
> hope to submit it tonight.
Ok, thanks.
> > In case it was a deliberate decision, can we please make it explicit? I
> > don't like the idea of adding a BUG_ON() that potentially triggers for
> > thousands of people this late in the stabilization process - but it is
> > better than having people lose data. Even if we already ran two stable
> > kernels that way.
> >
> > Damned if you do, damned if you don't. :(
>
> Yeah, it's a bad situation to be in. I changed that BUG_ON() to a
> WARN_ON(). I'm not too worried about that part, I'm more worried about
> the file system changed. OTOH, they do lack proper flushing now, so it's
> likely not a huge risk from that perspective.
It is worse still. Using mtd->backing_dev_info results in
kernel BUG at fs/fs-writeback.c:157
which is BUG_ON(!work->seen); in bdi_queue_work(). Logfs is affected
and I bet jffs2 is as well. So much for dwmw2 or me actually testing
the fix. :(
I did a hexdump to see what sb->s_bdi actually contained and the result
was this:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ........
Which should be mtd_bdi_unmappable. And at this point I have to admit
being clueless. What exactly should a struct backing_dev_info contain
and for what purposes? And where is this documented?
Jörn
--
He who knows others is wise.
He who knows himself is enlightened.
-- Lao Tsu
next prev parent reply other threads:[~2010-04-26 14:33 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-17 18:40 [PATCH] [MTD] Fix JFFS2 sync silent failure Jörn Engel
2010-04-17 18:40 ` Jörn Engel
2010-04-19 7:38 ` Jens Axboe
2010-04-19 7:38 ` Jens Axboe
2010-04-19 10:15 ` Jörn Engel
2010-04-19 10:15 ` Jörn Engel
2010-04-19 10:20 ` Jens Axboe
2010-04-19 10:20 ` Jens Axboe
2010-04-19 11:39 ` Jörn Engel
2010-04-19 11:39 ` Jörn Engel
2010-04-22 5:54 ` Jörn Engel
2010-04-22 5:54 ` Jörn Engel
2010-04-22 6:26 ` Jörn Engel
2010-04-22 6:26 ` Jörn Engel
2010-04-22 14:25 ` Linus Torvalds
2010-04-22 14:25 ` Linus Torvalds
2010-04-22 14:33 ` Linus Torvalds
2010-04-22 14:33 ` Linus Torvalds
2010-04-22 16:27 ` Jens Axboe
2010-04-22 16:27 ` Jens Axboe
2010-04-22 20:33 ` [Patch] Catch filesystems lacking s_bdi Jörn Engel
2010-04-22 20:33 ` Jörn Engel
2010-04-23 10:05 ` Jens Axboe
2010-04-23 10:05 ` Jens Axboe
2010-04-23 20:55 ` Jörn Engel
2010-04-23 20:55 ` Jörn Engel
2010-04-26 9:48 ` Jens Axboe
2010-04-26 9:48 ` Jens Axboe
2010-04-26 14:32 ` Jörn Engel [this message]
2010-04-26 14:32 ` Jörn Engel
2010-04-26 14:38 ` Jens Axboe
2010-04-26 14:38 ` Jens Axboe
2010-04-26 14:45 ` Jens Axboe
2010-04-26 14:45 ` Jens Axboe
2010-04-26 16:30 ` [PATCH 1/2] [MTD] Move mtd_bdi_*mappable to mtdcore.c Jörn Engel
2010-04-26 16:30 ` Jörn Engel
2010-04-26 16:31 ` [PATCH 2/2] [MTD] Call bdi_init() and bdi_register() Jörn Engel
2010-04-26 16:31 ` Jörn Engel
2010-04-26 17:02 ` Jens Axboe
2010-04-26 17:02 ` Jens Axboe
2010-04-26 17:12 ` Jörn Engel
2010-04-26 17:12 ` Jörn Engel
2010-04-27 7:52 ` Jens Axboe
2010-04-27 7:52 ` Jens Axboe
2010-04-27 8:11 ` Paolo Minazzi
2010-04-27 8:11 ` Paolo Minazzi
2010-04-27 8:16 ` Jens Axboe
2010-04-27 8:16 ` Jens Axboe
2010-04-27 11:29 ` Jörn Engel
2010-04-27 11:29 ` Jörn Engel
2010-04-27 11:33 ` Jens Axboe
2010-04-27 11:33 ` Jens Axboe
2010-04-27 9:01 ` Paolo Minazzi
2010-04-27 9:01 ` Paolo Minazzi
2010-04-27 9:16 ` Jens Axboe
2010-04-27 9:16 ` Jens Axboe
2010-04-27 9:26 ` Paolo Minazzi
2010-04-27 9:26 ` Paolo Minazzi
2010-04-27 9:29 ` Jens Axboe
2010-04-27 9:29 ` Jens Axboe
2010-04-27 9:36 ` Paolo Minazzi
2010-04-27 9:36 ` Paolo Minazzi
2010-04-27 11:17 ` Jörn Engel
2010-04-27 11:17 ` Jörn Engel
2010-04-27 11:31 ` Paolo Minazzi
2010-04-27 11:31 ` Paolo Minazzi
2010-04-27 11:40 ` Jörn Engel
2010-04-27 11:40 ` Jörn Engel
2010-04-27 11:48 ` [PATCH] [LogFS] Return -EINVAL if filesystem image doesn't match Jörn Engel
2010-04-27 11:48 ` Jörn Engel
2010-04-27 12:53 ` Paolo Minazzi
2010-04-27 12:53 ` Paolo Minazzi
2010-04-27 11:54 ` [PATCH 2/2] [MTD] Call bdi_init() and bdi_register() Paolo Minazzi
2010-04-27 11:54 ` Paolo Minazzi
2010-04-27 12:05 ` Jörn Engel
2010-04-27 12:05 ` Jörn Engel
2010-04-26 17:01 ` [PATCH 1/2] [MTD] Move mtd_bdi_*mappable to mtdcore.c Jens Axboe
2010-04-26 17:01 ` Jens Axboe
2010-04-26 17:08 ` Jörn Engel
2010-04-26 17:08 ` Jörn Engel
2010-04-26 17:10 ` Jens Axboe
2010-04-26 17:10 ` Jens Axboe
2010-04-22 9:03 ` [PATCH] [MTD] Fix JFFS2 sync silent failure Jens Axboe
2010-04-22 9:03 ` Jens Axboe
2010-04-22 10:39 ` Jens Axboe
2010-04-22 10:39 ` Jens Axboe
2010-04-22 10:58 ` David Woodhouse
2010-04-22 10:58 ` David Woodhouse
2010-04-22 11:05 ` Jens Axboe
2010-04-22 11:05 ` Jens Axboe
2010-04-22 11:55 ` Jörn Engel
2010-04-22 11:55 ` Jörn Engel
2010-04-22 12:08 ` Jens Axboe
2010-04-22 12:08 ` Jens Axboe
2010-04-22 12:17 ` Jörn Engel
2010-04-22 12:17 ` Jörn Engel
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=20100426143253.GB4364@logfs.org \
--to=joern@logfs.org \
--cc=dwmw2@infradead.org \
--cc=hch@infradead.org \
--cc=jens.axboe@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=paolo.minazzi@gmail.com \
--cc=torvalds@linux-foundation.org \
/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.