Signed-off-by: Fam Zheng <f...@redhat.com> --- tests/virtio-blk-test.c | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/tests/virtio-blk-test.c b/tests/virtio-blk-test.c index 4078321..866415a 100644 --- a/tests/virtio-blk-test.c +++ b/tests/virtio-blk-test.c @@ -168,16 +168,11 @@ static uint64_t virtio_blk_request(QGuestAllocator *alloc, QVirtioBlkReq *req, return addr; } -static void test_basic(const QVirtioBus *bus, QVirtioDevice *dev, - QGuestAllocator *alloc, QVirtQueue *vq, uint64_t device_specific) +static uint32_t setup(const QVirtioBus *bus, QVirtioDevice *dev, + uint64_t device_specific) { - QVirtioBlkReq req; - uint64_t req_addr; uint64_t capacity; uint32_t features; - uint32_t free_head; - uint8_t status; - char *data; capacity = qvirtio_config_readq(bus, dev, device_specific); @@ -187,10 +182,25 @@ static void test_basic(const QVirtioBus *bus, QVirtioDevice *dev, features = features & ~(QVIRTIO_F_BAD_FEATURE | QVIRTIO_F_RING_INDIRECT_DESC | QVIRTIO_F_RING_EVENT_IDX | QVIRTIO_BLK_F_SCSI); + qvirtio_set_features(bus, dev, features); - qvirtio_set_driver_ok(bus, dev); + return features; +} + +static void test_basic(const QVirtioBus *bus, QVirtioDevice *dev, + QGuestAllocator *alloc, QVirtQueue *vq, uint64_t device_specific) +{ + QVirtioBlkReq req; + uint64_t req_addr; + uint32_t features; + uint32_t free_head; + uint8_t status; + char *data; + + features = setup(bus, dev, device_specific); + /* Write and read with 3 descriptor layout */ /* Write request */ req.type = QVIRTIO_BLK_T_OUT; -- 1.9.3