qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 7b1d9c: block: Add bdrv_qapi_perm_to_blk_perm


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 7b1d9c: block: Add bdrv_qapi_perm_to_blk_perm()
Date: Mon, 06 Jan 2020 10:30:13 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 7b1d9c4df0603fbc526226a9c5ef91118aa6c957
      
https://github.com/qemu/qemu/commit/7b1d9c4df0603fbc526226a9c5ef91118aa6c957
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M block.c
    M include/block/block.h

  Log Message:
  -----------
  block: Add bdrv_qapi_perm_to_blk_perm()

We need some way to correlate QAPI BlockPermission values with
BLK_PERM_* flags.  We could:

(1) have the same order in the QAPI definition as the the BLK_PERM_*
    flags are in LSb-first order.  However, then there is no guarantee
    that they actually match (e.g. when someone modifies the QAPI schema
    without thinking of the BLK_PERM_* definitions).
    We could add static assertions, but these would break what’s good
    about this solution, namely its simplicity.

(2) define the BLK_PERM_* flags based on the BlockPermission values.
    But this way whenever someone were to modify the QAPI order
    (perfectly sensible in theory), the BLK_PERM_* values would change.
    Because these values are used for file locking, this might break
    file locking between different qemu versions.

Therefore, go the slightly more cumbersome way: Add a function to
translate from the QAPI constants to the BLK_PERM_* flags.

Signed-off-by: Max Reitz <address@hidden>
Message-id: address@hidden
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: cdb1cec89e6aae1df3f5488574a9c3bcd61474c6
      
https://github.com/qemu/qemu/commit/cdb1cec89e6aae1df3f5488574a9c3bcd61474c6
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Use bdrv_qapi_perm_to_blk_perm()

We can save some LoC in xdbg_graph_add_edge() by using
bdrv_qapi_perm_to_blk_perm().

Signed-off-by: Max Reitz <address@hidden>
Message-id: address@hidden
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 69c6449ff10fe4e3219e960549307096d5366bd0
      
https://github.com/qemu/qemu/commit/69c6449ff10fe4e3219e960549307096d5366bd0
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

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

  Log Message:
  -----------
  blkdebug: Allow taking/unsharing permissions

Sometimes it is useful to be able to add a node to the block graph that
takes or unshare a certain set of permissions for debugging purposes.
This patch adds this capability to blkdebug.

(Note that you cannot make blkdebug release or share permissions that it
needs to take or cannot share, because this might result in assertion
failures in the block layer.  But if the blkdebug node has no parents,
it will not take any permissions and share everything by default, so you
can then freely choose what permissions to take and share.)

Signed-off-by: Max Reitz <address@hidden>
Message-id: address@hidden
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 216656f5f96c87128b2fb58e24332da6b35f8873
      
https://github.com/qemu/qemu/commit/216656f5f96c87128b2fb58e24332da6b35f8873
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

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

  Log Message:
  -----------
  iotests: Add @error to wait_until_completed

Callers can use this new parameter to expect failure during the
completion process.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: John Snow <address@hidden>
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 9592fe459b96a2cdc1ccdf8a34e0316d8ddccedb
      
https://github.com/qemu/qemu/commit/9592fe459b96a2cdc1ccdf8a34e0316d8ddccedb
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

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

  Log Message:
  -----------
  iotests: Add test for failing mirror complete

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Tested-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 88be15a9e19c5130ecef07f2d01f7030bdf44051
      
https://github.com/qemu/qemu/commit/88be15a9e19c5130ecef07f2d01f7030bdf44051
  Author: PanNengyuan <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M block/throttle-groups.c

  Log Message:
  -----------
  throttle-groups: fix memory leak in throttle_group_set_limit:

This avoid a memory leak when qom-set is called to set throttle_group
limits, here is an easy way to reproduce:

1. run qemu-iotests as follow and check the result with asan:
       ./check -qcow2 184

Following is the asan output backtrack:
Direct leak of 912 byte(s) in 3 object(s) allocated from:
    #0 0xffff8d7ab3c3 in __interceptor_calloc   (/lib64/libasan.so.4+0xd33c3)
    #1 0xffff8d4c31cb in g_malloc0   (/lib64/libglib-2.0.so.0+0x571cb)
    #2 0x190c857 in qobject_input_start_struct  
