qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] b74b1a: iotests: use iotests.VM in 238


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] b74b1a: iotests: use iotests.VM in 238
Date: Sat, 09 Mar 2019 09:35:05 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: b74b1adef00504c0df2d9600cec9ea824349952c
      
https://github.com/qemu/qemu/commit/b74b1adef00504c0df2d9600cec9ea824349952c
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M tests/qemu-iotests/238

  Log Message:
  -----------
  iotests: use iotests.VM in 238

Test 238 does not require the kvm accelerator.  Using the qtest
accelerator allows the test to run in both non-kvm and non-tcg
environments.

iotests.VM implicitly uses the qtest accelerator and is really the class
that this test should be using.  Switch to that instead of
qemu.QEMUMachine.

Suggested-by: Thomas Huth <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: af39bd0d9a889ac6a412dafd50aee0e84ccfa291
      
https://github.com/qemu/qemu/commit/af39bd0d9a889ac6a412dafd50aee0e84ccfa291
  Author: Alberto Garcia <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M block/qcow2.c
    M docs/qcow2-cache.txt

  Log Message:
  -----------
  qcow2: Default to 4KB for the qcow2 cache entry size

QEMU 2.12 (commit 1221fe6f636754ab5f2c1c87caa77633e9123622) introduced
a new setting called l2-cache-entry-size that allows making entries on
the qcow2 L2 cache smaller than the cluster size.

I have been performing several tests with different cluster and entry
sizes and all of them show that reducing the entry size (aka L2 slice)
consistently improves I/O performance, notably during random I/O (all
tests done with sequential I/O show similar results). This is to be
expected because loading and evicting an L2 slice is more expensive
the larger the slice is.

Here are some numbers on fully populated 40GB qcow2 images. The
rightmost column represents the maximum L2 cache size in both cases.

   Cluster size = 64 KB
   |-------------+--------------+--------------+--------------|
   |             | 1MB L2 cache | 3MB L2 cache | 5MB L2 cache |
   |-------------+--------------+--------------+--------------|
   |  4KB slices |    6545 IOPS |   12045 IOPS |   55680 IOPS |
   | 16KB slices |    5177 IOPS |    9798 IOPS |   56278 IOPS |
   | 64KB slices |    2718 IOPS |    5326 IOPS |   57355 IOPS |
   |-------------+--------------+--------------+--------------|

   Cluster size = 256 KB
   |--------------+----------------+--------------+-----------------|
   |              | 512KB L2 cache | 1MB L2 cache | 1280KB L2 cache |
   |--------------+----------------+--------------+-----------------|
   |   4KB slices |      8539 IOPS |   21071 IOPS |      55417 IOPS |
   |  64KB slices |      3598 IOPS |    9772 IOPS |      57687 IOPS |
   | 256KB slices |      1415 IOPS |    4120 IOPS |      58001 IOPS |
   |--------------+----------------+--------------+-----------------|

As can be seen in the numbers, the only exception to the rule is when
the cache is large enough to hold all L2 tables. This is also to be
expected because in this case no cache entry is ever evicted so
reducing its size doesn't bring any benefit.

This patch sets the default L2 cache entry size to 4KB except when the
cache is large enough for the whole disk.

Signed-off-by: Alberto Garcia <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: ce090f656c44b357f6caf8f6000648744fbb655b
      
https://github.com/qemu/qemu/commit/ce090f656c44b357f6caf8f6000648744fbb655b
  Author: Andrey Shinkevich <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M tests/qemu-iotests/iotests.py

  Log Message:
  -----------
  iotests: open notrun files in text mode

Replace the binary mode with the default text one when *.notrun
files are opened for skipped tests. That change is made for the
compatibility with Python 3 which returns error otherwise.

Signed-off-by: Kevin Wolf <address@hidden>
Signed-off-by: Andrey Shinkevich <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 9ac404c5233f3033435ab250d30ea9f776188a01
      
https://github.com/qemu/qemu/commit/9ac404c5233f3033435ab250d30ea9f776188a01
  Author: Andrey Shinkevich <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M block.c
    M blockdev.c
    M include/block/block.h
    M qemu-img.c

  Log Message:
  -----------
  block: iterate_format with account of whitelisting

bdrv_iterate_format (which is currently only used for printing out the
formats supported by the block layer) doesn't take format whitelisting
into account.

This creates a problem for tests: they enumerate supported formats to
decide which tests to enable, but then discover that QEMU doesn't let
them actually use some of those formats.

To avoid that, exclude formats that are not whitelisted from
enumeration, if whitelisting is in use.  Since we have separate
whitelists for r/w and r/o, take this a parameter to
bdrv_iterate_format, and print two lists of supported formats (r/w and
r/o) in main qemu.

Signed-off-by: Roman Kagan <address@hidden>
Signed-off-by: Andrey Shinkevich <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 57ed557f03e162904d6b137d315526304ac2083b
      
