|
From: Udo L. <udo...@al...> - 2010-03-27 15:36:29
|
Hi Serge, sorry for the delayed answer. I'm also not a kernel hacker, but you are right, the part looks different (but alos different like the patch). For reproducing it's enough to run devil-linux with an virtio-disk in a kvm-session - all work's but the error fill /var/log/messages. The easies way is using proxmox for this (http://pve.proxmox.com/wiki/Downloads). But you need a 64bit computer with hardwarevirtualisation and a blank disk (proxmox-pve erase the whole disk). With proxmox-pve you can create and manage the kvm (and openvz) guest from a web-gui. I have tried the svn-version but i failed at building... (the posting before of me). And thanks a lot for the work at devil-linux - it's a very nice distribution. Best regards Udo > Udo, > > you are welcome. > I've perused the patch and the bug description, then compared it with the > recent > kernel patch 2.6.32.10. The patch seems to be integrated. > > Please take a look: > > Patch: > ----------------------------------------------------------------------- > # end_request: I/O error, dev vda, sector 0 > # end_request: I/O error, dev vda, sector 0 > # commit 52b1fd5a27c625c78373e024bf570af3c9d44a79 > # Author: Mikulas Patocka <mpa...@re...> > # dm: send empty barriers to targets in dm_flush > # https://bugzilla.redhat.com/514901 > # block/blk-core.c | 3 +-- > # 1 files changed, 1 insertions(+), 2 deletions(-) > --- a/block/blk-core.c > +++ a/block/blk-core.c > @@ -1163,8 +1163,7 @@ static int __make_request(struct request_queue *q, > struct > bio *bio) > const int unplug = bio_unplug(bio); > int rw_flags; > > - if (bio_barrier(bio) && bio_has_data(bio) && > - (q->next_ordered == QUEUE_ORDERED_NONE)) { > + if (bio_barrier(bio) && (q->next_ordered == QUEUE_ORDERED_NONE)) { > bio_endio(bio, -EOPNOTSUPP); > return 0; > } > > > Kernel code: > ----------------------------------------------------------------------- > int rw_flags; > > if (bio_rw_flagged(bio, BIO_RW_BARRIER) && > (q->next_ordered == QUEUE_ORDERED_NONE)) { > bio_endio(bio, -EOPNOTSUPP); > return 0; > } > ----------------------------------------------------------------------- > I'm not a kernel hacker though and can be wrong... > > Could you please help me with the issue reproducing? > > Serge > > |