/mnt/sdc/qemu-master/qemu-4.2.0-rc0/qapi/qobject-input-visitor.c:295
    #3 0x19070df in visit_start_struct   
/mnt/sdc/qemu-master/qemu-4.2.0-rc0/qapi/qapi-visit-core.c:49
    #4 0x1948b87 in visit_type_ThrottleLimits   
qapi/qapi-visit-block-core.c:3759
    #5 0x17e4aa3 in throttle_group_set_limits   
/mnt/sdc/qemu-master/qemu-4.2.0-rc0/block/throttle-groups.c:900
    #6 0x1650eff in object_property_set     
/mnt/sdc/qemu-master/qemu-4.2.0-rc0/qom/object.c:1272
    #7 0x1658517 in object_property_set_qobject   
/mnt/sdc/qemu-master/qemu-4.2.0-rc0/qom/qom-qobject.c:26
    #8 0x15880bb in qmp_qom_set  
/mnt/sdc/qemu-master/qemu-4.2.0-rc0/qom/qom-qmp-cmds.c:74
    #9 0x157e3e3 in qmp_marshal_qom_set  qapi/qapi-commands-qom.c:154

Reported-by: Euler Robot <address@hidden>
Signed-off-by: PanNengyuan <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: a1db8733d28d615bc0daeada6c406a6dd5c5d5ef
      
https://github.com/qemu/qemu/commit/a1db8733d28d615bc0daeada6c406a6dd5c5d5ef
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M block/qcow2-bitmap.c

  Log Message:
  -----------
  qcow2-bitmaps: fix qcow2_can_store_new_dirty_bitmap

qcow2_can_store_new_dirty_bitmap works wrong, as it considers only
bitmaps already stored in the qcow2 image and ignores persistent
BdrvDirtyBitmap objects.

So, let's instead count persistent BdrvDirtyBitmaps. We load all qcow2
bitmaps on open, so there should not be any bitmap in the image for
which we don't have BdrvDirtyBitmaps version. If it is - it's a kind of
corruption, and no reason to check for corruptions here (open() and
close() are better places for it).

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Message-id: address@hidden
Reviewed-by: Max Reitz <address@hidden>
Cc: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: e696f335eb1d48cd8b35bbcf145106c0b7a0396a
      
https://github.com/qemu/qemu/commit/e696f335eb1d48cd8b35bbcf145106c0b7a0396a
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M tests/qemu-iotests/060
    M tests/qemu-iotests/061
    M tests/qemu-iotests/062
    M tests/qemu-iotests/066
    M tests/qemu-iotests/068
    M tests/qemu-iotests/108
    M tests/qemu-iotests/138
    M tests/qemu-iotests/261

  Log Message:
  -----------
  iotests: s/qocw2/qcow2/

Probably due to blind copy-pasting, we have several instances of "qocw2"
in our iotests.  Fix them.

Reported-by: Maxim Levitsky <address@hidden>
Signed-off-by: Max Reitz <address@hidden>
Message-id: address@hidden
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 1aa6630e7b30ae61ed4b990374e7226699f4c76c
      
https://github.com/qemu/qemu/commit/1aa6630e7b30ae61ed4b990374e7226699f4c76c
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

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

  Log Message:
  -----------
  iotests/qcow2.py: Add dump-header-exts

This is useful for tests that want to whitelist fields from dump-header
(with grep) but still print all header extensions.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 0485e6ee4cc8a2cec5984cb00218b66e103684f0
      
https://github.com/qemu/qemu/commit/0485e6ee4cc8a2cec5984cb00218b66e103684f0
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M tests/qemu-iotests/031.out
    M tests/qemu-iotests/036.out
    M tests/qemu-iotests/039.out
    M tests/qemu-iotests/060.out
    M tests/qemu-iotests/061.out
    M tests/qemu-iotests/137.out
    M tests/qemu-iotests/qcow2.py

  Log Message:
  -----------
  iotests/qcow2.py: Split feature fields into bits

