linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* 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