[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 43/55] savevm: Include writable devices with removab
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH 43/55] savevm: Include writable devices with removable media |
Date: |
Wed, 20 Jul 2011 18:24:17 +0200 |
savevm and loadvm silently ignore block devices with removable media,
such as floppies and SD cards. Rolling back a VM to a previous
checkpoint will *not* roll back writes to block devices with removable
media.
Moreover, bdrv_is_removable() is a confused mess, and wrong in at
least one case: it considers "-drive if=xen,media=cdrom -M xenpv"
removable. It'll be cleaned up later in this series.
Read-only block devices are also ignored, but that's okay.
Fix by ignoring only read-only block devices and empty block devices.
Signed-off-by: Markus Armbruster <address@hidden>
---
block.c | 2 +-
savevm.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/block.c b/block.c
index f233062..9591c8a 100644
--- a/block.c
+++ b/block.c
@@ -1958,7 +1958,7 @@ void bdrv_debug_event(BlockDriverState *bs, BlkDebugEvent
event)
int bdrv_can_snapshot(BlockDriverState *bs)
{
BlockDriver *drv = bs->drv;
- if (!drv || bdrv_is_removable(bs) || bdrv_is_read_only(bs)) {
+ if (!drv || !bdrv_is_inserted(bs) || bdrv_is_read_only(bs)) {
return 0;
}
diff --git a/savevm.c b/savevm.c
index 8139bc7..1f03987 100644
--- a/savevm.c
+++ b/savevm.c
@@ -1913,7 +1913,7 @@ void do_savevm(Monitor *mon, const QDict *qdict)
bs = NULL;
while ((bs = bdrv_next(bs))) {
- if (bdrv_is_removable(bs) || bdrv_is_read_only(bs)) {
+ if (!bdrv_is_inserted(bs) || bdrv_is_read_only(bs)) {
continue;
}
@@ -2033,7 +2033,7 @@ int load_vmstate(const char *name)
bs = NULL;
while ((bs = bdrv_next(bs))) {
- if (bdrv_is_removable(bs) || bdrv_is_read_only(bs)) {
+ if (!bdrv_is_inserted(bs) || bdrv_is_read_only(bs)) {
continue;
}
--
1.7.2.3
- Re: [Qemu-devel] [PATCH 45/55] block: Clean up remaining users of "removable", (continued)
- [Qemu-devel] [PATCH 54/55] block: New change_media_cb() parameter load, Markus Armbruster, 2011/07/20
- [Qemu-devel] [PATCH 55/55] ide/atapi scsi-disk: Make monitor eject -f, then change work, Markus Armbruster, 2011/07/20
- [Qemu-devel] [PATCH 25/55] ide/atapi: Switch from BlockDriverState's locked to own tray_locked, Markus Armbruster, 2011/07/20
- [Qemu-devel] [PATCH 44/55] spitz tosa: Simplify "drive is suitable for microdrive" test, Markus Armbruster, 2011/07/20
- [Qemu-devel] [PATCH 43/55] savevm: Include writable devices with removable media,
Markus Armbruster <=
- [Qemu-devel] [PATCH 29/55] block: Drop medium lock tracking, ask device models instead, Markus Armbruster, 2011/07/20
- [Qemu-devel] [PATCH 46/55] block: Drop BlockDriverState member removable, Markus Armbruster, 2011/07/20
- [Qemu-devel] [PATCH 22/55] block: Drop tray status tracking, no longer used, Markus Armbruster, 2011/07/20
- [Qemu-devel] [PATCH 28/55] block: Leave enforcing tray lock to device models, Markus Armbruster, 2011/07/20
- [Qemu-devel] [PATCH 47/55] block: Move BlockConf & friends from block_int.h to block.h, Markus Armbruster, 2011/07/20