qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 6a96d8: iotests: do a light delinting


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 6a96d8: iotests: do a light delinting
Date: Wed, 06 May 2020 06:15:31 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 6a96d87cf40ddcd7b0e7ff398e8d2cd03c9be58d
      
https://github.com/qemu/qemu/commit/6a96d87cf40ddcd7b0e7ff398e8d2cd03c9be58d
  Author: John Snow <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

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

  Log Message:
  -----------
  iotests: do a light delinting

This doesn't fix everything in here, but it does help clean up the
pylint report considerably.

This should be 100% style changes only; the intent is to make pylint
more useful by working on establishing a baseline for iotests that we
can gate against in the future.

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


  Commit: 1d3d4b630c6ea8b19420c097f0c448b6ded95072
      
https://github.com/qemu/qemu/commit/1d3d4b630c6ea8b19420c097f0c448b6ded95072
  Author: John Snow <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

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

  Log Message:
  -----------
  iotests: don't use 'format' for drive_add

It shadows (with a different type) the built-in format.
Use something else.

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


  Commit: 368e06200320fd1c046788832531c0148ccbdf11
      
https://github.com/qemu/qemu/commit/368e06200320fd1c046788832531c0148ccbdf11
  Author: John Snow <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

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

  Log Message:
  -----------
  iotests: ignore import warnings from pylint

The right way to solve this is to come up with a virtual environment
infrastructure that sets all the paths correctly, and/or to create
installable python modules that can be imported normally.

That's hard, so just silence this error for now.

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


  Commit: 4eabe0515ad7947da566fa52f9bd29e6fc1e6dcc
      
https://github.com/qemu/qemu/commit/4eabe0515ad7947da566fa52f9bd29e6fc1e6dcc
  Author: John Snow <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

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

  Log Message:
  -----------
  iotests: replace mutable list default args

It's bad hygiene: if we modify this list, it will be modified across all
invocations.

(Remaining bad usages are fixed in a subsequent patch which changes the
function signature anyway.)

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


  Commit: 576dc22be11d3cd95eec0e75ec5603cde671a370
      
https://github.com/qemu/qemu/commit/576dc22be11d3cd95eec0e75ec5603cde671a370
  Author: John Snow <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

  Changed paths:
    A tests/qemu-iotests/pylintrc

  Log Message:
  -----------
  iotests: add pylintrc file

This allows others to get repeatable results with pylint. If you run
`pylint iotests.py`, you should see a 100% pass.

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: b404b13bd519301c99e603ac660122158ea5b93b
      
https://github.com/qemu/qemu/commit/b404b13bd519301c99e603ac660122158ea5b93b
  Author: John Snow <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

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

  Log Message:
  -----------
  iotests: alphabetize standard imports

I had to fix a merge conflict, so do this tiny harmless thing while I'm
here.

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


  Commit: 229fc0742a727c1733dd4d0c405c4c590f8dc627
      
https://github.com/qemu/qemu/commit/229fc0742a727c1733dd4d0c405c4c590f8dc627
  Author: John Snow <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

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

  Log Message:
  -----------
  iotests: drop pre-Python 3.4 compatibility code

We no longer need to accommodate <3.4, drop this code.
(The lines were > 79 chars and it stood out.)

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 1cd0dbfc12019fcd5f0529094a939a1557dfc2df
      
https://github.com/qemu/qemu/commit/1cd0dbfc12019fcd5f0529094a939a1557dfc2df
  Author: John Snow <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

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

  Log Message:
  -----------
  iotests: touch up log function signature

Representing nested, recursive data structures in mypy is notoriously
difficult; the best we can reliably do right now is denote the leaf
types as "Any" while describing the general shape of the data.

Regardless, this fully annotates the log() function.

Typing notes:

TypeVar is a Type variable that can optionally be constrained by a
sequence of possible types. This variable is bound to a specific type
per-invocation, like a Generic.

log() behaves as log<Msg>() now, where the incoming type informs the
signature it expects for any filter arguments passed in. If Msg is a
str, then filter should take and return a str.

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: b031e9a5a65ceef722ba506bc5ee69ec785dc5c5
      
https://github.com/qemu/qemu/commit/b031e9a5a65ceef722ba506bc5ee69ec785dc5c5
  Author: John Snow <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

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

  Log Message:
  -----------
  iotests: limit line length to 79 chars

