[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 07/15] exit if -drive specified is invalid instead o
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH 07/15] exit if -drive specified is invalid instead of ignoring the "wrong" -drive |
Date: |
Thu, 7 Apr 2011 16:49:16 +0200 |
From: Michael Tokarev <address@hidden>
This fixes the problem when qemu continues even if -drive specification
is somehow invalid, resulting in a mess. Applicable for both current
master and for stable-0.14 (and the same issue exist 0.13 and 0.12 too).
The prob can actually be seriuos: when you start guest with two drives
and make an error in the specification of one of them, and the guest
has something like a raid array on the two drives, guest may start failing
that array or kick "missing" drives which may result in a mess - this is
what actually happened to me, I did't want a resync at all, and a resync
resulted in re-writing (and allocating) a 4TB virtual drive I used for
testing, which in turn resulted in my filesystem filling up and whole
thing failing badly. Yes it was just testing VM, I experimented with
larger raid arrays, but the end result was quite, well, unexpected.
Signed-off-by: Michael Tokarev <address@hidden>
Acked-by: Jes Sorensen <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
vl.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/vl.c b/vl.c
index de232b7..68c3b53 100644
--- a/vl.c
+++ b/vl.c
@@ -2102,7 +2102,9 @@ int main(int argc, char **argv, char **envp)
HD_OPTS);
break;
case QEMU_OPTION_drive:
- drive_def(optarg);
+ if (drive_def(optarg) == NULL) {
+ exit(1);
+ }
break;
case QEMU_OPTION_set:
if (qemu_set_option(optarg) != 0)
--
1.7.2.3
- [Qemu-devel] [PULL 00/15] Block patches, Kevin Wolf, 2011/04/07
- [Qemu-devel] [PATCH 02/15] Do not delete BlockDriverState when deleting the drive, Kevin Wolf, 2011/04/07
- [Qemu-devel] [PATCH 03/15] trace: Trace bdrv_set_locked(), Kevin Wolf, 2011/04/07
- [Qemu-devel] [PATCH 01/15] hw/xen_disk: ioreq not finished on error, Kevin Wolf, 2011/04/07
- [Qemu-devel] [PATCH 04/15] block: Do not cache device size for removable media, Kevin Wolf, 2011/04/07
- [Qemu-devel] [PATCH 05/15] qemu-img: Initial progress printing support, Kevin Wolf, 2011/04/07
- [Qemu-devel] [PATCH 06/15] qemu-img rebase: Fix segfault if backing file can't be opened, Kevin Wolf, 2011/04/07
- [Qemu-devel] [PATCH 07/15] exit if -drive specified is invalid instead of ignoring the "wrong" -drive,
Kevin Wolf <=
- [Qemu-devel] [PATCH 08/15] ide: consolidate drive_get(IF_IDE), Kevin Wolf, 2011/04/07
- [Qemu-devel] [PATCH 10/15] Set errno=ENOTSUP for attempts to use UNIX sockets on Windows platforms, Kevin Wolf, 2011/04/07
- [Qemu-devel] [PATCH 12/15] NBD device: Separate out parsing configuration and opening sockets., Kevin Wolf, 2011/04/07
- [Qemu-devel] [PATCH 14/15] Fix integer overflow in block migration bandwidth calculation, Kevin Wolf, 2011/04/07
- [Qemu-devel] [PATCH 11/15] NBD: Use qemu_socket functions to open TCP and UNIX sockets, Kevin Wolf, 2011/04/07
- [Qemu-devel] [PATCH 13/15] floppy: save and restore DIR register, Kevin Wolf, 2011/04/07
- [Qemu-devel] [PATCH 09/15] NBD library: whitespace changes, Kevin Wolf, 2011/04/07
- [Qemu-devel] [PATCH 15/15] virtio-blk: fail unaligned requests, Kevin Wolf, 2011/04/07
- Re: [Qemu-devel] [PULL 00/15] Block patches, Anthony Liguori, 2011/04/07