https://github.com/qemu/qemu/commit/57ed557f03e162904d6b137d315526304ac2083b
  Author: Andrey Shinkevich <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M tests/qemu-iotests/check
    M tests/qemu-iotests/iotests.py

  Log Message:
  -----------
  iotests: ask QEMU for supported formats

Supported formats listed by 'qemu' may differ from those listed by
'qemu-img' due to whitelists. Some test cases require specific formats
that may be used with qemu. They can be inquired directly by running
'qemu -drive format=help'. The response takes whitelists into account.
The method supported_formats() serves for that. The method decorator
skip_if_unsupported() checks if all requested formats are whitelisted.
If not, the test case will be skipped. That has been implemented in
the 'check' file in the way similar to the 'test notrun' mechanism.

Suggested-by: Roman Kagan <address@hidden>
Suggested-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Suggested-by: Kevin Wolf <address@hidden>
Signed-off-by: Andrey Shinkevich <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: d9df28e7b07e842798dff9f8b24af2d78911dbb6
      
https://github.com/qemu/qemu/commit/d9df28e7b07e842798dff9f8b24af2d78911dbb6
  Author: Andrey Shinkevich <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M tests/qemu-iotests/139

  Log Message:
  -----------
  iotests: check whitelisted formats

Some test cases require specific formats. The method decorator
skip_if_unsupported() checks if requested formats are whitelisted.
The test #139 was selected for a sample output, after running
$ ./check -qcow2 131-140

137 3s ...
138 0s ...
139 2s ...
    [case not run] testBlkDebug (__main__.TestBlockdevDel): formats 
['blkdebug'] are not whitelisted
    [case not run] testBlkVerify (__main__.TestBlockdevDel): formats 
['blkverify'] are not whitelisted
    [case not run] testQuorum (__main__.TestBlockdevDel): formats ['quorum'] 
are not whitelisted
140 0s ...
Not run: 131 135 136
Some cases not run in: 139
Passed all 7 tests

Signed-off-by: Andrey Shinkevich <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: a03700fd3efdc7cff0e6310047e624d906645e46
      
https://github.com/qemu/qemu/commit/a03700fd3efdc7cff0e6310047e624d906645e46
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M tests/multiboot/run_test.sh

  Log Message:
  -----------
  tests/multiboot: Improve portability by searching bash in the $PATH

Bash is not always installed as /bin/bash. In particular on OpenBSD,
the package installs it in /usr/local/bin.
Use the 'env' shebang to search bash in the $PATH.

Reviewed-by: Kamil Rytarowski <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: d68375816eca9e60d7c7edb290b1964d4d83e346
      
https://github.com/qemu/qemu/commit/d68375816eca9e60d7c7edb290b1964d4d83e346
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M tests/data/acpi/rebuild-expected-aml.sh

  Log Message:
  -----------
  tests/bios-tables: Improve portability by searching bash in the $PATH

Bash is not always installed as /bin/bash. In particular on OpenBSD,
the package installs it in /usr/local/bin.
Use the 'env' shebang to search bash in the $PATH.

Reviewed-by: Kamil Rytarowski <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Acked-by: Thomas Huth <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 11a82d14293cd66f428f535741717ff338c0722b
      
