Re: data corruption using raid0+lvm2+jfs with 2.6.0-test3

Mike Fedyk
2003-08-15T21:27:15Z

On Wed, Aug 13, 2003 at 09:05:58AM +1000, Neil Brown wrote:
> On Tuesday August 12, akpm@osdl.org wrote:
> > Tupshin Harper <tupshin@tupshin.com> wrote:
> > >
> > > raid0_make_request bug: can't convert block across chunks or bigger than
> > > 8k 12436792 8
> >
> > There is a fix for this at
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.0-test3/2.6.0-test3-mm1/broken-out/bio-too-big-fix.patch
> >
> > Results of testing are always appreciated...
>
> I don't think this will help. It is a different problem.
>
> As far as I can tell, the problem is that dm doesn't honour the
> merge_bvec_fn of the underlying device (neither does md for that
> matter).
> I think it does honour the max_sectors restriction, so it will only
> allow a request as big as one chunk, but it will allow such a requests
> to span a chunk boundary.
>
> Probably the simplest solution to this is to put in calls to
> bio_split, which will need to be strengthed to handle multi-page bios.
>
> The policy would be:
> "a client of a block device *should* honour the various bio size
> restrictions, and may suffer performance loss if it doesn't;
> a block device driver *must* handle any bio it is passed, and may
> call bio_split to help out".
>

Any progress on this?