The patch that was supposed to fix this was in 2.4.29.
The only way it should still be able to happen is with an IO request
that isn't aligned nicely, and the case in question is using ext3
which I am sure always does nicely aligned requests.
Srihari, could you possibly try with the following patch please to see
if it gives more useful information.
Thanks,
NeilBrown
----------- Diffstat output ------------
./fs/bio.c | 4 ++++
1 files changed, 4 insertions(+)
diff ./fs/bio.c~current~ ./fs/bio.c
--- ./fs/bio.c~current~ 2002-11-27 07:09:01.000000000 +1100
+++ ./fs/bio.c 2002-11-27 07:11:47.000000000 +1100
@@ -432,6 +432,10 @@ retry_segments:
* at this offset
*/
if (q->merge_bvec_fn(q, bio, bvec) < len) {
+ if (bio->bi_size == 0) {
+ printk(KERN_ERR "bio_add_page: want to add %d at %llu but only allowed %d - prepare to oops...\n",
+ len, (unsigned long long)bio->bi_sector, q->merge_bvec_fn(q, bio, bvec));
+ }
bvec->bv_page = NULL;
bvec->bv_len = 0;
bvec->bv_offset = 0;
-
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/