Print the feature fields as a set of bits so that filtering is easier.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: a75b7b5757f840a83c3961eff67cb25f9198936c
      
https://github.com/qemu/qemu/commit/a75b7b5757f840a83c3961eff67cb25f9198936c
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

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

  Log Message:
  -----------
  iotests: Add _filter_json_filename

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 7ab2a25890c9982b02c0e64022c78782da0ad274
      
https://github.com/qemu/qemu/commit/7ab2a25890c9982b02c0e64022c78782da0ad274
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

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

  Log Message:
  -----------
  iotests: Filter refcount_order in 036

This test can run just fine with other values for refcount_bits, so we
should filter the value from qcow2.py's dump-header.  In fact, we can
filter everything but the feature bits and header extensions, because
that is what the test is about.

(036 currently ignores user-specified image options, but that will be
fixed in the next patch.)

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: b043b07ce3057ace905e6f22692fa110b45d10eb
      
https://github.com/qemu/qemu/commit/b043b07ce3057ace905e6f22692fa110b45d10eb
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M tests/qemu-iotests/036
    M tests/qemu-iotests/060
    M tests/qemu-iotests/062
    M tests/qemu-iotests/066
    M tests/qemu-iotests/068
    M tests/qemu-iotests/098

  Log Message:
  -----------
  iotests: Replace IMGOPTS by _unsupported_imgopts

Some tests require compat=1.1 and thus set IMGOPTS='compat=1.1'
globally.  That is not how it should be done; instead, they should
simply set _unsupported_imgopts to compat=0.10 (compat=1.1 is the
default anyway).

This makes the tests heed user-specified $IMGOPTS.  Some do not work
with all image options, though, so we need to disable them accordingly.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 8d1c81379c12f64df829b70e687ac1ff5359b8c0
      
https://github.com/qemu/qemu/commit/8d1c81379c12f64df829b70e687ac1ff5359b8c0
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M tests/qemu-iotests/050

  Log Message:
  -----------
  iotests: Drop compat=1.1 in 050

IMGOPTS can never be empty for qcow2, because the check scripts adds
compat=1.1 unless the user specified any compat option themselves.
Thus, this block does not do anything and can be dropped.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: eea871d047701b563cfd66c1566b9ff6d163882b
      
https://github.com/qemu/qemu/commit/eea871d047701b563cfd66c1566b9ff6d163882b
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

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

  Log Message:
  -----------
  iotests: Let _make_test_img parse its parameters

This will allow us to add more options than just -b.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 8b6d7be6a6f8b8e71ab19d63021aad72a0fe1c6b
      
https://github.com/qemu/qemu/commit/8b6d7be6a6f8b8e71ab19d63021aad72a0fe1c6b
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

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

  Log Message:
  -----------
  iotests: Add -o and --no-opts to _make_test_img

Blindly overriding IMGOPTS is suboptimal as this discards user-specified
options.  Whatever options the test needs should simply be appended.

Some tests do this (with IMGOPTS=$(_optstr_add "$IMGOPTS" "...")), but
that is cumbersome.  It’s simpler to just give _make_test_img an -o
parameter with which tests can add options.

Some tests actually must override the user-specified options, though,
for example when creating an image in a different format than the test
$IMGFMT.  For such cases, --no-opts allows clearing the current option
list.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 1c6d2f2128ba5e6848d078436f4252660b4d2af1
      
https://github.com/qemu/qemu/commit/1c6d2f2128ba5e6848d078436f4252660b4d2af1
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M tests/qemu-iotests/051

  Log Message:
  -----------
  iotests: Inject space into -ocompat=0.10 in 051

It did not matter before, but now that _make_test_img understands -o, we
should use it properly here.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 407fb56a8e10982d6e04b7a73e0c2cea3bed88b9
      
