Closed GoogleCodeExporter closed 9 years ago
I think this is a duplicate of Issue 76. Still valid to have.
I'm attaching a mkfs.ext3 sysrq from a test machine. The Mkfs stops when
calling
fsync on the ddsnap device.
Original comment by williama...@gmail.com
on 27 Mar 2008 at 12:44
Attachments:
I think the problem is caused by the changes on bio_endio introduced since
2.6.24
kernel. Will, could you try the patch below after applying bio_throttle.patch?
It
solves the hanging on my uml test. Let me know if it works for you.
--- linux-2.6.24.2/fs/bio.c 2008-04-01 10:19:43.000000000 -0700
+++ linux-2.6.24.2.new/fs/bio.c 2008-04-01 12:37:40.000000000 -0700
@@ -1007,15 +1007,15 @@ void bio_endio(struct bio *bio, int erro
else if (!test_bit(BIO_UPTODATE, &bio->bi_flags))
error = -EIO;
- if (bio->bi_end_io)
- bio->bi_end_io(bio, error);
-
- if (!bio->bi_size && bio->bi_queue) {
+ if (bio->bi_queue) {
struct request_queue *q = bio->bi_queue;
atomic_add(bio->bi_max_vecs, &q->available);
bio->bi_queue = NULL; /* 0xdeadbeef? */
wake_up(&q->throttle_wait);
}
+
+ if (bio->bi_end_io)
+ bio->bi_end_io(bio, error);
}
void bio_pair_release(struct bio_pair *bp)
Jiaying
Original comment by jiayin...@gmail.com
on 1 Apr 2008 at 7:42
I had to tweak the patch to get it to apply, building now.
Original comment by williama...@gmail.com
on 1 Apr 2008 at 8:09
Attachments:
Original issue reported on code.google.com by
drake.di...@gmail.com
on 26 Mar 2008 at 8:19