https://github.com/qemu/qemu/commit/11a82d14293cd66f428f535741717ff338c0722b
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M tests/qemu-iotests/001
    M tests/qemu-iotests/002
    M tests/qemu-iotests/003
    M tests/qemu-iotests/004
    M tests/qemu-iotests/005
    M tests/qemu-iotests/007
    M tests/qemu-iotests/008
    M tests/qemu-iotests/009
    M tests/qemu-iotests/010
    M tests/qemu-iotests/011
    M tests/qemu-iotests/012
    M tests/qemu-iotests/013
    M tests/qemu-iotests/014
    M tests/qemu-iotests/015
    M tests/qemu-iotests/017
    M tests/qemu-iotests/018
    M tests/qemu-iotests/019
    M tests/qemu-iotests/020
    M tests/qemu-iotests/021
    M tests/qemu-iotests/022
    M tests/qemu-iotests/023
    M tests/qemu-iotests/024
    M tests/qemu-iotests/025
    M tests/qemu-iotests/026
    M tests/qemu-iotests/027
    M tests/qemu-iotests/028
    M tests/qemu-iotests/029
    M tests/qemu-iotests/031
    M tests/qemu-iotests/032
    M tests/qemu-iotests/033
    M tests/qemu-iotests/034
    M tests/qemu-iotests/035
    M tests/qemu-iotests/036
    M tests/qemu-iotests/037
    M tests/qemu-iotests/038
    M tests/qemu-iotests/039
    M tests/qemu-iotests/042
    M tests/qemu-iotests/043
    M tests/qemu-iotests/046
    M tests/qemu-iotests/047
    M tests/qemu-iotests/048
    M tests/qemu-iotests/049
    M tests/qemu-iotests/050
    M tests/qemu-iotests/051
    M tests/qemu-iotests/052
    M tests/qemu-iotests/053
    M tests/qemu-iotests/054
    M tests/qemu-iotests/058
    M tests/qemu-iotests/059
    M tests/qemu-iotests/060
    M tests/qemu-iotests/061
    M tests/qemu-iotests/062
    M tests/qemu-iotests/063
    M tests/qemu-iotests/064
    M tests/qemu-iotests/066
    M tests/qemu-iotests/067
    M tests/qemu-iotests/068
    M tests/qemu-iotests/069
    M tests/qemu-iotests/070
    M tests/qemu-iotests/071
    M tests/qemu-iotests/072
    M tests/qemu-iotests/073
    M tests/qemu-iotests/074
    M tests/qemu-iotests/075
    M tests/qemu-iotests/076
    M tests/qemu-iotests/077
    M tests/qemu-iotests/078
    M tests/qemu-iotests/079
    M tests/qemu-iotests/080
    M tests/qemu-iotests/081
    M tests/qemu-iotests/082
    M tests/qemu-iotests/083
    M tests/qemu-iotests/084
    M tests/qemu-iotests/085
    M tests/qemu-iotests/086
    M tests/qemu-iotests/087
    M tests/qemu-iotests/088
    M tests/qemu-iotests/089
    M tests/qemu-iotests/090
    M tests/qemu-iotests/091
    M tests/qemu-iotests/092
    M tests/qemu-iotests/094
    M tests/qemu-iotests/095
    M tests/qemu-iotests/097
    M tests/qemu-iotests/098
    M tests/qemu-iotests/099
    M tests/qemu-iotests/101
    M tests/qemu-iotests/102
    M tests/qemu-iotests/103
    M tests/qemu-iotests/104
    M tests/qemu-iotests/105
    M tests/qemu-iotests/106
    M tests/qemu-iotests/107
    M tests/qemu-iotests/108
    M tests/qemu-iotests/109
    M tests/qemu-iotests/110
    M tests/qemu-iotests/111
    M tests/qemu-iotests/112
    M tests/qemu-iotests/113
    M tests/qemu-iotests/114
    M tests/qemu-iotests/115
    M tests/qemu-iotests/116
    M tests/qemu-iotests/117
    M tests/qemu-iotests/119
    M tests/qemu-iotests/120
    M tests/qemu-iotests/121
    M tests/qemu-iotests/122
    M tests/qemu-iotests/123
    M tests/qemu-iotests/125
    M tests/qemu-iotests/126
    M tests/qemu-iotests/127
    M tests/qemu-iotests/128
    M tests/qemu-iotests/130
    M tests/qemu-iotests/131
    M tests/qemu-iotests/133
    M tests/qemu-iotests/134
    M tests/qemu-iotests/135
    M tests/qemu-iotests/137
    M tests/qemu-iotests/138
    M tests/qemu-iotests/140
    M tests/qemu-iotests/141
    M tests/qemu-iotests/142
    M tests/qemu-iotests/143
    M tests/qemu-iotests/144
    M tests/qemu-iotests/145
    M tests/qemu-iotests/146
    M tests/qemu-iotests/150
    M tests/qemu-iotests/153
    M tests/qemu-iotests/154
    M tests/qemu-iotests/156
    M tests/qemu-iotests/157
    M tests/qemu-iotests/158
    M tests/qemu-iotests/159
    M tests/qemu-iotests/160
    M tests/qemu-iotests/161
    M tests/qemu-iotests/162
    M tests/qemu-iotests/170
    M tests/qemu-iotests/171
    M tests/qemu-iotests/172
    M tests/qemu-iotests/173
    M tests/qemu-iotests/174
    M tests/qemu-iotests/175
    M tests/qemu-iotests/176
    M tests/qemu-iotests/177
    M tests/qemu-iotests/178
    M tests/qemu-iotests/179
    M tests/qemu-iotests/181
    M tests/qemu-iotests/182
    M tests/qemu-iotests/183
    M tests/qemu-iotests/184
    M tests/qemu-iotests/185
    M tests/qemu-iotests/186
    M tests/qemu-iotests/187
    M tests/qemu-iotests/188
    M tests/qemu-iotests/189
    M tests/qemu-iotests/190
    M tests/qemu-iotests/191
    M tests/qemu-iotests/192
    M tests/qemu-iotests/195
    M tests/qemu-iotests/197
    M tests/qemu-iotests/198
    M tests/qemu-iotests/200
    M tests/qemu-iotests/201
    M tests/qemu-iotests/204
    M tests/qemu-iotests/214
    M tests/qemu-iotests/215
    M tests/qemu-iotests/217
    M tests/qemu-iotests/220
    M tests/qemu-iotests/221
    M tests/qemu-iotests/223
    M tests/qemu-iotests/225
    M tests/qemu-iotests/226
    M tests/qemu-iotests/227
    M tests/qemu-iotests/229
    M tests/qemu-iotests/231
    M tests/qemu-iotests/232
    M tests/qemu-iotests/233
    M tests/qemu-iotests/check
    M tests/qemu-iotests/common.config
    M tests/qemu-iotests/common.filter
    M tests/qemu-iotests/common.nbd
    M tests/qemu-iotests/common.pattern
    M tests/qemu-iotests/common.qemu
    M tests/qemu-iotests/common.rc
    M tests/qemu-iotests/common.tls

  Log Message:
  -----------
  qemu-iotests: Improve portability by searching bash in the $PATH