79 is the PEP8 recommendation. This recommendation works well for
reading patch diffs in TUI email clients.

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 239bbcc0ae6ba24733839150955bdf8402e9ec55
      
https://github.com/qemu/qemu/commit/239bbcc0ae6ba24733839150955bdf8402e9ec55
  Author: John Snow <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

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

  Log Message:
  -----------
  iotests: add hmp helper with logging

Minor cleanup for HMP functions; helps with line length and consolidates
HMP helpers through one implementation function.

Although we are adding a universal toggle to turn QMP logging on or off,
many existing callers to hmp functions don't expect that output to be
logged, which causes quite a few changes in the test output.

For now, offer a use_log parameter.

Typing notes:

QMPResponse is just an alias for Dict[str, Any]. It holds no special
meanings and it is not a formal subtype of Dict[str, Any]. It is best
thought of as a lexical synonym.

We may well wish to add stricter subtypes in the future for certain
shapes of data that are not formalized as Python objects, at which point
we can simply retire the alias and allow mypy to more strictly check
usages of the name.

Signed-off-by: John Snow <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 7d8140595f1e131935ba1c98a55af7d066660707
      
https://github.com/qemu/qemu/commit/7d8140595f1e131935ba1c98a55af7d066660707
  Author: John Snow <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

  Changed paths:
    M tests/qemu-iotests/149
    M tests/qemu-iotests/194
    M tests/qemu-iotests/202
    M tests/qemu-iotests/203
    M tests/qemu-iotests/206
    M tests/qemu-iotests/207
    M tests/qemu-iotests/208
    M tests/qemu-iotests/209
    M tests/qemu-iotests/210
    M tests/qemu-iotests/211
    M tests/qemu-iotests/212
    M tests/qemu-iotests/213
    M tests/qemu-iotests/216
    M tests/qemu-iotests/218
    M tests/qemu-iotests/219
    M tests/qemu-iotests/222
    M tests/qemu-iotests/224
    M tests/qemu-iotests/228
    M tests/qemu-iotests/234
    M tests/qemu-iotests/235
    M tests/qemu-iotests/236
    M tests/qemu-iotests/237
    M tests/qemu-iotests/238
    M tests/qemu-iotests/242
    M tests/qemu-iotests/246
    M tests/qemu-iotests/248
    M tests/qemu-iotests/254
    M tests/qemu-iotests/255
    M tests/qemu-iotests/256
    M tests/qemu-iotests/258
    M tests/qemu-iotests/260
    M tests/qemu-iotests/262
    M tests/qemu-iotests/264
    M tests/qemu-iotests/274
    M tests/qemu-iotests/277
    M tests/qemu-iotests/280
    M tests/qemu-iotests/283
    M tests/qemu-iotests/iotests.py

  Log Message:
  -----------
  iotests: add script_initialize

Like script_main, but doesn't require a single point of entry.
Replace all existing initialization sections with this drop-in replacement.

This brings debug support to all existing script-style iotests.

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
[mreitz: Give 274 the same treatment]
Signed-off-by: Max Reitz <address@hidden>


  Commit: 5e089feb93e1c0ce55a5900b00b03d772587c396
      
https://github.com/qemu/qemu/commit/5e089feb93e1c0ce55a5900b00b03d772587c396
  Author: John Snow <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

  Changed paths:
    M tests/qemu-iotests/258

  Log Message:
  -----------
  iotest 258: use script_main

Since this one is nicely factored to use a single entry point,
use script_main to run the tests.

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


  Commit: 59c29869e0c5e8875edc50a0e3073eeaa8fe6143
      
https://github.com/qemu/qemu/commit/59c29869e0c5e8875edc50a0e3073eeaa8fe6143
  Author: John Snow <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

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

  Log Message:
  -----------
  iotests: Mark verify functions as private

Mark the verify functions as "private" with a leading underscore, to
discourage their use. Update type signatures while we're here.

(Also, make pending patches not yet using the new entry points fail in a
very obvious way.)

Signed-off-by: John Snow <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 52ea799e9631ff00c230f1fed50986246149d8f2
      
https://github.com/qemu/qemu/commit/52ea799e9631ff00c230f1fed50986246149d8f2
  Author: John Snow <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

  Changed paths:
    M tests/qemu-iotests/030
    M tests/qemu-iotests/155
    M tests/qemu-iotests/245
    M tests/qemu-iotests/245.out
    M tests/qemu-iotests/iotests.py

  Log Message:
  -----------
  iotests: use python logging for iotests.log()

