Signed-off-by: Marc Marí <marc.mari.barc...@gmail.com>
---
 tests/virtio-blk-test.c |   14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/tests/virtio-blk-test.c b/tests/virtio-blk-test.c
index 54326d3..c7b3bf4 100644
--- a/tests/virtio-blk-test.c
+++ b/tests/virtio-blk-test.c
@@ -229,7 +229,7 @@ static void pci_basic(void)
     test_end();
 }
 
-static void pci_indirect(void)
+static void pci_indirect_config(void)
 {
     QVirtioPCIDevice *dev;
     QPCIBus *bus;
@@ -237,6 +237,7 @@ static void pci_indirect(void)
     QGuestAllocator *alloc;
     QVRingIndirectDesc *indirect;
     int isr_result;
+    int n_size = TEST_IMAGE_SIZE/2;
     void *addr;
     uint64_t w_req;
     uint64_t r_req;
@@ -274,6 +275,15 @@ static void pci_indirect(void)
 
     qvirtio_set_driver_ok(&qvirtio_pci, &dev->vdev);
 
+    qmp("{ 'execute': 'block_resize', 'arguments': { 'device': 'drive0', "
+                                                    " 'size': %d } }", n_size);
+
+    isr_result = qvirtio_wait_isr(&qvirtio_pci, &dev->vdev, 0x40,
+                                                        QVIRTIO_BLK_TIMEOUT);
+
+    capacity = qvirtio_config_readq(&qvirtio_pci, &dev->vdev, addr);
+    g_assert_cmpint(capacity, ==, n_size/512);
+
     /* Write and read with 2 descriptor layout */
     data = g_malloc0(512);
     strcpy(data, "TEST");
@@ -355,7 +365,7 @@ int main(int argc, char **argv)
     g_test_init(&argc, &argv, NULL);
 
     g_test_add_func("/virtio/blk/pci/basic", pci_basic);
-    g_test_add_func("/virtio/blk/pci/indirect", pci_indirect);
+    g_test_add_func("/virtio/blk/pci/indirect_config", pci_indirect_config);
 
     ret = g_test_run();
 
-- 
1.7.10.4


Reply via email to