Bash is not always installed as /bin/bash. In particular on OpenBSD,
the package installs it in /usr/local/bin.
Use the 'env' shebang to search bash in the $PATH.

Patch created mechanically by running:

  $ git grep -lE '#! ?/bin/bash' -- tests/qemu-iotests \
    | while read f; do \
      sed -i 's|^#!.\?/bin/bash$|#!/usr/bin/env bash|' $f; \
    done

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: bde36af1ab4f476d38bfbcc1d890b08b7164a8f4
      
https://github.com/qemu/qemu/commit/bde36af1ab4f476d38bfbcc1d890b08b7164a8f4
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M tests/qemu-iotests/common.filter
    M tests/qemu-iotests/common.rc

  Log Message:
  -----------
  qemu-iotests: Ensure GNU sed is used

Various sed regexp from common.filter use sed GNU extensions.
Instead of spending time to write these regex to be POSIX compliant,
verify the GNU sed is available and use it.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 97f94cb4f842ff43e21e990e59a3ca01708e76d0
      
https://github.com/qemu/qemu/commit/97f94cb4f842ff43e21e990e59a3ca01708e76d0
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    A tests/qemu-iotests/243
    A tests/qemu-iotests/243.out
    M tests/qemu-iotests/group

  Log Message:
  -----------
  qemu-iotests: Test qcow2 preallocation modes

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>


  Commit: c5e86ebc113407dce87b813d68ff3abe9496f422
      
https://github.com/qemu/qemu/commit/c5e86ebc113407dce87b813d68ff3abe9496f422
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Simplify preallocation code

Image creation already involves a bdrv_co_truncate() call, which allows
to specify a preallocation mode. Just pass the right mode there and
remove the code that is made redundant by this.

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 65a3d073e9766ed878474525118dbf0c7233caab
      
https://github.com/qemu/qemu/commit/65a3d073e9766ed878474525118dbf0c7233caab
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M docs/interop/qcow2.txt

  Log Message:
  -----------
  qcow2: Extend spec for external data files

This adds external data file to the qcow2 spec as a new incompatible
feature.

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 93c2493646a063a0b0660b47647badf3c43108c7
      
https://github.com/qemu/qemu/commit/93c2493646a063a0b0660b47647badf3c43108c7
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M block/qcow2.c
    M block/qcow2.h
    M tests/qemu-iotests/031.out
    M tests/qemu-iotests/036.out
    M tests/qemu-iotests/061.out

  Log Message:
  -----------
  qcow2: Basic definitions for external data files

This adds basic constants, struct fields and helper function for
external data file support to the implementation.

QCOW2_INCOMPAT_MASK and QCOW2_AUTOCLEAR_MASK are not updated yet so that
opening images with an external data file still fails (we don't handle
them correctly yet).

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 808c2bb4c4b46733c0983ee7f0bfabf9a2f83c25
      
https://github.com/qemu/qemu/commit/808c2bb4c4b46733c0983ee7f0bfabf9a2f83c25
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M block/qcow2-cluster.c
    M block/qcow2-refcount.c
    M block/qcow2.h

  Log Message:
  -----------
  qcow2: Pass bs to qcow2_get_cluster_type()

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: a4ea184d8af936cdc4bea4afdb5c30ffaed0c4f7
      
https://github.com/qemu/qemu/commit/a4ea184d8af936cdc4bea4afdb5c30ffaed0c4f7
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M block/qcow2.h

  Log Message:
  -----------
  qcow2: Prepare qcow2_get_cluster_type() for external data file

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: b8c8353a38296fbb92e05a2843e853c1ddfc2674
      
https://github.com/qemu/qemu/commit/b8c8353a38296fbb92e05a2843e853c1ddfc2674
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M block/qcow2-cluster.c

  Log Message:
  -----------
  qcow2: Prepare count_contiguous_clusters() for external data file