We can turn logging on/off globally instead of per-function.

Remove use_log from run_job, and use python logging to turn on
diffable output when we run through a script entry point.

iotest 245 changes output order due to buffering reasons.

An extended note on python logging:

A NullHandler is added to `qemu.iotests` to stop output from being
generated if this code is used as a library without configuring logging.
A NullHandler is only needed at the root, so a duplicate handler is not
needed for `qemu.iotests.diff_io`.

When logging is not configured, messages at the 'WARNING' levels or
above are printed with default settings. The NullHandler stops this from
occurring, which is considered good hygiene for code used as a library.

See https://docs.python.org/3/howto/logging.html#library-config

When logging is actually enabled (always at the behest of an explicit
call by a client script), a root logger is implicitly created at the
root, which allows messages to propagate upwards and be handled/emitted
from the root logger with default settings.

When we want iotest logging, we attach a handler to the
qemu.iotests.diff_io logger and disable propagation to avoid possible
double-printing.

For more information on python logging infrastructure, I highly
recommend downloading the pip package `logging_tree`, which provides
convenient visualizations of the hierarchical logging configuration
under different circumstances.

See https://pypi.org/project/logging_tree/ for more information.

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: a3aeeab557f08285c4fcf537fca575b069eb67ef
      
https://github.com/qemu/qemu/commit/a3aeeab557f08285c4fcf537fca575b069eb67ef
  Author: Eric Blake <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

  Changed paths:
    M block/block-backend.c
    M block/crypto.c
    M block/parallels.c
    M block/qcow.c
    M block/qcow2.c
    M block/qed.c
    M block/sheepdog.c
    M block/vdi.c
    M block/vhdx.c
    M block/vmdk.c
    M block/vpc.c
    M blockdev.c
    M blockjob.c
    M include/sysemu/block-backend.h

  Log Message:
  -----------
  block: Add blk_new_with_bs() helper

There are several callers that need to create a new block backend from
an existing BDS; make the task slightly easier with a common helper
routine.

