[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH] virtio-blk: assign a default serial number if n
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] Re: [PATCH] virtio-blk: assign a default serial number if none provided |
Date: |
Wed, 2 Jun 2010 12:00:50 +0300 |
User-agent: |
Mutt/1.5.19 (2009-01-05) |
On Tue, Jun 01, 2010 at 08:48:54PM -0500, Ryan Harper wrote:
> This patch applies on-top of John's virtio-blk serial patches.
>
> Generate default serial numbers for virtio drives based on DriveInfo.unit
> which is
> incremented for each additional virtio-blk device. This provides a
> per-virtio-blk number to use in the default string: QM%05d that is used in
> hw/ide/core.c. The resulting serial number looks like: QM00001, etc.
>
> Signed-off-by: Ryan Harper <address@hidden>
I think that there's a problem with this approach in that hot plug A,
hot plug B, hot unplug A is not the same as hot plug B.
So you might get guest boot failures and no easy way to
figure out why. For guests that need S/N, I think they
really must be persistent.
> ---
> hw/virtio-blk.c | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c
> index 98c62f2..e5c6e7c 100644
> --- a/hw/virtio-blk.c
> +++ b/hw/virtio-blk.c
> @@ -518,6 +518,9 @@ VirtIODevice *virtio_blk_init(DeviceState *dev, BlockConf
> *conf)
> bdrv_guess_geometry(s->bs, &cylinders, &heads, &secs);
>
> strncpy(s->sn, drive_get_serial(s->bs), sizeof (s->sn));
> + if (strlen(s->sn) == 0) {
> + snprintf(s->sn, sizeof(s->sn), "QM%05d", conf->dinfo->unit);
> + }
>
> s->vq = virtio_add_queue(&s->vdev, 128, virtio_blk_handle_output);
>
> --
> 1.6.3.3
>
>
> --
> Ryan Harper
> Software Engineer; Linux Technology Center
> IBM Corp., Austin, Tx
> address@hidden