Offset 0 can be valid for normal (allocated) clusters now, so use
qcow2_get_cluster_type() instead.

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: c6d619cc12813acb2b1198f28cf2256ea9a30107
      
https://github.com/qemu/qemu/commit/c6d619cc12813acb2b1198f28cf2256ea9a30107
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M block/qcow2-cluster.c
    M block/qcow2.h

  Log Message:
  -----------
  qcow2: Don't assume 0 is an invalid cluster offset

The cluster allocation code uses 0 as an invalid offset that is used in
case of errors or as "offset not yet determined". With external data
files, a host cluster offset of 0 becomes valid, though.

Define a constant INV_OFFSET (which is not cluster aligned and will
therefore never be a valid offset) that can be used for such purposes.

This removes the additional host_offset == 0 check that commit
ff52aab2df5 introduced; the confusion between an invalid offset and
(erroneous) allocation at offset 0 is removed with this change.

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 77e023ff79222191e8cc3d377504da8f19926837
      
https://github.com/qemu/qemu/commit/77e023ff79222191e8cc3d377504da8f19926837
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M block/qcow2-cluster.c
    M block/qcow2.c
    M block/qcow2.h
    M tests/qemu-iotests/220.out

  Log Message:
  -----------
  qcow2: Return 0/-errno in qcow2_alloc_compressed_cluster_offset()

qcow2_alloc_compressed_cluster_offset() used to return the cluster
offset for success and 0 for error. This doesn't only conflict with 0 as
a valid host offset, but also loses the error code.

Similar to the change made to qcow2_alloc_cluster_offset() for
uncompressed clusters in commit 148da7ea9d6, make the function return
0/-errno and return the allocated cluster offset in a by-reference
parameter.

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 37be14036b1a7ae066f76d3296bbd37b0c697637
      
https://github.com/qemu/qemu/commit/37be14036b1a7ae066f76d3296bbd37b0c697637
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Prepare qcow2_co_block_status() for data file

Offset 0 cannot be assumed to mean an unallocated cluster any more.
Instead, the cluster type needs to be checked.

*file must refer to the data file instead of the image file if a valid
offset is returned from qcow2_co_block_status().

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 966b000f49c3f44d2853d691f6bbc2a4e1f2d0b0
      
https://github.com/qemu/qemu/commit/966b000f49c3f44d2853d691f6bbc2a4e1f2d0b0
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M block/qcow2-bitmap.c
    M block/qcow2-cache.c
    M block/qcow2-cluster.c
    M block/qcow2-refcount.c
    M block/qcow2-snapshot.c
    M block/qcow2.c
    M block/qcow2.h

  Log Message:
  -----------
  qcow2: External file I/O

This changes the qcow2 implementation to direct all guest data I/O to
s->data_file rather than bs->file, while metadata I/O still uses
bs->file. At the moment, this is still always the same, but soon we'll
add options to set s->data_file to an external data file.

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: aa8b34c1b21b8a977de0293cfba9fb91ed14350d
      
https://github.com/qemu/qemu/commit/aa8b34c1b21b8a977de0293cfba9fb91ed14350d
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M block/qcow2-snapshot.c

  Log Message:
  -----------
  qcow2: Return error for snapshot operation with data file

Internal snapshots and an external data file are incompatible because
snapshots require refcounting and non-linear mapping. Return an error
for all of the snapshot operations if an external data file is in use.

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: e9f5b6deaa865e5265327de42b77553840c94880
      
https://github.com/qemu/qemu/commit/e9f5b6deaa865e5265327de42b77553840c94880
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M block/qcow2-refcount.c

  Log Message:
  -----------
  qcow2: Support external data file in qemu-img check

For external data files, data clusters must be excluded from the
refcount calculations. Instead, an implicit refcount of 1 is assumed for
the COPIED flag.

Compressed clusters and internal snapshots are incompatible with
external data files, so print an error if they are in use for images
with an external data file.

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 0e8c08be276637a7339a05a4646b6eb8428ee802
      
https://github.com/qemu/qemu/commit/0e8c08be276637a7339a05a4646b6eb8428ee802
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M block/qcow2.c
    M block/qcow2.h
    M qapi/block-core.json

  Log Message:
  -----------
  qcow2: Add basic data-file infrastructure

This adds a .bdrv_open option to specify the external data file node.

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: dcc98687f82b8a8d58d0eb7bc15c95d28f35708f
      
https://github.com/qemu/qemu/commit/dcc98687f82b8a8d58d0eb7bc15c95d28f35708f
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M block/qcow2.c
    M include/block/block_int.h
    M qapi/block-core.json

  Log Message:
  -----------
  qcow2: Creating images with external data file

This adds a .bdrv_create option to use an external data file.

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 9b890bdcb6ec11868da92c1daeb51c69d9483da8
      