https://github.com/qemu/qemu/commit/407fb56a8e10982d6e04b7a73e0c2cea3bed88b9
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M tests/qemu-iotests/031
    M tests/qemu-iotests/039
    M tests/qemu-iotests/059
    M tests/qemu-iotests/060
    M tests/qemu-iotests/061
    M tests/qemu-iotests/079
    M tests/qemu-iotests/106
    M tests/qemu-iotests/108
    M tests/qemu-iotests/112
    M tests/qemu-iotests/115
    M tests/qemu-iotests/121
    M tests/qemu-iotests/125
    M tests/qemu-iotests/137
    M tests/qemu-iotests/138
    M tests/qemu-iotests/175
    M tests/qemu-iotests/190
    M tests/qemu-iotests/191
    M tests/qemu-iotests/220
    M tests/qemu-iotests/243
    M tests/qemu-iotests/244
    M tests/qemu-iotests/250
    M tests/qemu-iotests/265

  Log Message:
  -----------
  iotests: Replace IMGOPTS= by -o

Tests should not overwrite all user-supplied image options, but only add
to it (which will effectively overwrite conflicting values).  Accomplish
this by passing options to _make_test_img via -o instead of $IMGOPTS.

For some tests, there is no functional change because they already only
appended options to IMGOPTS.  For these, this patch is just a
simplification.

For others, this is a change, so they now heed user-specified $IMGOPTS.
Some of those tests do not work with all image options, though, so we
need to disable them accordingly.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 10b612565ca96c7d660b3a77fa7cfb9dc3a0c9d0
      
https://github.com/qemu/qemu/commit/10b612565ca96c7d660b3a77fa7cfb9dc3a0c9d0
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M tests/qemu-iotests/071
    M tests/qemu-iotests/174
    M tests/qemu-iotests/178
    M tests/qemu-iotests/197
    M tests/qemu-iotests/215

  Log Message:
  -----------
  iotests: Replace IMGOPTS='' by --no-opts

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: ecb4c1d116634c49aee91680e87d6d89044d2632
      
https://github.com/qemu/qemu/commit/ecb4c1d116634c49aee91680e87d6d89044d2632
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M tests/qemu-iotests/267

  Log Message:
  -----------
  iotests: Drop IMGOPTS use in 267

Overwriting IMGOPTS means ignoring all user-supplied options, which is
not what we want.  Replace the current IMGOPTS use by a new BACKING_FILE
variable.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 52a97b5a42d485e89ce61c0310c3cd78fb998938
      
https://github.com/qemu/qemu/commit/52a97b5a42d485e89ce61c0310c3cd78fb998938
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M tests/qemu-iotests/094
    M tests/qemu-iotests/111
    M tests/qemu-iotests/123
    M tests/qemu-iotests/153
    M tests/qemu-iotests/200

  Log Message:
  -----------
  iotests: Avoid qemu-img create

Use _make_test_img whenever possible.  This way, we will not ignore
user-specified image options.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: f91ecbd74eb75e9d4c7b4016edaf69d070cb3f9b
      
https://github.com/qemu/qemu/commit/f91ecbd74eb75e9d4c7b4016edaf69d070cb3f9b
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M tests/qemu-iotests/019
    M tests/qemu-iotests/020
    M tests/qemu-iotests/024
    M tests/qemu-iotests/028
    M tests/qemu-iotests/029
    M tests/qemu-iotests/043
    M tests/qemu-iotests/048
    M tests/qemu-iotests/050
    M tests/qemu-iotests/053
    M tests/qemu-iotests/058
    M tests/qemu-iotests/059
    M tests/qemu-iotests/061
    M tests/qemu-iotests/063
    M tests/qemu-iotests/069
    M tests/qemu-iotests/074
    M tests/qemu-iotests/080
    M tests/qemu-iotests/081
    M tests/qemu-iotests/085
    M tests/qemu-iotests/088
    M tests/qemu-iotests/092
    M tests/qemu-iotests/094
    M tests/qemu-iotests/095
    M tests/qemu-iotests/099
    M tests/qemu-iotests/109
    M tests/qemu-iotests/110
    M tests/qemu-iotests/122
    M tests/qemu-iotests/123
    M tests/qemu-iotests/141
    M tests/qemu-iotests/142
    M tests/qemu-iotests/144
    M tests/qemu-iotests/153
    M tests/qemu-iotests/156
    M tests/qemu-iotests/159
    M tests/qemu-iotests/160
    M tests/qemu-iotests/161
    M tests/qemu-iotests/170
    M tests/qemu-iotests/172
    M tests/qemu-iotests/173
    M tests/qemu-iotests/178
    M tests/qemu-iotests/182
    M tests/qemu-iotests/183
    M tests/qemu-iotests/185
    M tests/qemu-iotests/187
    M tests/qemu-iotests/190
    M tests/qemu-iotests/191
    M tests/qemu-iotests/195
    M tests/qemu-iotests/197
    M tests/qemu-iotests/200
    M tests/qemu-iotests/215
    M tests/qemu-iotests/225
    M tests/qemu-iotests/229
    M tests/qemu-iotests/232
    M tests/qemu-iotests/243
    M tests/qemu-iotests/244
    M tests/qemu-iotests/247
    M tests/qemu-iotests/249
    M tests/qemu-iotests/252

  Log Message:
  -----------
  iotests: Use _rm_test_img for deleting test images

