qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 45f188: iotests: fix 075 and 078


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 45f188: iotests: fix 075 and 078
Date: Wed, 29 Nov 2017 09:59:06 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 45f1882a9e1a8421404ea47de6aadf3d945618d0
      
https://github.com/qemu/qemu/commit/45f1882a9e1a8421404ea47de6aadf3d945618d0
  Author: John Snow <address@hidden>
  Date:   2017-11-27 (Mon, 27 Nov 2017)

  Changed paths:
    M tests/qemu-iotests/075
    M tests/qemu-iotests/078

  Log Message:
  -----------
  iotests: fix 075 and 078

Both of these tests are for formats which now stipulate that they are
read-only. Adjust the tests to match.

Signed-off-by: John Snow <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Lukáš Doktor <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: b1d1cb272882dd6868740155120f6aeb260a204c
      
https://github.com/qemu/qemu/commit/b1d1cb272882dd6868740155120f6aeb260a204c
  Author: Fam Zheng <address@hidden>
  Date:   2017-11-27 (Mon, 27 Nov 2017)

  Changed paths:
    M docs/qemu-block-drivers.texi
    M qemu-doc.texi

  Log Message:
  -----------
  docs: Add image locking subsection

This documents the image locking feature and explains when and how
related options can be used.

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


  Commit: 1878eaff9bdeece4546d4f9587e6c75ab0b79b8b
      
https://github.com/qemu/qemu/commit/1878eaff9bdeece4546d4f9587e6c75ab0b79b8b
  Author: Fam Zheng <address@hidden>
  Date:   2017-11-27 (Mon, 27 Nov 2017)

  Changed paths:
    M qemu-options.hx

  Log Message:
  -----------
  qemu-options: Mention locking option of file driver

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


  Commit: c117bb14ff633848cc6b0ff77f081f583dfa8c5e
      
https://github.com/qemu/qemu/commit/c117bb14ff633848cc6b0ff77f081f583dfa8c5e
  Author: Kashyap Chamarthy <address@hidden>
  Date:   2017-11-27 (Mon, 27 Nov 2017)

  Changed paths:
    M docs/interop/live-block-operations.rst
    M qapi/block-core.json

  Log Message:
  -----------
  QAPI & interop: Clarify events emitted by 'block-job-cancel'

When you cancel an in-progress 'mirror' job (or "active `block-commit`")
with QMP `block-job-cancel`, it emits the event: BLOCK_JOB_CANCELLED.
However, when `block-job-cancel` is issued *after* `drive-mirror` has
indicated (via the event BLOCK_JOB_READY) that the source and
destination have reached synchronization:

    [...] # Snip `drive-mirror` invocation & outputs
    {
      "execute":"block-job-cancel",
      "arguments":{
  "device":"virtio0"
      }
    }

    {"return": {}}

It (`block-job-cancel`) will counterintuitively emit the event
'BLOCK_JOB_COMPLETED':

    {
      "timestamp":{
  "seconds":1510678024,
  "microseconds":526240
      },
      "event":"BLOCK_JOB_COMPLETED",
      "data":{
  "device":"virtio0",
  "len":41126400,
  "offset":41126400,
  "speed":0,
  "type":"mirror"
      }
    }

But this is expected behaviour, where the _COMPLETED event indicates
that synchronization has successfully ended (and the destination now has
a point-in-time copy, which is at the time of cancel).

So add a small note to this effect in 'block-core.json'.  While at it,
also update the "Live disk synchronization -- drive-mirror and
blockdev-mirror" section in 'live-block-operations.rst'.

(Thanks: Max Reitz for reminding me of this caveat on IRC.)

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


  Commit: 0a3e155f3f5ec9b6f12d00894c7701b3cbb66590
      
https://github.com/qemu/qemu/commit/0a3e155f3f5ec9b6f12d00894c7701b3cbb66590
  Author: Alberto Garcia <address@hidden>
  Date:   2017-11-28 (Tue, 28 Nov 2017)

  Changed paths:
    M blockjob.c

  Log Message:
  -----------
  blockjob: Remove the job from the list earlier in block_job_unref()

When destroying a block job in block_job_unref() we should remove it
from the job list before calling block_job_remove_all_bdrv().

This is because removing the BDSs can trigger an aio_poll() and wake
up other jobs that might attempt to use the block job list. If that
happens the job we're currently destroying should not be in that list
anymore.

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


  Commit: 02d213009d571bcd7171e3ff9234722a11d30d1b
      
https://github.com/qemu/qemu/commit/02d213009d571bcd7171e3ff9234722a11d30d1b
  Author: Kevin Wolf <address@hidden>
  Date:   2017-11-29 (Wed, 29 Nov 2017)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Expect graph changes in bdrv_parent_drained_begin/end

The .drained_begin/end callbacks can (directly or indirectly via
aio_poll()) cause block nodes to be removed or the current BdrvChild to
point to a different child node.

Use QLIST_FOREACH_SAFE() to make sure we don't access invalid
BlockDriverStates or accidentally continue iterating the parents of the
new child node instead of the node we actually came from.

Signed-off-by: Kevin Wolf <address@hidden>
Tested-by: Jeff Cody <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 5bf1d5a73a4a6d0e2d692bd02b6d7f3eedeed3b7
      