https://github.com/qemu/qemu/commit/9b890bdcb6ec11868da92c1daeb51c69d9483da8
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M block/qcow2.c
    M block/qcow2.h
    M qapi/block-core.json
    M tests/qemu-iotests/082.out

  Log Message:
  -----------
  qcow2: Store data file name in the image

Rather than requiring that the external data file node is passed
explicitly when creating the qcow2 node, store the filename in the
designated header extension during .bdrv_create and read it from there
as a default during .bdrv_open.

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 6c3944dc6219cefef6a968cf300d227fe3f92388
      
https://github.com/qemu/qemu/commit/6c3944dc6219cefef6a968cf300d227fe3f92388
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M block/qcow2-cluster.c
    M block/qcow2.c
    M block/qcow2.h
    M include/block/block_int.h
    M qapi/block-core.json
    M tests/qemu-iotests/082.out

  Log Message:
  -----------
  qcow2: Implement data-file-raw create option

Provide an option to force QEMU to always keep the external data file
consistent as a standalone read-only raw image.

At the moment, this means making sure that write_zeroes requests are
forwarded to the data file instead of just updating the metadata, and
checking that no backing file is used.

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: c35896c5e85d783a7248ef5cb12a9a82dbb7d5d6
      
https://github.com/qemu/qemu/commit/c35896c5e85d783a7248ef5cb12a9a82dbb7d5d6
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M tests/qemu-iotests/243
    M tests/qemu-iotests/243.out

  Log Message:
  -----------
  qemu-iotests: Preallocation with external data file

Test that preallocating metadata results in a somewhat larger qcow2
file, but preallocating data only affects the disk usage of the data
file and the qcow2 file stays small.

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 76b90e23e71ecdbfba1ea6bea88502bd9d1fd82f
      
https://github.com/qemu/qemu/commit/76b90e23e71ecdbfba1ea6bea88502bd9d1fd82f
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    A tests/qemu-iotests/244
    A tests/qemu-iotests/244.out
    M tests/qemu-iotests/group

  Log Message:
  -----------
  qemu-iotests: General tests for qcow2 with external data file

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: ac40260dc554f20f06f23d458ec726360ddf8e39
      
https://github.com/qemu/qemu/commit/ac40260dc554f20f06f23d458ec726360ddf8e39
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M tests/qemu-iotests/061
    M tests/qemu-iotests/061.out

  Log Message:
  -----------
  qemu-iotests: amend with external data file

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 377213f4d1373feee1621e32870f19eb515b7388
      
https://github.com/qemu/qemu/commit/377213f4d1373feee1621e32870f19eb515b7388
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M tests/Makefile.include

  Log Message:
  -----------
  ahci-test: Add dependency to qemu-img tool

Since the ahci-test uses qemu-img, add a dependency to build it
before using it.
This fixes:

  $ gmake check-qtest V=1
  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img 
tests/ahci-test
  Failed to execute child process "/tmp/qemu-test.19tMRF/qemu-img" (No such 
file or directory)
  ERROR:tests/libqos/libqos.c:192:mkimg: assertion failed: (ret && !err)

Reviewed-by: John Snow <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 9c2b28e4584f51896e4889239464ec0e469b96fa
      
https://github.com/qemu/qemu/commit/9c2b28e4584f51896e4889239464ec0e469b96fa
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M tests/Makefile.include

  Log Message:
  -----------
  qemu-iotests: Add dependency to qemu-nbd tool

Since a9660664fde, some iotests use qemu-nbd.
Add a dependency to build it before using it.
This fixes:

  $ make check-block
    GEN     qemu-img-cmds.h
    CC      qemu-img.o
    LINK    qemu-img
    CC      qemu-io.o
    LINK    qemu-io
    CC      tests/qemu-iotests/socket_scm_helper.o
    LINK    tests/qemu-iotests/socket_scm_helper
  tests/qemu-iotests-quick.sh
  check: qemu-nbd not found
  make: *** [tests/Makefile.include:1059: check-tests/qemu-iotests-quick.sh] 
Error 1

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: e88153ea9a40009a8ae7648282c0eac1b7f5494f
      
https://github.com/qemu/qemu/commit/e88153ea9a40009a8ae7648282c0eac1b7f5494f
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-08 (Fri, 08 Mar 2019)

  Changed paths:
    M docs/interop/qcow2.txt

  Log Message:
  -----------
  qcow2 spec: Describe string header extensions

Be more specific about the string representation in header extensions.

Suggested-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>


  Commit: 4c76137484878f42a2ce1ae1b888b6a7f66b4053
      
