[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] ide: Adds "model=s" option, allowing the user t
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH] ide: Adds "model=s" option, allowing the user to override the default disk model name "QEMU HARDDISK" |
Date: |
Sun, 11 Mar 2012 12:56:07 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120215 Thunderbird/10.0.2 |
Am 10.03.2012 20:56, schrieb Floris Bos:
> Some Linux distributions use the
> /dev/disk/by-id/scsi-SATA_name-of-disk-model_serial addressing scheme
> when refering to partitions in /etc/fstab and elsewhere.
> This causes problems when starting a disk image taken from an existing
> physical server under qemu,
> because when running under qemu name-of-disk-model is always "QEMU HARDDISK"
> This patch introduces a model=s option which in combination with the existing
> serial=s option can be used to
> fake the disk the operating system was previously on, allowing the OS to boot
> properly.
>
> Cc: address@hidden
> Signed-off-by: Floris Bos <address@hidden>
Patch looks good to me, except for some formal issues
scripts/checkpatch.pl should warn about:
> diff --git a/blockdev.c b/blockdev.c
> index d78aa51..66fcc14 100644
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -534,6 +536,8 @@ DriveInfo *drive_init(QemuOpts *opts, int default_to_scsi)
> dinfo->refcount = 1;
> if (serial)
> strncpy(dinfo->serial, serial, sizeof(dinfo->serial) - 1);
> + if (model)
> + strncpy(dinfo->model, model, sizeof(dinfo->model) - 1);
Please use braces for new ifs.
> QTAILQ_INSERT_TAIL(&drives, dinfo, next);
>
> bdrv_set_on_error(dinfo->bdrv, on_read_error, on_write_error);
> diff --git a/hw/ide/core.c b/hw/ide/core.c
> index 4d568ac..2a38030 100644
> --- a/hw/ide/core.c
> +++ b/hw/ide/core.c
> @@ -1977,7 +1993,8 @@ void ide_init2_with_non_qdev_drives(IDEBus *bus,
> DriveInfo *hd0,
> if (dinfo) {
> if (ide_init_drive(&bus->ifs[i], dinfo->bdrv,
> dinfo->media_cd ? IDE_CD : IDE_HD, NULL,
> - *dinfo->serial ? dinfo->serial : NULL) < 0) {
> + *dinfo->serial ? dinfo->serial : NULL,
> + *dinfo->model ?
> dinfo->model : NULL) < 0) {
Indentation uses tabs here; please use spaces.
> error_report("Can't set up IDE drive %s", dinfo->id);
> exit(1);
> }
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg