* raid0 and buffers larger than PAGE_SIZE
@ 2000-06-08 3:44 Chip Salzenberg
2000-06-08 14:08 ` Stephen C. Tweedie
0 siblings, 1 reply; 5+ messages in thread
From: Chip Salzenberg @ 2000-06-08 3:44 UTC (permalink / raw)
To: linux-mm
I'm using raid0 under 2.2.16pre4 and I've just started observing a new
failure mode that's completely preventing it from working: getblk(),
and therefore refill_freelist(), is being called with a size greater
than PAGE_SIZE. This is triggered by e2fsck on the /dev/md0, and it's
probably been a while since the last e2fsck, so I don't know when the
was actually introduced.
I'm using an Intel CPU, so PAGE_SIZE is 4K, but getblk() is being
called with a size of 16K, which is (not coincidentally) my raid0
chunk size. It ends up in an infinite loop, as getblk() calls
refill_freelist() forever until it succeeds, which it never does!
I'm not sure whether the bug is in raid0 (is setting a block device
block size greater than PAGE_SIZE legal?), refill_freelist (is
creating buffer heads that span multiple pages legal?), or something
else entirely.... Help?!
Clues, anyone?
--
Chip Salzenberg - a.k.a. - <chip@valinux.com>
"I wanted to play hopscotch with the impenetrable mystery of existence,
but he stepped in a wormhole and had to go in early." // MST3K
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: raid0 and buffers larger than PAGE_SIZE
2000-06-08 3:44 raid0 and buffers larger than PAGE_SIZE Chip Salzenberg
@ 2000-06-08 14:08 ` Stephen C. Tweedie
2000-06-08 19:13 ` Chip Salzenberg
2000-06-08 20:20 ` Chip Salzenberg
0 siblings, 2 replies; 5+ messages in thread
From: Stephen C. Tweedie @ 2000-06-08 14:08 UTC (permalink / raw)
To: Chip Salzenberg; +Cc: linux-mm
Hi,
On Wed, Jun 07, 2000 at 08:44:44PM -0700, Chip Salzenberg wrote:
> I'm using raid0 under 2.2.16pre4 and I've just started observing a new
> failure mode that's completely preventing it from working: getblk(),
> and therefore refill_freelist(), is being called with a size greater
> than PAGE_SIZE. This is triggered by e2fsck on the /dev/md0, and it's
> probably been a while since the last e2fsck, so I don't know when the
> was actually introduced.
getblk() with blocksize > PAGE_SIZE is completely illegal. Are you
using a decent set of raid patches?
Cheers,
Stephen
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: raid0 and buffers larger than PAGE_SIZE
2000-06-08 14:08 ` Stephen C. Tweedie
@ 2000-06-08 19:13 ` Chip Salzenberg
2000-06-08 19:24 ` Stephen C. Tweedie
2000-06-08 20:20 ` Chip Salzenberg
1 sibling, 1 reply; 5+ messages in thread
From: Chip Salzenberg @ 2000-06-08 19:13 UTC (permalink / raw)
To: Stephen C. Tweedie; +Cc: linux-mm
According to Stephen C. Tweedie:
> getblk() with blocksize > PAGE_SIZE is completely illegal.
Well, that answers _that_ question.
> Are you using a decent set of raid patches?
No patches, and apparently not decent. :-( I looked around with
google and on ftp.kernel.org, but I couldn't find anything current.
Can you spare a URL for a fellow programmer down on his luck?
--
Chip Salzenberg - a.k.a. - <chip@valinux.com>
"I wanted to play hopscotch with the impenetrable mystery of existence,
but he stepped in a wormhole and had to go in early." // MST3K
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: raid0 and buffers larger than PAGE_SIZE
2000-06-08 19:13 ` Chip Salzenberg
@ 2000-06-08 19:24 ` Stephen C. Tweedie
0 siblings, 0 replies; 5+ messages in thread
From: Stephen C. Tweedie @ 2000-06-08 19:24 UTC (permalink / raw)
To: Chip Salzenberg; +Cc: Stephen C. Tweedie, linux-mm
Hi,
On Thu, Jun 08, 2000 at 12:13:13PM -0700, Chip Salzenberg wrote:
> According to Stephen C. Tweedie:
> > getblk() with blocksize > PAGE_SIZE is completely illegal.
>
> Well, that answers _that_ question.
>
> > Are you using a decent set of raid patches?
>
> No patches, and apparently not decent. :-( I looked around with
> google and on ftp.kernel.org, but I couldn't find anything current.
>
> Can you spare a URL for a fellow programmer down on his luck?
If you've got a Red Hat 6.2 CD around, it's in the kernel srpm.
Otherwise, check Ingo's home page: you'll find it all at
http://people.redhat.com/mingo/raid-patches/
Cheers,
Stephen
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: raid0 and buffers larger than PAGE_SIZE
2000-06-08 14:08 ` Stephen C. Tweedie
2000-06-08 19:13 ` Chip Salzenberg
@ 2000-06-08 20:20 ` Chip Salzenberg
1 sibling, 0 replies; 5+ messages in thread
From: Chip Salzenberg @ 2000-06-08 20:20 UTC (permalink / raw)
To: Stephen C. Tweedie; +Cc: linux-mm
According to Stephen C. Tweedie:
> getblk() with blocksize > PAGE_SIZE is completely illegal.
I've recommended to Alan that he apply the below patch, which reverts
a change in 2.2.16 that kills raid0 for me:
Index: drivers/block/md.c
*************** static int do_md_run (int minor, int rep
*** 447,452 ****
factor = min = 1 << FACTOR_SHIFT(FACTOR((md_dev+minor)));
- md_blocksizes[minor] <<= FACTOR_SHIFT(FACTOR((md_dev+minor)));
-
for (i=0; i<md_dev[minor].nb_dev; i++)
if (md_dev[minor].devices[i].size<min)
--- 447,450 ----
--
Chip Salzenberg - a.k.a. - <chip@valinux.com>
"I wanted to play hopscotch with the impenetrable mystery of existence,
but he stepped in a wormhole and had to go in early." // MST3K
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2000-06-08 20:20 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-06-08 3:44 raid0 and buffers larger than PAGE_SIZE Chip Salzenberg
2000-06-08 14:08 ` Stephen C. Tweedie
2000-06-08 19:13 ` Chip Salzenberg
2000-06-08 19:24 ` Stephen C. Tweedie
2000-06-08 20:20 ` Chip Salzenberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox