diff options
author | Jesse Keating <jkeating@redhat.com> | 2010-07-29 17:18:45 -0700 |
---|---|---|
committer | Jesse Keating <jkeating@redhat.com> | 2010-07-29 17:18:45 -0700 |
commit | 2f82dda4a9bf41e64e864889bf06564bdf826e25 (patch) | |
tree | 118a7b483ae5de4dbf83d20001302f1404866ef0 /linux-2.6-block-silently-error-unsupported-empty-barriers-too.patch | |
parent | 64ba2e5ffde5f2418eb26c700cb0ab62b04e5013 (diff) | |
download | dom0-kernel-2f82dda4a9bf41e64e864889bf06564bdf826e25.tar.gz dom0-kernel-2f82dda4a9bf41e64e864889bf06564bdf826e25.tar.xz dom0-kernel-2f82dda4a9bf41e64e864889bf06564bdf826e25.zip |
initial srpm import
Diffstat (limited to 'linux-2.6-block-silently-error-unsupported-empty-barriers-too.patch')
-rw-r--r-- | linux-2.6-block-silently-error-unsupported-empty-barriers-too.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/linux-2.6-block-silently-error-unsupported-empty-barriers-too.patch b/linux-2.6-block-silently-error-unsupported-empty-barriers-too.patch new file mode 100644 index 0000000..e6ab893 --- /dev/null +++ b/linux-2.6-block-silently-error-unsupported-empty-barriers-too.patch @@ -0,0 +1,48 @@ +From: Mark McLoughlin <markmc@redhat.com> +Subject: [PATCH] block: silently error unsupported empty barriers too + +With 2.6.31-rc5 in a KVM guest using dm and virtio_blk, we see the +following errors: + + end_request: I/O error, dev vda, sector 0 + end_request: I/O error, dev vda, sector 0 + +The errors go away if dm stops submitting empty barriers, by reverting: + + commit 52b1fd5a27c625c78373e024bf570af3c9d44a79 + Author: Mikulas Patocka <mpatocka@redhat.com> + dm: send empty barriers to targets in dm_flush + +We should error all barriers, even empty barriers, on devices like +virtio_blk which don't support them. + +See also: + + https://bugzilla.redhat.com/514901 + +Signed-off-by: Mark McLoughlin <markmc@redhat.com> +Cc: Rusty Russell <rusty@rustcorp.com.au> +Cc: Mikulas Patocka <mpatocka@redhat.com> +Cc: Alasdair G Kergon <agk@redhat.com> +Cc: Neil Brown <neilb@suse.de> +--- + block/blk-core.c | 3 +-- + 1 files changed, 1 insertions(+), 2 deletions(-) + +diff --git a/block/blk-core.c b/block/blk-core.c +index e3299a7..35ad2bb 100644 +--- a/block/blk-core.c ++++ b/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; + } +-- +1.6.4 + |