qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 35e32d: qapi: add support for blkreplay drive


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 35e32d: qapi: add support for blkreplay driver
Date: Fri, 25 Oct 2019 07:57:01 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 35e32d9e2e8a1128dba75531aa763108c06f25f4
      
https://github.com/qemu/qemu/commit/35e32d9e2e8a1128dba75531aa763108c06f25f4
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2019-10-25 (Fri, 25 Oct 2019)

  Changed paths:
    M qapi/block-core.json

  Log Message:
  -----------
  qapi: add support for blkreplay driver

This patch adds support for blkreplay driver to the blockdev options.
Now blkreplay can be used with -blockdev command line option
in the following format:
-blockdev driver=blkreplay,image=file-node-name,node-name=replay-node-name

This option makes possible implementation of the better command
line support for record/replay invocations.

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


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

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

  Log Message:
  -----------
  iotests: Skip read-only cases in 118 when run as root

Some tests in 118 use chmod to remove write permissions from the file
and assume that the image can indeed not be opened read-write
afterwards. This doesn't work when the test is run as root, because root
can still open the file as writable even when the permission bit isn't
set.

Introduce a @skip_if_root decorator and use it in 118 to skip the tests
in question when the script is run as root.

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


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

  Changed paths:
    M blockdev.c

  Log Message:
  -----------
  blockdev: Use error_report() in hmp_commit()

Instead of using monitor_printf() to report errors, hmp_commit() should
use error_report() like other places do.

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


  Commit: 8ccf458af599673f622d14c8af84f063f69bba2d
      
https://github.com/qemu/qemu/commit/8ccf458af599673f622d14c8af84f063f69bba2d
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2019-10-25 (Fri, 25 Oct 2019)

  Changed paths:
    M block/backup.c

  Log Message:
  -----------
  block/backup: drop dead code from backup_job_create

After commit 00e30f05de1d195, there is no more "goto error" points
after job creation, so after "error:" @job is always NULL and we don't
need roll-back job creation.

Reported-by: Coverity (CID 1406402)
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Acked-by: Stefano Garzarella <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


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

  Changed paths:
    M qemu-options.hx

  Log Message:
  -----------
  doc: Describe missing generic -blockdev options

We added more generic options after introducing -blockdev and forgot to
update the documentation (man page and --help output) accordingly. Do
that now.

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


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

  Changed paths:
    M include/qemu/coroutine.h

  Log Message:
  -----------
  coroutine: Add qemu_co_mutex_assert_locked()

Some functions require that the caller holds a certain CoMutex for them
to operate correctly. Add a function so that they can assert the lock is
really held.

Cc: address@hidden
Signed-off-by: Kevin Wolf <address@hidden>
Tested-by: Michael Weiser <address@hidden>
Reviewed-by: Michael Weiser <address@hidden>
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Denis V. Lunev <address@hidden>
Reviewed-by: Max Reitz <address@hidden>


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

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

  Log Message:
  -----------
  qcow2: Fix corruption bug in qcow2_detect_metadata_preallocation()

qcow2_detect_metadata_preallocation() calls qcow2_get_refcount() which
requires s->lock to be taken to protect its accesses to the refcount
table and refcount blocks. However, nothing in this code path actually
took the lock. This could cause the same cache entry to be used by two
requests at the same time, for different tables at different offsets,
resulting in image corruption.

As it would be preferable to base the detection on consistent data (even
though it's just heuristics), let's take the lock not only around the
qcow2_get_refcount() calls, but around the whole function.

This patch takes the lock in qcow2_co_block_status() earlier and asserts
in qcow2_detect_metadata_preallocation() that we hold the lock.

Fixes: 69f47505ee66afaa513305de0c1895a224e52c45
Cc: address@hidden
Reported-by: Michael Weiser <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Tested-by: Michael Weiser <address@hidden>
Reviewed-by: Michael Weiser <address@hidden>
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Max Reitz <address@hidden>


  Commit: 03bf012e523ecdf047ac56b2057950247256064d
      
https://github.com/qemu/qemu/commit/03bf012e523ecdf047ac56b2057950247256064d
  Author: Peter Maydell <address@hidden>
  Date:   2019-10-25 (Fri, 25 Oct 2019)

  Changed paths:
    M block/backup.c
    M block/qcow2-refcount.c
    M block/qcow2.c
    M blockdev.c
    M include/qemu/coroutine.h
    M qapi/block-core.json
    M qemu-options.hx
    M tests/qemu-iotests/118
    M tests/qemu-iotests/iotests.py

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

Block layer patches:

- qcow2: Fix data corruption bug that is triggered in partial cluster
  allocation with default options
- qapi: add support for blkreplay driver
- doc: Describe missing generic -blockdev options
- iotests: Fix 118 when run as root
- Minor code cleanups

# gpg: Signature made Fri 25 Oct 2019 14:19:04 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:
  qcow2: Fix corruption bug in qcow2_detect_metadata_preallocation()
  coroutine: Add qemu_co_mutex_assert_locked()
  doc: Describe missing generic -blockdev options
  block/backup: drop dead code from backup_job_create
  blockdev: Use error_report() in hmp_commit()
  iotests: Skip read-only cases in 118 when run as root
  qapi: add support for blkreplay driver

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


Compare: https://github.com/qemu/qemu/compare/bad76ac31955...03bf012e523e



reply via email to

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