https://github.com/qemu/qemu/commit/4c76137484878f42a2ce1ae1b888b6a7f66b4053
  Author: Peter Maydell <address@hidden>
  Date:   2019-03-09 (Sat, 09 Mar 2019)

  Changed paths:
    M block.c
    M block/qcow2-bitmap.c
    M block/qcow2-cache.c
    M block/qcow2-cluster.c
    M block/qcow2-refcount.c
    M block/qcow2-snapshot.c
    M block/qcow2.c
    M block/qcow2.h
    M blockdev.c
    M docs/interop/qcow2.txt
    M docs/qcow2-cache.txt
    M include/block/block.h
    M include/block/block_int.h
    M qapi/block-core.json
    M qemu-img.c
    M tests/Makefile.include
    M tests/multiboot/run_test.sh
    M tests/qemu-iotests/001
    M tests/qemu-iotests/002
    M tests/qemu-iotests/003
    M tests/qemu-iotests/004
    M tests/qemu-iotests/005
    M tests/qemu-iotests/007
    M tests/qemu-iotests/008
    M tests/qemu-iotests/009
    M tests/qemu-iotests/010
    M tests/qemu-iotests/011
    M tests/qemu-iotests/012
    M tests/qemu-iotests/013
    M tests/qemu-iotests/014
    M tests/qemu-iotests/015
    M tests/qemu-iotests/017
    M tests/qemu-iotests/018
    M tests/qemu-iotests/019
    M tests/qemu-iotests/020
    M tests/qemu-iotests/021
    M tests/qemu-iotests/022
    M tests/qemu-iotests/023
    M tests/qemu-iotests/024
    M tests/qemu-iotests/025
    M tests/qemu-iotests/026
    M tests/qemu-iotests/027
    M tests/qemu-iotests/028
    M tests/qemu-iotests/029
    M tests/qemu-iotests/031
    M tests/qemu-iotests/031.out
    M tests/qemu-iotests/032
    M tests/qemu-iotests/033
    M tests/qemu-iotests/034
    M tests/qemu-iotests/035
    M tests/qemu-iotests/036
    M tests/qemu-iotests/036.out
    M tests/qemu-iotests/037
    M tests/qemu-iotests/038
    M tests/qemu-iotests/039
    M tests/qemu-iotests/042
    M tests/qemu-iotests/043
    M tests/qemu-iotests/046
    M tests/qemu-iotests/047
    M tests/qemu-iotests/048
    M tests/qemu-iotests/049
    M tests/qemu-iotests/050
    M tests/qemu-iotests/051
    M tests/qemu-iotests/052
    M tests/qemu-iotests/053
    M tests/qemu-iotests/054
    M tests/qemu-iotests/058
    M tests/qemu-iotests/059
    M tests/qemu-iotests/060
    M tests/qemu-iotests/061
    M tests/qemu-iotests/061.out
    M tests/qemu-iotests/062
    M tests/qemu-iotests/063
    M tests/qemu-iotests/064
    M tests/qemu-iotests/066
    M tests/qemu-iotests/067
    M tests/qemu-iotests/068
    M tests/qemu-iotests/069
    M tests/qemu-iotests/070
    M tests/qemu-iotests/071
    M tests/qemu-iotests/072
    M tests/qemu-iotests/073
    M tests/qemu-iotests/074
    M tests/qemu-iotests/075
    M tests/qemu-iotests/076
    M tests/qemu-iotests/077
    M tests/qemu-iotests/078
    M tests/qemu-iotests/079
    M tests/qemu-iotests/080
    M tests/qemu-iotests/081
    M tests/qemu-iotests/082
    M tests/qemu-iotests/082.out
    M tests/qemu-iotests/083
    M tests/qemu-iotests/084
    M tests/qemu-iotests/085
    M tests/qemu-iotests/086
    M tests/qemu-iotests/087
    M tests/qemu-iotests/088
    M tests/qemu-iotests/089
    M tests/qemu-iotests/090
    M tests/qemu-iotests/091
    M tests/qemu-iotests/092
    M tests/qemu-iotests/094
    M tests/qemu-iotests/095
    M tests/qemu-iotests/097
    M tests/qemu-iotests/098
    M tests/qemu-iotests/099
    M tests/qemu-iotests/101
    M tests/qemu-iotests/102
    M tests/qemu-iotests/103
    M tests/qemu-iotests/104
    M tests/qemu-iotests/105
    M tests/qemu-iotests/106
    M tests/qemu-iotests/107
    M tests/qemu-iotests/108
    M tests/qemu-iotests/109
    M tests/qemu-iotests/110
    M tests/qemu-iotests/111
    M tests/qemu-iotests/112
    M tests/qemu-iotests/113
    M tests/qemu-iotests/114
    M tests/qemu-iotests/115
    M tests/qemu-iotests/116
    M tests/qemu-iotests/117
    M tests/qemu-iotests/119
    M tests/qemu-iotests/120
    M tests/qemu-iotests/121
    M tests/qemu-iotests/122
    M tests/qemu-iotests/123
    M tests/qemu-iotests/125
    M tests/qemu-iotests/126
    M tests/qemu-iotests/127
    M tests/qemu-iotests/128
    M tests/qemu-iotests/130
    M tests/qemu-iotests/131
    M tests/qemu-iotests/133
    M tests/qemu-iotests/134
    M tests/qemu-iotests/135
    M tests/qemu-iotests/137
    M tests/qemu-iotests/138
    M tests/qemu-iotests/139
    M tests/qemu-iotests/140
    M tests/qemu-iotests/141
    M tests/qemu-iotests/142
    M tests/qemu-iotests/143
    M tests/qemu-iotests/144
    M tests/qemu-iotests/145
    M tests/qemu-iotests/146
    M tests/qemu-iotests/150
    M tests/qemu-iotests/153
    M tests/qemu-iotests/154
    M tests/qemu-iotests/156
    M tests/qemu-iotests/157
    M tests/qemu-iotests/158
    M tests/qemu-iotests/159
    M tests/qemu-iotests/160
    M tests/qemu-iotests/161
    M tests/qemu-iotests/162
    M tests/qemu-iotests/170
    M tests/qemu-iotests/171
    M tests/qemu-iotests/172
    M tests/qemu-iotests/173
    M tests/qemu-iotests/174
    M tests/qemu-iotests/175
    M tests/qemu-iotests/176
    M tests/qemu-iotests/177
    M tests/qemu-iotests/178
    M tests/qemu-iotests/179
    M tests/qemu-iotests/181
    M tests/qemu-iotests/182
    M tests/qemu-iotests/183
    M tests/qemu-iotests/184
    M tests/qemu-iotests/185
    M tests/qemu-iotests/186
    M tests/qemu-iotests/187
    M tests/qemu-iotests/188
    M tests/qemu-iotests/189
    M tests/qemu-iotests/190
    M tests/qemu-iotests/191
    M tests/qemu-iotests/192
    M tests/qemu-iotests/195
    M tests/qemu-iotests/197
    M tests/qemu-iotests/198
    M tests/qemu-iotests/200
    M tests/qemu-iotests/201
    M tests/qemu-iotests/204
    M tests/qemu-iotests/214
    M tests/qemu-iotests/215
    M tests/qemu-iotests/217
    M tests/qemu-iotests/220
    M tests/qemu-iotests/220.out
    M tests/qemu-iotests/221
    M tests/qemu-iotests/223
    M tests/qemu-iotests/225
    M tests/qemu-iotests/226
    M tests/qemu-iotests/227
    M tests/qemu-iotests/229
    M tests/qemu-iotests/231
    M tests/qemu-iotests/232
    M tests/qemu-iotests/233
    M tests/qemu-iotests/238
    A tests/qemu-iotests/243
    A tests/qemu-iotests/243.out
    A tests/qemu-iotests/244
    A tests/qemu-iotests/244.out
    M tests/qemu-iotests/check
    M tests/qemu-iotests/common.config
    M tests/qemu-iotests/common.filter
    M tests/qemu-iotests/common.nbd
    M tests/qemu-iotests/common.pattern
    M tests/qemu-iotests/common.qemu
    M tests/qemu-iotests/common.rc
    M tests/qemu-iotests/common.tls
    M tests/qemu-iotests/group
    M tests/qemu-iotests/iotests.py

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging

