![]() | ||||||||||
Messages in this thread |
On Tuesday December 23, jim+linux-kernel@jimlawson.org wrote: > Hi all,> > I am having trouble creating a raid1 array under 2.6.0. I am able to > create raid0 and raid5 mds, but raid1s fail with "bio too big device hde3 > (128 > 15)", which doesn't tell me a lot. I can see it's in > drivers/block/ll_rw_blk.c, right at the boundary with the device driver, > but I'm not enough of a kernel wonk to find out a lot more. This is a raid1 bug. Some block devices have limits on the sizes of io requests that they can handle, and advertise these limits with ->max_sectors and ->merge_bvec_fn (and a few others). Any device MUST be able to accept a single page IO at any offset. When raid1 does a 'resync' it does all IO in 64K requests, ignoring the restrictions. Getting raid1 resync to handle the restrictions is non-trivial (I have code, but it is still buggy). A simple interim fix is to replace #define RESYNC_BLOCK_SIZE (64*1024) with #define RESYNC_BLOCK_SIZE PAGE_SIZE NeilBrown - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | |||||||||
| Last update: 2005-03-22 12:59 [from the cache] ©2003-2008 | ||||||||||