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: kw...@redhat.com > Signed-off-by: Floris Bos <d...@noc-ps.com>
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