* [PULL 1/3] virtio-blk: deprecate SCSI passthrough
2019-12-20 10:25 [PULL 0/3] Block patches Stefan Hajnoczi
@ 2019-12-20 10:25 ` Stefan Hajnoczi
2019-12-20 10:25 ` [PULL 2/3] docs: fix rst syntax errors in unbuilt docs Stefan Hajnoczi
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Stefan Hajnoczi @ 2019-12-20 10:25 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Eduardo Habkost,
qemu-block, libvir-list, Jason Wang, Max Reitz, Stefan Hajnoczi,
Paolo Bonzini, Christoph Hellwig
The Linux virtio_blk.ko guest driver is removing legacy SCSI passthrough
support. Deprecate this feature in QEMU too.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-id: 20191213144626.1208237-1-stefanha@redhat.com
Message-Id: <20191213144626.1208237-1-stefanha@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
qemu-deprecated.texi | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi
index 62680f7bd5..259cb9ce9e 100644
--- a/qemu-deprecated.texi
+++ b/qemu-deprecated.texi
@@ -278,6 +278,17 @@ spec you can use the ``-cpu rv64gcsu,priv_spec=v1.9.1`` command line argument.
@section Device options
+@subsection Emulated device options
+
+@subsubsection -device virtio-blk,scsi=on|off (since 5.0.0)
+
+The virtio-blk SCSI passthrough feature is a legacy VIRTIO feature. VIRTIO 1.0
+and later do not support it because the virtio-scsi device was introduced for
+full SCSI support. Use virtio-scsi instead when SCSI passthrough is required.
+
+Note this also applies to ``-device virtio-blk-pci,scsi=on|off'', which is an
+alias.
+
@subsection Block device options
@subsubsection "backing": "" (since 2.12.0)
--
2.23.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PULL 2/3] docs: fix rst syntax errors in unbuilt docs
2019-12-20 10:25 [PULL 0/3] Block patches Stefan Hajnoczi
2019-12-20 10:25 ` [PULL 1/3] virtio-blk: deprecate SCSI passthrough Stefan Hajnoczi
@ 2019-12-20 10:25 ` Stefan Hajnoczi
2019-12-20 10:25 ` [PULL 3/3] virtio-blk: fix out-of-bounds access to bitmap in notify_guest_bh Stefan Hajnoczi
2020-01-03 18:50 ` [PULL 0/3] Block patches Peter Maydell
3 siblings, 0 replies; 5+ messages in thread
From: Stefan Hajnoczi @ 2019-12-20 10:25 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Peter Maydell, Daniel P . Berrangé,
Eduardo Habkost, qemu-block, libvir-list, Jason Wang, Max Reitz,
Stefan Hajnoczi
The .rst files outside docs/{devel,interop,specs} aren't built yet and
therefore a few syntax errors have slipped through. Fix them.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20191111094411.427174-1-stefanha@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
docs/arm-cpu-features.rst | 6 +++---
docs/virtio-net-failover.rst | 4 ++--
docs/virtio-pmem.rst | 19 ++++++++++---------
3 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/docs/arm-cpu-features.rst b/docs/arm-cpu-features.rst
index 1b367e22e1..9b537a75e6 100644
--- a/docs/arm-cpu-features.rst
+++ b/docs/arm-cpu-features.rst
@@ -41,9 +41,9 @@ CPU type is possible with the `query-cpu-model-expansion` QMP command.
Below are some examples where `scripts/qmp/qmp-shell` (see the top comment
block in the script for usage) is used to issue the QMP commands.
-(1) Determine which CPU features are available for the `max` CPU type
- (Note, we started QEMU with qemu-system-aarch64, so `max` is
- implementing the ARMv8-A reference manual in this case)::
+1. Determine which CPU features are available for the `max` CPU type
+ (Note, we started QEMU with qemu-system-aarch64, so `max` is
+ implementing the ARMv8-A reference manual in this case)::
(QEMU) query-cpu-model-expansion type=full model={"name":"max"}
{ "return": {
diff --git a/docs/virtio-net-failover.rst b/docs/virtio-net-failover.rst
index 22f64c7bc8..6002dc5d96 100644
--- a/docs/virtio-net-failover.rst
+++ b/docs/virtio-net-failover.rst
@@ -1,6 +1,6 @@
-========================
+======================================
QEMU virtio-net standby (net_failover)
-========================
+======================================
This document explains the setup and usage of virtio-net standby feature which
is used to create a net_failover pair of devices.
diff --git a/docs/virtio-pmem.rst b/docs/virtio-pmem.rst
index e77881b26f..4bf5d00443 100644
--- a/docs/virtio-pmem.rst
+++ b/docs/virtio-pmem.rst
@@ -27,17 +27,18 @@ virtio pmem usage
-----------------
A virtio pmem device backed by a memory-backend-file can be created on
- the QEMU command line as in the following example:
+ the QEMU command line as in the following example::
- -object memory-backend-file,id=mem1,share,mem-path=./virtio_pmem.img,size=4G
- -device virtio-pmem-pci,memdev=mem1,id=nv1
+ -object memory-backend-file,id=mem1,share,mem-path=./virtio_pmem.img,size=4G
+ -device virtio-pmem-pci,memdev=mem1,id=nv1
- where:
- - "object memory-backend-file,id=mem1,share,mem-path=<image>, size=<image size>"
- creates a backend file with the specified size.
+ where:
- - "device virtio-pmem-pci,id=nvdimm1,memdev=mem1" creates a virtio pmem
- pci device whose storage is provided by above memory backend device.
+ - "object memory-backend-file,id=mem1,share,mem-path=<image>, size=<image size>"
+ creates a backend file with the specified size.
+
+ - "device virtio-pmem-pci,id=nvdimm1,memdev=mem1" creates a virtio pmem
+ pci device whose storage is provided by above memory backend device.
Multiple virtio pmem devices can be created if multiple pairs of "-object"
and "-device" are provided.
@@ -50,7 +51,7 @@ memory backing has to be added via 'object_add'; afterwards, the virtio
pmem device can be added via 'device_add'.
For example, the following commands add another 4GB virtio pmem device to
-the guest:
+the guest::
(qemu) object_add memory-backend-file,id=mem2,share=on,mem-path=virtio_pmem2.img,size=4G
(qemu) device_add virtio-pmem-pci,id=virtio_pmem2,memdev=mem2
--
2.23.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PULL 3/3] virtio-blk: fix out-of-bounds access to bitmap in notify_guest_bh
2019-12-20 10:25 [PULL 0/3] Block patches Stefan Hajnoczi
2019-12-20 10:25 ` [PULL 1/3] virtio-blk: deprecate SCSI passthrough Stefan Hajnoczi
2019-12-20 10:25 ` [PULL 2/3] docs: fix rst syntax errors in unbuilt docs Stefan Hajnoczi
@ 2019-12-20 10:25 ` Stefan Hajnoczi
2020-01-03 18:50 ` [PULL 0/3] Block patches Peter Maydell
3 siblings, 0 replies; 5+ messages in thread
From: Stefan Hajnoczi @ 2019-12-20 10:25 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Peter Maydell, Xie Yongji, Eduardo Habkost,
qemu-block, libvir-list, Jason Wang, qemu-stable, Max Reitz,
Chai Wen, Stefan Hajnoczi, Li Hangjing
From: Li Hangjing <lihangjing@baidu.com>
When the number of a virtio-blk device's virtqueues is larger than
BITS_PER_LONG, the out-of-bounds access to bitmap[ ] will occur.
Fixes: e21737ab15 ("virtio-blk: multiqueue batch notify")
Cc: qemu-stable@nongnu.org
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Li Hangjing <lihangjing@baidu.com>
Reviewed-by: Xie Yongji <xieyongji@baidu.com>
Reviewed-by: Chai Wen <chaiwen@baidu.com>
Message-id: 20191216023050.48620-1-lihangjing@baidu.com
Message-Id: <20191216023050.48620-1-lihangjing@baidu.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
hw/block/dataplane/virtio-blk.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
index 119906a5fe..1b52e8159c 100644
--- a/hw/block/dataplane/virtio-blk.c
+++ b/hw/block/dataplane/virtio-blk.c
@@ -67,7 +67,7 @@ static void notify_guest_bh(void *opaque)
memset(s->batch_notify_vqs, 0, sizeof(bitmap));
for (j = 0; j < nvqs; j += BITS_PER_LONG) {
- unsigned long bits = bitmap[j];
+ unsigned long bits = bitmap[j / BITS_PER_LONG];
while (bits != 0) {
unsigned i = j + ctzl(bits);
--
2.23.0
^ permalink raw reply related [flat|nested] 5+ messages in thread