mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
monitor: Rework early disk password inquiry (Jan Kiszka)
Reading the passwords for encrypted hard disks during early startup is broken (I guess for quiet a while now): - No monitor terminal is ready for input at this point - Forcing all mux'ed terminals into monitor mode can confuse other users of that channels To overcome these issues and to lay the ground for a clean decoupling of monitor terminals, this patch changes the initial password inquiry as follows: - Prevent autostart if there is some encrypted disk - Once the user tries to resume the VM, prompt for all missing passwords - Only resume if all passwords were accepted Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6707 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
430eb509d2
commit
c0f4ce7751
8 changed files with 85 additions and 65 deletions
|
@ -11,6 +11,7 @@
|
|||
#include "usb.h"
|
||||
#include "block.h"
|
||||
#include "scsi-disk.h"
|
||||
#include "console.h"
|
||||
|
||||
//#define DEBUG_MSD
|
||||
|
||||
|
@ -513,7 +514,7 @@ static void usb_msd_handle_destroy(USBDevice *dev)
|
|||
qemu_free(s);
|
||||
}
|
||||
|
||||
USBDevice *usb_msd_init(const char *filename)
|
||||
USBDevice *usb_msd_init(const char *filename, BlockDriverState **pbs)
|
||||
{
|
||||
MSDState *s;
|
||||
BlockDriverState *bdrv;
|
||||
|
@ -552,9 +553,8 @@ USBDevice *usb_msd_init(const char *filename)
|
|||
bdrv = bdrv_new("usb");
|
||||
if (bdrv_open2(bdrv, filename, 0, drv) < 0)
|
||||
goto fail;
|
||||
if (qemu_key_check(bdrv, filename))
|
||||
goto fail;
|
||||
s->bs = bdrv;
|
||||
*pbs = bdrv;
|
||||
|
||||
s->dev.speed = USB_SPEED_FULL;
|
||||
s->dev.handle_packet = usb_generic_handle_packet;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue