* RE: LVM on md0: raid0_make_request bug: can't convert block acros s chunks or bigger than 64k
@ 2003-10-21 7:24 Karl Vogel
0 siblings, 0 replies; 3+ messages in thread
From: Karl Vogel @ 2003-10-21 7:24 UTC (permalink / raw)
To: 'Neil Brown'; +Cc: Kevin Corry, linux-kernel
> > Somebody else referred to this posting:
> > http://marc.theaimsgroup.com/?l=linux-kernel&m=103369952814053&w=2
> >
> > but that patch doesn't apply cleanly anymore and I'm not
> familiar with
> > the code to be confident to fix it up myself. (that post
> was from almost
> > exactly 1 year ago, so alot changed probably :)
>
> That patch is already included.
>
> The problem is that dm is not honouring the merge_bvec_fn that
> raid0 has set.
>
> This patch might fix it, but I'm not very familiar with the dm code,
> so I make no promises.
I will give it a shot when I get home.
> (I wonder why you are running LVM on top of raid0 given that lvm
> contains raid0 functionality).
>
> NeilBrown
Historical reasons.. but since it worked, I never changed it.. and now it
makes for a good test case :)
Thx,
Karl
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: LVM on md0: raid0_make_request bug: can't convert block across chunks or bigger than 64k
@ 2003-10-21 0:09 Neil Brown
2003-10-25 20:23 ` LVM on md0: raid0_make_request bug: can't convert block acros s " Karl Vogel
0 siblings, 1 reply; 3+ messages in thread
From: Neil Brown @ 2003-10-21 0:09 UTC (permalink / raw)
To: Karl Vogel; +Cc: Kevin Corry, linux-kernel
On Monday October 20, karl.vogel@seagha.com wrote:
> On Mon, 2003-10-20 at 23:06, Kevin Corry wrote:
> > On Monday 20 October 2003 15:35, Karl Vogel wrote:
> > > I'm getting the following kernel messages on V2.6.0-test8-mm1 (I've also
> > > tried plain -test7 and some kernels before that) when copying moderately
> > > sized files from a raid-0/LVM volume:
> > >
> > > --- snip ---
> > > raid0_make_request bug: can't convert block across chunks or bigger than
> > > 64k 24081064 64
> > > raid0_make_request bug: can't convert block across chunks or bigger than
> > > 64k 24080656 64
> > > raid0_make_request bug: can't convert block across chunks or bigger than
> > > 64k 24080784 64
> > > raid0_make_request bug: can't convert block across chunks or bigger than
> > > 64k 24080928 64
> >
> > Looks like this was just recently fixed on the linux-raid list.
> >
> > http://marc.theaimsgroup.com/?l=linux-raid&m=106661294929434
>
> Applied the patch on 2.6.0-test8-mm1 but it made no difference.
no, thats a completely different problem.
>
> Somebody else referred to this posting:
> http://marc.theaimsgroup.com/?l=linux-kernel&m=103369952814053&w=2
>
> but that patch doesn't apply cleanly anymore and I'm not familiar with
> the code to be confident to fix it up myself. (that post was from almost
> exactly 1 year ago, so alot changed probably :)
That patch is already included.
The problem is that dm is not honouring the merge_bvec_fn that
raid0 has set.
This patch might fix it, but I'm not very familiar with the dm code,
so I make no promises.
(I wonder why you are running LVM on top of raid0 given that lvm
contains raid0 functionality).
NeilBrown
----------- Diffstat output ------------
./drivers/md/dm-table.c | 5 +++++
1 files changed, 5 insertions(+)
diff ./drivers/md/dm-table.c~current~ ./drivers/md/dm-table.c
--- ./drivers/md/dm-table.c~current~ 2003-10-21 10:05:29.000000000 +1000
+++ ./drivers/md/dm-table.c 2003-10-21 10:06:27.000000000 +1000
@@ -489,6 +489,11 @@ int dm_get_device(struct dm_target *ti,
rs->max_sectors =
min_not_zero(rs->max_sectors, q->max_sectors);
+ if (q->merge_bvec_fn)
+ rs->max_sectors =
+ min_not_zero(rs->max_sectors, PAGE_SIZE>>9);
+
+
rs->max_phys_segments =
min_not_zero(rs->max_phys_segments,
q->max_phys_segments);
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: LVM on md0: raid0_make_request bug: can't convert block acros s chunks or bigger than 64k
2003-10-21 0:09 LVM on md0: raid0_make_request bug: can't convert block across " Neil Brown
@ 2003-10-25 20:23 ` Karl Vogel
2003-10-27 22:34 ` Neil Brown
0 siblings, 1 reply; 3+ messages in thread
From: Karl Vogel @ 2003-10-25 20:23 UTC (permalink / raw)
To: Neil Brown; +Cc: Kevin Corry, linux-kernel
On Tue, 2003-10-21 at 02:09, Neil Brown wrote:
> The problem is that dm is not honouring the merge_bvec_fn that
> raid0 has set.
>
> This patch might fix it, but I'm not very familiar with the dm code,
> so I make no promises.
>
> (I wonder why you are running LVM on top of raid0 given that lvm
> contains raid0 functionality).
>
> NeilBrown
>
>
>
> ----------- Diffstat output ------------
> ./drivers/md/dm-table.c | 5 +++++
> 1 files changed, 5 insertions(+)
>
> diff ./drivers/md/dm-table.c~current~ ./drivers/md/dm-table.c
> --- ./drivers/md/dm-table.c~current~ 2003-10-21 10:05:29.000000000
> +1000
> +++ ./drivers/md/dm-table.c 2003-10-21 10:06:27.000000000 +1000
> @@ -489,6 +489,11 @@ int dm_get_device(struct dm_target *ti,
> rs->max_sectors =
> min_not_zero(rs->max_sectors, q->max_sectors);
>
> + if (q->merge_bvec_fn)
> + rs->max_sectors =
> + min_not_zero(rs->max_sectors,
> PAGE_SIZE>>9);
> +
> +
> rs->max_phys_segments =
> min_not_zero(rs->max_phys_segments,
> q->max_phys_segments);
I noticed in the 2.6.0-test9 notes the following:
---
Neil Brown:
o md - Use sector rather than block numbers when splitting raid0
requests
---
I'm not sure if this is related to the problem I was experiencing?!
Anyway this doesn't fix the problem I was having. I still get the errors
with -test9. Above patch to dm-table.c works for me.
Just thought I'd mention this..
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: LVM on md0: raid0_make_request bug: can't convert block acros s chunks or bigger than 64k
2003-10-25 20:23 ` LVM on md0: raid0_make_request bug: can't convert block acros s " Karl Vogel
@ 2003-10-27 22:34 ` Neil Brown
0 siblings, 0 replies; 3+ messages in thread
From: Neil Brown @ 2003-10-27 22:34 UTC (permalink / raw)
To: Karl Vogel; +Cc: Kevin Corry, linux-kernel
On Saturday October 25, karl.vogel@seagha.com wrote:
>
>
> I noticed in the 2.6.0-test9 notes the following:
>
> ---
> Neil Brown:
> o md - Use sector rather than block numbers when splitting raid0
> requests
> ---
>
> I'm not sure if this is related to the problem I was experiencing?!
> Anyway this doesn't fix the problem I was having. I still get the errors
> with -test9. Above patch to dm-table.c works for me.
>
> Just thought I'd mention this..
>
This addresses a different problem: raid0 would not correctly handle
some requests that are not 1K aligned. XFS does some non-1K-aligned
requests where reading it's journal and caught this bug.
It has nothing to do with LVM or your problem.
NeilBrown
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-10-28 1:08 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-10-21 7:24 LVM on md0: raid0_make_request bug: can't convert block acros s chunks or bigger than 64k Karl Vogel
-- strict thread matches above, loose matches on Subject: below --
2003-10-21 0:09 LVM on md0: raid0_make_request bug: can't convert block across " Neil Brown
2003-10-25 20:23 ` LVM on md0: raid0_make_request bug: can't convert block acros s " Karl Vogel
2003-10-27 22:34 ` Neil Brown
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.