From: NeilBrown <neilb@suse.de>
To: Ben Hutchings <ben@decadent.org.uk>
Cc: Jameson Graef Rollins <jrollins@finestructure.net>,
624343@bugs.debian.org, linux-raid@vger.kernel.org
Subject: Re: Bug#624343: linux-image-2.6.38-2-amd64: frequent message "bio too big device md0 (248 > 240)" in kern.log
Date: Mon, 2 May 2011 10:22:24 +1000 [thread overview]
Message-ID: <20110502102224.7787d6bd@notabene.brown> (raw)
In-Reply-To: <1304294457.2833.111.camel@localhost>
On Mon, 02 May 2011 01:00:57 +0100 Ben Hutchings <ben@decadent.org.uk> wrote:
> On Sun, 2011-05-01 at 15:06 -0700, Jameson Graef Rollins wrote:
> > On Fri, 29 Apr 2011 05:39:40 +0100, Ben Hutchings <ben@decadent.org.uk> wrote:
> > > On Wed, 2011-04-27 at 09:19 -0700, Jameson Graef Rollins wrote:
> > > > I run what I imagine is a fairly unusual disk setup on my laptop,
> > > > consisting of:
> > > >
> > > > ssd -> raid1 -> dm-crypt -> lvm -> ext4
> > > >
> > > > I use the raid1 as a backup. The raid1 operates normally in degraded
> > > > mode. For backups I then hot-add a usb hdd, let the raid1 sync, and
> > > > then fail/remove the external hdd.
> > >
> > > Well, this is not expected to work. Possibly the hot-addition of a disk
> > > with different bio restrictions should be rejected. But I'm not sure,
> > > because it is safe to do that if there is no mounted filesystem or
> > > stacking device on top of the RAID.
> >
> > Hi, Ben. Can you explain why this is not expected to work? Which part
> > exactly is not expected to work and why?
>
> Adding another type of disk controller (USB storage versus whatever the
> SSD interface is) to a RAID that is already in use.
Normally this practice is perfectly OK.
If a filesysytem is mounted directly from an md array, then adding devices
to the array at any time is fine, even if the new devices have quite
different characteristics than the old.
However if there is another layer in between md and the filesystem - such as
dm - then there can be problem.
There is no mechanism in the kernl for md to tell dm that things have
changed, so dm never changes its configuration to match any change in the
config of the md device.
A filesystem always queries the config of the device as it prepares the
request. As this is not an 'active' query (i.e. it just looks at
variables, it doesn't call a function) there is no opportunity for dm to then
query md.
There is a ->merge_bvec_fn which could be pushed into service. i.e. if
md/raid1 defined some trivial merge_bvec_fn, then it would probably work.
However the actual effect of this would probably to cause every bio created
by the filesystem to be just one PAGE in size, and this is guaranteed always
to work. So it could be a significant performance hit for the common case.
We really need either:
- The fs sends down arbitrarily large requests, and the lower layers split
them up if/when needed
or
- A mechanism for a block device to tell the layer above that something has
changed.
But these are both fairly intrusive which unclear performance/complexity
implications and no one has bothered.
NeilBrown
next prev parent reply other threads:[~2011-05-02 0:22 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20110427161901.27049.31001.reportbug@servo.factory.finestructure.net>
2011-04-29 4:39 ` Bug#624343: linux-image-2.6.38-2-amd64: frequent message "bio too big device md0 (248 > 240)" in kern.log Ben Hutchings
2011-05-01 22:06 ` Jameson Graef Rollins
2011-05-02 0:00 ` Ben Hutchings
2011-05-02 0:22 ` NeilBrown [this message]
2011-05-02 2:47 ` Guy Watkins
2011-05-02 5:07 ` Daniel Kahn Gillmor
2011-05-02 9:08 ` David Brown
2011-05-02 10:00 ` NeilBrown
2011-05-02 10:32 ` David Brown
2011-05-02 14:56 ` David Brown
2011-05-02 0:42 ` Daniel Kahn Gillmor
2011-05-02 1:04 ` Ben Hutchings
2011-05-02 1:17 ` Jameson Graef Rollins
2011-05-02 9:05 ` David Brown
2011-05-02 9:11 ` David Brown
2011-05-02 16:38 ` Jameson Graef Rollins
2011-05-02 18:54 ` David Brown
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=20110502102224.7787d6bd@notabene.brown \
--to=neilb@suse.de \
--cc=624343@bugs.debian.org \
--cc=ben@decadent.org.uk \
--cc=jrollins@finestructure.net \
--cc=linux-raid@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).