Block layer patches:

- qcow2: Support for external data files
- qcow2: Default to 4KB for the qcow2 cache entry size
- Apply block driver whitelist for -drive format=help
- Several qemu-iotests improvements

# gpg: Signature made Fri 08 Mar 2019 12:54:27 GMT
# gpg:                using RSA key 7F09B272C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6

* remotes/kevin/tags/for-upstream: (33 commits)
  qcow2 spec: Describe string header extensions
  qemu-iotests: Add dependency to qemu-nbd tool
  ahci-test: Add dependency to qemu-img tool
  qemu-iotests: amend with external data file
  qemu-iotests: General tests for qcow2 with external data file
  qemu-iotests: Preallocation with external data file
  qcow2: Implement data-file-raw create option
  qcow2: Store data file name in the image
  qcow2: Creating images with external data file
  qcow2: Add basic data-file infrastructure
  qcow2: Support external data file in qemu-img check
  qcow2: Return error for snapshot operation with data file
  qcow2: External file I/O
  qcow2: Prepare qcow2_co_block_status() for data file
  qcow2: Return 0/-errno in qcow2_alloc_compressed_cluster_offset()
  qcow2: Don't assume 0 is an invalid cluster offset
  qcow2: Prepare count_contiguous_clusters() for external data file
  qcow2: Prepare qcow2_get_cluster_type() for external data file
  qcow2: Pass bs to qcow2_get_cluster_type()
  qcow2: Basic definitions for external data files
  ...

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/1eb5da3b7324...4c7613748487



reply via email to

[Prev in Thread] Current Thread [Next in Thread]