Just rm will not delete external data files.  Use _rm_test_img every
time we delete a test image.

(In the process, clean up the indentation of every _cleanup() this patch
touches.)

((Also, use quotes consistently.  I am happy to see unquoted instances
like "rm -rf $TEST_DIR/..." go.))

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: d88bef1921721c1723cb201bc1e5ccd6a855258c
      
https://github.com/qemu/qemu/commit/d88bef1921721c1723cb201bc1e5ccd6a855258c
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M tests/qemu-iotests/063
    M tests/qemu-iotests/063.out
    M tests/qemu-iotests/085
    M tests/qemu-iotests/085.out

  Log Message:
  -----------
  iotests: Avoid cp/mv of test images

This will not work with external data files, so try to get tests working
without it as far as possible.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 990f9bcc734e1776e7660604305135a126dce797
      
https://github.com/qemu/qemu/commit/990f9bcc734e1776e7660604305135a126dce797
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

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

  Log Message:
  -----------
  iotests: Make 091 work with data_file

The image end offset as reported by qemu-img check is different when
using an external data file; we do not care about its value here, so we
can just filter it.  Incidentally, common.rc already has _check_test_img
for us which does exactly that.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: d327a942aaf0561c2bb0e6ffe09848665b3c68d8
      
https://github.com/qemu/qemu/commit/d327a942aaf0561c2bb0e6ffe09848665b3c68d8
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

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

  Log Message:
  -----------
  iotests: Make 110 work with data_file

The only difference is that the json:{} filename of the image looks
different.  We actually do not care about that filename in this test, we
are only interested in (1) that there is a json:{} filename, and (2)
whether the backing filename can be constructed.

So just filter out the json:{} data, thus making this test pass both
with and without data_file.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: e66566e6a77c283c0908375bb58037a0ae7ad703
      
https://github.com/qemu/qemu/commit/e66566e6a77c283c0908375bb58037a0ae7ad703
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

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

  Log Message:
  -----------
  iotests: Make 137 work with data_file

When using an external data file, there are no refcounts for data
clusters.  We thus have to adjust the corruption test in this patch to
not be based around a data cluster allocation, but the L2 table
allocation (L2 tables are still refcounted with external data files).

Furthermore, we should not print qcow2.py's list of incompatible
features because it differs depending on whether there is an external
data file or not.

With those two changes, the test will work both with and without
external data files (once that options works with the iotests at all).

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 39d2c7dc8f444c181c4ae2e52ca687ea05decc0e
      
https://github.com/qemu/qemu/commit/39d2c7dc8f444c181c4ae2e52ca687ea05decc0e
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

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

  Log Message:
  -----------
  iotests: Make 198 work with data_file

We do not care about the json:{} filenames here, so we can just filter
them out and thus make the test work both with and without external data
files.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 3be2024aefe0024ada2fb5044c230c867ef59c67
      
