diff options
author | Sam Eiderman <shmuel.eiderman@oracle.com> | 2019-10-16 19:41:42 +0300 |
---|---|---|
committer | John Snow <jsnow@redhat.com> | 2019-10-31 11:47:29 -0400 |
commit | 71f571a23d732711908a5af8c24c56b218a44256 (patch) | |
tree | 3a89efc41e551f16f98fec0f13a640f4b240397a /hw/block/virtio-blk.c | |
parent | 6b98c5aae65b432816b3f6d9ce765edf78d66864 (diff) | |
download | qemu-71f571a23d732711908a5af8c24c56b218a44256.zip qemu-71f571a23d732711908a5af8c24c56b218a44256.tar.gz qemu-71f571a23d732711908a5af8c24c56b218a44256.tar.bz2 |
bootdevice: Gather LCHS from all relevant devices
Relevant devices are:
* ide-hd (and ide-cd, ide-drive)
* scsi-hd (and scsi-cd, scsi-disk, scsi-block)
* virtio-blk-pci
We do not call del_boot_device_lchs() for ide-* since we don't need to -
IDE block devices do not support unplugging.
Reviewed-by: Karl Heubaum <karl.heubaum@oracle.com>
Reviewed-by: Arbel Moshe <arbel.moshe@oracle.com>
Signed-off-by: Sam Eiderman <shmuel.eiderman@oracle.com>
Signed-off-by: Sam Eiderman <sameid@google.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: John Snow <jsnow@redhat.com>
Diffstat (limited to 'hw/block/virtio-blk.c')
-rw-r--r-- | hw/block/virtio-blk.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c index 9fa2eaf..4c357d2 100644 --- a/hw/block/virtio-blk.c +++ b/hw/block/virtio-blk.c @@ -1200,6 +1200,11 @@ static void virtio_blk_device_realize(DeviceState *dev, Error **errp) blk_set_guest_block_size(s->blk, s->conf.conf.logical_block_size); blk_iostatus_enable(s->blk); + + add_boot_device_lchs(dev, "/disk@0,0", + conf->conf.lcyls, + conf->conf.lheads, + conf->conf.lsecs); } static void virtio_blk_device_unrealize(DeviceState *dev, Error **errp) @@ -1210,6 +1215,7 @@ static void virtio_blk_device_unrealize(DeviceState *dev, Error **errp) unsigned i; blk_drain(s->blk); + del_boot_device_lchs(dev, "/disk@0,0"); virtio_blk_data_plane_destroy(s->dataplane); s->dataplane = NULL; for (i = 0; i < conf->num_queues; i++) { |