[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 5/9] Don't allow multiwrites against a block device
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH 5/9] Don't allow multiwrites against a block device without underlying medium |
Date: |
Wed, 16 Mar 2011 11:47:57 +0100 |
From: Ryan Harper <address@hidden>
If the block device has been closed, we no longer have a medium to submit
IO against, check for this before submitting io. This prevents a segfault
further in the code where we dereference elements of the block driver.
Signed-off-by: Ryan Harper <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
block.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/block.c b/block.c
index 0559d83..c8e2f97 100644
--- a/block.c
+++ b/block.c
@@ -2398,6 +2398,14 @@ int bdrv_aio_multiwrite(BlockDriverState *bs,
BlockRequest *reqs, int num_reqs)
MultiwriteCB *mcb;
int i;
+ /* don't submit writes if we don't have a medium */
+ if (bs->drv == NULL) {
+ for (i = 0; i < num_reqs; i++) {
+ reqs[i].error = -ENOMEDIUM;
+ }
+ return -1;
+ }
+
if (num_reqs == 0) {
return 0;
}
--
1.7.2.3
- [Qemu-devel] [PULL 0/9] Block patches, Kevin Wolf, 2011/03/16
- [Qemu-devel] [PATCH 2/9] block/qcow: Don't ignore immediate read/write and other failures, Kevin Wolf, 2011/03/16
- [Qemu-devel] [PATCH 1/9] block/vdi: Don't ignore immediate read/write failures, Kevin Wolf, 2011/03/16
- [Qemu-devel] [PATCH 5/9] Don't allow multiwrites against a block device without underlying medium,
Kevin Wolf <=
- [Qemu-devel] [PATCH 3/9] Add error message for loading snapshot without VM state, Kevin Wolf, 2011/03/16
- [Qemu-devel] [PATCH 4/9] tools: Use real async.c instead of stubs, Kevin Wolf, 2011/03/16
- [Qemu-devel] [PATCH 6/9] Fix ATA SMART and CHECK POWER MODE, Kevin Wolf, 2011/03/16
- [Qemu-devel] [PATCH 7/9] Improve error handling in do_snapshot_blkdev(), Kevin Wolf, 2011/03/16
- [Qemu-devel] [PATCH 8/9] hw/xen_disk: aio_inflight not released in handling ioreq when nr_segments==0, Kevin Wolf, 2011/03/16
- [Qemu-devel] [PATCH 9/9] Add qcow2 documentation, Kevin Wolf, 2011/03/16
- [Qemu-devel] Re: [PULL 0/9] Block patches, Kevin Wolf, 2011/03/21