As I know, this is not a good way to submit a patch. You need to read the guideline first: http://wiki.qemu.org/Contribute/SubmitAPatch
-- Sincerely, Cao jin On 12/30/2016 10:41 AM, Junkang Fu wrote: >>From 74e913fc41ea98d1dde692175f1e3fb6729342aa Mon Sep 17 00:00:00 2001 > From: "junkang.fjk" <junkang....@alibaba-inc.com> > Date: Wed, 24 Aug 2016 19:36:53 +0800 > Subject: [PATCH] virtio-blk: add disk-name device property > > Current virtio-blk disk name(ex. /dev/vdb) has nothing to do with the > target dev > name specified in libvirt xml file. For example, we may get disk name > /dev/vdb in > VM while target dev specified in libvirt xml is vdc. This may lead to a > little trouble > to find out the relationship between the disk name in VM and somewhere out > of > VM, for example in the control board of Public cloud service providers. I > suggest > if Qemu could add a VIRTIO_BLK_F_DISK_NAME feature, with > VIRTIO_BLK_F_DISK_NAME > capable Qemu and virtio-blk frontend drivers, disk name in the vm can be > specified > as follows: > -device virtio-blk-pci,disk-name=vdabc > > --- > hw/block/virtio-blk.c | 5 +++++ > include/hw/virtio/virtio-blk.h | 1 + > include/standard-headers/linux/virtio_blk.h | 6 ++++++ > 3 files changed, 12 insertions(+) > > diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c > index 331d766..4039fb9 100644 > --- a/hw/block/virtio-blk.c > +++ b/hw/block/virtio-blk.c > @@ -716,6 +716,8 @@ static void virtio_blk_update_config(VirtIODevice > *vdev, uint8_t *config) > blkcfg.alignment_offset = 0; > blkcfg.wce = blk_enable_write_cache(s->blk); > virtio_stw_p(vdev, &blkcfg.num_queues, s->conf.num_queues); > + if (s->disk_name) > + strncpy((char *)blkcfg.disk_name, s->disk_name, DISK_NAME_LEN); > memcpy(config, &blkcfg, sizeof(struct virtio_blk_config)); > } > @@ -740,6 +742,8 @@ static uint64_t virtio_blk_get_features(VirtIODevice > *vdev, uint64_t features, > virtio_add_feature(&features, VIRTIO_BLK_F_GEOMETRY); > virtio_add_feature(&features, VIRTIO_BLK_F_TOPOLOGY); > virtio_add_feature(&features, VIRTIO_BLK_F_BLK_SIZE); > + virtio_add_feature(&features, VIRTIO_BLK_F_DISK_NAME); > + > if (virtio_has_feature(features, VIRTIO_F_VERSION_1)) { > if (s->conf.scsi) { > error_setg(errp, "Please set scsi=off for virtio-blk devices > in order to use virtio 1.0"); > @@ -970,6 +974,7 @@ static Property virtio_blk_properties[] = { > DEFINE_PROP_BIT("request-merging", VirtIOBlock, conf.request_merging, > 0, > true), > DEFINE_PROP_UINT16("num-queues", VirtIOBlock, conf.num_queues, 1), > + DEFINE_PROP_STRING("disk-name", VirtIOBlock, disk_name), > DEFINE_PROP_END_OF_LIST(), > }; > > diff --git a/include/hw/virtio/virtio-blk.h b/include/hw/virtio/virtio-blk.h > index 180bd8d..003e810 100644 > --- a/include/hw/virtio/virtio-blk.h > +++ b/include/hw/virtio/virtio-blk.h > @@ -56,6 +56,7 @@ typedef struct VirtIOBlock { > bool dataplane_disabled; > bool dataplane_started; > struct VirtIOBlockDataPlane *dataplane; > + char *disk_name; > } VirtIOBlock; > > typedef struct VirtIOBlockReq { > diff --git a/include/standard-headers/linux/virtio_blk.h > b/include/standard-headers/linux/virtio_blk.h > index ab16ec5..1f5d89d 100644 > --- a/include/standard-headers/linux/virtio_blk.h > +++ b/include/standard-headers/linux/virtio_blk.h > @@ -38,6 +38,7 @@ > #define VIRTIO_BLK_F_BLK_SIZE 6 /* Block size of disk is available*/ > #define VIRTIO_BLK_F_TOPOLOGY 10 /* Topology information is available */ > #define VIRTIO_BLK_F_MQ 12 /* support more than one vq */ > +#define VIRTIO_BLK_F_DISK_NAME 13 /* specify /dev/xxx name */ > > /* Legacy feature bits */ > #ifndef VIRTIO_BLK_NO_LEGACY > @@ -51,6 +52,9 @@ > > #define VIRTIO_BLK_ID_BYTES 20 /* ID string length */ > > +/* micro defined in kernel genhd.h */ > +#define DISK_NAME_LEN 32 > + > struct virtio_blk_config { > /* The capacity (in 512-byte sectors). */ > uint64_t capacity; > @@ -84,6 +88,8 @@ struct virtio_blk_config { > > /* number of vqs, only available when VIRTIO_BLK_F_MQ is set */ > uint16_t num_queues; > + > + uint8_t disk_name[DISK_NAME_LEN]; > } QEMU_PACKED; > > /* > -- > 1.9.4 > >