qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [4747] Add image format option in monitor for removable med


From: Aurelien Jarno
Subject: [Qemu-devel] [4747] Add image format option in monitor for removable media
Date: Wed, 18 Jun 2008 22:10:02 +0000

Revision: 4747
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4747
Author:   aurel32
Date:     2008-06-18 22:10:01 +0000 (Wed, 18 Jun 2008)

Log Message:
-----------
Add image format option in monitor for removable media

(Chris Wright)

CVE-2008-1945

Modified Paths:
--------------
    trunk/monitor.c

Modified: trunk/monitor.c
===================================================================
--- trunk/monitor.c     2008-06-18 09:32:32 UTC (rev 4746)
+++ trunk/monitor.c     2008-06-18 22:10:01 UTC (rev 4747)
@@ -396,18 +396,26 @@
     eject_device(bs, force);
 }
 
-static void do_change_block(const char *device, const char *filename)
+static void do_change_block(const char *device, const char *filename, const 
char *fmt)
 {
     BlockDriverState *bs;
+    BlockDriver *drv = NULL;
 
     bs = bdrv_find(device);
     if (!bs) {
         term_printf("device not found\n");
         return;
     }
+    if (fmt) {
+        drv = bdrv_find_format(fmt);
+        if (!drv) {
+            term_printf("invalid format %s\n", fmt);
+            return;
+        }
+    }
     if (eject_device(bs, 0) < 0)
         return;
-    bdrv_open(bs, filename, 0);
+    bdrv_open2(bs, filename, 0, drv);
     qemu_key_check(bs, filename);
 }
 
@@ -426,12 +434,12 @@
     }
 }
 
-static void do_change(const char *device, const char *target)
+static void do_change(const char *device, const char *target, const char *fmt)
 {
     if (strcmp(device, "vnc") == 0) {
        do_change_vnc(target);
     } else {
-       do_change_block(device, target);
+       do_change_block(device, target, fmt);
     }
 }
 
@@ -1339,8 +1347,8 @@
       "", "quit the emulator" },
     { "eject", "-fB", do_eject,
       "[-f] device", "eject a removable medium (use -f to force it)" },
-    { "change", "BF", do_change,
-      "device filename", "change a removable medium" },
+    { "change", "BFs?", do_change,
+      "device filename [format]", "change a removable medium, optional format" 
},
     { "screendump", "F", do_screen_dump,
       "filename", "save screen into PPM image 'filename'" },
     { "logfile", "F", do_logfile,






reply via email to

[Prev in Thread] Current Thread [Next in Thread]