https://github.com/qemu/qemu/commit/3be2024aefe0024ada2fb5044c230c867ef59c67
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M tests/qemu-iotests/007
    M tests/qemu-iotests/014
    M tests/qemu-iotests/015
    M tests/qemu-iotests/026
    M tests/qemu-iotests/029
    M tests/qemu-iotests/031
    M tests/qemu-iotests/036
    M tests/qemu-iotests/039
    M tests/qemu-iotests/046
    M tests/qemu-iotests/048
    M tests/qemu-iotests/051
    M tests/qemu-iotests/058
    M tests/qemu-iotests/060
    M tests/qemu-iotests/061
    M tests/qemu-iotests/062
    M tests/qemu-iotests/066
    M tests/qemu-iotests/067
    M tests/qemu-iotests/068
    M tests/qemu-iotests/071
    M tests/qemu-iotests/073
    M tests/qemu-iotests/074
    M tests/qemu-iotests/080
    M tests/qemu-iotests/090
    M tests/qemu-iotests/098
    M tests/qemu-iotests/099
    M tests/qemu-iotests/103
    M tests/qemu-iotests/108
    M tests/qemu-iotests/112
    M tests/qemu-iotests/114
    M tests/qemu-iotests/121
    M tests/qemu-iotests/138
    M tests/qemu-iotests/156
    M tests/qemu-iotests/176
    M tests/qemu-iotests/191
    M tests/qemu-iotests/201
    M tests/qemu-iotests/214
    M tests/qemu-iotests/217
    M tests/qemu-iotests/220
    M tests/qemu-iotests/243
    M tests/qemu-iotests/244
    M tests/qemu-iotests/250
    M tests/qemu-iotests/261
    M tests/qemu-iotests/267
    M tests/qemu-iotests/273

  Log Message:
  -----------
  iotests: Disable data_file where it cannot be used

Signed-off-by: Max Reitz <address@hidden>
Message-id: address@hidden
[mreitz: Also disable 273]
Signed-off-by: Max Reitz <address@hidden>


  Commit: 1b35b85abb93aa6d40ac237e8be3ae87a20a8d0b
      
https://github.com/qemu/qemu/commit/1b35b85abb93aa6d40ac237e8be3ae87a20a8d0b
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

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

  Log Message:
  -----------
  iotests: Allow check -o data_file

The problem with allowing the data_file option is that you want to use a
different data file per image used in the test.  Therefore, we need to
allow patterns like -o data_file='$TEST_IMG.data_file'.

Then, we need to filter it out from qemu-img map, qemu-img create, and
remove the data file in _rm_test_img.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Maxim Levitsky <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: f41388e0fb04feded9ee09d5e20d7516e700472e
      
https://github.com/qemu/qemu/commit/f41388e0fb04feded9ee09d5e20d7516e700472e
  Author: Andrey Shinkevich <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M block/Makefile.objs
    A block/filter-compress.c
    M qapi/block-core.json

  Log Message:
  -----------
  block: introduce compress filter driver

Allow writing all the data compressed through the filter driver.
The written data will be aligned by the cluster size.
Based on the QEMU current implementation, that data can be written to
unallocated clusters only. May be used for a backup job.

Suggested-by: Max Reitz <address@hidden>
Signed-off-by: Andrey Shinkevich <address@hidden>
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Message-id: address@hidden
[mreitz: Replace NULL bdrv_get_format_name() by "(no format)"]
Signed-off-by: Max Reitz <address@hidden>


  Commit: 0d483dce3847e43b415896344a5e60bd0a50823d
      
https://github.com/qemu/qemu/commit/0d483dce3847e43b415896344a5e60bd0a50823d
  Author: Andrey Shinkevich <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Allow writing compressed data of multiple clusters

QEMU currently supports writing compressed data of the size equal to
one cluster. This patch allows writing QCOW2 compressed data that
exceed one cluster. Now, we split buffered data into separate clusters
and write them compressed using the block/aio_task API.

Suggested-by: Pavel Butsykin <address@hidden>
Suggested-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Signed-off-by: Andrey Shinkevich <address@hidden>
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 19959445f5310f713c58cb1f5c9c3bcca6f97f95
      
https://github.com/qemu/qemu/commit/19959445f5310f713c58cb1f5c9c3bcca6f97f95
  Author: Andrey Shinkevich <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

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

  Log Message:
  -----------
  tests/qemu-iotests: add case to write compressed data of multiple clusters

