[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#604457: linux-image-2.6.26-2-xen-686: Raid10 exporting LV to xen results in error "can't convert block across chunks or bigger than 64k"



On Mon, 2010-11-29 at 09:37 +1100, Neil Brown wrote:
> On Sun, 28 Nov 2010 04:18:25 +0000 Ben Hutchings <benh@debian.org> wrote:
> 
> > On Sun, 2010-11-28 at 08:28 +1100, Neil Brown wrote:
> > >  The fix I would recommend for 2.6.26 is to add
> > > 
> > >    if (q->merge_bvec_fn)
> > >            rs->max_phys_segments = 1;
> > > 
> > > to dm_set_device_limits.  Though the redhat one is probably adequate.
> > > 
> > > If you really need an upstream fix, you will need to chase upstream to apply
> > > one :-(
> > 
> > I won't do that myself - as you can see, I don't really understand the
> > issue fully.  Is that fix also valid (modulo renaming of
> > max_phys_segments) for later versions?
> > 
> 
> Yes.
> For current mainline it would look like replacing
> 
> 
> 	if (q->merge_bvec_fn && !ti->type->merge)
> 		limits->max_sectors =
> 			min_not_zero(limits->max_sectors,
> 				     (unsigned int) (PAGE_SIZE >> 9));
> 
> with
> 
> 	if (q->merge_bvec_fn && !ti->type->merge)
> 		limits->max_segments = 1;
> 
> (the test on ->type->merge is important and applies to 2.6.26 as well).

Why is it not necessary to set seg_boundary_mask to PAGE_CACHE_SIZE - 1,
as for md devices?

Ben.

-- 
Ben Hutchings, Debian Developer and kernel team member

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: