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