Add the case to the iotest #214 that checks possibility of writing
compressed data of more than one cluster size. The test case involves
the compress filter driver showing a sample usage of that.

Signed-off-by: Andrey Shinkevich <address@hidden>
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 75ab574b4c722e96d56b7f787a531981f659b5f8
      
https://github.com/qemu/qemu/commit/75ab574b4c722e96d56b7f787a531981f659b5f8
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M tests/qemu-iotests/235
    M tests/qemu-iotests/check

  Log Message:
  -----------
  tests/qemu-iotests: Update tests to recent desugarized -accel option

Commit 6f6e1698a6 desugarized "-machine accel=" to a list
of "-accel" options. Since now "-machine accel" and "-accel"
became incompatible, update the iotests to the new format.

Error reported here:
https://gitlab.com/qemu-project/qemu/-/jobs/385801004#L3400

Reported-by: GitLab CI
Fixes: 6f6e1698a6 (vl: configure accelerators from -accel options)
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 503ca1262bab2c11c533a4816d1ff4297d4f58a6
      
https://github.com/qemu/qemu/commit/503ca1262bab2c11c533a4816d1ff4297d4f58a6
  Author: Max Reitz <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M block/backup-top.c

  Log Message:
  -----------
  backup-top: Begin drain earlier

When dropping backup-top, we need to drain the node before freeing the
BlockCopyState.  Otherwise, requests may still be in flight and then the
assertion in shres_destroy() will fail.

(This becomes visible in intermittent failure of 056.)

Cc: address@hidden
Signed-off-by: Max Reitz <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: f4d8cf148e43d942ef1202071e0cd66ce40322e0
      
https://github.com/qemu/qemu/commit/f4d8cf148e43d942ef1202071e0cd66ce40322e0
  Author: Peter Maydell <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M block.c
    M block/Makefile.objs
    M block/backup-top.c
    M block/blkdebug.c
    A block/filter-compress.c
    M block/qcow2-bitmap.c
    M block/qcow2.c
    M block/throttle-groups.c
    M include/block/block.h
    M qapi/block-core.json
    M tests/qemu-iotests/007
    M tests/qemu-iotests/014
    M tests/qemu-iotests/015
    M tests/qemu-iotests/019
    M tests/qemu-iotests/020
    M tests/qemu-iotests/024
    M tests/qemu-iotests/026
    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/036
    M tests/qemu-iotests/036.out
    M tests/qemu-iotests/039
    M tests/qemu-iotests/039.out
    M tests/qemu-iotests/041
    M tests/qemu-iotests/041.out
    M tests/qemu-iotests/043
    M tests/qemu-iotests/046
    M tests/qemu-iotests/048
    M tests/qemu-iotests/050
    M tests/qemu-iotests/051
    M tests/qemu-iotests/053
    M tests/qemu-iotests/058
    M tests/qemu-iotests/059
    M tests/qemu-iotests/060
    M tests/qemu-iotests/060.out
    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/063.out
    M tests/qemu-iotests/066
    M tests/qemu-iotests/067
    M tests/qemu-iotests/068
    M tests/qemu-iotests/069
    M tests/qemu-iotests/071
    M tests/qemu-iotests/073
    M tests/qemu-iotests/074
    M tests/qemu-iotests/079
    M tests/qemu-iotests/080
    M tests/qemu-iotests/081
    M tests/qemu-iotests/085
    M tests/qemu-iotests/085.out
    M tests/qemu-iotests/088
    M tests/qemu-iotests/090
    M tests/qemu-iotests/091
    M tests/qemu-iotests/091.out
    M tests/qemu-iotests/092
    M tests/qemu-iotests/094
    M tests/qemu-iotests/095
    M tests/qemu-iotests/098
    M tests/qemu-iotests/099
    M tests/qemu-iotests/103
    M tests/qemu-iotests/106
    M tests/qemu-iotests/108
    M tests/qemu-iotests/109
    M tests/qemu-iotests/110
    M tests/qemu-iotests/110.out
    M tests/qemu-iotests/111
    M tests/qemu-iotests/112
    M tests/qemu-iotests/114
    M tests/qemu-iotests/115
    M tests/qemu-iotests/121
    M tests/qemu-iotests/122
    M tests/qemu-iotests/123
    M tests/qemu-iotests/125
    M tests/qemu-iotests/137
    M tests/qemu-iotests/137.out
    M tests/qemu-iotests/138
    M tests/qemu-iotests/141
    M tests/qemu-iotests/142
    M tests/qemu-iotests/144
    M tests/qemu-iotests/153
    M tests/qemu-iotests/156
    M tests/qemu-iotests/159
    M tests/qemu-iotests/160
    M tests/qemu-iotests/161
    M tests/qemu-iotests/170
    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/178
    M tests/qemu-iotests/182
    M tests/qemu-iotests/183
    M tests/qemu-iotests/185
    M tests/qemu-iotests/187
    M tests/qemu-iotests/190
    M tests/qemu-iotests/191
    M tests/qemu-iotests/195
    M tests/qemu-iotests/197
    M tests/qemu-iotests/198
    M tests/qemu-iotests/198.out
    M tests/qemu-iotests/200
    M tests/qemu-iotests/201
    M tests/qemu-iotests/214
    M tests/qemu-iotests/214.out
    M tests/qemu-iotests/215
    M tests/qemu-iotests/217
    M tests/qemu-iotests/220
    M tests/qemu-iotests/225
    M tests/qemu-iotests/229
    M tests/qemu-iotests/232
    M tests/qemu-iotests/235
    M tests/qemu-iotests/243
    M tests/qemu-iotests/244
    M tests/qemu-iotests/247
    M tests/qemu-iotests/249
    M tests/qemu-iotests/250
    M tests/qemu-iotests/252
    M tests/qemu-iotests/261
    M tests/qemu-iotests/265
    M tests/qemu-iotests/267
    M tests/qemu-iotests/273
    M tests/qemu-iotests/check
    M tests/qemu-iotests/common.filter
    M tests/qemu-iotests/common.rc
    M tests/qemu-iotests/iotests.py
    M tests/qemu-iotests/qcow2.py

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2020-01-06' 
into staging