Suggested-by: Max Reitz <address@hidden>
Signed-off-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
[mreitz: Set @ret only in error paths, see
 https://lists.nongnu.org/archive/html/qemu-block/2020-04/msg01216.html]
Signed-off-by: Max Reitz <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 7fa140abf69675b7b83af32de07fa8075c1da298
      
https://github.com/qemu/qemu/commit/7fa140abf69675b7b83af32de07fa8075c1da298
  Author: Eric Blake <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

  Changed paths:
    M block/qcow2-snapshot.c
    M block/qcow2.c
    M tests/qemu-iotests/061
    M tests/qemu-iotests/061.out

  Log Message:
  -----------
  qcow2: Allow resize of images with internal snapshots

We originally refused to allow resize of images with internal
snapshots because the v2 image format did not require the tracking of
snapshot size, making it impossible to safely revert to a snapshot
with a different size than the current view of the image.  But the
snapshot size tracking was rectified in v3, and our recent fixes to
qemu-img amend (see 0a85af35) guarantee that we always have a valid
snapshot size.  Thus, we no longer need to artificially limit image
resizes, but it does become one more thing that would prevent a
downgrade back to v2.  And now that we support different-sized
snapshots, it's also easy to fix reverting to a snapshot to apply the
new size.

Upgrade iotest 61 to cover this (we previously had NO coverage of
refusal to resize while snapshots exist).  Note that the amend process
can fail but still have effects: in particular, since we break things
into upgrade, resize, downgrade, a failure during resize does not roll
back changes made during upgrade, nor does failure in downgrade roll
back a resize.  But this situation is pre-existing even without this
patch; and without journaling, the best we could do is minimize the
chance of partial failure by collecting all changes prior to doing any
writes - which adds a lot of complexity but could still fail with EIO.
On the other hand, we are careful that even if we have partial
modification but then fail, the image is left viable (that is, we are
careful to sequence things so that after each successful cluster
write, there may be transient leaked clusters but no corrupt
metadata).  And complicating the code to make it more transaction-like
is not worth the effort: a user can always request multiple 'qemu-img
amend' changing one thing each, if they need finer-grained control
over detecting the first failure than what they get by letting qemu
decide how to sequence multiple changes.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: ee1244a2e96288ba3c2f3a9a82b97f5617939d9f
      
https://github.com/qemu/qemu/commit/ee1244a2e96288ba3c2f3a9a82b97f5617939d9f
  Author: Eric Blake <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Tweak comment about bitmaps vs. resize

Our comment did not actually match the code.  Rewrite the comment to
be less sensitive to any future changes to qcow2-bitmap.c that might
implement scenarios that we currently reject.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: f4649069517b71c4038add8d977a41644fb117dc
      
https://github.com/qemu/qemu/commit/f4649069517b71c4038add8d977a41644fb117dc
  Author: Eric Blake <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

  Changed paths:
    M block/io.c
    M block/qcow2-refcount.c
    M block/vvfat.c
    M tests/qemu-iotests/001
    M tests/qemu-iotests/052
    M tests/qemu-iotests/134
    M tests/qemu-iotests/188

  Log Message:
  -----------
  block: Comment cleanups

It's been a while since we got rid of the sector-based bdrv_read and
bdrv_write (commit 2e11d756); let's finish the job on a few remaining
comments.

Signed-off-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 44e808c13045b1032143ab8e144b4d48264ad609
      
https://github.com/qemu/qemu/commit/44e808c13045b1032143ab8e144b4d48264ad609
  Author: Maxim Levitsky <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

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

  Log Message:
  -----------
  Fix iotest 153

Commit f62514b3def5fb2acbef64d0e053c0c31fa45aff made qemu-img reject -o "" but 
this test uses it.
Since this test only tries to do a dry-run run of qemu-img amend,
replace the -o "" with dummy -o "size=$size".

Fixes: f62514b3def5fb2acbef64d0e053c0c31fa45aff

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


  Commit: e9407785cce67cab85a76727d393dbf7d924f6d7
      
https://github.com/qemu/qemu/commit/e9407785cce67cab85a76727d393dbf7d924f6d7
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

  Changed paths:
    M block/block-copy.c

  Log Message:
  -----------
  block/block-copy: rename in-flight requests to tasks

We are going to use aio-task-pool API and extend in-flight request
structure to be a successor of AioTask, so rename things appropriately.

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


  Commit: f13e60a973216edc1d793555607533305713c74d
      
https://github.com/qemu/qemu/commit/f13e60a973216edc1d793555607533305713c74d
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

  Changed paths:
    M block/block-copy.c

  Log Message:
  -----------
  block/block-copy: alloc task on each iteration

We are going to use aio-task-pool API, so tasks will be handled in
parallel. We need therefore separate allocated task on each iteration.
Introduce this logic now.

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


  Commit: 1348a65774d2a5bfbf8ba5c52a07b02126326e17
      
https://github.com/qemu/qemu/commit/1348a65774d2a5bfbf8ba5c52a07b02126326e17
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

  Changed paths:
    M block/block-copy.c

  Log Message:
  -----------
  block/block-copy: add state pointer to BlockCopyTask

We are going to use aio-task-pool API, so we'll need state pointer in
BlockCopyTask anyway. Add it now and use where possible.

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


  Commit: 42ac214406e092038b13f02c2ff9768d4dd41e1b
      
https://github.com/qemu/qemu/commit/42ac214406e092038b13f02c2ff9768d4dd41e1b
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

  Changed paths:
    M block/block-copy.c

  Log Message:
  -----------
  block/block-copy: refactor task creation

Instead of just relying on the comment "Called only on full-dirty
region" in block_copy_task_create() let's move initial dirty area
search directly to block_copy_task_create(). Let's also use effective
bdrv_dirty_bitmap_next_dirty_area instead of looping through all
non-dirty clusters.

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


  Commit: 4ce5dd3e9b5ee0fac18625860eb3727399ee965e
      
https://github.com/qemu/qemu/commit/4ce5dd3e9b5ee0fac18625860eb3727399ee965e
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

  Changed paths:
    M block/block-copy.c

  Log Message:
  -----------
  block/block-copy: use aio-task-pool API

Run block_copy iterations in parallel in aio tasks.

Changes:
  - BlockCopyTask becomes aio task structure. Add zeroes field to pass
    it to block_copy_do_copy
  - add call state - it's a state of one call of block_copy(), shared
    between parallel tasks. For now used only to keep information about
    first error: is it read or not.
  - convert block_copy_dirty_clusters to aio-task loop.

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


  Commit: ea1329bb3a8d5cd25b70e3dbf73e7ded4d5ad756
      
https://github.com/qemu/qemu/commit/ea1329bb3a8d5cd25b70e3dbf73e7ded4d5ad756
  Author: Peter Maydell <address@hidden>
  Date:   2020-05-05 (Tue, 05 May 2020)

  Changed paths:
    M block/block-backend.c
    M block/block-copy.c
    M block/crypto.c
    M block/io.c
    M block/parallels.c
    M block/qcow.c
    M block/qcow2-refcount.c
    M block/qcow2-snapshot.c
    M block/qcow2.c
    M block/qed.c
    M block/sheepdog.c
    M block/vdi.c
    M block/vhdx.c
    M block/vmdk.c
    M block/vpc.c
    M block/vvfat.c
    M blockdev.c
    M blockjob.c
    M include/sysemu/block-backend.h
    M tests/qemu-iotests/001
    M tests/qemu-iotests/030
    M tests/qemu-iotests/052
    M tests/qemu-iotests/055
    M tests/qemu-iotests/061
    M tests/qemu-iotests/061.out
    M tests/qemu-iotests/134
    M tests/qemu-iotests/149
    M tests/qemu-iotests/153
    M tests/qemu-iotests/153.out
    M tests/qemu-iotests/155
    M tests/qemu-iotests/188
    M tests/qemu-iotests/194
    M tests/qemu-iotests/202
    M tests/qemu-iotests/203
    M tests/qemu-iotests/206
    M tests/qemu-iotests/207
    M tests/qemu-iotests/208
    M tests/qemu-iotests/209
    M tests/qemu-iotests/210
    M tests/qemu-iotests/211
    M tests/qemu-iotests/212
    M tests/qemu-iotests/213
    M tests/qemu-iotests/216
    M tests/qemu-iotests/218
    M tests/qemu-iotests/219
    M tests/qemu-iotests/222
    M tests/qemu-iotests/224
    M tests/qemu-iotests/228
    M tests/qemu-iotests/234
    M tests/qemu-iotests/235
    M tests/qemu-iotests/236
    M tests/qemu-iotests/237
    M tests/qemu-iotests/238
    M tests/qemu-iotests/242
    M tests/qemu-iotests/245
    M tests/qemu-iotests/245.out
    M tests/qemu-iotests/246
    M tests/qemu-iotests/248
    M tests/qemu-iotests/254
    M tests/qemu-iotests/255
    M tests/qemu-iotests/256
    M tests/qemu-iotests/258
    M tests/qemu-iotests/260
    M tests/qemu-iotests/262
    M tests/qemu-iotests/264
    M tests/qemu-iotests/274
    M tests/qemu-iotests/277
    M tests/qemu-iotests/280
    M tests/qemu-iotests/283
    M tests/qemu-iotests/iotests.py
    A tests/qemu-iotests/pylintrc

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

Block patches:
- Asynchronous copying for block-copy (i.e., the backup job)
- Allow resizing of qcow2 images when they have internal snapshots
- iotests: Logging improvements for Python tests
- iotest 153 fix, and block comment cleanups

# gpg: Signature made Tue 05 May 2020 13:56:58 BST
# 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-05-05: (24 commits)
  block/block-copy: use aio-task-pool API
  block/block-copy: refactor task creation
  block/block-copy: add state pointer to BlockCopyTask
  block/block-copy: alloc task on each iteration
  block/block-copy: rename in-flight requests to tasks
  Fix iotest 153
  block: Comment cleanups
  qcow2: Tweak comment about bitmaps vs. resize
  qcow2: Allow resize of images with internal snapshots
  block: Add blk_new_with_bs() helper
  iotests: use python logging for iotests.log()
  iotests: Mark verify functions as private
  iotest 258: use script_main
  iotests: add script_initialize
  iotests: add hmp helper with logging
  iotests: limit line length to 79 chars
  iotests: touch up log function signature
  iotests: drop pre-Python 3.4 compatibility code
  iotests: alphabetize standard imports
  iotests: add pylintrc file
  ...

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


Compare: https://github.com/qemu/qemu/compare/f19d118bed77...ea1329bb3a8d



reply via email to

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