qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 05f4ac: block/snapshot: Restrict set of snaps


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 05f4ac: block/snapshot: Restrict set of snapshot nodes
Date: Mon, 07 Oct 2019 08:33:15 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 05f4aced658a02b02d3e89a6c7a2281008fcf26c
      
https://github.com/qemu/qemu/commit/05f4aced658a02b02d3e89a6c7a2281008fcf26c
  Author: Kevin Wolf <address@hidden>
  Date:   2019-10-04 (Fri, 04 Oct 2019)

  Changed paths:
    M block/snapshot.c

  Log Message:
  -----------
  block/snapshot: Restrict set of snapshot nodes

Nodes involved in internal snapshots were those that were returned by
bdrv_next(), inserted and not read-only. bdrv_next() in turn returns all
nodes that are either the root node of a BlockBackend or monitor-owned
nodes.

With the typical -drive use, this worked well enough. However, in the
typical -blockdev case, the user defines one node per option, making all
nodes monitor-owned nodes. This includes protocol nodes etc. which often
are not snapshottable, so "savevm" only returns an error.

Change the conditions so that internal snapshot still include all nodes
that have a BlockBackend attached (we definitely want to snapshot
anything attached to a guest device and probably also the built-in NBD
server; snapshotting block job BlockBackends is more of an accident, but
a preexisting one), but other monitor-owned nodes are only included if
they have no parents.

This makes internal snapshots usable again with typical -blockdev
configurations.

Cc: address@hidden
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Peter Krempa <address@hidden>
Tested-by: Peter Krempa <address@hidden>


  Commit: 92b22e7b1789b0e5f20d245706e72eae70dbddce
      
https://github.com/qemu/qemu/commit/92b22e7b1789b0e5f20d245706e72eae70dbddce
  Author: Kevin Wolf <address@hidden>
  Date:   2019-10-04 (Fri, 04 Oct 2019)

  Changed paths:
    A tests/qemu-iotests/267
    A tests/qemu-iotests/267.out
    M tests/qemu-iotests/common.filter
    M tests/qemu-iotests/group

  Log Message:
  -----------
  iotests: Test internal snapshots with -blockdev

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Peter Krempa <address@hidden>
Tested-by: Peter Krempa <address@hidden>


  Commit: c69719fcadbc856db5348fd3401e65e38c10a22e
      
https://github.com/qemu/qemu/commit/c69719fcadbc856db5348fd3401e65e38c10a22e
  Author: Kevin Wolf <address@hidden>
  Date:   2019-10-04 (Fri, 04 Oct 2019)

  Changed paths:
    M tests/qemu-iotests/check

  Log Message:
  -----------
  iotests: Require Python 3.6 or later

Running iotests is not required to build QEMU, so we can have stricter
version requirements for Python here and can make use of new features
and drop compatibility code earlier.

This makes qemu-iotests skip all Python tests if a Python version before
3.6 is used for the build.

Suggested-by: Eduardo Habkost <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>


  Commit: 7e693a0500455edab21754573c32b7146138cffd
      
https://github.com/qemu/qemu/commit/7e693a0500455edab21754573c32b7146138cffd
  Author: Kevin Wolf <address@hidden>
  Date:   2019-10-04 (Fri, 04 Oct 2019)

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

  Log Message:
  -----------
  iotests: Remove Python 2 compatibility code

Some scripts check the Python version number and have two code paths to
accomodate both Python 2 and 3. Remove the code specific to Python 2 and
assert the minimum version of 3.6 instead (check skips Python tests in
this case, so the assertion would only ever trigger if a Python script
is executed manually).

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: John Snow <address@hidden>
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>


  Commit: 560009f2c8b57b7cdd31a5693ea86ab369382f49
      
https://github.com/qemu/qemu/commit/560009f2c8b57b7cdd31a5693ea86ab369382f49
  Author: Peter Maydell <address@hidden>
  Date:   2019-10-07 (Mon, 07 Oct 2019)

  Changed paths:
    M block/snapshot.c
    M tests/qemu-iotests/044
    M tests/qemu-iotests/163
    A tests/qemu-iotests/267
    A tests/qemu-iotests/267.out
    M tests/qemu-iotests/check
    M tests/qemu-iotests/common.filter
    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:

- Fix internal snapshots with typical -blockdev setups
- iotests: Require Python 3.6 or later

# gpg: Signature made Fri 04 Oct 2019 10:59:21 BST
# 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:
  iotests: Remove Python 2 compatibility code
  iotests: Require Python 3.6 or later
  iotests: Test internal snapshots with -blockdev
  block/snapshot: Restrict set of snapshot nodes

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


Compare: https://github.com/qemu/qemu/compare/0f0b43868a56...560009f2c8b5



reply via email to

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