https://github.com/qemu/qemu/commit/5bf1d5a73a4a6d0e2d692bd02b6d7f3eedeed3b7
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-11-29 (Wed, 29 Nov 2017)

  Changed paths:
    M block/backup.c
    M block/commit.c
    M block/mirror.c
    M block/stream.c
    M blockjob.c
    M include/block/blockjob_int.h
    M tests/test-blockjob-txn.c

  Log Message:
  -----------
  blockjob: remove clock argument from block_job_sleep_ns

All callers are using QEMU_CLOCK_REALTIME, and it will not be possible to
support more than one clock when block_job_sleep_ns switches to a single
timer stored in the BlockJob struct.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Tested-By: Jeff Cody <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 356f59b8757f47c0aca3e2e4e51d6010f64cade1
      
https://github.com/qemu/qemu/commit/356f59b8757f47c0aca3e2e4e51d6010f64cade1
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-11-29 (Wed, 29 Nov 2017)

  Changed paths:
    M blockjob.c

  Log Message:
  -----------
  blockjob: introduce block_job_do_yield

Hide the clearing of job->busy in a single function, and set it
in block_job_enter.  This lets block_job_do_yield verify that
qemu_coroutine_enter is not used while job->busy = false.

Signed-off-by: Paolo Bonzini <address@hidden>
Tested-By: Jeff Cody <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: fc24908e7d232b79c2a6f0363f52bda18dedb57b
      
https://github.com/qemu/qemu/commit/fc24908e7d232b79c2a6f0363f52bda18dedb57b
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-11-29 (Wed, 29 Nov 2017)

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

  Log Message:
  -----------
  blockjob: reimplement block_job_sleep_ns to allow cancellation

This reverts the effects of commit 4afeffc857 ("blockjob: do not allow
coroutine double entry or entry-after-completion", 2017-11-21)

This fixed the symptom of a bug rather than the root cause. Canceling the
wait on a sleeping blockjob coroutine is generally fine, we just need to
make it work correctly across AioContexts.  To do so, use a QEMUTimer
that calls block_job_enter.  Use a mutex to ensure that block_job_enter
synchronizes correctly with block_job_sleep_ns.

Signed-off-by: Paolo Bonzini <address@hidden>
Tested-By: Jeff Cody <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: f1a7ff770f7d71ee7833ff019aac9d6cc3d13f71
      
https://github.com/qemu/qemu/commit/f1a7ff770f7d71ee7833ff019aac9d6cc3d13f71
  Author: Peter Lieven <address@hidden>
  Date:   2017-11-29 (Wed, 29 Nov 2017)

  Changed paths:
    M block/nfs.c

  Log Message:
  -----------
  block/nfs: fix nfs_client_open for filesize greater than 1TB

DIV_ROUND_UP(st.st_size, BDRV_SECTOR_SIZE) was overflowing ret (int) if
st.st_size is greater than 1TB.

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


  Commit: 5591c001a1056910afd903df3fc3c03f30746623
      
https://github.com/qemu/qemu/commit/5591c001a1056910afd903df3fc3c03f30746623
  Author: Kevin Wolf <address@hidden>
  Date:   2017-11-29 (Wed, 29 Nov 2017)

  Changed paths:
    M block/nfs.c

  Log Message:
  -----------
  Merge remote-tracking branch 'mreitz/tags/pull-block-2017-11-29' into 
queue-block

One block patch for 2.11.0-rc3

# gpg: Signature made Wed Nov 29 15:28:38 2017 CET
# gpg:                using RSA key F407DB0061D5CF40
# gpg: Good signature from "Max Reitz <address@hidden>"
# Primary key fingerprint: 91BE B60A 30DB 3E88 57D1  1829 F407 DB00 61D5 CF40

* mreitz/tags/pull-block-2017-11-29:
  block/nfs: fix nfs_client_open for filesize greater than 1TB

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


  Commit: 915308bc3f0f4815ba95b27f424edc96f7853278
      
https://github.com/qemu/qemu/commit/915308bc3f0f4815ba95b27f424edc96f7853278
  Author: Peter Maydell <address@hidden>
  Date:   2017-11-29 (Wed, 29 Nov 2017)

  Changed paths:
    M block/backup.c
    M block/commit.c
    M block/io.c
    M block/mirror.c
    M block/nfs.c
    M block/stream.c
    M blockjob.c
    M docs/interop/live-block-operations.rst
    M docs/qemu-block-drivers.texi
    M include/block/blockjob.h
    M include/block/blockjob_int.h
    M qapi/block-core.json
    M qemu-doc.texi
    M qemu-options.hx
    M tests/qemu-iotests/075
    M tests/qemu-iotests/078
    M tests/test-blockjob-txn.c

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

Block layer patches for 2.11.0-rc3

# gpg: Signature made Wed 29 Nov 2017 15:25:13 GMT
# gpg:                using RSA key 0x7F09B272C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>"
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6

* remotes/kevin/tags/for-upstream:
  block/nfs: fix nfs_client_open for filesize greater than 1TB
  blockjob: reimplement block_job_sleep_ns to allow cancellation
  blockjob: introduce block_job_do_yield
  blockjob: remove clock argument from block_job_sleep_ns
  block: Expect graph changes in bdrv_parent_drained_begin/end
  blockjob: Remove the job from the list earlier in block_job_unref()
  QAPI & interop: Clarify events emitted by 'block-job-cancel'
  qemu-options: Mention locking option of file driver
  docs: Add image locking subsection
  iotests: fix 075 and 078

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


Compare: https://github.com/qemu/qemu/compare/844496f3e55a...915308bc3f0f

reply via email to

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