Block patches:
- Minor fixes and tests from the freeze period (too minor to be included
  in 4.2)
- Allow many bash iotests to test qcow2's external data file feature
- Add compress filter driver
- Fix Python iotests after 6f6e1698a6
- Fix for the backup job

# gpg: Signature made Mon 06 Jan 2020 14:33:06 GMT
# gpg:                using RSA key 91BEB60A30DB3E8857D11829F407DB0061D5CF40
# gpg:                issuer "address@hidden"
# gpg: Good signature from "Max Reitz <address@hidden>" [full]
# Primary key fingerprint: 91BE B60A 30DB 3E88 57D1  1829 F407 DB00 61D5 CF40

* remotes/maxreitz/tags/pull-block-2020-01-06: (34 commits)
  backup-top: Begin drain earlier
  tests/qemu-iotests: Update tests to recent desugarized -accel option
  tests/qemu-iotests: add case to write compressed data of multiple clusters
  qcow2: Allow writing compressed data of multiple clusters
  block: introduce compress filter driver
  iotests: Allow check -o data_file
  iotests: Disable data_file where it cannot be used
  iotests: Make 198 work with data_file
  iotests: Make 137 work with data_file
  iotests: Make 110 work with data_file
  iotests: Make 091 work with data_file
  iotests: Avoid cp/mv of test images
  iotests: Use _rm_test_img for deleting test images
  iotests: Avoid qemu-img create
  iotests: Drop IMGOPTS use in 267
  iotests: Replace IMGOPTS='' by --no-opts
  iotests: Replace IMGOPTS= by -o
  iotests: Inject space into -ocompat=0.10 in 051
  iotests: Add -o and --no-opts to _make_test_img
  iotests: Let _make_test_img parse its parameters
  ...

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


Compare: https://github.com/qemu/qemu/compare/5d112176457c...f4d8cf148e43



reply via email to

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