1 | The following changes since commit 7b1db0908d88f0c9cfac24e214ff72a860692e23: | 1 | The following changes since commit 55b1f14cefcb19ce6d5e28c4c83404230888aa7e: |
---|---|---|---|
2 | 2 | ||
3 | Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20180323' into staging (2018-03-25 13:51:33 +0100) | 3 | Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-3.0-pull-request' into staging (2018-07-23 14:03:14 +0100) |
4 | 4 | ||
5 | are available in the git repository at: | 5 | are available in the git repository at: |
6 | 6 | ||
7 | git://repo.or.cz/qemu/kevin.git tags/for-upstream | 7 | git://repo.or.cz/qemu/kevin.git tags/for-upstream |
8 | 8 | ||
9 | for you to fetch changes up to 0b7e7f66813a7e346e12d47be977a32a530a6316: | 9 | for you to fetch changes up to 3e31b4e17064d22e533071aaa57d3f01499ef910: |
10 | 10 | ||
11 | qemu-iotests: Test vhdx image creation with QMP (2018-03-26 12:17:43 +0200) | 11 | block/vvfat: Disable debug message by default (2018-07-23 16:50:43 +0200) |
12 | 12 | ||
13 | ---------------------------------------------------------------- | 13 | ---------------------------------------------------------------- |
14 | Block layer patches | 14 | Block layer patches: |
15 | |||
16 | - vvfat: Disable debug message by default | ||
17 | - qemu-iotests fixes | ||
18 | - Fix typos in comments | ||
15 | 19 | ||
16 | ---------------------------------------------------------------- | 20 | ---------------------------------------------------------------- |
17 | Alberto Garcia (1): | 21 | John Snow (1): |
18 | qcow2: Reset free_cluster_index when allocating a new refcount block | 22 | iotests: remove LUKS support from test 226 |
19 | 23 | ||
20 | Eric Blake (1): | 24 | Kevin Wolf (1): |
21 | iotests: 163 is not quick | 25 | qemu-iotests: Use host_device instead of file in 149 |
22 | 26 | ||
23 | Fabiano Rosas (5): | 27 | Max Reitz (2): |
24 | block/replication: Remove protocol_name field | 28 | iotest: Fix filtering order in 226 |
25 | block/quorum: Remove protocol-related fields | 29 | iotests: Disallow compat=0.10 in 223 |
26 | block/throttle: Remove protocol-related fields | ||
27 | block/blkreplay: Remove protocol-related fields | ||
28 | include/block/block_int: Document protocol related functions | ||
29 | 30 | ||
30 | Kevin Wolf (12): | 31 | Peter Lieven (1): |
31 | vdi: Change 'static' create option to 'preallocation' in QMP | 32 | qemu-img: avoid overflow of min_sparse parameter |
32 | vdi: Fix build with CONFIG_VDI_DEBUG | ||
33 | qemu-iotests: Test vdi image creation with QMP | ||
34 | qemu-iotests: Enable 025 for luks | ||
35 | luks: Turn another invalid assertion into check | ||
36 | qemu-iotests: Test invalid resize on luks | ||
37 | parallels: Check maximum cluster size on create | ||
38 | qemu-iotests: Test parallels image creation with QMP | ||
39 | vhdx: Require power-of-two block size on create | ||
40 | vhdx: Don't use error_setg_errno() with constant errno | ||
41 | vhdx: Check for 4 GB maximum log size on creation | ||
42 | qemu-iotests: Test vhdx image creation with QMP | ||
43 | 33 | ||
44 | qapi/block-core.json | 7 +- | 34 | Stefan Weil (1): |
45 | include/block/block_int.h | 8 ++ | 35 | block: Fix typos in comments (found by codespell) |
46 | replication.h | 1 - | ||
47 | block/blkreplay.c | 3 +- | ||
48 | block/crypto.c | 6 +- | ||
49 | block/parallels.c | 5 + | ||
50 | block/qcow2-refcount.c | 7 + | ||
51 | block/quorum.c | 3 +- | ||
52 | block/replication.c | 1 - | ||
53 | block/throttle.c | 3 +- | ||
54 | block/vdi.c | 46 ++++-- | ||
55 | block/vhdx.c | 17 ++- | ||
56 | tests/qemu-iotests/025 | 9 +- | ||
57 | tests/qemu-iotests/026.out | 6 +- | ||
58 | tests/qemu-iotests/121 | 20 +++ | ||
59 | tests/qemu-iotests/121.out | 10 ++ | ||
60 | tests/qemu-iotests/210 | 37 +++++ | ||
61 | tests/qemu-iotests/210.out | 16 +++ | ||
62 | tests/qemu-iotests/211 | 246 ++++++++++++++++++++++++++++++++ | ||
63 | tests/qemu-iotests/211.out | 97 +++++++++++++ | ||
64 | tests/qemu-iotests/212 | 326 ++++++++++++++++++++++++++++++++++++++++++ | ||
65 | tests/qemu-iotests/212.out | 111 ++++++++++++++ | ||
66 | tests/qemu-iotests/213 | 349 +++++++++++++++++++++++++++++++++++++++++++++ | ||
67 | tests/qemu-iotests/213.out | 121 ++++++++++++++++ | ||
68 | tests/qemu-iotests/group | 5 +- | ||
69 | 25 files changed, 1423 insertions(+), 37 deletions(-) | ||
70 | create mode 100755 tests/qemu-iotests/211 | ||
71 | create mode 100644 tests/qemu-iotests/211.out | ||
72 | create mode 100755 tests/qemu-iotests/212 | ||
73 | create mode 100644 tests/qemu-iotests/212.out | ||
74 | create mode 100755 tests/qemu-iotests/213 | ||
75 | create mode 100644 tests/qemu-iotests/213.out | ||
76 | 36 | ||
37 | Thomas Huth (1): | ||
38 | block/vvfat: Disable debug message by default | ||
39 | |||
40 | block.c | 2 +- | ||
41 | block/backup.c | 4 +- | ||
42 | block/curl.c | 2 +- | ||
43 | block/gluster.c | 2 +- | ||
44 | block/vhdx.c | 2 +- | ||
45 | block/vvfat.c | 4 +- | ||
46 | qemu-img.c | 16 ++- | ||
47 | tests/qemu-iotests/149 | 2 +- | ||
48 | tests/qemu-iotests/149.out | 344 ++++++++++++++++++++++----------------------- | ||
49 | tests/qemu-iotests/223 | 2 + | ||
50 | tests/qemu-iotests/226 | 7 +- | ||
51 | 11 files changed, 199 insertions(+), 188 deletions(-) | ||
52 | diff view generated by jsdifflib |
Deleted patch | |||
---|---|---|---|
1 | From: Eric Blake <eblake@redhat.com> | ||
2 | 1 | ||
3 | Testing on ext4, most 'quick' qcow2 tests took less than 5 seconds, | ||
4 | but 163 took more than 20. Let's remove it from the quick set. | ||
5 | |||
6 | Signed-off-by: Eric Blake <eblake@redhat.com> | ||
7 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | ||
8 | --- | ||
9 | tests/qemu-iotests/group | 2 +- | ||
10 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
11 | |||
12 | diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group | ||
13 | index XXXXXXX..XXXXXXX 100644 | ||
14 | --- a/tests/qemu-iotests/group | ||
15 | +++ b/tests/qemu-iotests/group | ||
16 | @@ -XXX,XX +XXX,XX @@ | ||
17 | 159 rw auto quick | ||
18 | 160 rw auto quick | ||
19 | 162 auto quick | ||
20 | -163 rw auto quick | ||
21 | +163 rw auto | ||
22 | 165 rw auto quick | ||
23 | 169 rw auto quick | ||
24 | 170 rw auto quick | ||
25 | -- | ||
26 | 2.13.6 | ||
27 | |||
28 | diff view generated by jsdifflib |
Deleted patch | |||
---|---|---|---|
1 | From: Fabiano Rosas <farosas@linux.vnet.ibm.com> | ||
2 | 1 | ||
3 | The protocol_name field is used when selecting a driver via protocol | ||
4 | syntax (i.e. <protocol_name>:<filename:options:...>). Drivers that are | ||
5 | only selected explicitly (e.g. driver=replication,mode=primary,...) | ||
6 | should not have a protocol_name. | ||
7 | |||
8 | This patch removes the protocol_name field from the brdv_replication | ||
9 | structure so that attempts to invoke this driver using protocol syntax | ||
10 | will fail gracefully: | ||
11 | |||
12 | $ qemu-img info replication:foo | ||
13 | qemu-img: Could not open 'replication:': Unknown protocol 'replication' | ||
14 | |||
15 | Buglink: https://bugs.launchpad.net/qemu/+bug/1726733 | ||
16 | Signed-off-by: Fabiano Rosas <farosas@linux.vnet.ibm.com> | ||
17 | Reviewed-by: Max Reitz <mreitz@redhat.com> | ||
18 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | ||
19 | --- | ||
20 | replication.h | 1 - | ||
21 | block/replication.c | 1 - | ||
22 | 2 files changed, 2 deletions(-) | ||
23 | |||
24 | diff --git a/replication.h b/replication.h | ||
25 | index XXXXXXX..XXXXXXX 100644 | ||
26 | --- a/replication.h | ||
27 | +++ b/replication.h | ||
28 | @@ -XXX,XX +XXX,XX @@ typedef struct ReplicationState ReplicationState; | ||
29 | * | ||
30 | * BlockDriver bdrv_replication = { | ||
31 | * .format_name = "replication", | ||
32 | - * .protocol_name = "replication", | ||
33 | * .instance_size = sizeof(BDRVReplicationState), | ||
34 | * | ||
35 | * .bdrv_open = replication_open, | ||
36 | diff --git a/block/replication.c b/block/replication.c | ||
37 | index XXXXXXX..XXXXXXX 100644 | ||
38 | --- a/block/replication.c | ||
39 | +++ b/block/replication.c | ||
40 | @@ -XXX,XX +XXX,XX @@ static void replication_stop(ReplicationState *rs, bool failover, Error **errp) | ||
41 | |||
42 | BlockDriver bdrv_replication = { | ||
43 | .format_name = "replication", | ||
44 | - .protocol_name = "replication", | ||
45 | .instance_size = sizeof(BDRVReplicationState), | ||
46 | |||
47 | .bdrv_open = replication_open, | ||
48 | -- | ||
49 | 2.13.6 | ||
50 | |||
51 | diff view generated by jsdifflib |
1 | error_setg_errno() is meant for cases where we got an errno from the OS | 1 | The test case uses block devices with driver=file, which causes the test |
---|---|---|---|
2 | that can add useful extra information to an error message. It's | 2 | to fail after commit 230ff73904 added a deprecation warning for this. |
3 | pointless if we pass a constant errno, these cases should use plain | 3 | Fix the test case to use driver=host_device and update the reference |
4 | error_setg(). | 4 | output accordingly. |
5 | 5 | ||
6 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | 6 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> |
7 | Reviewed-by: Eric Blake <eblake@redhat.com> | ||
8 | Reviewed-by: Jeff Cody <jcody@redhat.com> | ||
9 | --- | 7 | --- |
10 | block/vhdx.c | 9 ++++----- | 8 | tests/qemu-iotests/149 | 2 +- |
11 | 1 file changed, 4 insertions(+), 5 deletions(-) | 9 | tests/qemu-iotests/149.out | 344 ++++++++++++++++++++++----------------------- |
10 | 2 files changed, 173 insertions(+), 173 deletions(-) | ||
12 | 11 | ||
13 | diff --git a/block/vhdx.c b/block/vhdx.c | 12 | diff --git a/tests/qemu-iotests/149 b/tests/qemu-iotests/149 |
13 | index XXXXXXX..XXXXXXX 100755 | ||
14 | --- a/tests/qemu-iotests/149 | ||
15 | +++ b/tests/qemu-iotests/149 | ||
16 | @@ -XXX,XX +XXX,XX @@ def qemu_io_image_args(config, dev=False): | ||
17 | if dev: | ||
18 | return [ | ||
19 | "--image-opts", | ||
20 | - "driver=file,filename=%s" % config.device_path()] | ||
21 | + "driver=host_device,filename=%s" % config.device_path()] | ||
22 | else: | ||
23 | return [ | ||
24 | "--object", | ||
25 | diff --git a/tests/qemu-iotests/149.out b/tests/qemu-iotests/149.out | ||
14 | index XXXXXXX..XXXXXXX 100644 | 26 | index XXXXXXX..XXXXXXX 100644 |
15 | --- a/block/vhdx.c | 27 | --- a/tests/qemu-iotests/149.out |
16 | +++ b/block/vhdx.c | 28 | +++ b/tests/qemu-iotests/149.out |
17 | @@ -XXX,XX +XXX,XX @@ static int coroutine_fn vhdx_co_create(BlockdevCreateOptions *opts, | 29 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher aes-xts-plain64 --key-size 512 --hash |
18 | /* Validate options and set default values */ | 30 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha1.img qiotest-145-aes-256-xts-plain64-sha1 |
19 | image_size = vhdx_opts->size; | 31 | # Write test pattern 0xa7 |
20 | if (image_size > VHDX_MAX_IMAGE_SIZE) { | 32 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 |
21 | - error_setg_errno(errp, EINVAL, "Image size too large; max of 64TB"); | 33 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 |
22 | + error_setg(errp, "Image size too large; max of 64TB"); | 34 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 |
23 | return -EINVAL; | 35 | wrote 10485760/10485760 bytes at offset 104857600 |
24 | } | 36 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
25 | 37 | ||
26 | @@ -XXX,XX +XXX,XX @@ static int coroutine_fn vhdx_co_create(BlockdevCreateOptions *opts, | 38 | # Write test pattern 0x13 |
27 | log_size = vhdx_opts->log_size; | 39 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 |
28 | } | 40 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 |
29 | if (log_size < MiB || (log_size % MiB) != 0) { | 41 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 |
30 | - error_setg_errno(errp, EINVAL, "Log size must be a multiple of 1 MB"); | 42 | wrote 10485760/10485760 bytes at offset 3298534883328 |
31 | + error_setg(errp, "Log size must be a multiple of 1 MB"); | 43 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
32 | return -EINVAL; | 44 | |
33 | } | 45 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 |
34 | 46 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha1.img qiotest-145-aes-256-xts-plain64-sha1 | |
35 | @@ -XXX,XX +XXX,XX @@ static int coroutine_fn vhdx_co_create(BlockdevCreateOptions *opts, | 47 | # Read test pattern 0x91 |
36 | } | 48 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 |
37 | 49 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 | |
38 | if (block_size < MiB || (block_size % MiB) != 0) { | 50 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 |
39 | - error_setg_errno(errp, EINVAL, "Block size must be a multiple of 1 MB"); | 51 | read 10485760/10485760 bytes at offset 104857600 |
40 | + error_setg(errp, "Block size must be a multiple of 1 MB"); | 52 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
41 | return -EINVAL; | 53 | |
42 | } | 54 | # Read test pattern 0x5e |
43 | if (!is_power_of_2(block_size)) { | 55 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 |
44 | @@ -XXX,XX +XXX,XX @@ static int coroutine_fn vhdx_co_create(BlockdevCreateOptions *opts, | 56 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 |
45 | return -EINVAL; | 57 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 |
46 | } | 58 | read 10485760/10485760 bytes at offset 3298534883328 |
47 | if (block_size > VHDX_BLOCK_SIZE_MAX) { | 59 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
48 | - error_setg_errno(errp, EINVAL, "Block size must not exceed %d", | 60 | |
49 | - VHDX_BLOCK_SIZE_MAX); | 61 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-aes-256-xts-plain64-sha1.img', fmt=luks size=439804651 |
50 | + error_setg(errp, "Block size must not exceed %d", VHDX_BLOCK_SIZE_MAX); | 62 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha1.img qiotest-145-aes-256-xts-plain64-sha1 |
51 | return -EINVAL; | 63 | # Write test pattern 0xa7 |
52 | } | 64 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 |
65 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 | ||
66 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 | ||
67 | wrote 10485760/10485760 bytes at offset 104857600 | ||
68 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
69 | |||
70 | # Write test pattern 0x13 | ||
71 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 | ||
72 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 | ||
73 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 | ||
74 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
75 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
76 | |||
77 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
78 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha1.img qiotest-145-aes-256-xts-plain64-sha1 | ||
79 | # Read test pattern 0x91 | ||
80 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 | ||
81 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 | ||
82 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 | ||
83 | read 10485760/10485760 bytes at offset 104857600 | ||
84 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
85 | |||
86 | # Read test pattern 0x5e | ||
87 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 | ||
88 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 | ||
89 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha1 | ||
90 | read 10485760/10485760 bytes at offset 3298534883328 | ||
91 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
92 | |||
93 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher twofish-xts-plain64 --key-size 512 --h | ||
94 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-twofish-256-xts-plain64-sha1.img qiotest-145-twofish-256-xts-plain64-sha1 | ||
95 | # Write test pattern 0xa7 | ||
96 | sudo chown UID:GID /dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
97 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
98 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
99 | wrote 10485760/10485760 bytes at offset 104857600 | ||
100 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
101 | |||
102 | # Write test pattern 0x13 | ||
103 | sudo chown UID:GID /dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
104 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
105 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
106 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
107 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
108 | |||
109 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
110 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-twofish-256-xts-plain64-sha1.img qiotest-145-twofish-256-xts-plain64-sha1 | ||
111 | # Read test pattern 0x91 | ||
112 | sudo chown UID:GID /dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
113 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
114 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
115 | read 10485760/10485760 bytes at offset 104857600 | ||
116 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
117 | |||
118 | # Read test pattern 0x5e | ||
119 | sudo chown UID:GID /dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
120 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
121 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
122 | read 10485760/10485760 bytes at offset 3298534883328 | ||
123 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
124 | |||
125 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-twofish-256-xts-plain64-sha1.img', fmt=luks size=43980 | ||
126 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-twofish-256-xts-plain64-sha1.img qiotest-145-twofish-256-xts-plain64-sha1 | ||
127 | # Write test pattern 0xa7 | ||
128 | sudo chown UID:GID /dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
129 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
130 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
131 | wrote 10485760/10485760 bytes at offset 104857600 | ||
132 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
133 | |||
134 | # Write test pattern 0x13 | ||
135 | sudo chown UID:GID /dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
136 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
137 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
138 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
139 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
140 | |||
141 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
142 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-twofish-256-xts-plain64-sha1.img qiotest-145-twofish-256-xts-plain64-sha1 | ||
143 | # Read test pattern 0x91 | ||
144 | sudo chown UID:GID /dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
145 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
146 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
147 | read 10485760/10485760 bytes at offset 104857600 | ||
148 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
149 | |||
150 | # Read test pattern 0x5e | ||
151 | sudo chown UID:GID /dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
152 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
153 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-twofish-256-xts-plain64-sha1 | ||
154 | read 10485760/10485760 bytes at offset 3298534883328 | ||
155 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
156 | |||
157 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher serpent-xts-plain64 --key-size 512 --h | ||
158 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-serpent-256-xts-plain64-sha1.img qiotest-145-serpent-256-xts-plain64-sha1 | ||
159 | # Write test pattern 0xa7 | ||
160 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
161 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
162 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
163 | wrote 10485760/10485760 bytes at offset 104857600 | ||
164 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
165 | |||
166 | # Write test pattern 0x13 | ||
167 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
168 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
169 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
170 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
171 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
172 | |||
173 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
174 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-serpent-256-xts-plain64-sha1.img qiotest-145-serpent-256-xts-plain64-sha1 | ||
175 | # Read test pattern 0x91 | ||
176 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
177 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
178 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
179 | read 10485760/10485760 bytes at offset 104857600 | ||
180 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
181 | |||
182 | # Read test pattern 0x5e | ||
183 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
184 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
185 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
186 | read 10485760/10485760 bytes at offset 3298534883328 | ||
187 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
188 | |||
189 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-serpent-256-xts-plain64-sha1.img', fmt=luks size=43980 | ||
190 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-serpent-256-xts-plain64-sha1.img qiotest-145-serpent-256-xts-plain64-sha1 | ||
191 | # Write test pattern 0xa7 | ||
192 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
193 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
194 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
195 | wrote 10485760/10485760 bytes at offset 104857600 | ||
196 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
197 | |||
198 | # Write test pattern 0x13 | ||
199 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
200 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
201 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
202 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
203 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
204 | |||
205 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
206 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-serpent-256-xts-plain64-sha1.img qiotest-145-serpent-256-xts-plain64-sha1 | ||
207 | # Read test pattern 0x91 | ||
208 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
209 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
210 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
211 | read 10485760/10485760 bytes at offset 104857600 | ||
212 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
213 | |||
214 | # Read test pattern 0x5e | ||
215 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
216 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
217 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-256-xts-plain64-sha1 | ||
218 | read 10485760/10485760 bytes at offset 3298534883328 | ||
219 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
220 | |||
221 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher cast5-cbc-plain64 --key-size 128 --has | ||
222 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-cast5-128-cbc-plain64-sha1.img qiotest-145-cast5-128-cbc-plain64-sha1 | ||
223 | # Write test pattern 0xa7 | ||
224 | sudo chown UID:GID /dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
225 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
226 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
227 | wrote 10485760/10485760 bytes at offset 104857600 | ||
228 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
229 | |||
230 | # Write test pattern 0x13 | ||
231 | sudo chown UID:GID /dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
232 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
233 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
234 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
235 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
236 | |||
237 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
238 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-cast5-128-cbc-plain64-sha1.img qiotest-145-cast5-128-cbc-plain64-sha1 | ||
239 | # Read test pattern 0x91 | ||
240 | sudo chown UID:GID /dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
241 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
242 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
243 | read 10485760/10485760 bytes at offset 104857600 | ||
244 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
245 | |||
246 | # Read test pattern 0x5e | ||
247 | sudo chown UID:GID /dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
248 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
249 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
250 | read 10485760/10485760 bytes at offset 3298534883328 | ||
251 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
252 | |||
253 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-cast5-128-cbc-plain64-sha1.img', fmt=luks size=4398046 | ||
254 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-cast5-128-cbc-plain64-sha1.img qiotest-145-cast5-128-cbc-plain64-sha1 | ||
255 | # Write test pattern 0xa7 | ||
256 | sudo chown UID:GID /dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
257 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
258 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
259 | wrote 10485760/10485760 bytes at offset 104857600 | ||
260 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
261 | |||
262 | # Write test pattern 0x13 | ||
263 | sudo chown UID:GID /dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
264 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
265 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
266 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
267 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
268 | |||
269 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
270 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-cast5-128-cbc-plain64-sha1.img qiotest-145-cast5-128-cbc-plain64-sha1 | ||
271 | # Read test pattern 0x91 | ||
272 | sudo chown UID:GID /dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
273 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
274 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
275 | read 10485760/10485760 bytes at offset 104857600 | ||
276 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
277 | |||
278 | # Read test pattern 0x5e | ||
279 | sudo chown UID:GID /dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
280 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
281 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-cast5-128-cbc-plain64-sha1 | ||
282 | read 10485760/10485760 bytes at offset 3298534883328 | ||
283 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
284 | |||
285 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher aes-cbc-plain --key-size 256 --hash sh | ||
286 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-plain-sha1.img qiotest-145-aes-256-cbc-plain-sha1 | ||
287 | # Write test pattern 0xa7 | ||
288 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
289 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
290 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
291 | wrote 10485760/10485760 bytes at offset 104857600 | ||
292 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
293 | |||
294 | # Write test pattern 0x13 | ||
295 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
296 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
297 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
298 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
299 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
300 | |||
301 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
302 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-plain-sha1.img qiotest-145-aes-256-cbc-plain-sha1 | ||
303 | # Read test pattern 0x91 | ||
304 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
305 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
306 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
307 | read 10485760/10485760 bytes at offset 104857600 | ||
308 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
309 | |||
310 | # Read test pattern 0x5e | ||
311 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
312 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
313 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
314 | read 10485760/10485760 bytes at offset 3298534883328 | ||
315 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
316 | |||
317 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-aes-256-cbc-plain-sha1.img', fmt=luks size=43980465111 | ||
318 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-plain-sha1.img qiotest-145-aes-256-cbc-plain-sha1 | ||
319 | # Write test pattern 0xa7 | ||
320 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
321 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
322 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
323 | wrote 10485760/10485760 bytes at offset 104857600 | ||
324 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
325 | |||
326 | # Write test pattern 0x13 | ||
327 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
328 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
329 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
330 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
331 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
332 | |||
333 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
334 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-plain-sha1.img qiotest-145-aes-256-cbc-plain-sha1 | ||
335 | # Read test pattern 0x91 | ||
336 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
337 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
338 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
339 | read 10485760/10485760 bytes at offset 104857600 | ||
340 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
341 | |||
342 | # Read test pattern 0x5e | ||
343 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
344 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
345 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain-sha1 | ||
346 | read 10485760/10485760 bytes at offset 3298534883328 | ||
347 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
348 | |||
349 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher aes-cbc-plain64 --key-size 256 --hash | ||
350 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-plain64-sha1.img qiotest-145-aes-256-cbc-plain64-sha1 | ||
351 | # Write test pattern 0xa7 | ||
352 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
353 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
354 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
355 | wrote 10485760/10485760 bytes at offset 104857600 | ||
356 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
357 | |||
358 | # Write test pattern 0x13 | ||
359 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
360 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
361 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
362 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
363 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
364 | |||
365 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
366 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-plain64-sha1.img qiotest-145-aes-256-cbc-plain64-sha1 | ||
367 | # Read test pattern 0x91 | ||
368 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
369 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
370 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
371 | read 10485760/10485760 bytes at offset 104857600 | ||
372 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
373 | |||
374 | # Read test pattern 0x5e | ||
375 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
376 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
377 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
378 | read 10485760/10485760 bytes at offset 3298534883328 | ||
379 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
380 | |||
381 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-aes-256-cbc-plain64-sha1.img', fmt=luks size=439804651 | ||
382 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-plain64-sha1.img qiotest-145-aes-256-cbc-plain64-sha1 | ||
383 | # Write test pattern 0xa7 | ||
384 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
385 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
386 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
387 | wrote 10485760/10485760 bytes at offset 104857600 | ||
388 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
389 | |||
390 | # Write test pattern 0x13 | ||
391 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
392 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
393 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
394 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
395 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
396 | |||
397 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
398 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-plain64-sha1.img qiotest-145-aes-256-cbc-plain64-sha1 | ||
399 | # Read test pattern 0x91 | ||
400 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
401 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
402 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
403 | read 10485760/10485760 bytes at offset 104857600 | ||
404 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
405 | |||
406 | # Read test pattern 0x5e | ||
407 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
408 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
409 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha1 | ||
410 | read 10485760/10485760 bytes at offset 3298534883328 | ||
411 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
412 | |||
413 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher aes-cbc-essiv:sha256 --key-size 256 -- | ||
414 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-essiv-sha256-sha1.img qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
415 | # Write test pattern 0xa7 | ||
416 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
417 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
418 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
419 | wrote 10485760/10485760 bytes at offset 104857600 | ||
420 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
421 | |||
422 | # Write test pattern 0x13 | ||
423 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
424 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
425 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
426 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
427 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
428 | |||
429 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
430 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-essiv-sha256-sha1.img qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
431 | # Read test pattern 0x91 | ||
432 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
433 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
434 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
435 | read 10485760/10485760 bytes at offset 104857600 | ||
436 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
437 | |||
438 | # Read test pattern 0x5e | ||
439 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
440 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
441 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
442 | read 10485760/10485760 bytes at offset 3298534883328 | ||
443 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
444 | |||
445 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-aes-256-cbc-essiv-sha256-sha1.img', fmt=luks size=4398 | ||
446 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-essiv-sha256-sha1.img qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
447 | # Write test pattern 0xa7 | ||
448 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
449 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
450 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
451 | wrote 10485760/10485760 bytes at offset 104857600 | ||
452 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
453 | |||
454 | # Write test pattern 0x13 | ||
455 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
456 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
457 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
458 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
459 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
460 | |||
461 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
462 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-essiv-sha256-sha1.img qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
463 | # Read test pattern 0x91 | ||
464 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
465 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
466 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
467 | read 10485760/10485760 bytes at offset 104857600 | ||
468 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
469 | |||
470 | # Read test pattern 0x5e | ||
471 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
472 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
473 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-sha256-sha1 | ||
474 | read 10485760/10485760 bytes at offset 3298534883328 | ||
475 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
476 | |||
477 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher aes-xts-essiv:sha256 --key-size 512 -- | ||
478 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-essiv-sha256-sha1.img qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
479 | # Write test pattern 0xa7 | ||
480 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
481 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
482 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
483 | wrote 10485760/10485760 bytes at offset 104857600 | ||
484 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
485 | |||
486 | # Write test pattern 0x13 | ||
487 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
488 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
489 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
490 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
491 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
492 | |||
493 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
494 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-essiv-sha256-sha1.img qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
495 | # Read test pattern 0x91 | ||
496 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
497 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
498 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
499 | read 10485760/10485760 bytes at offset 104857600 | ||
500 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
501 | |||
502 | # Read test pattern 0x5e | ||
503 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
504 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
505 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
506 | read 10485760/10485760 bytes at offset 3298534883328 | ||
507 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
508 | |||
509 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-aes-256-xts-essiv-sha256-sha1.img', fmt=luks size=4398 | ||
510 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-essiv-sha256-sha1.img qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
511 | # Write test pattern 0xa7 | ||
512 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
513 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
514 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
515 | wrote 10485760/10485760 bytes at offset 104857600 | ||
516 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
517 | |||
518 | # Write test pattern 0x13 | ||
519 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
520 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
521 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
522 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
523 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
524 | |||
525 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
526 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-essiv-sha256-sha1.img qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
527 | # Read test pattern 0x91 | ||
528 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
529 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
530 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
531 | read 10485760/10485760 bytes at offset 104857600 | ||
532 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
533 | |||
534 | # Read test pattern 0x5e | ||
535 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
536 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
537 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-essiv-sha256-sha1 | ||
538 | read 10485760/10485760 bytes at offset 3298534883328 | ||
539 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
540 | |||
541 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher aes-xts-plain64 --key-size 256 --hash | ||
542 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-128-xts-plain64-sha256-sha1.img qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
543 | # Write test pattern 0xa7 | ||
544 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
545 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
546 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
547 | wrote 10485760/10485760 bytes at offset 104857600 | ||
548 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
549 | |||
550 | # Write test pattern 0x13 | ||
551 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
552 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
553 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
554 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
555 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
556 | |||
557 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
558 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-128-xts-plain64-sha256-sha1.img qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
559 | # Read test pattern 0x91 | ||
560 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
561 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
562 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
563 | read 10485760/10485760 bytes at offset 104857600 | ||
564 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
565 | |||
566 | # Read test pattern 0x5e | ||
567 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
568 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
569 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
570 | read 10485760/10485760 bytes at offset 3298534883328 | ||
571 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
572 | |||
573 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-aes-128-xts-plain64-sha256-sha1.img', fmt=luks size=43 | ||
574 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-128-xts-plain64-sha256-sha1.img qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
575 | # Write test pattern 0xa7 | ||
576 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
577 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
578 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
579 | wrote 10485760/10485760 bytes at offset 104857600 | ||
580 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
581 | |||
582 | # Write test pattern 0x13 | ||
583 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
584 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
585 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
586 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
587 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
588 | |||
589 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
590 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-128-xts-plain64-sha256-sha1.img qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
591 | # Read test pattern 0x91 | ||
592 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
593 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
594 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
595 | read 10485760/10485760 bytes at offset 104857600 | ||
596 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
597 | |||
598 | # Read test pattern 0x5e | ||
599 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
600 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
601 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-128-xts-plain64-sha256-sha1 | ||
602 | read 10485760/10485760 bytes at offset 3298534883328 | ||
603 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
604 | |||
605 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher aes-xts-plain64 --key-size 384 --hash | ||
606 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-192-xts-plain64-sha256-sha1.img qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
607 | # Write test pattern 0xa7 | ||
608 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
609 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
610 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
611 | wrote 10485760/10485760 bytes at offset 104857600 | ||
612 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
613 | |||
614 | # Write test pattern 0x13 | ||
615 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
616 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
617 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
618 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
619 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
620 | |||
621 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
622 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-192-xts-plain64-sha256-sha1.img qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
623 | # Read test pattern 0x91 | ||
624 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
625 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
626 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
627 | read 10485760/10485760 bytes at offset 104857600 | ||
628 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
629 | |||
630 | # Read test pattern 0x5e | ||
631 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
632 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
633 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
634 | read 10485760/10485760 bytes at offset 3298534883328 | ||
635 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
636 | |||
637 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-aes-192-xts-plain64-sha256-sha1.img', fmt=luks size=43 | ||
638 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-192-xts-plain64-sha256-sha1.img qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
639 | # Write test pattern 0xa7 | ||
640 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
641 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
642 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
643 | wrote 10485760/10485760 bytes at offset 104857600 | ||
644 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
645 | |||
646 | # Write test pattern 0x13 | ||
647 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
648 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
649 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
650 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
651 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
652 | |||
653 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
654 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-192-xts-plain64-sha256-sha1.img qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
655 | # Read test pattern 0x91 | ||
656 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
657 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
658 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
659 | read 10485760/10485760 bytes at offset 104857600 | ||
660 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
661 | |||
662 | # Read test pattern 0x5e | ||
663 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
664 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
665 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-192-xts-plain64-sha256-sha1 | ||
666 | read 10485760/10485760 bytes at offset 3298534883328 | ||
667 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
668 | |||
669 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher twofish-xts-plain64 --key-size 256 --h | ||
670 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-twofish-128-xts-plain64-sha1.img qiotest-145-twofish-128-xts-plain64-sha1 | ||
671 | # Write test pattern 0xa7 | ||
672 | sudo chown UID:GID /dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
673 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
674 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
675 | wrote 10485760/10485760 bytes at offset 104857600 | ||
676 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
677 | |||
678 | # Write test pattern 0x13 | ||
679 | sudo chown UID:GID /dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
680 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
681 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
682 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
683 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
684 | |||
685 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
686 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-twofish-128-xts-plain64-sha1.img qiotest-145-twofish-128-xts-plain64-sha1 | ||
687 | # Read test pattern 0x91 | ||
688 | sudo chown UID:GID /dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
689 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
690 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
691 | read 10485760/10485760 bytes at offset 104857600 | ||
692 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
693 | |||
694 | # Read test pattern 0x5e | ||
695 | sudo chown UID:GID /dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
696 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
697 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
698 | read 10485760/10485760 bytes at offset 3298534883328 | ||
699 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
700 | |||
701 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-twofish-128-xts-plain64-sha1.img', fmt=luks size=43980 | ||
702 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-twofish-128-xts-plain64-sha1.img qiotest-145-twofish-128-xts-plain64-sha1 | ||
703 | # Write test pattern 0xa7 | ||
704 | sudo chown UID:GID /dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
705 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
706 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
707 | wrote 10485760/10485760 bytes at offset 104857600 | ||
708 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
709 | |||
710 | # Write test pattern 0x13 | ||
711 | sudo chown UID:GID /dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
712 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
713 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
714 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
715 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
716 | |||
717 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
718 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-twofish-128-xts-plain64-sha1.img qiotest-145-twofish-128-xts-plain64-sha1 | ||
719 | # Read test pattern 0x91 | ||
720 | sudo chown UID:GID /dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
721 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
722 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
723 | read 10485760/10485760 bytes at offset 104857600 | ||
724 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
725 | |||
726 | # Read test pattern 0x5e | ||
727 | sudo chown UID:GID /dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
728 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
729 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-twofish-128-xts-plain64-sha1 | ||
730 | read 10485760/10485760 bytes at offset 3298534883328 | ||
731 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
732 | |||
733 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher serpent-xts-plain64 --key-size 256 --h | ||
734 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-serpent-128-xts-plain64-sha1.img qiotest-145-serpent-128-xts-plain64-sha1 | ||
735 | # Write test pattern 0xa7 | ||
736 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
737 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
738 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
739 | wrote 10485760/10485760 bytes at offset 104857600 | ||
740 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
741 | |||
742 | # Write test pattern 0x13 | ||
743 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
744 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
745 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
746 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
747 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
748 | |||
749 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
750 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-serpent-128-xts-plain64-sha1.img qiotest-145-serpent-128-xts-plain64-sha1 | ||
751 | # Read test pattern 0x91 | ||
752 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
753 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
754 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
755 | read 10485760/10485760 bytes at offset 104857600 | ||
756 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
757 | |||
758 | # Read test pattern 0x5e | ||
759 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
760 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
761 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
762 | read 10485760/10485760 bytes at offset 3298534883328 | ||
763 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
764 | |||
765 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-serpent-128-xts-plain64-sha1.img', fmt=luks size=43980 | ||
766 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-serpent-128-xts-plain64-sha1.img qiotest-145-serpent-128-xts-plain64-sha1 | ||
767 | # Write test pattern 0xa7 | ||
768 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
769 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
770 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
771 | wrote 10485760/10485760 bytes at offset 104857600 | ||
772 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
773 | |||
774 | # Write test pattern 0x13 | ||
775 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
776 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
777 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
778 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
779 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
780 | |||
781 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
782 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-serpent-128-xts-plain64-sha1.img qiotest-145-serpent-128-xts-plain64-sha1 | ||
783 | # Read test pattern 0x91 | ||
784 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
785 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
786 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
787 | read 10485760/10485760 bytes at offset 104857600 | ||
788 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
789 | |||
790 | # Read test pattern 0x5e | ||
791 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
792 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
793 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-128-xts-plain64-sha1 | ||
794 | read 10485760/10485760 bytes at offset 3298534883328 | ||
795 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
796 | |||
797 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher serpent-xts-plain64 --key-size 384 --h | ||
798 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-serpent-192-xts-plain64-sha1.img qiotest-145-serpent-192-xts-plain64-sha1 | ||
799 | # Write test pattern 0xa7 | ||
800 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
801 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
802 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
803 | wrote 10485760/10485760 bytes at offset 104857600 | ||
804 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
805 | |||
806 | # Write test pattern 0x13 | ||
807 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
808 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
809 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
810 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
811 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
812 | |||
813 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
814 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-serpent-192-xts-plain64-sha1.img qiotest-145-serpent-192-xts-plain64-sha1 | ||
815 | # Read test pattern 0x91 | ||
816 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
817 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
818 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
819 | read 10485760/10485760 bytes at offset 104857600 | ||
820 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
821 | |||
822 | # Read test pattern 0x5e | ||
823 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
824 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
825 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
826 | read 10485760/10485760 bytes at offset 3298534883328 | ||
827 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
828 | |||
829 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-serpent-192-xts-plain64-sha1.img', fmt=luks size=43980 | ||
830 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-serpent-192-xts-plain64-sha1.img qiotest-145-serpent-192-xts-plain64-sha1 | ||
831 | # Write test pattern 0xa7 | ||
832 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
833 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
834 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
835 | wrote 10485760/10485760 bytes at offset 104857600 | ||
836 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
837 | |||
838 | # Write test pattern 0x13 | ||
839 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
840 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
841 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
842 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
843 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
844 | |||
845 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
846 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-serpent-192-xts-plain64-sha1.img qiotest-145-serpent-192-xts-plain64-sha1 | ||
847 | # Read test pattern 0x91 | ||
848 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
849 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
850 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
851 | read 10485760/10485760 bytes at offset 104857600 | ||
852 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
853 | |||
854 | # Read test pattern 0x5e | ||
855 | sudo chown UID:GID /dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
856 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
857 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-serpent-192-xts-plain64-sha1 | ||
858 | read 10485760/10485760 bytes at offset 3298534883328 | ||
859 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
860 | |||
861 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher aes-xts-plain64 --key-size 512 --hash | ||
862 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha224.img qiotest-145-aes-256-xts-plain64-sha224 | ||
863 | # Write test pattern 0xa7 | ||
864 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
865 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
866 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
867 | wrote 10485760/10485760 bytes at offset 104857600 | ||
868 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
869 | |||
870 | # Write test pattern 0x13 | ||
871 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
872 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
873 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
874 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
875 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
876 | |||
877 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
878 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha224.img qiotest-145-aes-256-xts-plain64-sha224 | ||
879 | # Read test pattern 0x91 | ||
880 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
881 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
882 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
883 | read 10485760/10485760 bytes at offset 104857600 | ||
884 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
885 | |||
886 | # Read test pattern 0x5e | ||
887 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
888 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
889 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
890 | read 10485760/10485760 bytes at offset 3298534883328 | ||
891 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
892 | |||
893 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-aes-256-xts-plain64-sha224.img', fmt=luks size=4398046 | ||
894 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha224.img qiotest-145-aes-256-xts-plain64-sha224 | ||
895 | # Write test pattern 0xa7 | ||
896 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
897 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
898 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
899 | wrote 10485760/10485760 bytes at offset 104857600 | ||
900 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
901 | |||
902 | # Write test pattern 0x13 | ||
903 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
904 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
905 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
906 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
907 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
908 | |||
909 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
910 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha224.img qiotest-145-aes-256-xts-plain64-sha224 | ||
911 | # Read test pattern 0x91 | ||
912 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
913 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
914 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
915 | read 10485760/10485760 bytes at offset 104857600 | ||
916 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
917 | |||
918 | # Read test pattern 0x5e | ||
919 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
920 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
921 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha224 | ||
922 | read 10485760/10485760 bytes at offset 3298534883328 | ||
923 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
924 | |||
925 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher aes-xts-plain64 --key-size 512 --hash | ||
926 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha256.img qiotest-145-aes-256-xts-plain64-sha256 | ||
927 | # Write test pattern 0xa7 | ||
928 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
929 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
930 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
931 | wrote 10485760/10485760 bytes at offset 104857600 | ||
932 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
933 | |||
934 | # Write test pattern 0x13 | ||
935 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
936 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
937 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
938 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
939 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
940 | |||
941 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
942 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha256.img qiotest-145-aes-256-xts-plain64-sha256 | ||
943 | # Read test pattern 0x91 | ||
944 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
945 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
946 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
947 | read 10485760/10485760 bytes at offset 104857600 | ||
948 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
949 | |||
950 | # Read test pattern 0x5e | ||
951 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
952 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
953 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
954 | read 10485760/10485760 bytes at offset 3298534883328 | ||
955 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
956 | |||
957 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-aes-256-xts-plain64-sha256.img', fmt=luks size=4398046 | ||
958 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha256.img qiotest-145-aes-256-xts-plain64-sha256 | ||
959 | # Write test pattern 0xa7 | ||
960 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
961 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
962 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
963 | wrote 10485760/10485760 bytes at offset 104857600 | ||
964 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
965 | |||
966 | # Write test pattern 0x13 | ||
967 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
968 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
969 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
970 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
971 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
972 | |||
973 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
974 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha256.img qiotest-145-aes-256-xts-plain64-sha256 | ||
975 | # Read test pattern 0x91 | ||
976 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
977 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
978 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
979 | read 10485760/10485760 bytes at offset 104857600 | ||
980 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
981 | |||
982 | # Read test pattern 0x5e | ||
983 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
984 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
985 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha256 | ||
986 | read 10485760/10485760 bytes at offset 3298534883328 | ||
987 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
988 | |||
989 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher aes-xts-plain64 --key-size 512 --hash | ||
990 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha384.img qiotest-145-aes-256-xts-plain64-sha384 | ||
991 | # Write test pattern 0xa7 | ||
992 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
993 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
994 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
995 | wrote 10485760/10485760 bytes at offset 104857600 | ||
996 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
997 | |||
998 | # Write test pattern 0x13 | ||
999 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1000 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1001 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1002 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1003 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1004 | |||
1005 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1006 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha384.img qiotest-145-aes-256-xts-plain64-sha384 | ||
1007 | # Read test pattern 0x91 | ||
1008 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1009 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1010 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1011 | read 10485760/10485760 bytes at offset 104857600 | ||
1012 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1013 | |||
1014 | # Read test pattern 0x5e | ||
1015 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1016 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1017 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1018 | read 10485760/10485760 bytes at offset 3298534883328 | ||
1019 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1020 | |||
1021 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-aes-256-xts-plain64-sha384.img', fmt=luks size=4398046 | ||
1022 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha384.img qiotest-145-aes-256-xts-plain64-sha384 | ||
1023 | # Write test pattern 0xa7 | ||
1024 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1025 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1026 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1027 | wrote 10485760/10485760 bytes at offset 104857600 | ||
1028 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1029 | |||
1030 | # Write test pattern 0x13 | ||
1031 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1032 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1033 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1034 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1035 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1036 | |||
1037 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1038 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha384.img qiotest-145-aes-256-xts-plain64-sha384 | ||
1039 | # Read test pattern 0x91 | ||
1040 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1041 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1042 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1043 | read 10485760/10485760 bytes at offset 104857600 | ||
1044 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1045 | |||
1046 | # Read test pattern 0x5e | ||
1047 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1048 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1049 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha384 | ||
1050 | read 10485760/10485760 bytes at offset 3298534883328 | ||
1051 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1052 | |||
1053 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher aes-xts-plain64 --key-size 512 --hash | ||
1054 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha512.img qiotest-145-aes-256-xts-plain64-sha512 | ||
1055 | # Write test pattern 0xa7 | ||
1056 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1057 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1058 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1059 | wrote 10485760/10485760 bytes at offset 104857600 | ||
1060 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1061 | |||
1062 | # Write test pattern 0x13 | ||
1063 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1064 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1065 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1066 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1067 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1068 | |||
1069 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1070 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha512.img qiotest-145-aes-256-xts-plain64-sha512 | ||
1071 | # Read test pattern 0x91 | ||
1072 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1073 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1074 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1075 | read 10485760/10485760 bytes at offset 104857600 | ||
1076 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1077 | |||
1078 | # Read test pattern 0x5e | ||
1079 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1080 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1081 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1082 | read 10485760/10485760 bytes at offset 3298534883328 | ||
1083 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1084 | |||
1085 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-aes-256-xts-plain64-sha512.img', fmt=luks size=4398046 | ||
1086 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha512.img qiotest-145-aes-256-xts-plain64-sha512 | ||
1087 | # Write test pattern 0xa7 | ||
1088 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1089 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1090 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1091 | wrote 10485760/10485760 bytes at offset 104857600 | ||
1092 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1093 | |||
1094 | # Write test pattern 0x13 | ||
1095 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1096 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1097 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1098 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1099 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1100 | |||
1101 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1102 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-sha512.img qiotest-145-aes-256-xts-plain64-sha512 | ||
1103 | # Read test pattern 0x91 | ||
1104 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1105 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1106 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1107 | read 10485760/10485760 bytes at offset 104857600 | ||
1108 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1109 | |||
1110 | # Read test pattern 0x5e | ||
1111 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1112 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1113 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-sha512 | ||
1114 | read 10485760/10485760 bytes at offset 3298534883328 | ||
1115 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1116 | |||
1117 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher aes-xts-plain64 --key-size 512 --hash | ||
1118 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-ripemd160.img qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1119 | # Write test pattern 0xa7 | ||
1120 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1121 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1122 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1123 | wrote 10485760/10485760 bytes at offset 104857600 | ||
1124 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1125 | |||
1126 | # Write test pattern 0x13 | ||
1127 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1128 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1129 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1130 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1131 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1132 | |||
1133 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1134 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-ripemd160.img qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1135 | # Read test pattern 0x91 | ||
1136 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1137 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1138 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1139 | read 10485760/10485760 bytes at offset 104857600 | ||
1140 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1141 | |||
1142 | # Read test pattern 0x5e | ||
1143 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1144 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1145 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1146 | read 10485760/10485760 bytes at offset 3298534883328 | ||
1147 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1148 | |||
1149 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-aes-256-xts-plain64-ripemd160.img', fmt=luks size=4398 | ||
1150 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-ripemd160.img qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1151 | # Write test pattern 0xa7 | ||
1152 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1153 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1154 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1155 | wrote 10485760/10485760 bytes at offset 104857600 | ||
1156 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1157 | |||
1158 | # Write test pattern 0x13 | ||
1159 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1160 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1161 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1162 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1163 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1164 | |||
1165 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1166 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain64-ripemd160.img qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1167 | # Read test pattern 0x91 | ||
1168 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1169 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1170 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1171 | read 10485760/10485760 bytes at offset 104857600 | ||
1172 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1173 | |||
1174 | # Read test pattern 0x5e | ||
1175 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1176 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1177 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain64-ripemd160 | ||
1178 | read 10485760/10485760 bytes at offset 3298534883328 | ||
1179 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1180 | |||
1181 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher aes-xts-plain --key-size 512 --hash sh | ||
1182 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain-sha1-pwslot3.img qiotest-145-aes-256-xts-plain-sha1-pwslot3 | ||
1183 | # Write test pattern 0xa7 | ||
1184 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwslot3 | ||
1185 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwslot3 | ||
1186 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwslot3 | ||
1187 | wrote 10485760/10485760 bytes at offset 104857600 | ||
1188 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1189 | |||
1190 | # Write test pattern 0x13 | ||
1191 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwslot3 | ||
1192 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwslot3 | ||
1193 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwslot3 | ||
1194 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1195 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1196 | |||
1197 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1198 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain-sha1-pwslot3.img qiotest-145-aes-256-xts-plain-sha1-pwslot3 | ||
1199 | # Read test pattern 0x91 | ||
1200 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwslot3 | ||
1201 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwslot3 | ||
1202 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwslot3 | ||
1203 | read 10485760/10485760 bytes at offset 104857600 | ||
1204 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1205 | |||
1206 | # Read test pattern 0x5e | ||
1207 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwslot3 | ||
1208 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwslot3 | ||
1209 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwslot3 | ||
1210 | read 10485760/10485760 bytes at offset 3298534883328 | ||
1211 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1212 | |||
1213 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksAddKey TEST_DIR/luks-aes-256-xts-plain-sha1-pwallslots | ||
1214 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain-sha1-pwallslots.img qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1215 | # Write test pattern 0xa7 | ||
1216 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1217 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1218 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1219 | wrote 10485760/10485760 bytes at offset 104857600 | ||
1220 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1221 | |||
1222 | # Write test pattern 0x13 | ||
1223 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1224 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1225 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1226 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1227 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1228 | |||
1229 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1230 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain-sha1-pwallslots.img qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1231 | # Read test pattern 0x91 | ||
1232 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1233 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1234 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1235 | read 10485760/10485760 bytes at offset 104857600 | ||
1236 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1237 | |||
1238 | # Read test pattern 0x5e | ||
1239 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1240 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1241 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1242 | read 10485760/10485760 bytes at offset 3298534883328 | ||
1243 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1244 | |||
1245 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-aes-256-xts-plain-sha1-pwallslots.img', fmt=luks size= | ||
1246 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain-sha1-pwallslots.img qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1247 | # Write test pattern 0xa7 | ||
1248 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1249 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1250 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1251 | wrote 10485760/10485760 bytes at offset 104857600 | ||
1252 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1253 | |||
1254 | # Write test pattern 0x13 | ||
1255 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1256 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1257 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1258 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1259 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1260 | |||
1261 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1262 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-xts-plain-sha1-pwallslots.img qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1263 | # Read test pattern 0x91 | ||
1264 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1265 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1266 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1267 | read 10485760/10485760 bytes at offset 104857600 | ||
1268 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1269 | |||
1270 | # Read test pattern 0x5e | ||
1271 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1272 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1273 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-xts-plain-sha1-pwallslots | ||
1274 | read 10485760/10485760 bytes at offset 3298534883328 | ||
1275 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1276 | |||
1277 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher aes-cbc-essiv:sha256 --key-size 256 -- | ||
1278 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1279 | # Write test pattern 0xa7 | ||
1280 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1281 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1282 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1283 | wrote 10485760/10485760 bytes at offset 104857600 | ||
1284 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1285 | |||
1286 | # Write test pattern 0x13 | ||
1287 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1288 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1289 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1290 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1291 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1292 | |||
1293 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1294 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1295 | # Read test pattern 0x91 | ||
1296 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1297 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1298 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1299 | read 10485760/10485760 bytes at offset 104857600 | ||
1300 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1301 | |||
1302 | # Read test pattern 0x5e | ||
1303 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1304 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1305 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1306 | read 10485760/10485760 bytes at offset 3298534883328 | ||
1307 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1308 | |||
1309 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img', fmt=luks size=439804 | ||
1310 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1311 | # Write test pattern 0xa7 | ||
1312 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1313 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1314 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1315 | wrote 10485760/10485760 bytes at offset 104857600 | ||
1316 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1317 | |||
1318 | # Write test pattern 0x13 | ||
1319 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1320 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1321 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1322 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1323 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1324 | |||
1325 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1326 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-essiv-auto-sha1.img qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1327 | # Read test pattern 0x91 | ||
1328 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1329 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1330 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1331 | read 10485760/10485760 bytes at offset 104857600 | ||
1332 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1333 | |||
1334 | # Read test pattern 0x5e | ||
1335 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1336 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1337 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-essiv-auto-sha1 | ||
1338 | read 10485760/10485760 bytes at offset 3298534883328 | ||
1339 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1340 | |||
1341 | @@ -XXX,XX +XXX,XX @@ sudo cryptsetup -q -v luksFormat --cipher aes-cbc-plain64:sha256 --key-size 256 | ||
1342 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1343 | # Write test pattern 0xa7 | ||
1344 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1345 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1346 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1347 | wrote 10485760/10485760 bytes at offset 104857600 | ||
1348 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1349 | |||
1350 | # Write test pattern 0x13 | ||
1351 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1352 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1353 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1354 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1355 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1356 | |||
1357 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1358 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1359 | # Read test pattern 0x91 | ||
1360 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1361 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1362 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1363 | read 10485760/10485760 bytes at offset 104857600 | ||
1364 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1365 | |||
1366 | # Read test pattern 0x5e | ||
1367 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1368 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1369 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1370 | read 10485760/10485760 bytes at offset 3298534883328 | ||
1371 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1372 | |||
1373 | @@ -XXX,XX +XXX,XX @@ Formatting 'TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img', fmt=luks size=43 | ||
1374 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1375 | # Write test pattern 0xa7 | ||
1376 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1377 | -qemu-io -c write -P 0xa7 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1378 | +qemu-io -c write -P 0xa7 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1379 | wrote 10485760/10485760 bytes at offset 104857600 | ||
1380 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1381 | |||
1382 | # Write test pattern 0x13 | ||
1383 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1384 | -qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1385 | +qemu-io -c write -P 0x13 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1386 | wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1387 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1388 | |||
1389 | @@ -XXX,XX +XXX,XX @@ wrote 10485760/10485760 bytes at offset 3298534883328 | ||
1390 | sudo cryptsetup -q -v luksOpen TEST_DIR/luks-aes-256-cbc-plain64-sha256-sha1.img qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1391 | # Read test pattern 0x91 | ||
1392 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1393 | -qemu-io -c read -P 0x91 100M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1394 | +qemu-io -c read -P 0x91 100M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1395 | read 10485760/10485760 bytes at offset 104857600 | ||
1396 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
1397 | |||
1398 | # Read test pattern 0x5e | ||
1399 | sudo chown UID:GID /dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1400 | -qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=file,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1401 | +qemu-io -c read -P 0x5e 3145728M 10M --image-opts driver=host_device,filename=/dev/mapper/qiotest-145-aes-256-cbc-plain64-sha256-sha1 | ||
1402 | read 10485760/10485760 bytes at offset 3298534883328 | ||
1403 | 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
53 | 1404 | ||
54 | -- | 1405 | -- |
55 | 2.13.6 | 1406 | 2.13.6 |
56 | 1407 | ||
57 | 1408 | diff view generated by jsdifflib |
1 | It's unclear what the real maximum is, but we use an uint32_t to store | 1 | From: Stefan Weil <sw@weilnetz.de> |
---|---|---|---|
2 | the log size in vhdx_co_create(), so we should check that the given | ||
3 | value fits in 32 bits. | ||
4 | 2 | ||
3 | Signed-off-by: Stefan Weil <sw@weilnetz.de> | ||
4 | Reviewed-by: John Snow <jsnow@redhat.com> | ||
5 | Reviewed-by: Jeff Cody <jcody@redhat.com> | ||
5 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | 6 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> |
6 | Reviewed-by: Eric Blake <eblake@redhat.com> | ||
7 | Reviewed-by: Jeff Cody <jcody@redhat.com> | ||
8 | --- | 7 | --- |
9 | block/vhdx.c | 4 ++++ | 8 | block.c | 2 +- |
10 | 1 file changed, 4 insertions(+) | 9 | block/backup.c | 4 ++-- |
10 | block/curl.c | 2 +- | ||
11 | block/gluster.c | 2 +- | ||
12 | block/vhdx.c | 2 +- | ||
13 | 5 files changed, 6 insertions(+), 6 deletions(-) | ||
11 | 14 | ||
15 | diff --git a/block.c b/block.c | ||
16 | index XXXXXXX..XXXXXXX 100644 | ||
17 | --- a/block.c | ||
18 | +++ b/block.c | ||
19 | @@ -XXX,XX +XXX,XX @@ BlockReopenQueue *bdrv_reopen_queue(BlockReopenQueue *bs_queue, | ||
20 | * | ||
21 | * Reopens all BDS specified in the queue, with the appropriate | ||
22 | * flags. All devices are prepared for reopen, and failure of any | ||
23 | - * device will cause all device changes to be abandonded, and intermediate | ||
24 | + * device will cause all device changes to be abandoned, and intermediate | ||
25 | * data cleaned up. | ||
26 | * | ||
27 | * If all devices prepare successfully, then the changes are committed | ||
28 | diff --git a/block/backup.c b/block/backup.c | ||
29 | index XXXXXXX..XXXXXXX 100644 | ||
30 | --- a/block/backup.c | ||
31 | +++ b/block/backup.c | ||
32 | @@ -XXX,XX +XXX,XX @@ static void cow_request_end(CowRequest *req) | ||
33 | } | ||
34 | |||
35 | /* Copy range to target with a bounce buffer and return the bytes copied. If | ||
36 | - * error occured, return a negative error number */ | ||
37 | + * error occurred, return a negative error number */ | ||
38 | static int coroutine_fn backup_cow_with_bounce_buffer(BackupBlockJob *job, | ||
39 | int64_t start, | ||
40 | int64_t end, | ||
41 | @@ -XXX,XX +XXX,XX @@ fail: | ||
42 | |||
43 | } | ||
44 | |||
45 | -/* Copy range to target and return the bytes copied. If error occured, return a | ||
46 | +/* Copy range to target and return the bytes copied. If error occurred, return a | ||
47 | * negative error number. */ | ||
48 | static int coroutine_fn backup_cow_with_offload(BackupBlockJob *job, | ||
49 | int64_t start, | ||
50 | diff --git a/block/curl.c b/block/curl.c | ||
51 | index XXXXXXX..XXXXXXX 100644 | ||
52 | --- a/block/curl.c | ||
53 | +++ b/block/curl.c | ||
54 | @@ -XXX,XX +XXX,XX @@ static int curl_open(BlockDriverState *bs, QDict *options, int flags, | ||
55 | } | ||
56 | /* Prior CURL 7.19.4 return value of 0 could mean that the file size is not | ||
57 | * know or the size is zero. From 7.19.4 CURL returns -1 if size is not | ||
58 | - * known and zero if it is realy zero-length file. */ | ||
59 | + * known and zero if it is really zero-length file. */ | ||
60 | #if LIBCURL_VERSION_NUM >= 0x071304 | ||
61 | if (d < 0) { | ||
62 | pstrcpy(state->errmsg, CURL_ERROR_SIZE, | ||
63 | diff --git a/block/gluster.c b/block/gluster.c | ||
64 | index XXXXXXX..XXXXXXX 100644 | ||
65 | --- a/block/gluster.c | ||
66 | +++ b/block/gluster.c | ||
67 | @@ -XXX,XX +XXX,XX @@ static int qemu_gluster_has_zero_init(BlockDriverState *bs) | ||
68 | * If @start is in a trailing hole or beyond EOF, return -ENXIO. | ||
69 | * If we can't find out, return a negative errno other than -ENXIO. | ||
70 | * | ||
71 | - * (Shamefully copied from file-posix.c, only miniscule adaptions.) | ||
72 | + * (Shamefully copied from file-posix.c, only minuscule adaptions.) | ||
73 | */ | ||
74 | static int find_allocation(BlockDriverState *bs, off_t start, | ||
75 | off_t *data, off_t *hole) | ||
12 | diff --git a/block/vhdx.c b/block/vhdx.c | 76 | diff --git a/block/vhdx.c b/block/vhdx.c |
13 | index XXXXXXX..XXXXXXX 100644 | 77 | index XXXXXXX..XXXXXXX 100644 |
14 | --- a/block/vhdx.c | 78 | --- a/block/vhdx.c |
15 | +++ b/block/vhdx.c | 79 | +++ b/block/vhdx.c |
16 | @@ -XXX,XX +XXX,XX @@ static int coroutine_fn vhdx_co_create(BlockdevCreateOptions *opts, | 80 | @@ -XXX,XX +XXX,XX @@ uint32_t vhdx_checksum_calc(uint32_t crc, uint8_t *buf, size_t size, |
17 | if (!vhdx_opts->has_log_size) { | 81 | /* Validates the checksum of the buffer, with an in-place CRC. |
18 | log_size = DEFAULT_LOG_SIZE; | 82 | * |
19 | } else { | 83 | * Zero is substituted during crc calculation for the original crc field, |
20 | + if (vhdx_opts->log_size > UINT32_MAX) { | 84 | - * and the crc field is restored afterwards. But the buffer will be modifed |
21 | + error_setg(errp, "Log size must be smaller than 4 GB"); | 85 | + * and the crc field is restored afterwards. But the buffer will be modified |
22 | + return -EINVAL; | 86 | * during the calculation, so this may not be not suitable for multi-threaded |
23 | + } | 87 | * use. |
24 | log_size = vhdx_opts->log_size; | 88 | * |
25 | } | ||
26 | if (log_size < MiB || (log_size % MiB) != 0) { | ||
27 | -- | 89 | -- |
28 | 2.13.6 | 90 | 2.13.6 |
29 | 91 | ||
30 | 92 | diff view generated by jsdifflib |
1 | Use qemu_uuid_unparse() instead of uuid_unparse() to make vdi.c compile | 1 | From: Peter Lieven <pl@kamp.de> |
---|---|---|---|
2 | again when CONFIG_VDI_DEBUG is set. In order to prevent future bitrot, | ||
3 | replace '#ifdef CONFIG_VDI_DEBUG' by 'if (VDI_DEBUG)' so that the | ||
4 | compiler always sees the code. | ||
5 | 2 | ||
3 | the min_sparse convert parameter can overflow (e.g. -S 1024G) | ||
4 | in the conversion from int64_t to int resulting in a negative | ||
5 | min_sparse parameter. Avoid this by limiting the valid parameters | ||
6 | to sane values. In fact anything exceeding the convert buffer size | ||
7 | is also pointless. While at it also forbid values that are non | ||
8 | multiple of 512 to avoid undesired behaviour. For instance, values | ||
9 | between 1 and 511 were legal, but resulted in full allocation. | ||
10 | |||
11 | Cc: qemu-stable@nongnu.org | ||
12 | Signed-off-by: Peter Lieven <pl@kamp.de> | ||
6 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | 13 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> |
7 | Reviewed-by: Eric Blake <eblake@redhat.com> | ||
8 | --- | 14 | --- |
9 | block/vdi.c | 22 ++++++++++------------ | 15 | qemu-img.c | 16 +++++++++++----- |
10 | 1 file changed, 10 insertions(+), 12 deletions(-) | 16 | 1 file changed, 11 insertions(+), 5 deletions(-) |
11 | 17 | ||
12 | diff --git a/block/vdi.c b/block/vdi.c | 18 | diff --git a/qemu-img.c b/qemu-img.c |
13 | index XXXXXXX..XXXXXXX 100644 | 19 | index XXXXXXX..XXXXXXX 100644 |
14 | --- a/block/vdi.c | 20 | --- a/qemu-img.c |
15 | +++ b/block/vdi.c | 21 | +++ b/qemu-img.c |
16 | @@ -XXX,XX +XXX,XX @@ static void vdi_header_to_le(VdiHeader *header) | 22 | @@ -XXX,XX +XXX,XX @@ static int convert_do_copy(ImgConvertState *s) |
17 | qemu_uuid_bswap(&header->uuid_parent); | 23 | return s->ret; |
18 | } | 24 | } |
19 | 25 | ||
20 | -#if defined(CONFIG_VDI_DEBUG) | 26 | +#define MAX_BUF_SECTORS 32768 |
21 | static void vdi_header_print(VdiHeader *header) | 27 | + |
28 | static int img_convert(int argc, char **argv) | ||
22 | { | 29 | { |
23 | char uuid[37]; | 30 | int c, bs_i, flags, src_flags = 0; |
24 | @@ -XXX,XX +XXX,XX @@ static void vdi_header_print(VdiHeader *header) | 31 | @@ -XXX,XX +XXX,XX @@ static int img_convert(int argc, char **argv) |
25 | logout("block extra 0x%04x\n", header->block_extra); | 32 | int64_t sval; |
26 | logout("blocks tot. 0x%04x\n", header->blocks_in_image); | 33 | |
27 | logout("blocks all. 0x%04x\n", header->blocks_allocated); | 34 | sval = cvtnum(optarg); |
28 | - uuid_unparse(header->uuid_image, uuid); | 35 | - if (sval < 0) { |
29 | + qemu_uuid_unparse(&header->uuid_image, uuid); | 36 | - error_report("Invalid minimum zero buffer size for sparse output specified"); |
30 | logout("uuid image %s\n", uuid); | 37 | + if (sval < 0 || sval & (BDRV_SECTOR_SIZE - 1) || |
31 | - uuid_unparse(header->uuid_last_snap, uuid); | 38 | + sval / BDRV_SECTOR_SIZE > MAX_BUF_SECTORS) { |
32 | + qemu_uuid_unparse(&header->uuid_last_snap, uuid); | 39 | + error_report("Invalid buffer size for sparse output specified. " |
33 | logout("uuid snap %s\n", uuid); | 40 | + "Valid sizes are multiples of %llu up to %llu. Select " |
34 | - uuid_unparse(header->uuid_link, uuid); | 41 | + "0 to disable sparse detection (fully allocates output).", |
35 | + qemu_uuid_unparse(&header->uuid_link, uuid); | 42 | + BDRV_SECTOR_SIZE, MAX_BUF_SECTORS * BDRV_SECTOR_SIZE); |
36 | logout("uuid link %s\n", uuid); | 43 | goto fail_getopt; |
37 | - uuid_unparse(header->uuid_parent, uuid); | 44 | } |
38 | + qemu_uuid_unparse(&header->uuid_parent, uuid); | 45 | |
39 | logout("uuid parent %s\n", uuid); | 46 | @@ -XXX,XX +XXX,XX @@ static int img_convert(int argc, char **argv) |
40 | } | ||
41 | -#endif | ||
42 | |||
43 | static int coroutine_fn vdi_co_check(BlockDriverState *bs, BdrvCheckResult *res, | ||
44 | BdrvCheckMode fix) | ||
45 | @@ -XXX,XX +XXX,XX @@ static int vdi_open(BlockDriverState *bs, QDict *options, int flags, | ||
46 | } | 47 | } |
47 | 48 | ||
48 | vdi_header_to_cpu(&header); | 49 | /* increase bufsectors from the default 4096 (2M) if opt_transfer |
49 | -#if defined(CONFIG_VDI_DEBUG) | 50 | - * or discard_alignment of the out_bs is greater. Limit to 32768 (16MB) |
50 | - vdi_header_print(&header); | 51 | - * as maximum. */ |
51 | -#endif | 52 | - s.buf_sectors = MIN(32768, |
52 | + if (VDI_DEBUG) { | 53 | + * or discard_alignment of the out_bs is greater. Limit to |
53 | + vdi_header_print(&header); | 54 | + * MAX_BUF_SECTORS as maximum which is currently 32768 (16MB). */ |
54 | + } | 55 | + s.buf_sectors = MIN(MAX_BUF_SECTORS, |
55 | 56 | MAX(s.buf_sectors, | |
56 | if (header.disk_size > VDI_DISK_SIZE_MAX) { | 57 | MAX(out_bs->bl.opt_transfer >> BDRV_SECTOR_BITS, |
57 | error_setg(errp, "Unsupported VDI image size (size is 0x%" PRIx64 | 58 | out_bs->bl.pdiscard_alignment >> |
58 | @@ -XXX,XX +XXX,XX @@ static int coroutine_fn vdi_co_do_create(BlockdevCreateOptions *create_options, | ||
59 | qemu_uuid_generate(&header.uuid_image); | ||
60 | qemu_uuid_generate(&header.uuid_last_snap); | ||
61 | /* There is no need to set header.uuid_link or header.uuid_parent here. */ | ||
62 | -#if defined(CONFIG_VDI_DEBUG) | ||
63 | - vdi_header_print(&header); | ||
64 | -#endif | ||
65 | + if (VDI_DEBUG) { | ||
66 | + vdi_header_print(&header); | ||
67 | + } | ||
68 | vdi_header_to_le(&header); | ||
69 | ret = blk_pwrite(blk, offset, &header, sizeof(header), 0); | ||
70 | if (ret < 0) { | ||
71 | -- | 59 | -- |
72 | 2.13.6 | 60 | 2.13.6 |
73 | 61 | ||
74 | 62 | diff view generated by jsdifflib |
1 | From: John Snow <jsnow@redhat.com> | ||
---|---|---|---|
2 | |||
3 | This test doesn't actually care about the format anyway, it just | ||
4 | supports "all formats" as a convenience. LUKS however does not use a | ||
5 | simple image filename which confuses this iotest. | ||
6 | |||
7 | We can simply skip the test for formats that use IMGOPTSSYNTAX for | ||
8 | their filenames without missing much coverage. | ||
9 | |||
10 | Signed-off-by: John Snow <jsnow@redhat.com> | ||
1 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | 11 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> |
2 | --- | 12 | --- |
3 | tests/qemu-iotests/213 | 349 +++++++++++++++++++++++++++++++++++++++++++++ | 13 | tests/qemu-iotests/226 | 3 +++ |
4 | tests/qemu-iotests/213.out | 121 ++++++++++++++++ | 14 | 1 file changed, 3 insertions(+) |
5 | tests/qemu-iotests/group | 1 + | ||
6 | 3 files changed, 471 insertions(+) | ||
7 | create mode 100755 tests/qemu-iotests/213 | ||
8 | create mode 100644 tests/qemu-iotests/213.out | ||
9 | 15 | ||
10 | diff --git a/tests/qemu-iotests/213 b/tests/qemu-iotests/213 | 16 | diff --git a/tests/qemu-iotests/226 b/tests/qemu-iotests/226 |
11 | new file mode 100755 | 17 | index XXXXXXX..XXXXXXX 100755 |
12 | index XXXXXXX..XXXXXXX | 18 | --- a/tests/qemu-iotests/226 |
13 | --- /dev/null | 19 | +++ b/tests/qemu-iotests/226 |
14 | +++ b/tests/qemu-iotests/213 | 20 | @@ -XXX,XX +XXX,XX @@ trap "_cleanup; exit \$status" 0 1 2 3 15 |
15 | @@ -XXX,XX +XXX,XX @@ | 21 | |
16 | +#!/bin/bash | 22 | # Generic format, but tests file-protocol specific error handling |
17 | +# | 23 | _supported_fmt generic |
18 | +# Test vhdx and file image creation | 24 | +if [ "$IMGOPTSSYNTAX" = "true" ]; then |
19 | +# | 25 | + _unsupported_fmt $IMGFMT |
20 | +# Copyright (C) 2018 Red Hat, Inc. | 26 | +fi |
21 | +# | 27 | _supported_proto file |
22 | +# This program is free software; you can redistribute it and/or modify | 28 | _supported_os Linux |
23 | +# it under the terms of the GNU General Public License as published by | 29 | |
24 | +# the Free Software Foundation; either version 2 of the License, or | ||
25 | +# (at your option) any later version. | ||
26 | +# | ||
27 | +# This program is distributed in the hope that it will be useful, | ||
28 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
29 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
30 | +# GNU General Public License for more details. | ||
31 | +# | ||
32 | +# You should have received a copy of the GNU General Public License | ||
33 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
34 | +# | ||
35 | + | ||
36 | +# creator | ||
37 | +owner=kwolf@redhat.com | ||
38 | + | ||
39 | +seq=`basename $0` | ||
40 | +echo "QA output created by $seq" | ||
41 | + | ||
42 | +here=`pwd` | ||
43 | +status=1 # failure is the default! | ||
44 | + | ||
45 | +# get standard environment, filters and checks | ||
46 | +. ./common.rc | ||
47 | +. ./common.filter | ||
48 | + | ||
49 | +_supported_fmt vhdx | ||
50 | +_supported_proto file | ||
51 | +_supported_os Linux | ||
52 | + | ||
53 | +function do_run_qemu() | ||
54 | +{ | ||
55 | + echo Testing: "$@" | ||
56 | + $QEMU -nographic -qmp stdio -serial none "$@" | ||
57 | + echo | ||
58 | +} | ||
59 | + | ||
60 | +function run_qemu() | ||
61 | +{ | ||
62 | + do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qmp \ | ||
63 | + | _filter_qemu | _filter_imgfmt \ | ||
64 | + | _filter_actual_image_size | ||
65 | +} | ||
66 | + | ||
67 | +echo | ||
68 | +echo "=== Successful image creation (defaults) ===" | ||
69 | +echo | ||
70 | + | ||
71 | +size=$((128 * 1024 * 1024)) | ||
72 | + | ||
73 | +run_qemu <<EOF | ||
74 | +{ "execute": "qmp_capabilities" } | ||
75 | +{ "execute": "x-blockdev-create", | ||
76 | + "arguments": { | ||
77 | + "driver": "file", | ||
78 | + "filename": "$TEST_IMG", | ||
79 | + "size": 0 | ||
80 | + } | ||
81 | +} | ||
82 | +{ "execute": "blockdev-add", | ||
83 | + "arguments": { | ||
84 | + "driver": "file", | ||
85 | + "node-name": "imgfile", | ||
86 | + "filename": "$TEST_IMG" | ||
87 | + } | ||
88 | +} | ||
89 | +{ "execute": "x-blockdev-create", | ||
90 | + "arguments": { | ||
91 | + "driver": "$IMGFMT", | ||
92 | + "file": "imgfile", | ||
93 | + "size": $size | ||
94 | + } | ||
95 | +} | ||
96 | +{ "execute": "quit" } | ||
97 | +EOF | ||
98 | + | ||
99 | +_img_info --format-specific | _filter_img_info --format-specific | ||
100 | + | ||
101 | +echo | ||
102 | +echo "=== Successful image creation (explicit defaults) ===" | ||
103 | +echo | ||
104 | + | ||
105 | +# Choose a different size to show that we got a new image | ||
106 | +size=$((64 * 1024 * 1024)) | ||
107 | + | ||
108 | +run_qemu <<EOF | ||
109 | +{ "execute": "qmp_capabilities" } | ||
110 | +{ "execute": "x-blockdev-create", | ||
111 | + "arguments": { | ||
112 | + "driver": "file", | ||
113 | + "filename": "$TEST_IMG", | ||
114 | + "size": 0 | ||
115 | + } | ||
116 | +} | ||
117 | +{ "execute": "x-blockdev-create", | ||
118 | + "arguments": { | ||
119 | + "driver": "$IMGFMT", | ||
120 | + "file": { | ||
121 | + "driver": "file", | ||
122 | + "filename": "$TEST_IMG" | ||
123 | + }, | ||
124 | + "size": $size, | ||
125 | + "log-size": 1048576, | ||
126 | + "block-size": 8388608, | ||
127 | + "subformat": "dynamic", | ||
128 | + "block-state-zero": true | ||
129 | + } | ||
130 | +} | ||
131 | +{ "execute": "quit" } | ||
132 | +EOF | ||
133 | + | ||
134 | +_img_info --format-specific | _filter_img_info --format-specific | ||
135 | + | ||
136 | +echo | ||
137 | +echo "=== Successful image creation (with non-default options) ===" | ||
138 | +echo | ||
139 | + | ||
140 | +# Choose a different size to show that we got a new image | ||
141 | +size=$((32 * 1024 * 1024)) | ||
142 | + | ||
143 | +run_qemu <<EOF | ||
144 | +{ "execute": "qmp_capabilities" } | ||
145 | +{ "execute": "x-blockdev-create", | ||
146 | + "arguments": { | ||
147 | + "driver": "file", | ||
148 | + "filename": "$TEST_IMG", | ||
149 | + "size": 0 | ||
150 | + } | ||
151 | +} | ||
152 | +{ "execute": "x-blockdev-create", | ||
153 | + "arguments": { | ||
154 | + "driver": "$IMGFMT", | ||
155 | + "file": { | ||
156 | + "driver": "file", | ||
157 | + "filename": "$TEST_IMG" | ||
158 | + }, | ||
159 | + "size": $size, | ||
160 | + "log-size": 8388608, | ||
161 | + "block-size": 268435456, | ||
162 | + "subformat": "fixed", | ||
163 | + "block-state-zero": false | ||
164 | + } | ||
165 | +} | ||
166 | +{ "execute": "quit" } | ||
167 | +EOF | ||
168 | + | ||
169 | +_img_info --format-specific | _filter_img_info --format-specific | ||
170 | + | ||
171 | +echo | ||
172 | +echo "=== Invalid BlockdevRef ===" | ||
173 | +echo | ||
174 | + | ||
175 | +run_qemu <<EOF | ||
176 | +{ "execute": "qmp_capabilities" } | ||
177 | +{ "execute": "x-blockdev-create", | ||
178 | + "arguments": { | ||
179 | + "driver": "$IMGFMT", | ||
180 | + "file": "this doesn't exist", | ||
181 | + "size": $size | ||
182 | + } | ||
183 | +} | ||
184 | +{ "execute": "quit" } | ||
185 | +EOF | ||
186 | + | ||
187 | +echo | ||
188 | +echo "=== Zero size ===" | ||
189 | +echo | ||
190 | + | ||
191 | +run_qemu -blockdev driver=file,filename="$TEST_IMG",node-name=node0 <<EOF | ||
192 | +{ "execute": "qmp_capabilities" } | ||
193 | +{ "execute": "x-blockdev-create", | ||
194 | + "arguments": { | ||
195 | + "driver": "$IMGFMT", | ||
196 | + "file": "node0", | ||
197 | + "size": 0 | ||
198 | + } | ||
199 | +} | ||
200 | +{ "execute": "quit" } | ||
201 | +EOF | ||
202 | + | ||
203 | +_img_info | _filter_img_info | ||
204 | + | ||
205 | +echo | ||
206 | +echo "=== Maximum size ===" | ||
207 | +echo | ||
208 | + | ||
209 | +run_qemu -blockdev driver=file,filename="$TEST_IMG",node-name=node0 <<EOF | ||
210 | +{ "execute": "qmp_capabilities" } | ||
211 | +{ "execute": "x-blockdev-create", | ||
212 | + "arguments": { | ||
213 | + "driver": "$IMGFMT", | ||
214 | + "file": "node0", | ||
215 | + "size": 70368744177664 | ||
216 | + } | ||
217 | +} | ||
218 | +{ "execute": "quit" } | ||
219 | +EOF | ||
220 | + | ||
221 | +_img_info | _filter_img_info | ||
222 | + | ||
223 | +echo | ||
224 | +echo "=== Invalid sizes ===" | ||
225 | +echo | ||
226 | + | ||
227 | +# TODO Negative image sizes aren't handled correctly, but this is a problem | ||
228 | +# with QAPI's implementation of the 'size' type and affects other commands as | ||
229 | +# well. Once this is fixed, we may want to add a test case here. | ||
230 | + | ||
231 | +# 1. 2^64 - 512 | ||
232 | +# 2. 2^63 = 8 EB (qemu-img enforces image sizes less than this) | ||
233 | +# 3. 2^63 - 512 (generally valid, but with the image header the file will | ||
234 | +# exceed 63 bits) | ||
235 | +# 4. 2^46 + 1 (one byte more than maximum image size) | ||
236 | + | ||
237 | +run_qemu -blockdev driver=file,filename="$TEST_IMG",node-name=node0 <<EOF | ||
238 | +{ "execute": "qmp_capabilities" } | ||
239 | +{ "execute": "x-blockdev-create", | ||
240 | + "arguments": { | ||
241 | + "driver": "$IMGFMT", | ||
242 | + "file": "node0", | ||
243 | + "size": 18446744073709551104 | ||
244 | + } | ||
245 | +} | ||
246 | +{ "execute": "x-blockdev-create", | ||
247 | + "arguments": { | ||
248 | + "driver": "$IMGFMT", | ||
249 | + "file": "node0", | ||
250 | + "size": 9223372036854775808 | ||
251 | + } | ||
252 | +} | ||
253 | +{ "execute": "x-blockdev-create", | ||
254 | + "arguments": { | ||
255 | + "driver": "$IMGFMT", | ||
256 | + "file": "node0", | ||
257 | + "size": 9223372036854775296 | ||
258 | + } | ||
259 | +} | ||
260 | +{ "execute": "x-blockdev-create", | ||
261 | + "arguments": { | ||
262 | + "driver": "$IMGFMT", | ||
263 | + "file": "node0", | ||
264 | + "size": 70368744177665 | ||
265 | + } | ||
266 | +} | ||
267 | +{ "execute": "quit" } | ||
268 | +EOF | ||
269 | + | ||
270 | +echo | ||
271 | +echo "=== Invalid block size ===" | ||
272 | +echo | ||
273 | + | ||
274 | +run_qemu -blockdev driver=file,filename="$TEST_IMG",node-name=node0 <<EOF | ||
275 | +{ "execute": "qmp_capabilities" } | ||
276 | +{ "execute": "x-blockdev-create", | ||
277 | + "arguments": { | ||
278 | + "driver": "$IMGFMT", | ||
279 | + "file": "node0", | ||
280 | + "size": 67108864, | ||
281 | + "block-size": 1234567 | ||
282 | + } | ||
283 | +} | ||
284 | +{ "execute": "x-blockdev-create", | ||
285 | + "arguments": { | ||
286 | + "driver": "$IMGFMT", | ||
287 | + "file": "node0", | ||
288 | + "size": 67108864, | ||
289 | + "block-size": 128 | ||
290 | + } | ||
291 | +} | ||
292 | +{ "execute": "x-blockdev-create", | ||
293 | + "arguments": { | ||
294 | + "driver": "$IMGFMT", | ||
295 | + "file": "node0", | ||
296 | + "size": 67108864, | ||
297 | + "block-size": 3145728 | ||
298 | + } | ||
299 | +} | ||
300 | +{ "execute": "x-blockdev-create", | ||
301 | + "arguments": { | ||
302 | + "driver": "$IMGFMT", | ||
303 | + "file": "node0", | ||
304 | + "size": 67108864, | ||
305 | + "block-size": 536870912 | ||
306 | + } | ||
307 | +} | ||
308 | +{ "execute": "x-blockdev-create", | ||
309 | + "arguments": { | ||
310 | + "driver": "$IMGFMT", | ||
311 | + "file": "node0", | ||
312 | + "size": 67108864, | ||
313 | + "block-size": 0 | ||
314 | + } | ||
315 | +} | ||
316 | +{ "execute": "quit" } | ||
317 | +EOF | ||
318 | + | ||
319 | +echo | ||
320 | +echo "=== Invalid log size ===" | ||
321 | +echo | ||
322 | + | ||
323 | +run_qemu -blockdev driver=file,filename="$TEST_IMG",node-name=node0 <<EOF | ||
324 | +{ "execute": "qmp_capabilities" } | ||
325 | +{ "execute": "x-blockdev-create", | ||
326 | + "arguments": { | ||
327 | + "driver": "$IMGFMT", | ||
328 | + "file": "node0", | ||
329 | + "size": 67108864, | ||
330 | + "log-size": 1234567 | ||
331 | + } | ||
332 | +} | ||
333 | +{ "execute": "x-blockdev-create", | ||
334 | + "arguments": { | ||
335 | + "driver": "$IMGFMT", | ||
336 | + "file": "node0", | ||
337 | + "size": 67108864, | ||
338 | + "log-size": 128 | ||
339 | + } | ||
340 | +} | ||
341 | +{ "execute": "x-blockdev-create", | ||
342 | + "arguments": { | ||
343 | + "driver": "$IMGFMT", | ||
344 | + "file": "node0", | ||
345 | + "size": 67108864, | ||
346 | + "log-size": 4294967296 | ||
347 | + } | ||
348 | +} | ||
349 | +{ "execute": "x-blockdev-create", | ||
350 | + "arguments": { | ||
351 | + "driver": "$IMGFMT", | ||
352 | + "file": "node0", | ||
353 | + "size": 67108864, | ||
354 | + "log-size": 0 | ||
355 | + } | ||
356 | +} | ||
357 | +{ "execute": "quit" } | ||
358 | +EOF | ||
359 | + | ||
360 | + | ||
361 | +# success, all done | ||
362 | +echo "*** done" | ||
363 | +rm -f $seq.full | ||
364 | +status=0 | ||
365 | diff --git a/tests/qemu-iotests/213.out b/tests/qemu-iotests/213.out | ||
366 | new file mode 100644 | ||
367 | index XXXXXXX..XXXXXXX | ||
368 | --- /dev/null | ||
369 | +++ b/tests/qemu-iotests/213.out | ||
370 | @@ -XXX,XX +XXX,XX @@ | ||
371 | +QA output created by 213 | ||
372 | + | ||
373 | +=== Successful image creation (defaults) === | ||
374 | + | ||
375 | +Testing: | ||
376 | +QMP_VERSION | ||
377 | +{"return": {}} | ||
378 | +{"return": {}} | ||
379 | +{"return": {}} | ||
380 | +{"return": {}} | ||
381 | +{"return": {}} | ||
382 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
383 | + | ||
384 | +image: TEST_DIR/t.IMGFMT | ||
385 | +file format: IMGFMT | ||
386 | +virtual size: 128M (134217728 bytes) | ||
387 | + | ||
388 | +=== Successful image creation (explicit defaults) === | ||
389 | + | ||
390 | +Testing: | ||
391 | +QMP_VERSION | ||
392 | +{"return": {}} | ||
393 | +{"return": {}} | ||
394 | +{"return": {}} | ||
395 | +{"return": {}} | ||
396 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
397 | + | ||
398 | +image: TEST_DIR/t.IMGFMT | ||
399 | +file format: IMGFMT | ||
400 | +virtual size: 64M (67108864 bytes) | ||
401 | + | ||
402 | +=== Successful image creation (with non-default options) === | ||
403 | + | ||
404 | +Testing: | ||
405 | +QMP_VERSION | ||
406 | +{"return": {}} | ||
407 | +{"return": {}} | ||
408 | +{"return": {}} | ||
409 | +{"return": {}} | ||
410 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
411 | + | ||
412 | +image: TEST_DIR/t.IMGFMT | ||
413 | +file format: IMGFMT | ||
414 | +virtual size: 32M (33554432 bytes) | ||
415 | + | ||
416 | +=== Invalid BlockdevRef === | ||
417 | + | ||
418 | +Testing: | ||
419 | +QMP_VERSION | ||
420 | +{"return": {}} | ||
421 | +{"error": {"class": "GenericError", "desc": "Cannot find device=this doesn't exist nor node_name=this doesn't exist"}} | ||
422 | +{"return": {}} | ||
423 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
424 | + | ||
425 | + | ||
426 | +=== Zero size === | ||
427 | + | ||
428 | +Testing: -blockdev driver=file,filename=TEST_DIR/t.IMGFMT,node-name=node0 | ||
429 | +QMP_VERSION | ||
430 | +{"return": {}} | ||
431 | +{"return": {}} | ||
432 | +{"return": {}} | ||
433 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
434 | + | ||
435 | +image: TEST_DIR/t.IMGFMT | ||
436 | +file format: IMGFMT | ||
437 | +virtual size: 0 (0 bytes) | ||
438 | + | ||
439 | +=== Maximum size === | ||
440 | + | ||
441 | +Testing: -blockdev driver=file,filename=TEST_DIR/t.IMGFMT,node-name=node0 | ||
442 | +QMP_VERSION | ||
443 | +{"return": {}} | ||
444 | +{"return": {}} | ||
445 | +{"return": {}} | ||
446 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
447 | + | ||
448 | +image: TEST_DIR/t.IMGFMT | ||
449 | +file format: IMGFMT | ||
450 | +virtual size: 64T (70368744177664 bytes) | ||
451 | + | ||
452 | +=== Invalid sizes === | ||
453 | + | ||
454 | +Testing: -blockdev driver=file,filename=TEST_DIR/t.IMGFMT,node-name=node0 | ||
455 | +QMP_VERSION | ||
456 | +{"return": {}} | ||
457 | +{"error": {"class": "GenericError", "desc": "Image size too large; max of 64TB"}} | ||
458 | +{"error": {"class": "GenericError", "desc": "Image size too large; max of 64TB"}} | ||
459 | +{"error": {"class": "GenericError", "desc": "Image size too large; max of 64TB"}} | ||
460 | +{"error": {"class": "GenericError", "desc": "Image size too large; max of 64TB"}} | ||
461 | +{"return": {}} | ||
462 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
463 | + | ||
464 | + | ||
465 | +=== Invalid block size === | ||
466 | + | ||
467 | +Testing: -blockdev driver=file,filename=TEST_DIR/t.IMGFMT,node-name=node0 | ||
468 | +QMP_VERSION | ||
469 | +{"return": {}} | ||
470 | +{"error": {"class": "GenericError", "desc": "Block size must be a multiple of 1 MB"}} | ||
471 | +{"error": {"class": "GenericError", "desc": "Block size must be a multiple of 1 MB"}} | ||
472 | +{"error": {"class": "GenericError", "desc": "Block size must be a power of two"}} | ||
473 | +{"error": {"class": "GenericError", "desc": "Block size must not exceed 268435456"}} | ||
474 | +{"error": {"class": "GenericError", "desc": "Block size must be a multiple of 1 MB"}} | ||
475 | +{"return": {}} | ||
476 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
477 | + | ||
478 | + | ||
479 | +=== Invalid log size === | ||
480 | + | ||
481 | +Testing: -blockdev driver=file,filename=TEST_DIR/t.IMGFMT,node-name=node0 | ||
482 | +QMP_VERSION | ||
483 | +{"return": {}} | ||
484 | +{"error": {"class": "GenericError", "desc": "Log size must be a multiple of 1 MB"}} | ||
485 | +{"error": {"class": "GenericError", "desc": "Log size must be a multiple of 1 MB"}} | ||
486 | +{"error": {"class": "GenericError", "desc": "Log size must be smaller than 4 GB"}} | ||
487 | +{"error": {"class": "GenericError", "desc": "Log size must be a multiple of 1 MB"}} | ||
488 | +{"return": {}} | ||
489 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
490 | + | ||
491 | +*** done | ||
492 | diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group | ||
493 | index XXXXXXX..XXXXXXX 100644 | ||
494 | --- a/tests/qemu-iotests/group | ||
495 | +++ b/tests/qemu-iotests/group | ||
496 | @@ -XXX,XX +XXX,XX @@ | ||
497 | 210 rw auto | ||
498 | 211 rw auto quick | ||
499 | 212 rw auto quick | ||
500 | +213 rw auto quick | ||
501 | -- | 30 | -- |
502 | 2.13.6 | 31 | 2.13.6 |
503 | 32 | ||
504 | 33 | diff view generated by jsdifflib |
1 | From: Fabiano Rosas <farosas@linux.vnet.ibm.com> | 1 | From: Max Reitz <mreitz@redhat.com> |
---|---|---|---|
2 | 2 | ||
3 | The throttle driver is not a protocol so it should implement bdrv_open | 3 | The test directory should be filtered before the image format, otherwise |
4 | instead of bdrv_file_open and not provide a protocol_name. | 4 | the test will fail if the image format is part of the test directory, |
5 | like so: | ||
5 | 6 | ||
6 | Attempts to invoke this driver using protocol syntax | 7 | [...] |
7 | (i.e. throttle:<filename:options:...>) will now fail gracefully: | 8 | -can't open: Could not open 'TEST_DIR/t.IMGFMT': Is a directory |
9 | +can't open: Could not open '/tmp/test-IMGFMT/t.IMGFMT': Is a directory | ||
10 | [...] | ||
8 | 11 | ||
9 | $ qemu-img info throttle:foo | 12 | Signed-off-by: Max Reitz <mreitz@redhat.com> |
10 | qemu-img: Could not open 'throttle:foo': Unknown protocol 'throttle' | 13 | Reviewed-by: John Snow <jsnow@redhat.com> |
11 | |||
12 | Signed-off-by: Fabiano Rosas <farosas@linux.vnet.ibm.com> | ||
13 | Reviewed-by: Max Reitz <mreitz@redhat.com> | ||
14 | Reviewed-by: Alberto Garcia <berto@igalia.com> | ||
15 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | 14 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> |
16 | --- | 15 | --- |
17 | block/throttle.c | 3 +-- | 16 | tests/qemu-iotests/226 | 4 ++-- |
18 | 1 file changed, 1 insertion(+), 2 deletions(-) | 17 | 1 file changed, 2 insertions(+), 2 deletions(-) |
19 | 18 | ||
20 | diff --git a/block/throttle.c b/block/throttle.c | 19 | diff --git a/tests/qemu-iotests/226 b/tests/qemu-iotests/226 |
21 | index XXXXXXX..XXXXXXX 100644 | 20 | index XXXXXXX..XXXXXXX 100755 |
22 | --- a/block/throttle.c | 21 | --- a/tests/qemu-iotests/226 |
23 | +++ b/block/throttle.c | 22 | +++ b/tests/qemu-iotests/226 |
24 | @@ -XXX,XX +XXX,XX @@ static void coroutine_fn throttle_co_drain_end(BlockDriverState *bs) | 23 | @@ -XXX,XX +XXX,XX @@ for PROTO in "file" "host_device" "host_cdrom"; do |
25 | 24 | echo "=== Testing with driver:$PROTO ===" | |
26 | static BlockDriver bdrv_throttle = { | 25 | echo |
27 | .format_name = "throttle", | 26 | echo "== Testing RO ==" |
28 | - .protocol_name = "throttle", | 27 | - $QEMU_IO -c "open -r -o driver=$PROTO,filename=$TEST_IMG" 2>&1 | _filter_imgfmt | _filter_testdir |
29 | .instance_size = sizeof(ThrottleGroupMember), | 28 | + $QEMU_IO -c "open -r -o driver=$PROTO,filename=$TEST_IMG" 2>&1 | _filter_testdir | _filter_imgfmt |
30 | 29 | $QEMU_IO -c "open -r -o driver=$PROTO,filename=/dev/null" 2>&1 | _filter_imgfmt | |
31 | - .bdrv_file_open = throttle_open, | 30 | echo "== Testing RW ==" |
32 | + .bdrv_open = throttle_open, | 31 | - $QEMU_IO -c "open -o driver=$PROTO,filename=$TEST_IMG" 2>&1 | _filter_imgfmt | _filter_testdir |
33 | .bdrv_close = throttle_close, | 32 | + $QEMU_IO -c "open -o driver=$PROTO,filename=$TEST_IMG" 2>&1 | _filter_testdir | _filter_imgfmt |
34 | .bdrv_co_flush = throttle_co_flush, | 33 | $QEMU_IO -c "open -o driver=$PROTO,filename=/dev/null" 2>&1 | _filter_imgfmt |
34 | done | ||
35 | 35 | ||
36 | -- | 36 | -- |
37 | 2.13.6 | 37 | 2.13.6 |
38 | 38 | ||
39 | 39 | diff view generated by jsdifflib |
1 | From: Max Reitz <mreitz@redhat.com> | ||
---|---|---|---|
2 | |||
3 | 223 tests persistent dirty bitmaps which are not supported in | ||
4 | compat=0.10, so that option is unsupported for this test. | ||
5 | |||
6 | Signed-off-by: Max Reitz <mreitz@redhat.com> | ||
7 | Tested-by: John Snow <jsnow@redhat.com> | ||
8 | Reviewed-by: John Snow <jsnow@redhat.com> | ||
1 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | 9 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> |
2 | --- | 10 | --- |
3 | tests/qemu-iotests/212 | 326 +++++++++++++++++++++++++++++++++++++++++++++ | 11 | tests/qemu-iotests/223 | 2 ++ |
4 | tests/qemu-iotests/212.out | 111 +++++++++++++++ | 12 | 1 file changed, 2 insertions(+) |
5 | tests/qemu-iotests/group | 1 + | ||
6 | 3 files changed, 438 insertions(+) | ||
7 | create mode 100755 tests/qemu-iotests/212 | ||
8 | create mode 100644 tests/qemu-iotests/212.out | ||
9 | 13 | ||
10 | diff --git a/tests/qemu-iotests/212 b/tests/qemu-iotests/212 | 14 | diff --git a/tests/qemu-iotests/223 b/tests/qemu-iotests/223 |
11 | new file mode 100755 | 15 | index XXXXXXX..XXXXXXX 100755 |
12 | index XXXXXXX..XXXXXXX | 16 | --- a/tests/qemu-iotests/223 |
13 | --- /dev/null | 17 | +++ b/tests/qemu-iotests/223 |
14 | +++ b/tests/qemu-iotests/212 | 18 | @@ -XXX,XX +XXX,XX @@ trap "_cleanup; exit \$status" 0 1 2 3 15 |
15 | @@ -XXX,XX +XXX,XX @@ | 19 | _supported_fmt qcow2 |
16 | +#!/bin/bash | 20 | _supported_proto file # uses NBD as well |
17 | +# | 21 | _supported_os Linux |
18 | +# Test parallels and file image creation | 22 | +# Persistent dirty bitmaps require compat=1.1 |
19 | +# | 23 | +_unsupported_imgopts 'compat=0.10' |
20 | +# Copyright (C) 2018 Red Hat, Inc. | 24 | |
21 | +# | 25 | function do_run_qemu() |
22 | +# This program is free software; you can redistribute it and/or modify | 26 | { |
23 | +# it under the terms of the GNU General Public License as published by | ||
24 | +# the Free Software Foundation; either version 2 of the License, or | ||
25 | +# (at your option) any later version. | ||
26 | +# | ||
27 | +# This program is distributed in the hope that it will be useful, | ||
28 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
29 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
30 | +# GNU General Public License for more details. | ||
31 | +# | ||
32 | +# You should have received a copy of the GNU General Public License | ||
33 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
34 | +# | ||
35 | + | ||
36 | +# creator | ||
37 | +owner=kwolf@redhat.com | ||
38 | + | ||
39 | +seq=`basename $0` | ||
40 | +echo "QA output created by $seq" | ||
41 | + | ||
42 | +here=`pwd` | ||
43 | +status=1 # failure is the default! | ||
44 | + | ||
45 | +# get standard environment, filters and checks | ||
46 | +. ./common.rc | ||
47 | +. ./common.filter | ||
48 | + | ||
49 | +_supported_fmt parallels | ||
50 | +_supported_proto file | ||
51 | +_supported_os Linux | ||
52 | + | ||
53 | +function do_run_qemu() | ||
54 | +{ | ||
55 | + echo Testing: "$@" | ||
56 | + $QEMU -nographic -qmp stdio -serial none "$@" | ||
57 | + echo | ||
58 | +} | ||
59 | + | ||
60 | +function run_qemu() | ||
61 | +{ | ||
62 | + do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qmp \ | ||
63 | + | _filter_qemu | _filter_imgfmt \ | ||
64 | + | _filter_actual_image_size | ||
65 | +} | ||
66 | + | ||
67 | +echo | ||
68 | +echo "=== Successful image creation (defaults) ===" | ||
69 | +echo | ||
70 | + | ||
71 | +size=$((128 * 1024 * 1024)) | ||
72 | + | ||
73 | +run_qemu <<EOF | ||
74 | +{ "execute": "qmp_capabilities" } | ||
75 | +{ "execute": "x-blockdev-create", | ||
76 | + "arguments": { | ||
77 | + "driver": "file", | ||
78 | + "filename": "$TEST_IMG", | ||
79 | + "size": 0 | ||
80 | + } | ||
81 | +} | ||
82 | +{ "execute": "blockdev-add", | ||
83 | + "arguments": { | ||
84 | + "driver": "file", | ||
85 | + "node-name": "imgfile", | ||
86 | + "filename": "$TEST_IMG" | ||
87 | + } | ||
88 | +} | ||
89 | +{ "execute": "x-blockdev-create", | ||
90 | + "arguments": { | ||
91 | + "driver": "$IMGFMT", | ||
92 | + "file": "imgfile", | ||
93 | + "size": $size | ||
94 | + } | ||
95 | +} | ||
96 | +{ "execute": "quit" } | ||
97 | +EOF | ||
98 | + | ||
99 | +_img_info --format-specific | _filter_img_info --format-specific | ||
100 | + | ||
101 | +echo | ||
102 | +echo "=== Successful image creation (explicit defaults) ===" | ||
103 | +echo | ||
104 | + | ||
105 | +# Choose a different size to show that we got a new image | ||
106 | +size=$((64 * 1024 * 1024)) | ||
107 | + | ||
108 | +run_qemu <<EOF | ||
109 | +{ "execute": "qmp_capabilities" } | ||
110 | +{ "execute": "x-blockdev-create", | ||
111 | + "arguments": { | ||
112 | + "driver": "file", | ||
113 | + "filename": "$TEST_IMG", | ||
114 | + "size": 0 | ||
115 | + } | ||
116 | +} | ||
117 | +{ "execute": "x-blockdev-create", | ||
118 | + "arguments": { | ||
119 | + "driver": "$IMGFMT", | ||
120 | + "file": { | ||
121 | + "driver": "file", | ||
122 | + "filename": "$TEST_IMG" | ||
123 | + }, | ||
124 | + "size": $size, | ||
125 | + "cluster-size": 1048576 | ||
126 | + } | ||
127 | +} | ||
128 | +{ "execute": "quit" } | ||
129 | +EOF | ||
130 | + | ||
131 | +_img_info --format-specific | _filter_img_info --format-specific | ||
132 | + | ||
133 | +echo | ||
134 | +echo "=== Successful image creation (with non-default options) ===" | ||
135 | +echo | ||
136 | + | ||
137 | +# Choose a different size to show that we got a new image | ||
138 | +size=$((32 * 1024 * 1024)) | ||
139 | + | ||
140 | +run_qemu <<EOF | ||
141 | +{ "execute": "qmp_capabilities" } | ||
142 | +{ "execute": "x-blockdev-create", | ||
143 | + "arguments": { | ||
144 | + "driver": "file", | ||
145 | + "filename": "$TEST_IMG", | ||
146 | + "size": 0 | ||
147 | + } | ||
148 | +} | ||
149 | +{ "execute": "x-blockdev-create", | ||
150 | + "arguments": { | ||
151 | + "driver": "$IMGFMT", | ||
152 | + "file": { | ||
153 | + "driver": "file", | ||
154 | + "filename": "$TEST_IMG" | ||
155 | + }, | ||
156 | + "size": $size, | ||
157 | + "cluster-size": 65536 | ||
158 | + } | ||
159 | +} | ||
160 | +{ "execute": "quit" } | ||
161 | +EOF | ||
162 | + | ||
163 | +_img_info --format-specific | _filter_img_info --format-specific | ||
164 | + | ||
165 | +echo | ||
166 | +echo "=== Invalid BlockdevRef ===" | ||
167 | +echo | ||
168 | + | ||
169 | +run_qemu <<EOF | ||
170 | +{ "execute": "qmp_capabilities" } | ||
171 | +{ "execute": "x-blockdev-create", | ||
172 | + "arguments": { | ||
173 | + "driver": "$IMGFMT", | ||
174 | + "file": "this doesn't exist", | ||
175 | + "size": $size | ||
176 | + } | ||
177 | +} | ||
178 | +{ "execute": "quit" } | ||
179 | +EOF | ||
180 | + | ||
181 | +echo | ||
182 | +echo "=== Zero size ===" | ||
183 | +echo | ||
184 | + | ||
185 | +run_qemu -blockdev driver=file,filename="$TEST_IMG",node-name=node0 <<EOF | ||
186 | +{ "execute": "qmp_capabilities" } | ||
187 | +{ "execute": "x-blockdev-create", | ||
188 | + "arguments": { | ||
189 | + "driver": "$IMGFMT", | ||
190 | + "file": "node0", | ||
191 | + "size": 0 | ||
192 | + } | ||
193 | +} | ||
194 | +{ "execute": "quit" } | ||
195 | +EOF | ||
196 | + | ||
197 | +_img_info | _filter_img_info | ||
198 | + | ||
199 | +echo | ||
200 | +echo "=== Maximum size ===" | ||
201 | +echo | ||
202 | + | ||
203 | +run_qemu -blockdev driver=file,filename="$TEST_IMG",node-name=node0 <<EOF | ||
204 | +{ "execute": "qmp_capabilities" } | ||
205 | +{ "execute": "x-blockdev-create", | ||
206 | + "arguments": { | ||
207 | + "driver": "$IMGFMT", | ||
208 | + "file": "node0", | ||
209 | + "size": 4503599627369984 | ||
210 | + } | ||
211 | +} | ||
212 | +{ "execute": "quit" } | ||
213 | +EOF | ||
214 | + | ||
215 | +_img_info | _filter_img_info | ||
216 | + | ||
217 | +echo | ||
218 | +echo "=== Invalid sizes ===" | ||
219 | +echo | ||
220 | + | ||
221 | +# TODO Negative image sizes aren't handled correctly, but this is a problem | ||
222 | +# with QAPI's implementation of the 'size' type and affects other commands as | ||
223 | +# well. Once this is fixed, we may want to add a test case here. | ||
224 | + | ||
225 | +# 1. Misaligned image size | ||
226 | +# 2. 2^64 - 512 | ||
227 | +# 3. 2^63 = 8 EB (qemu-img enforces image sizes less than this) | ||
228 | +# 4. 2^63 - 512 (generally valid, but with the image header the file will | ||
229 | +# exceed 63 bits) | ||
230 | +# 5. 2^52 (512 bytes more than maximum image size) | ||
231 | + | ||
232 | +run_qemu -blockdev driver=file,filename="$TEST_IMG",node-name=node0 <<EOF | ||
233 | +{ "execute": "qmp_capabilities" } | ||
234 | +{ "execute": "x-blockdev-create", | ||
235 | + "arguments": { | ||
236 | + "driver": "$IMGFMT", | ||
237 | + "file": "node0", | ||
238 | + "size": 1234 | ||
239 | + } | ||
240 | +} | ||
241 | +{ "execute": "x-blockdev-create", | ||
242 | + "arguments": { | ||
243 | + "driver": "$IMGFMT", | ||
244 | + "file": "node0", | ||
245 | + "size": 18446744073709551104 | ||
246 | + } | ||
247 | +} | ||
248 | +{ "execute": "x-blockdev-create", | ||
249 | + "arguments": { | ||
250 | + "driver": "$IMGFMT", | ||
251 | + "file": "node0", | ||
252 | + "size": 9223372036854775808 | ||
253 | + } | ||
254 | +} | ||
255 | +{ "execute": "x-blockdev-create", | ||
256 | + "arguments": { | ||
257 | + "driver": "$IMGFMT", | ||
258 | + "file": "node0", | ||
259 | + "size": 9223372036854775296 | ||
260 | + } | ||
261 | +} | ||
262 | +{ "execute": "x-blockdev-create", | ||
263 | + "arguments": { | ||
264 | + "driver": "$IMGFMT", | ||
265 | + "file": "node0", | ||
266 | + "size": 4503599627370497 | ||
267 | + } | ||
268 | +} | ||
269 | +{ "execute": "quit" } | ||
270 | +EOF | ||
271 | + | ||
272 | +echo | ||
273 | +echo "=== Invalid cluster size ===" | ||
274 | +echo | ||
275 | + | ||
276 | +run_qemu -blockdev driver=file,filename="$TEST_IMG",node-name=node0 <<EOF | ||
277 | +{ "execute": "qmp_capabilities" } | ||
278 | +{ "execute": "x-blockdev-create", | ||
279 | + "arguments": { | ||
280 | + "driver": "$IMGFMT", | ||
281 | + "file": "node0", | ||
282 | + "size": 67108864, | ||
283 | + "cluster-size": 1234 | ||
284 | + } | ||
285 | +} | ||
286 | +{ "execute": "x-blockdev-create", | ||
287 | + "arguments": { | ||
288 | + "driver": "$IMGFMT", | ||
289 | + "file": "node0", | ||
290 | + "size": 67108864, | ||
291 | + "cluster-size": 128 | ||
292 | + } | ||
293 | +} | ||
294 | +{ "execute": "x-blockdev-create", | ||
295 | + "arguments": { | ||
296 | + "driver": "$IMGFMT", | ||
297 | + "file": "node0", | ||
298 | + "size": 67108864, | ||
299 | + "cluster-size": 4294967296 | ||
300 | + } | ||
301 | +} | ||
302 | +{ "execute": "x-blockdev-create", | ||
303 | + "arguments": { | ||
304 | + "driver": "$IMGFMT", | ||
305 | + "file": "node0", | ||
306 | + "size": 67108864, | ||
307 | + "cluster-size": 9223372036854775808 | ||
308 | + } | ||
309 | +} | ||
310 | +{ "execute": "x-blockdev-create", | ||
311 | + "arguments": { | ||
312 | + "driver": "$IMGFMT", | ||
313 | + "file": "node0", | ||
314 | + "size": 67108864, | ||
315 | + "cluster-size": 18446744073709551104 | ||
316 | + } | ||
317 | +} | ||
318 | +{ "execute": "x-blockdev-create", | ||
319 | + "arguments": { | ||
320 | + "driver": "$IMGFMT", | ||
321 | + "file": "node0", | ||
322 | + "size": 67108864, | ||
323 | + "cluster-size": 0 | ||
324 | + } | ||
325 | +} | ||
326 | +{ "execute": "x-blockdev-create", | ||
327 | + "arguments": { | ||
328 | + "driver": "$IMGFMT", | ||
329 | + "file": "node0", | ||
330 | + "size": 281474976710656, | ||
331 | + "cluster-size": 512 | ||
332 | + } | ||
333 | +} | ||
334 | +{ "execute": "quit" } | ||
335 | +EOF | ||
336 | + | ||
337 | + | ||
338 | +# success, all done | ||
339 | +echo "*** done" | ||
340 | +rm -f $seq.full | ||
341 | +status=0 | ||
342 | diff --git a/tests/qemu-iotests/212.out b/tests/qemu-iotests/212.out | ||
343 | new file mode 100644 | ||
344 | index XXXXXXX..XXXXXXX | ||
345 | --- /dev/null | ||
346 | +++ b/tests/qemu-iotests/212.out | ||
347 | @@ -XXX,XX +XXX,XX @@ | ||
348 | +QA output created by 212 | ||
349 | + | ||
350 | +=== Successful image creation (defaults) === | ||
351 | + | ||
352 | +Testing: | ||
353 | +QMP_VERSION | ||
354 | +{"return": {}} | ||
355 | +{"return": {}} | ||
356 | +{"return": {}} | ||
357 | +{"return": {}} | ||
358 | +{"return": {}} | ||
359 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
360 | + | ||
361 | +image: TEST_DIR/t.IMGFMT | ||
362 | +file format: IMGFMT | ||
363 | +virtual size: 128M (134217728 bytes) | ||
364 | + | ||
365 | +=== Successful image creation (explicit defaults) === | ||
366 | + | ||
367 | +Testing: | ||
368 | +QMP_VERSION | ||
369 | +{"return": {}} | ||
370 | +{"return": {}} | ||
371 | +{"return": {}} | ||
372 | +{"return": {}} | ||
373 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
374 | + | ||
375 | +image: TEST_DIR/t.IMGFMT | ||
376 | +file format: IMGFMT | ||
377 | +virtual size: 64M (67108864 bytes) | ||
378 | + | ||
379 | +=== Successful image creation (with non-default options) === | ||
380 | + | ||
381 | +Testing: | ||
382 | +QMP_VERSION | ||
383 | +{"return": {}} | ||
384 | +{"return": {}} | ||
385 | +{"return": {}} | ||
386 | +{"return": {}} | ||
387 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
388 | + | ||
389 | +image: TEST_DIR/t.IMGFMT | ||
390 | +file format: IMGFMT | ||
391 | +virtual size: 32M (33554432 bytes) | ||
392 | + | ||
393 | +=== Invalid BlockdevRef === | ||
394 | + | ||
395 | +Testing: | ||
396 | +QMP_VERSION | ||
397 | +{"return": {}} | ||
398 | +{"error": {"class": "GenericError", "desc": "Cannot find device=this doesn't exist nor node_name=this doesn't exist"}} | ||
399 | +{"return": {}} | ||
400 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
401 | + | ||
402 | + | ||
403 | +=== Zero size === | ||
404 | + | ||
405 | +Testing: -blockdev driver=file,filename=TEST_DIR/t.IMGFMT,node-name=node0 | ||
406 | +QMP_VERSION | ||
407 | +{"return": {}} | ||
408 | +{"return": {}} | ||
409 | +{"return": {}} | ||
410 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
411 | + | ||
412 | +image: TEST_DIR/t.IMGFMT | ||
413 | +file format: IMGFMT | ||
414 | +virtual size: 0 (0 bytes) | ||
415 | + | ||
416 | +=== Maximum size === | ||
417 | + | ||
418 | +Testing: -blockdev driver=file,filename=TEST_DIR/t.IMGFMT,node-name=node0 | ||
419 | +QMP_VERSION | ||
420 | +{"return": {}} | ||
421 | +{"return": {}} | ||
422 | +{"return": {}} | ||
423 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
424 | + | ||
425 | +image: TEST_DIR/t.IMGFMT | ||
426 | +file format: IMGFMT | ||
427 | +virtual size: 4096T (4503599627369984 bytes) | ||
428 | + | ||
429 | +=== Invalid sizes === | ||
430 | + | ||
431 | +Testing: -blockdev driver=file,filename=TEST_DIR/t.IMGFMT,node-name=node0 | ||
432 | +QMP_VERSION | ||
433 | +{"return": {}} | ||
434 | +{"error": {"class": "GenericError", "desc": "Image size must be a multiple of 512 bytes"}} | ||
435 | +{"error": {"class": "GenericError", "desc": "Image size is too large for this cluster size"}} | ||
436 | +{"error": {"class": "GenericError", "desc": "Image size is too large for this cluster size"}} | ||
437 | +{"error": {"class": "GenericError", "desc": "Image size is too large for this cluster size"}} | ||
438 | +{"error": {"class": "GenericError", "desc": "Image size is too large for this cluster size"}} | ||
439 | +{"return": {}} | ||
440 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
441 | + | ||
442 | + | ||
443 | +=== Invalid cluster size === | ||
444 | + | ||
445 | +Testing: -blockdev driver=file,filename=TEST_DIR/t.IMGFMT,node-name=node0 | ||
446 | +QMP_VERSION | ||
447 | +{"return": {}} | ||
448 | +{"error": {"class": "GenericError", "desc": "Cluster size must be a multiple of 512 bytes"}} | ||
449 | +{"error": {"class": "GenericError", "desc": "Cluster size must be a multiple of 512 bytes"}} | ||
450 | +{"error": {"class": "GenericError", "desc": "Cluster size is too large"}} | ||
451 | +{"error": {"class": "GenericError", "desc": "Cluster size is too large"}} | ||
452 | +{"error": {"class": "GenericError", "desc": "Cluster size is too large"}} | ||
453 | +{"error": {"class": "GenericError", "desc": "Image size is too large for this cluster size"}} | ||
454 | +{"error": {"class": "GenericError", "desc": "Image size is too large for this cluster size"}} | ||
455 | +{"return": {}} | ||
456 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
457 | + | ||
458 | +*** done | ||
459 | diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group | ||
460 | index XXXXXXX..XXXXXXX 100644 | ||
461 | --- a/tests/qemu-iotests/group | ||
462 | +++ b/tests/qemu-iotests/group | ||
463 | @@ -XXX,XX +XXX,XX @@ | ||
464 | 209 rw auto quick | ||
465 | 210 rw auto | ||
466 | 211 rw auto quick | ||
467 | +212 rw auto quick | ||
468 | -- | 27 | -- |
469 | 2.13.6 | 28 | 2.13.6 |
470 | 29 | ||
471 | 30 | diff view generated by jsdifflib |
1 | From: Fabiano Rosas <farosas@linux.vnet.ibm.com> | 1 | From: Thomas Huth <thuth@redhat.com> |
---|---|---|---|
2 | 2 | ||
3 | The quorum driver is not a protocol so it should implement bdrv_open | 3 | It's annoying to see this debug message every time you use vvfat. |
4 | instead of bdrv_file_open and not provide a protocol_name. | 4 | Disable it with the DLOG() macro by default, as it is done with the |
5 | other debug messages in this file. | ||
5 | 6 | ||
6 | Attempts to invoke this driver using protocol syntax | 7 | Signed-off-by: Thomas Huth <thuth@redhat.com> |
7 | (i.e. quorum:<filename:options:...>) will now fail gracefully: | 8 | Reviewed-by: John Snow <jsnow@redhat.com> |
8 | |||
9 | $ qemu-img info quorum:foo | ||
10 | qemu-img: Could not open 'quorum:foo': Unknown protocol 'quorum' | ||
11 | |||
12 | Signed-off-by: Fabiano Rosas <farosas@linux.vnet.ibm.com> | ||
13 | Reviewed-by: Max Reitz <mreitz@redhat.com> | ||
14 | Reviewed-by: Alberto Garcia <berto@igalia.com> | ||
15 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | 9 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> |
16 | --- | 10 | --- |
17 | block/quorum.c | 3 +-- | 11 | block/vvfat.c | 4 ++-- |
18 | 1 file changed, 1 insertion(+), 2 deletions(-) | 12 | 1 file changed, 2 insertions(+), 2 deletions(-) |
19 | 13 | ||
20 | diff --git a/block/quorum.c b/block/quorum.c | 14 | diff --git a/block/vvfat.c b/block/vvfat.c |
21 | index XXXXXXX..XXXXXXX 100644 | 15 | index XXXXXXX..XXXXXXX 100644 |
22 | --- a/block/quorum.c | 16 | --- a/block/vvfat.c |
23 | +++ b/block/quorum.c | 17 | +++ b/block/vvfat.c |
24 | @@ -XXX,XX +XXX,XX @@ static void quorum_refresh_filename(BlockDriverState *bs, QDict *options) | 18 | @@ -XXX,XX +XXX,XX @@ static int vvfat_open(BlockDriverState *bs, QDict *options, int flags, |
25 | 19 | s->fat2 = NULL; | |
26 | static BlockDriver bdrv_quorum = { | 20 | s->downcase_short_names = 1; |
27 | .format_name = "quorum", | 21 | |
28 | - .protocol_name = "quorum", | 22 | - fprintf(stderr, "vvfat %s chs %d,%d,%d\n", |
29 | 23 | - dirname, cyls, heads, secs); | |
30 | .instance_size = sizeof(BDRVQuorumState), | 24 | + DLOG(fprintf(stderr, "vvfat %s chs %d,%d,%d\n", |
31 | 25 | + dirname, cyls, heads, secs)); | |
32 | - .bdrv_file_open = quorum_open, | 26 | |
33 | + .bdrv_open = quorum_open, | 27 | s->sector_count = cyls * heads * secs - s->offset_to_bootsector; |
34 | .bdrv_close = quorum_close, | ||
35 | .bdrv_refresh_filename = quorum_refresh_filename, | ||
36 | 28 | ||
37 | -- | 29 | -- |
38 | 2.13.6 | 30 | 2.13.6 |
39 | 31 | ||
40 | 32 | diff view generated by jsdifflib |
Deleted patch | |||
---|---|---|---|
1 | From: Fabiano Rosas <farosas@linux.vnet.ibm.com> | ||
2 | 1 | ||
3 | The blkreplay driver is not a protocol so it should implement bdrv_open | ||
4 | instead of bdrv_file_open and not provide a protocol_name. | ||
5 | |||
6 | Attempts to invoke this driver using protocol syntax | ||
7 | (i.e. blkreplay:<filename:options:...>) will now fail gracefully: | ||
8 | |||
9 | $ qemu-img info blkreplay:foo | ||
10 | qemu-img: Could not open 'blkreplay:foo': Unknown protocol 'blkreplay' | ||
11 | |||
12 | Signed-off-by: Fabiano Rosas <farosas@linux.vnet.ibm.com> | ||
13 | Reviewed-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru> | ||
14 | Reviewed-by: Max Reitz <mreitz@redhat.com> | ||
15 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | ||
16 | --- | ||
17 | block/blkreplay.c | 3 +-- | ||
18 | 1 file changed, 1 insertion(+), 2 deletions(-) | ||
19 | |||
20 | diff --git a/block/blkreplay.c b/block/blkreplay.c | ||
21 | index XXXXXXX..XXXXXXX 100755 | ||
22 | --- a/block/blkreplay.c | ||
23 | +++ b/block/blkreplay.c | ||
24 | @@ -XXX,XX +XXX,XX @@ static int coroutine_fn blkreplay_co_flush(BlockDriverState *bs) | ||
25 | |||
26 | static BlockDriver bdrv_blkreplay = { | ||
27 | .format_name = "blkreplay", | ||
28 | - .protocol_name = "blkreplay", | ||
29 | .instance_size = 0, | ||
30 | |||
31 | - .bdrv_file_open = blkreplay_open, | ||
32 | + .bdrv_open = blkreplay_open, | ||
33 | .bdrv_close = blkreplay_close, | ||
34 | .bdrv_child_perm = bdrv_filter_default_perms, | ||
35 | .bdrv_getlength = blkreplay_getlength, | ||
36 | -- | ||
37 | 2.13.6 | ||
38 | |||
39 | diff view generated by jsdifflib |
Deleted patch | |||
---|---|---|---|
1 | From: Fabiano Rosas <farosas@linux.vnet.ibm.com> | ||
2 | 1 | ||
3 | Clarify that: | ||
4 | |||
5 | - for protocols the brdv_file_open function is used instead | ||
6 | of bdrv_open; | ||
7 | |||
8 | - when protocol_name is set, a driver should expect | ||
9 | to be given only a filename and no other options. | ||
10 | |||
11 | Signed-off-by: Fabiano Rosas <farosas@linux.vnet.ibm.com> | ||
12 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | ||
13 | --- | ||
14 | include/block/block_int.h | 8 ++++++++ | ||
15 | 1 file changed, 8 insertions(+) | ||
16 | |||
17 | diff --git a/include/block/block_int.h b/include/block/block_int.h | ||
18 | index XXXXXXX..XXXXXXX 100644 | ||
19 | --- a/include/block/block_int.h | ||
20 | +++ b/include/block/block_int.h | ||
21 | @@ -XXX,XX +XXX,XX @@ struct BlockDriver { | ||
22 | |||
23 | int (*bdrv_open)(BlockDriverState *bs, QDict *options, int flags, | ||
24 | Error **errp); | ||
25 | + | ||
26 | + /* Protocol drivers should implement this instead of bdrv_open */ | ||
27 | int (*bdrv_file_open)(BlockDriverState *bs, QDict *options, int flags, | ||
28 | Error **errp); | ||
29 | void (*bdrv_close)(BlockDriverState *bs); | ||
30 | @@ -XXX,XX +XXX,XX @@ struct BlockDriver { | ||
31 | */ | ||
32 | int coroutine_fn (*bdrv_co_flush_to_os)(BlockDriverState *bs); | ||
33 | |||
34 | + /* | ||
35 | + * Drivers setting this field must be able to work with just a plain | ||
36 | + * filename with '<protocol_name>:' as a prefix, and no other options. | ||
37 | + * Options may be extracted from the filename by implementing | ||
38 | + * bdrv_parse_filename. | ||
39 | + */ | ||
40 | const char *protocol_name; | ||
41 | int (*bdrv_truncate)(BlockDriverState *bs, int64_t offset, | ||
42 | PreallocMode prealloc, Error **errp); | ||
43 | -- | ||
44 | 2.13.6 | ||
45 | |||
46 | diff view generated by jsdifflib |
Deleted patch | |||
---|---|---|---|
1 | From: Alberto Garcia <berto@igalia.com> | ||
2 | 1 | ||
3 | When we try to allocate new clusters we first look for available ones | ||
4 | starting from s->free_cluster_index and once we find them we increase | ||
5 | their reference counts. Before we get to call update_refcount() to do | ||
6 | this last step s->free_cluster_index is already pointing to the next | ||
7 | cluster after the ones we are trying to allocate. | ||
8 | |||
9 | During update_refcount() it may happen however that we also need to | ||
10 | allocate a new refcount block in order to store the refcounts of these | ||
11 | new clusters (and to complicate things further that may also require | ||
12 | us to grow the refcount table). After all this we don't know if the | ||
13 | clusters that we originally tried to allocate are still available, so | ||
14 | we return -EAGAIN to ask the caller to restart the search for free | ||
15 | clusters. | ||
16 | |||
17 | This is what can happen in a common scenario: | ||
18 | |||
19 | 1) We want to allocate a new cluster and we see that cluster N is | ||
20 | free. | ||
21 | |||
22 | 2) We try to increase N's refcount but all refcount blocks are full, | ||
23 | so we allocate a new one at N+1 (where s->free_cluster_index was | ||
24 | pointing at). | ||
25 | |||
26 | 3) Once we're done we return -EAGAIN to look again for a free | ||
27 | cluster, but now s->free_cluster_index points at N+2, so that's | ||
28 | the one we allocate. Cluster N remains unallocated and we have a | ||
29 | hole in the qcow2 file. | ||
30 | |||
31 | This can be reproduced easily: | ||
32 | |||
33 | qemu-img create -f qcow2 -o cluster_size=512 hd.qcow2 1M | ||
34 | qemu-io -c 'write 0 124k' hd.qcow2 | ||
35 | |||
36 | After this the image has 132608 bytes (256 clusters), and the refcount | ||
37 | block is full. If we write 512 more bytes it should allocate two new | ||
38 | clusters: the data cluster itself and a new refcount block. | ||
39 | |||
40 | qemu-io -c 'write 124k 512' hd.qcow2 | ||
41 | |||
42 | However the image has now three new clusters (259 in total), and the | ||
43 | first one of them is empty (and unallocated): | ||
44 | |||
45 | dd if=hd.qcow2 bs=512c skip=256 count=1 | hexdump -C | ||
46 | |||
47 | If we write larger amounts of data in the last step instead of the 512 | ||
48 | bytes used in this example we can create larger holes in the qcow2 | ||
49 | file. | ||
50 | |||
51 | What this patch does is reset s->free_cluster_index to its previous | ||
52 | value when alloc_refcount_block() returns -EAGAIN. This way the caller | ||
53 | will try to allocate again the original clusters if they are still | ||
54 | free. | ||
55 | |||
56 | The output of iotest 026 also needs to be updated because now that | ||
57 | images have no holes some tests fail at a different point and the | ||
58 | number of leaked clusters is different. | ||
59 | |||
60 | Signed-off-by: Alberto Garcia <berto@igalia.com> | ||
61 | Reviewed-by: Eric Blake <eblake@redhat.com> | ||
62 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | ||
63 | --- | ||
64 | block/qcow2-refcount.c | 7 +++++++ | ||
65 | tests/qemu-iotests/026.out | 6 +++--- | ||
66 | tests/qemu-iotests/121 | 20 ++++++++++++++++++++ | ||
67 | tests/qemu-iotests/121.out | 10 ++++++++++ | ||
68 | 4 files changed, 40 insertions(+), 3 deletions(-) | ||
69 | |||
70 | diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c | ||
71 | index XXXXXXX..XXXXXXX 100644 | ||
72 | --- a/block/qcow2-refcount.c | ||
73 | +++ b/block/qcow2-refcount.c | ||
74 | @@ -XXX,XX +XXX,XX @@ static int QEMU_WARN_UNUSED_RESULT update_refcount(BlockDriverState *bs, | ||
75 | qcow2_cache_put(s->refcount_block_cache, &refcount_block); | ||
76 | } | ||
77 | ret = alloc_refcount_block(bs, cluster_index, &refcount_block); | ||
78 | + /* If the caller needs to restart the search for free clusters, | ||
79 | + * try the same ones first to see if they're still free. */ | ||
80 | + if (ret == -EAGAIN) { | ||
81 | + if (s->free_cluster_index > (start >> s->cluster_bits)) { | ||
82 | + s->free_cluster_index = (start >> s->cluster_bits); | ||
83 | + } | ||
84 | + } | ||
85 | if (ret < 0) { | ||
86 | goto fail; | ||
87 | } | ||
88 | diff --git a/tests/qemu-iotests/026.out b/tests/qemu-iotests/026.out | ||
89 | index XXXXXXX..XXXXXXX 100644 | ||
90 | --- a/tests/qemu-iotests/026.out | ||
91 | +++ b/tests/qemu-iotests/026.out | ||
92 | @@ -XXX,XX +XXX,XX @@ Failed to flush the L2 table cache: No space left on device | ||
93 | Failed to flush the refcount block cache: No space left on device | ||
94 | write failed: No space left on device | ||
95 | |||
96 | -11 leaked clusters were found on the image. | ||
97 | +10 leaked clusters were found on the image. | ||
98 | This means waste of disk space, but no harm to data. | ||
99 | Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 | ||
100 | |||
101 | @@ -XXX,XX +XXX,XX @@ Failed to flush the L2 table cache: No space left on device | ||
102 | Failed to flush the refcount block cache: No space left on device | ||
103 | write failed: No space left on device | ||
104 | |||
105 | -11 leaked clusters were found on the image. | ||
106 | +10 leaked clusters were found on the image. | ||
107 | This means waste of disk space, but no harm to data. | ||
108 | Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 | ||
109 | |||
110 | @@ -XXX,XX +XXX,XX @@ Failed to flush the L2 table cache: No space left on device | ||
111 | Failed to flush the refcount block cache: No space left on device | ||
112 | write failed: No space left on device | ||
113 | |||
114 | -11 leaked clusters were found on the image. | ||
115 | +10 leaked clusters were found on the image. | ||
116 | This means waste of disk space, but no harm to data. | ||
117 | Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 | ||
118 | |||
119 | diff --git a/tests/qemu-iotests/121 b/tests/qemu-iotests/121 | ||
120 | index XXXXXXX..XXXXXXX 100755 | ||
121 | --- a/tests/qemu-iotests/121 | ||
122 | +++ b/tests/qemu-iotests/121 | ||
123 | @@ -XXX,XX +XXX,XX @@ $QEMU_IO -c 'write 63M 130K' "$TEST_IMG" | _filter_qemu_io | ||
124 | |||
125 | _check_test_img | ||
126 | |||
127 | +echo | ||
128 | +echo '=== Allocating a new refcount block must not leave holes in the image ===' | ||
129 | +echo | ||
130 | + | ||
131 | +IMGOPTS='cluster_size=512,refcount_bits=16' _make_test_img 1M | ||
132 | + | ||
133 | +# This results in an image with 256 used clusters: the qcow2 header, | ||
134 | +# the refcount table, one refcount block, the L1 table, four L2 tables | ||
135 | +# and 248 data clusters | ||
136 | +$QEMU_IO -c 'write 0 124k' "$TEST_IMG" | _filter_qemu_io | ||
137 | + | ||
138 | +# 256 clusters of 512 bytes each give us a 128K image | ||
139 | +stat -c "size=%s (expected 131072)" $TEST_IMG | ||
140 | + | ||
141 | +# All 256 entries of the refcount block are used, so writing a new | ||
142 | +# data cluster also allocates a new refcount block | ||
143 | +$QEMU_IO -c 'write 124k 512' "$TEST_IMG" | _filter_qemu_io | ||
144 | + | ||
145 | +# Two more clusters, the image size should be 129K now | ||
146 | +stat -c "size=%s (expected 132096)" $TEST_IMG | ||
147 | |||
148 | # success, all done | ||
149 | echo | ||
150 | diff --git a/tests/qemu-iotests/121.out b/tests/qemu-iotests/121.out | ||
151 | index XXXXXXX..XXXXXXX 100644 | ||
152 | --- a/tests/qemu-iotests/121.out | ||
153 | +++ b/tests/qemu-iotests/121.out | ||
154 | @@ -XXX,XX +XXX,XX @@ wrote 133120/133120 bytes at offset 66060288 | ||
155 | 130 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
156 | No errors were found on the image. | ||
157 | |||
158 | +=== Allocating a new refcount block must not leave holes in the image === | ||
159 | + | ||
160 | +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 | ||
161 | +wrote 126976/126976 bytes at offset 0 | ||
162 | +124 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
163 | +size=131072 (expected 131072) | ||
164 | +wrote 512/512 bytes at offset 126976 | ||
165 | +512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) | ||
166 | +size=132096 (expected 132096) | ||
167 | + | ||
168 | *** done | ||
169 | -- | ||
170 | 2.13.6 | ||
171 | |||
172 | diff view generated by jsdifflib |
Deleted patch | |||
---|---|---|---|
1 | What static=on really does is what we call metadata preallocation for | ||
2 | other block drivers. While we can still change the QMP interface, make | ||
3 | it more consistent by using 'preallocation' for VDI, too. | ||
4 | 1 | ||
5 | This doesn't implement any new functionality, so the only supported | ||
6 | preallocation modes are 'off' and 'metadata' for now. | ||
7 | |||
8 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | ||
9 | Reviewed-by: Eric Blake <eblake@redhat.com> | ||
10 | --- | ||
11 | qapi/block-core.json | 7 +++---- | ||
12 | block/vdi.c | 24 ++++++++++++++++++++++-- | ||
13 | 2 files changed, 25 insertions(+), 6 deletions(-) | ||
14 | |||
15 | diff --git a/qapi/block-core.json b/qapi/block-core.json | ||
16 | index XXXXXXX..XXXXXXX 100644 | ||
17 | --- a/qapi/block-core.json | ||
18 | +++ b/qapi/block-core.json | ||
19 | @@ -XXX,XX +XXX,XX @@ | ||
20 | # | ||
21 | # @file Node to create the image format on | ||
22 | # @size Size of the virtual disk in bytes | ||
23 | -# @static Whether to create a statically (true) or | ||
24 | -# dynamically (false) allocated image | ||
25 | -# (default: false, i.e. dynamic) | ||
26 | +# @preallocation Preallocation mode for the new image (allowed values: off, | ||
27 | +# metadata; default: off) | ||
28 | # | ||
29 | # Since: 2.12 | ||
30 | ## | ||
31 | { 'struct': 'BlockdevCreateOptionsVdi', | ||
32 | 'data': { 'file': 'BlockdevRef', | ||
33 | 'size': 'size', | ||
34 | - '*static': 'bool' } } | ||
35 | + '*preallocation': 'PreallocMode' } } | ||
36 | |||
37 | ## | ||
38 | # @BlockdevVhdxSubformat: | ||
39 | diff --git a/block/vdi.c b/block/vdi.c | ||
40 | index XXXXXXX..XXXXXXX 100644 | ||
41 | --- a/block/vdi.c | ||
42 | +++ b/block/vdi.c | ||
43 | @@ -XXX,XX +XXX,XX @@ static int coroutine_fn vdi_co_do_create(BlockdevCreateOptions *create_options, | ||
44 | int ret = 0; | ||
45 | uint64_t bytes = 0; | ||
46 | uint32_t blocks; | ||
47 | - uint32_t image_type = VDI_TYPE_DYNAMIC; | ||
48 | + uint32_t image_type; | ||
49 | VdiHeader header; | ||
50 | size_t i; | ||
51 | size_t bmap_size; | ||
52 | @@ -XXX,XX +XXX,XX @@ static int coroutine_fn vdi_co_do_create(BlockdevCreateOptions *create_options, | ||
53 | |||
54 | /* Validate options and set default values */ | ||
55 | bytes = vdi_opts->size; | ||
56 | - if (vdi_opts->q_static) { | ||
57 | + | ||
58 | + if (!vdi_opts->has_preallocation) { | ||
59 | + vdi_opts->preallocation = PREALLOC_MODE_OFF; | ||
60 | + } | ||
61 | + switch (vdi_opts->preallocation) { | ||
62 | + case PREALLOC_MODE_OFF: | ||
63 | + image_type = VDI_TYPE_DYNAMIC; | ||
64 | + break; | ||
65 | + case PREALLOC_MODE_METADATA: | ||
66 | image_type = VDI_TYPE_STATIC; | ||
67 | + break; | ||
68 | + default: | ||
69 | + error_setg(errp, "Preallocation mode not supported for vdi"); | ||
70 | + return -EINVAL; | ||
71 | } | ||
72 | + | ||
73 | #ifndef CONFIG_VDI_STATIC_IMAGE | ||
74 | if (image_type == VDI_TYPE_STATIC) { | ||
75 | ret = -ENOTSUP; | ||
76 | @@ -XXX,XX +XXX,XX @@ static int coroutine_fn vdi_co_create_opts(const char *filename, QemuOpts *opts, | ||
77 | BlockdevCreateOptions *create_options = NULL; | ||
78 | BlockDriverState *bs_file = NULL; | ||
79 | uint64_t block_size = DEFAULT_CLUSTER_SIZE; | ||
80 | + bool is_static = false; | ||
81 | Visitor *v; | ||
82 | Error *local_err = NULL; | ||
83 | int ret; | ||
84 | @@ -XXX,XX +XXX,XX @@ static int coroutine_fn vdi_co_create_opts(const char *filename, QemuOpts *opts, | ||
85 | goto done; | ||
86 | } | ||
87 | #endif | ||
88 | + if (qemu_opt_get_bool_del(opts, BLOCK_OPT_STATIC, false)) { | ||
89 | + is_static = true; | ||
90 | + } | ||
91 | |||
92 | qdict = qemu_opts_to_qdict_filtered(opts, NULL, &vdi_create_opts, true); | ||
93 | |||
94 | @@ -XXX,XX +XXX,XX @@ static int coroutine_fn vdi_co_create_opts(const char *filename, QemuOpts *opts, | ||
95 | |||
96 | qdict_put_str(qdict, "driver", "vdi"); | ||
97 | qdict_put_str(qdict, "file", bs_file->node_name); | ||
98 | + if (is_static) { | ||
99 | + qdict_put_str(qdict, "preallocation", "metadata"); | ||
100 | + } | ||
101 | |||
102 | /* Get the QAPI object */ | ||
103 | v = qobject_input_visitor_new_keyval(QOBJECT(qdict)); | ||
104 | -- | ||
105 | 2.13.6 | ||
106 | |||
107 | diff view generated by jsdifflib |
Deleted patch | |||
---|---|---|---|
1 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | ||
2 | Reviewed-by: Eric Blake <eblake@redhat.com> | ||
3 | --- | ||
4 | tests/qemu-iotests/211 | 246 +++++++++++++++++++++++++++++++++++++++++++++ | ||
5 | tests/qemu-iotests/211.out | 97 ++++++++++++++++++ | ||
6 | tests/qemu-iotests/group | 1 + | ||
7 | 3 files changed, 344 insertions(+) | ||
8 | create mode 100755 tests/qemu-iotests/211 | ||
9 | create mode 100644 tests/qemu-iotests/211.out | ||
10 | 1 | ||
11 | diff --git a/tests/qemu-iotests/211 b/tests/qemu-iotests/211 | ||
12 | new file mode 100755 | ||
13 | index XXXXXXX..XXXXXXX | ||
14 | --- /dev/null | ||
15 | +++ b/tests/qemu-iotests/211 | ||
16 | @@ -XXX,XX +XXX,XX @@ | ||
17 | +#!/bin/bash | ||
18 | +# | ||
19 | +# Test VDI and file image creation | ||
20 | +# | ||
21 | +# Copyright (C) 2018 Red Hat, Inc. | ||
22 | +# | ||
23 | +# This program is free software; you can redistribute it and/or modify | ||
24 | +# it under the terms of the GNU General Public License as published by | ||
25 | +# the Free Software Foundation; either version 2 of the License, or | ||
26 | +# (at your option) any later version. | ||
27 | +# | ||
28 | +# This program is distributed in the hope that it will be useful, | ||
29 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
30 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
31 | +# GNU General Public License for more details. | ||
32 | +# | ||
33 | +# You should have received a copy of the GNU General Public License | ||
34 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
35 | +# | ||
36 | + | ||
37 | +# creator | ||
38 | +owner=kwolf@redhat.com | ||
39 | + | ||
40 | +seq=`basename $0` | ||
41 | +echo "QA output created by $seq" | ||
42 | + | ||
43 | +here=`pwd` | ||
44 | +status=1 # failure is the default! | ||
45 | + | ||
46 | +# get standard environment, filters and checks | ||
47 | +. ./common.rc | ||
48 | +. ./common.filter | ||
49 | + | ||
50 | +_supported_fmt vdi | ||
51 | +_supported_proto file | ||
52 | +_supported_os Linux | ||
53 | + | ||
54 | +function do_run_qemu() | ||
55 | +{ | ||
56 | + echo Testing: "$@" | ||
57 | + $QEMU -nographic -qmp stdio -serial none "$@" | ||
58 | + echo | ||
59 | +} | ||
60 | + | ||
61 | +function run_qemu() | ||
62 | +{ | ||
63 | + do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qmp \ | ||
64 | + | _filter_qemu | _filter_imgfmt \ | ||
65 | + | _filter_actual_image_size | ||
66 | +} | ||
67 | + | ||
68 | +echo | ||
69 | +echo "=== Successful image creation (defaults) ===" | ||
70 | +echo | ||
71 | + | ||
72 | +size=$((128 * 1024 * 1024)) | ||
73 | + | ||
74 | +run_qemu <<EOF | ||
75 | +{ "execute": "qmp_capabilities" } | ||
76 | +{ "execute": "x-blockdev-create", | ||
77 | + "arguments": { | ||
78 | + "driver": "file", | ||
79 | + "filename": "$TEST_IMG", | ||
80 | + "size": 0 | ||
81 | + } | ||
82 | +} | ||
83 | +{ "execute": "blockdev-add", | ||
84 | + "arguments": { | ||
85 | + "driver": "file", | ||
86 | + "node-name": "imgfile", | ||
87 | + "filename": "$TEST_IMG" | ||
88 | + } | ||
89 | +} | ||
90 | +{ "execute": "x-blockdev-create", | ||
91 | + "arguments": { | ||
92 | + "driver": "$IMGFMT", | ||
93 | + "file": "imgfile", | ||
94 | + "size": $size | ||
95 | + } | ||
96 | +} | ||
97 | +{ "execute": "quit" } | ||
98 | +EOF | ||
99 | + | ||
100 | +_img_info --format-specific | _filter_img_info --format-specific | ||
101 | +$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map | ||
102 | + | ||
103 | +echo | ||
104 | +echo "=== Successful image creation (explicit defaults) ===" | ||
105 | +echo | ||
106 | + | ||
107 | +# Choose a different size to show that we got a new image | ||
108 | +size=$((64 * 1024 * 1024)) | ||
109 | + | ||
110 | +run_qemu <<EOF | ||
111 | +{ "execute": "qmp_capabilities" } | ||
112 | +{ "execute": "x-blockdev-create", | ||
113 | + "arguments": { | ||
114 | + "driver": "file", | ||
115 | + "filename": "$TEST_IMG", | ||
116 | + "size": 0 | ||
117 | + } | ||
118 | +} | ||
119 | +{ "execute": "x-blockdev-create", | ||
120 | + "arguments": { | ||
121 | + "driver": "$IMGFMT", | ||
122 | + "file": { | ||
123 | + "driver": "file", | ||
124 | + "filename": "$TEST_IMG" | ||
125 | + }, | ||
126 | + "size": $size, | ||
127 | + "preallocation": "off" | ||
128 | + } | ||
129 | +} | ||
130 | +{ "execute": "quit" } | ||
131 | +EOF | ||
132 | + | ||
133 | +_img_info --format-specific | _filter_img_info --format-specific | ||
134 | +$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map | ||
135 | + | ||
136 | +echo | ||
137 | +echo "=== Successful image creation (with non-default options) ===" | ||
138 | +echo | ||
139 | + | ||
140 | +# Choose a different size to show that we got a new image | ||
141 | +size=$((32 * 1024 * 1024)) | ||
142 | + | ||
143 | +run_qemu <<EOF | ||
144 | +{ "execute": "qmp_capabilities" } | ||
145 | +{ "execute": "x-blockdev-create", | ||
146 | + "arguments": { | ||
147 | + "driver": "file", | ||
148 | + "filename": "$TEST_IMG", | ||
149 | + "size": 0 | ||
150 | + } | ||
151 | +} | ||
152 | +{ "execute": "x-blockdev-create", | ||
153 | + "arguments": { | ||
154 | + "driver": "$IMGFMT", | ||
155 | + "file": { | ||
156 | + "driver": "file", | ||
157 | + "filename": "$TEST_IMG" | ||
158 | + }, | ||
159 | + "size": $size, | ||
160 | + "preallocation": "metadata" | ||
161 | + } | ||
162 | +} | ||
163 | +{ "execute": "quit" } | ||
164 | +EOF | ||
165 | + | ||
166 | +_img_info --format-specific | _filter_img_info --format-specific | ||
167 | +$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map | ||
168 | + | ||
169 | +echo | ||
170 | +echo "=== Invalid BlockdevRef ===" | ||
171 | +echo | ||
172 | + | ||
173 | +run_qemu <<EOF | ||
174 | +{ "execute": "qmp_capabilities" } | ||
175 | +{ "execute": "x-blockdev-create", | ||
176 | + "arguments": { | ||
177 | + "driver": "$IMGFMT", | ||
178 | + "file": "this doesn't exist", | ||
179 | + "size": $size | ||
180 | + } | ||
181 | +} | ||
182 | +{ "execute": "quit" } | ||
183 | +EOF | ||
184 | + | ||
185 | +echo | ||
186 | +echo "=== Zero size ===" | ||
187 | +echo | ||
188 | + | ||
189 | +run_qemu -blockdev driver=file,filename="$TEST_IMG",node-name=node0 <<EOF | ||
190 | +{ "execute": "qmp_capabilities" } | ||
191 | +{ "execute": "x-blockdev-create", | ||
192 | + "arguments": { | ||
193 | + "driver": "$IMGFMT", | ||
194 | + "file": "node0", | ||
195 | + "size": 0 | ||
196 | + } | ||
197 | +} | ||
198 | +{ "execute": "quit" } | ||
199 | +EOF | ||
200 | + | ||
201 | +_img_info | _filter_img_info | ||
202 | + | ||
203 | +echo | ||
204 | +echo "=== Maximum size ===" | ||
205 | +echo | ||
206 | + | ||
207 | +run_qemu -blockdev driver=file,filename="$TEST_IMG",node-name=node0 <<EOF | ||
208 | +{ "execute": "qmp_capabilities" } | ||
209 | +{ "execute": "x-blockdev-create", | ||
210 | + "arguments": { | ||
211 | + "driver": "$IMGFMT", | ||
212 | + "file": "node0", | ||
213 | + "size": 562949819203584 | ||
214 | + } | ||
215 | +} | ||
216 | +{ "execute": "quit" } | ||
217 | +EOF | ||
218 | + | ||
219 | +_img_info | _filter_img_info | ||
220 | + | ||
221 | +echo | ||
222 | +echo "=== Invalid sizes ===" | ||
223 | +echo | ||
224 | + | ||
225 | +# TODO Negative image sizes aren't handled correctly, but this is a problem | ||
226 | +# with QAPI's implementation of the 'size' type and affects other commands as | ||
227 | +# well. Once this is fixed, we may want to add a test case here. | ||
228 | + | ||
229 | +# 1. 2^64 - 512 | ||
230 | +# 2. 2^63 = 8 EB (qemu-img enforces image sizes less than this) | ||
231 | +# 3. 0x1fffff8000001 (one byte more than maximum image size for VDI) | ||
232 | + | ||
233 | +run_qemu -blockdev driver=file,filename="$TEST_IMG",node-name=node0 <<EOF | ||
234 | +{ "execute": "qmp_capabilities" } | ||
235 | +{ "execute": "x-blockdev-create", | ||
236 | + "arguments": { | ||
237 | + "driver": "$IMGFMT", | ||
238 | + "file": "node0", | ||
239 | + "size": 18446744073709551104 | ||
240 | + } | ||
241 | +} | ||
242 | +{ "execute": "x-blockdev-create", | ||
243 | + "arguments": { | ||
244 | + "driver": "$IMGFMT", | ||
245 | + "file": "node0", | ||
246 | + "size": 9223372036854775808 | ||
247 | + } | ||
248 | +} | ||
249 | +{ "execute": "x-blockdev-create", | ||
250 | + "arguments": { | ||
251 | + "driver": "$IMGFMT", | ||
252 | + "file": "node0", | ||
253 | + "size": 562949819203585 | ||
254 | + } | ||
255 | +} | ||
256 | +{ "execute": "quit" } | ||
257 | +EOF | ||
258 | + | ||
259 | +# success, all done | ||
260 | +echo "*** done" | ||
261 | +rm -f $seq.full | ||
262 | +status=0 | ||
263 | diff --git a/tests/qemu-iotests/211.out b/tests/qemu-iotests/211.out | ||
264 | new file mode 100644 | ||
265 | index XXXXXXX..XXXXXXX | ||
266 | --- /dev/null | ||
267 | +++ b/tests/qemu-iotests/211.out | ||
268 | @@ -XXX,XX +XXX,XX @@ | ||
269 | +QA output created by 211 | ||
270 | + | ||
271 | +=== Successful image creation (defaults) === | ||
272 | + | ||
273 | +Testing: | ||
274 | +QMP_VERSION | ||
275 | +{"return": {}} | ||
276 | +{"return": {}} | ||
277 | +{"return": {}} | ||
278 | +{"return": {}} | ||
279 | +{"return": {}} | ||
280 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
281 | + | ||
282 | +image: TEST_DIR/t.IMGFMT | ||
283 | +file format: IMGFMT | ||
284 | +virtual size: 128M (134217728 bytes) | ||
285 | +[{ "start": 0, "length": 134217728, "depth": 0, "zero": true, "data": false}] | ||
286 | + | ||
287 | +=== Successful image creation (explicit defaults) === | ||
288 | + | ||
289 | +Testing: | ||
290 | +QMP_VERSION | ||
291 | +{"return": {}} | ||
292 | +{"return": {}} | ||
293 | +{"return": {}} | ||
294 | +{"return": {}} | ||
295 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
296 | + | ||
297 | +image: TEST_DIR/t.IMGFMT | ||
298 | +file format: IMGFMT | ||
299 | +virtual size: 64M (67108864 bytes) | ||
300 | +[{ "start": 0, "length": 67108864, "depth": 0, "zero": true, "data": false}] | ||
301 | + | ||
302 | +=== Successful image creation (with non-default options) === | ||
303 | + | ||
304 | +Testing: | ||
305 | +QMP_VERSION | ||
306 | +{"return": {}} | ||
307 | +{"return": {}} | ||
308 | +{"return": {}} | ||
309 | +{"return": {}} | ||
310 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
311 | + | ||
312 | +image: TEST_DIR/t.IMGFMT | ||
313 | +file format: IMGFMT | ||
314 | +virtual size: 32M (33554432 bytes) | ||
315 | +[{ "start": 0, "length": 3072, "depth": 0, "zero": false, "data": true, "offset": OFFSET}, | ||
316 | +{ "start": 3072, "length": 33551360, "depth": 0, "zero": true, "data": true, "offset": OFFSET}] | ||
317 | + | ||
318 | +=== Invalid BlockdevRef === | ||
319 | + | ||
320 | +Testing: | ||
321 | +QMP_VERSION | ||
322 | +{"return": {}} | ||
323 | +{"error": {"class": "GenericError", "desc": "Cannot find device=this doesn't exist nor node_name=this doesn't exist"}} | ||
324 | +{"return": {}} | ||
325 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
326 | + | ||
327 | + | ||
328 | +=== Zero size === | ||
329 | + | ||
330 | +Testing: -blockdev driver=file,filename=TEST_DIR/t.IMGFMT,node-name=node0 | ||
331 | +QMP_VERSION | ||
332 | +{"return": {}} | ||
333 | +{"return": {}} | ||
334 | +{"return": {}} | ||
335 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
336 | + | ||
337 | +image: TEST_DIR/t.IMGFMT | ||
338 | +file format: IMGFMT | ||
339 | +virtual size: 0 (0 bytes) | ||
340 | + | ||
341 | +=== Maximum size === | ||
342 | + | ||
343 | +Testing: -blockdev driver=file,filename=TEST_DIR/t.IMGFMT,node-name=node0 | ||
344 | +QMP_VERSION | ||
345 | +{"return": {}} | ||
346 | +{"return": {}} | ||
347 | +{"return": {}} | ||
348 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
349 | + | ||
350 | +image: TEST_DIR/t.IMGFMT | ||
351 | +file format: IMGFMT | ||
352 | +virtual size: 512T (562949819203584 bytes) | ||
353 | + | ||
354 | +=== Invalid sizes === | ||
355 | + | ||
356 | +Testing: -blockdev driver=file,filename=TEST_DIR/t.IMGFMT,node-name=node0 | ||
357 | +QMP_VERSION | ||
358 | +{"return": {}} | ||
359 | +{"error": {"class": "GenericError", "desc": "Unsupported VDI image size (size is 0xfffffffffffffe00, max supported is 0x1fffff8000000)"}} | ||
360 | +{"error": {"class": "GenericError", "desc": "Unsupported VDI image size (size is 0x8000000000000000, max supported is 0x1fffff8000000)"}} | ||
361 | +{"error": {"class": "GenericError", "desc": "Unsupported VDI image size (size is 0x1fffff8000001, max supported is 0x1fffff8000000)"}} | ||
362 | +{"return": {}} | ||
363 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
364 | + | ||
365 | +*** done | ||
366 | diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group | ||
367 | index XXXXXXX..XXXXXXX 100644 | ||
368 | --- a/tests/qemu-iotests/group | ||
369 | +++ b/tests/qemu-iotests/group | ||
370 | @@ -XXX,XX +XXX,XX @@ | ||
371 | 208 rw auto quick | ||
372 | 209 rw auto quick | ||
373 | 210 rw auto | ||
374 | +211 rw auto quick | ||
375 | -- | ||
376 | 2.13.6 | ||
377 | |||
378 | diff view generated by jsdifflib |
Deleted patch | |||
---|---|---|---|
1 | We want to test resizing even for luks. The only change that is needed | ||
2 | is to explicitly zero out new space for luks because it's undefined. | ||
3 | 1 | ||
4 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | ||
5 | Reviewed-by: Eric Blake <eblake@redhat.com> | ||
6 | Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> | ||
7 | --- | ||
8 | tests/qemu-iotests/025 | 9 ++++++++- | ||
9 | 1 file changed, 8 insertions(+), 1 deletion(-) | ||
10 | |||
11 | diff --git a/tests/qemu-iotests/025 b/tests/qemu-iotests/025 | ||
12 | index XXXXXXX..XXXXXXX 100755 | ||
13 | --- a/tests/qemu-iotests/025 | ||
14 | +++ b/tests/qemu-iotests/025 | ||
15 | @@ -XXX,XX +XXX,XX @@ trap "_cleanup; exit \$status" 0 1 2 3 15 | ||
16 | . ./common.filter | ||
17 | . ./common.pattern | ||
18 | |||
19 | -_supported_fmt raw qcow2 qed | ||
20 | +_supported_fmt raw qcow2 qed luks | ||
21 | _supported_proto file sheepdog rbd nfs | ||
22 | _supported_os Linux | ||
23 | |||
24 | @@ -XXX,XX +XXX,XX @@ length | ||
25 | EOF | ||
26 | _check_test_img | ||
27 | |||
28 | +# bdrv_truncate() doesn't zero the new space, so we need to do that explicitly. | ||
29 | +# We still want to test automatic zeroing for other formats even though | ||
30 | +# bdrv_truncate() doesn't guarantee it. | ||
31 | +if [ "$IMGFMT" == "luks" ]; then | ||
32 | + $QEMU_IO -c "write -z $small_size $((big_size - small_size))" "$TEST_IMG" > /dev/null | ||
33 | +fi | ||
34 | + | ||
35 | echo | ||
36 | echo "=== Verifying image size after reopen" | ||
37 | $QEMU_IO -c "length" "$TEST_IMG" | ||
38 | -- | ||
39 | 2.13.6 | ||
40 | |||
41 | diff view generated by jsdifflib |
Deleted patch | |||
---|---|---|---|
1 | Commit e39e959e fixed an invalid assertion in the .bdrv_length | ||
2 | implementation, but left a similar assertion in place for | ||
3 | .bdrv_truncate. Instead of crashing when the user requests a too large | ||
4 | image size, fail gracefully. | ||
5 | 1 | ||
6 | A file size of exactly INT64_MAX caused failure before, but is actually | ||
7 | legal. | ||
8 | |||
9 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | ||
10 | Reviewed-by: Eric Blake <eblake@redhat.com> | ||
11 | Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> | ||
12 | --- | ||
13 | block/crypto.c | 6 +++++- | ||
14 | 1 file changed, 5 insertions(+), 1 deletion(-) | ||
15 | |||
16 | diff --git a/block/crypto.c b/block/crypto.c | ||
17 | index XXXXXXX..XXXXXXX 100644 | ||
18 | --- a/block/crypto.c | ||
19 | +++ b/block/crypto.c | ||
20 | @@ -XXX,XX +XXX,XX @@ static int block_crypto_truncate(BlockDriverState *bs, int64_t offset, | ||
21 | BlockCrypto *crypto = bs->opaque; | ||
22 | uint64_t payload_offset = | ||
23 | qcrypto_block_get_payload_offset(crypto->block); | ||
24 | - assert(payload_offset < (INT64_MAX - offset)); | ||
25 | + | ||
26 | + if (payload_offset > INT64_MAX - offset) { | ||
27 | + error_setg(errp, "The requested file size is too large"); | ||
28 | + return -EFBIG; | ||
29 | + } | ||
30 | |||
31 | offset += payload_offset; | ||
32 | |||
33 | -- | ||
34 | 2.13.6 | ||
35 | |||
36 | diff view generated by jsdifflib |
Deleted patch | |||
---|---|---|---|
1 | This tests that the .bdrv_truncate implementation for luks doesn't crash | ||
2 | for invalid image sizes. | ||
3 | 1 | ||
4 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | ||
5 | Reviewed-by: Eric Blake <eblake@redhat.com> | ||
6 | --- | ||
7 | tests/qemu-iotests/210 | 37 +++++++++++++++++++++++++++++++++++++ | ||
8 | tests/qemu-iotests/210.out | 16 ++++++++++++++++ | ||
9 | 2 files changed, 53 insertions(+) | ||
10 | |||
11 | diff --git a/tests/qemu-iotests/210 b/tests/qemu-iotests/210 | ||
12 | index XXXXXXX..XXXXXXX 100755 | ||
13 | --- a/tests/qemu-iotests/210 | ||
14 | +++ b/tests/qemu-iotests/210 | ||
15 | @@ -XXX,XX +XXX,XX @@ run_qemu -blockdev driver=file,filename="$TEST_IMG_FILE",node-name=node0 \ | ||
16 | { "execute": "quit" } | ||
17 | EOF | ||
18 | |||
19 | +echo | ||
20 | +echo "=== Resize image with invalid sizes ===" | ||
21 | +echo | ||
22 | + | ||
23 | +run_qemu -blockdev driver=file,filename="$TEST_IMG_FILE",node-name=node0 \ | ||
24 | + -blockdev driver=luks,file=node0,key-secret=keysec0,node-name=node1 \ | ||
25 | + -object secret,id=keysec0,data="foo" <<EOF | ||
26 | +{ "execute": "qmp_capabilities" } | ||
27 | +{ "execute": "block_resize", | ||
28 | + "arguments": { | ||
29 | + "node-name": "node1", | ||
30 | + "size": 9223372036854775296 | ||
31 | + } | ||
32 | +} | ||
33 | +{ "execute": "block_resize", | ||
34 | + "arguments": { | ||
35 | + "node-name": "node1", | ||
36 | + "size": 9223372036854775808 | ||
37 | + } | ||
38 | +} | ||
39 | +{ "execute": "block_resize", | ||
40 | + "arguments": { | ||
41 | + "node-name": "node1", | ||
42 | + "size": 18446744073709551104 | ||
43 | + } | ||
44 | +} | ||
45 | +{ "execute": "block_resize", | ||
46 | + "arguments": { | ||
47 | + "node-name": "node1", | ||
48 | + "size": -9223372036854775808 | ||
49 | + } | ||
50 | +} | ||
51 | +{ "execute": "quit" } | ||
52 | +EOF | ||
53 | + | ||
54 | +_img_info | _filter_img_info | ||
55 | + | ||
56 | # success, all done | ||
57 | echo "*** done" | ||
58 | rm -f $seq.full | ||
59 | diff --git a/tests/qemu-iotests/210.out b/tests/qemu-iotests/210.out | ||
60 | index XXXXXXX..XXXXXXX 100644 | ||
61 | --- a/tests/qemu-iotests/210.out | ||
62 | +++ b/tests/qemu-iotests/210.out | ||
63 | @@ -XXX,XX +XXX,XX @@ QMP_VERSION | ||
64 | {"return": {}} | ||
65 | {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
66 | |||
67 | + | ||
68 | +=== Resize image with invalid sizes === | ||
69 | + | ||
70 | +Testing: -blockdev driver=file,filename=TEST_DIR/t.IMGFMT,node-name=node0 -blockdev driver=IMGFMT,file=node0,key-secret=keysec0,node-name=node1 -object secret,id=keysec0,data=foo | ||
71 | +QMP_VERSION | ||
72 | +{"return": {}} | ||
73 | +{"error": {"class": "GenericError", "desc": "The requested file size is too large"}} | ||
74 | +{"error": {"class": "GenericError", "desc": "Invalid parameter type for 'size', expected: integer"}} | ||
75 | +{"error": {"class": "GenericError", "desc": "Invalid parameter type for 'size', expected: integer"}} | ||
76 | +{"error": {"class": "GenericError", "desc": "Parameter 'size' expects a >0 size"}} | ||
77 | +{"return": {}} | ||
78 | +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}} | ||
79 | + | ||
80 | +image: json:{"driver": "IMGFMT", "file": {"driver": "file", "filename": "TEST_DIR/t.IMGFMT"}, "key-secret": "keysec0"} | ||
81 | +file format: IMGFMT | ||
82 | +virtual size: 0 (0 bytes) | ||
83 | *** done | ||
84 | -- | ||
85 | 2.13.6 | ||
86 | |||
87 | diff view generated by jsdifflib |
Deleted patch | |||
---|---|---|---|
1 | It's unclear what the real maximum cluster size is for the Parallels | ||
2 | format, but let's at least make sure that we don't get integer | ||
3 | overflows in our .bdrv_co_create implementation. | ||
4 | 1 | ||
5 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | ||
6 | Reviewed-by: Eric Blake <eblake@redhat.com> | ||
7 | --- | ||
8 | block/parallels.c | 5 +++++ | ||
9 | 1 file changed, 5 insertions(+) | ||
10 | |||
11 | diff --git a/block/parallels.c b/block/parallels.c | ||
12 | index XXXXXXX..XXXXXXX 100644 | ||
13 | --- a/block/parallels.c | ||
14 | +++ b/block/parallels.c | ||
15 | @@ -XXX,XX +XXX,XX @@ static int coroutine_fn parallels_co_create(BlockdevCreateOptions* opts, | ||
16 | cl_size = DEFAULT_CLUSTER_SIZE; | ||
17 | } | ||
18 | |||
19 | + /* XXX What is the real limit here? This is an insanely large maximum. */ | ||
20 | + if (cl_size >= INT64_MAX / MAX_PARALLELS_IMAGE_FACTOR) { | ||
21 | + error_setg(errp, "Cluster size is too large"); | ||
22 | + return -EINVAL; | ||
23 | + } | ||
24 | if (total_size >= MAX_PARALLELS_IMAGE_FACTOR * cl_size) { | ||
25 | error_setg(errp, "Image size is too large for this cluster size"); | ||
26 | return -E2BIG; | ||
27 | -- | ||
28 | 2.13.6 | ||
29 | |||
30 | diff view generated by jsdifflib |
Deleted patch | |||
---|---|---|---|
1 | Images with a non-power-of-two block size are invalid and cannot be | ||
2 | opened. Reject such block sizes when creating an image. | ||
3 | 1 | ||
4 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | ||
5 | Reviewed-by: Eric Blake <eblake@redhat.com> | ||
6 | Reviewed-by: Jeff Cody <jcody@redhat.com> | ||
7 | --- | ||
8 | block/vhdx.c | 4 ++++ | ||
9 | 1 file changed, 4 insertions(+) | ||
10 | |||
11 | diff --git a/block/vhdx.c b/block/vhdx.c | ||
12 | index XXXXXXX..XXXXXXX 100644 | ||
13 | --- a/block/vhdx.c | ||
14 | +++ b/block/vhdx.c | ||
15 | @@ -XXX,XX +XXX,XX @@ static int coroutine_fn vhdx_co_create(BlockdevCreateOptions *opts, | ||
16 | error_setg_errno(errp, EINVAL, "Block size must be a multiple of 1 MB"); | ||
17 | return -EINVAL; | ||
18 | } | ||
19 | + if (!is_power_of_2(block_size)) { | ||
20 | + error_setg(errp, "Block size must be a power of two"); | ||
21 | + return -EINVAL; | ||
22 | + } | ||
23 | if (block_size > VHDX_BLOCK_SIZE_MAX) { | ||
24 | error_setg_errno(errp, EINVAL, "Block size must not exceed %d", | ||
25 | VHDX_BLOCK_SIZE_MAX); | ||
26 | -- | ||
27 | 2.13.6 | ||
28 | |||
29 | diff view generated by jsdifflib |