From ac71f4e6d5839ccefc0517f7dbade32d4d1fe8f2 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Mon, 19 Mar 2018 08:59:19 +0100 Subject: [PATCH] tests: qemublock: Add test cases for 'aio' options of 'file' storage Test that the 'aio' option is applied correctly for the 'file' protocol backend and across the backing chain. The top level disk image would generate the following '-drive' cmdline: file-backing_basic-aio_threads: -drive file=/var/lib/libvirt/images/a,format=qcow,if=none,id=drive-dummy,aio=threads -device virtio-blk-pci,scsi=off,drive=drive-dummy,id=dummy file-raw-aio_native: -drive file=/path/to/i.img,format=raw,if=none,id=drive-dummy,cache=none,aio=native -device virtio-blk-pci,scsi=off,drive=drive-dummy,id=dummy,write-cache=on Signed-off-by: Peter Krempa Reviewed-by: John Ferlan --- tests/qemublocktest.c | 2 + .../file-backing_basic-aio_threads.json | 62 +++++++++++++++++++ .../file-backing_basic-aio_threads.xml | 47 ++++++++++++++ .../xml2json/file-raw-aio_native.json | 21 +++++++ .../xml2json/file-raw-aio_native.xml | 12 ++++ 5 files changed, 144 insertions(+) create mode 100644 tests/qemublocktestdata/xml2json/file-backing_basic-aio_threads.json create mode 100644 tests/qemublocktestdata/xml2json/file-backing_basic-aio_threads.xml create mode 100644 tests/qemublocktestdata/xml2json/file-raw-aio_native.json create mode 100644 tests/qemublocktestdata/xml2json/file-raw-aio_native.xml diff --git a/tests/qemublocktest.c b/tests/qemublocktest.c index ec42d1d6a4..9699001af6 100644 --- a/tests/qemublocktest.c +++ b/tests/qemublocktest.c @@ -417,6 +417,8 @@ mymain(void) TEST_DISK_TO_JSON("file-backing_basic-noopts"); TEST_DISK_TO_JSON("dir-fat-readonly"); TEST_DISK_TO_JSON("dir-fat-floppy"); + TEST_DISK_TO_JSON("file-raw-aio_native"); + TEST_DISK_TO_JSON("file-backing_basic-aio_threads"); cleanup: virHashFree(diskxmljsondata.schema); diff --git a/tests/qemublocktestdata/xml2json/file-backing_basic-aio_threads.json b/tests/qemublocktestdata/xml2json/file-backing_basic-aio_threads.json new file mode 100644 index 0000000000..dcaf905085 --- /dev/null +++ b/tests/qemublocktestdata/xml2json/file-backing_basic-aio_threads.json @@ -0,0 +1,62 @@ +{ + "node-name": "node-a-f", + "read-only": false, + "driver": "qcow", + "file": { + "driver": "file", + "filename": "/var/lib/libvirt/images/a", + "aio": "threads", + "node-name": "node-a-s", + "read-only": false, + "discard": "unmap" + }, + "backing": "node-b-f" +} +{ + "node-name": "node-b-f", + "read-only": true, + "driver": "qed", + "file": { + "driver": "file", + "filename": "/var/lib/libvirt/images/b", + "aio": "threads", + "node-name": "node-b-s", + "read-only": true, + "discard": "unmap" + }, + "backing": "node-c-f" +} +{ + "node-name": "node-c-f", + "read-only": true, + "driver": "vmdk", + "file": { + "driver": "gluster", + "volume": "images", + "path": "c", + "server": [ + { + "type": "inet", + "host": "test.org", + "port": "24007" + } + ], + "node-name": "node-c-s", + "read-only": true, + "discard": "unmap" + }, + "backing": "node-d-f" +} +{ + "node-name": "node-d-f", + "read-only": true, + "driver": "raw", + "file": { + "driver": "file", + "filename": "/var/lib/libvirt/images/d", + "aio": "threads", + "node-name": "node-d-s", + "read-only": true, + "discard": "unmap" + } +} diff --git a/tests/qemublocktestdata/xml2json/file-backing_basic-aio_threads.xml b/tests/qemublocktestdata/xml2json/file-backing_basic-aio_threads.xml new file mode 100644 index 0000000000..ad84fab720 --- /dev/null +++ b/tests/qemublocktestdata/xml2json/file-backing_basic-aio_threads.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/qemublocktestdata/xml2json/file-raw-aio_native.json b/tests/qemublocktestdata/xml2json/file-raw-aio_native.json new file mode 100644 index 0000000000..2752e0b204 --- /dev/null +++ b/tests/qemublocktestdata/xml2json/file-raw-aio_native.json @@ -0,0 +1,21 @@ +{ + "node-name": "test1", + "read-only": false, + "cache": { + "direct": true, + "no-flush": false + }, + "driver": "raw", + "file": { + "driver": "file", + "filename": "/path/to/i.img", + "aio": "native", + "node-name": "test2", + "cache": { + "direct": true, + "no-flush": false + }, + "read-only": false, + "discard": "unmap" + } +} diff --git a/tests/qemublocktestdata/xml2json/file-raw-aio_native.xml b/tests/qemublocktestdata/xml2json/file-raw-aio_native.xml new file mode 100644 index 0000000000..470b60f26b --- /dev/null +++ b/tests/qemublocktestdata/xml2json/file-raw-aio_native.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + -- GitLab