lkml.org 
[lkml]   [2002]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Date
Subject[patch] 2.5.48-bk, md raid0 fix
>>>>> "Thorbjørn" == Thorbjørn Lind <mtl@slowbone.net> writes:

Thorbjørn> Fixes the 'BUG at drivers/block/ll_rw_blk.c:19xx' when
Thorbjørn> using raid0 md devices since 2.5.45... /tul

Your patch won't work if CONFIG_LBD is on. I haven't seen this bug
reported since the raid0_mergeable_bvec() function went in.

Are you not using power-of-two sized chunks? If not, use the
sector_div() macro to do the remainder, not a direct remainder
operation (which will fail to link if CONFIG_LBD on IA32)


You could try ... (untested)
--- /tmp/geta22599 2002-11-20 15:48:17.000000000 +1100
+++ raid0.c 2002-11-20 15:46:11.000000000 +1100
@@ -163,7 +163,7 @@
}

/**
- * raid0_mergeable_bvec -- tell bio layer if a two requests can be merged
+ * raid0_mergeable_bvec -- tell bio layer if two requests can be merged
* @q: request queue
* @bio: the buffer head that's been built up so far
* @biovec: the request that could be merged to it.
@@ -181,7 +181,7 @@
block = bio->bi_sector >> 1;
bio_sz = (bio->bi_size + biovec->bv_len) >> 10;

- return (chunk_size - ((block & (chunk_size - 1)) + bio_sz)) << 10;
+ return (chunk_size - (sector_div(block, chunk_size) + bio_sz))
<< 10;
}


--
Dr Peter Chubb peterc@gelato.unsw.edu.au
You are lost in a maze of BitKeeper repositories, all almost the same.

-
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 13:31    [W:0.104 / U:0.552 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site