qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] aba820: block: Lock AioContext for drain_end


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] aba820: block: Lock AioContext for drain_end in blockdev-r...
Date: Mon, 14 Feb 2022 11:59:37 -0800

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: aba8205be0707b9d108e32254e186ba88107a869
      
https://github.com/qemu/qemu/commit/aba8205be0707b9d108e32254e186ba88107a869
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M blockdev.c

  Log Message:
  -----------
  block: Lock AioContext for drain_end in blockdev-reopen

bdrv_subtree_drained_end() requires the caller to hold the AioContext
lock for the drained node. Not doing this for nodes outside of the main
AioContext leads to crashes when AIO_WAIT_WHILE() needs to wait and
tries to temporarily release the lock.

Fixes: 3908b7a8994fa5ef7a89aa58cd5a02fc58141592
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2046659
Reported-by: Qing Wang <qinwang@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20220203140534.36522-2-kwolf@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: ee810602376125ca0e0afd6b7c715e13740978ea
      
https://github.com/qemu/qemu/commit/ee810602376125ca0e0afd6b7c715e13740978ea
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

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

  Log Message:
  -----------
  iotests: Test blockdev-reopen with iothreads and throttling

The 'throttle' block driver implements .bdrv_co_drain_end, so
blockdev-reopen will have to wait for it to complete in the polling
loop at the end of qmp_blockdev_reopen(). This makes AIO_WAIT_WHILE()
release the AioContext lock, which causes a crash if the lock hasn't
correctly been taken.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20220203140534.36522-3-kwolf@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: fdb8541b2e4f6ff60f435fbb5a5e1df20c275a86
      
https://github.com/qemu/qemu/commit/fdb8541b2e4f6ff60f435fbb5a5e1df20c275a86
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M hw/block/fdc-isa.c

  Log Message:
  -----------
  hw/block/fdc-isa: Respect QOM properties when building AML

Other ISA devices such as serial-isa use the properties in their
build_aml functions. fdc-isa not using them is probably an oversight.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-Id: <20220209191558.30393-1-shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 2d88a3a595f1094e3ecc6cd2fd1e804634c84b0f
      
https://github.com/qemu/qemu/commit/2d88a3a595f1094e3ecc6cd2fd1e804634c84b0f
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2022-02-14 (Mon, 14 Feb 2022)

  Changed paths:
    M blockdev.c
    M hw/block/fdc-isa.c
    M tests/qemu-iotests/245
    M tests/qemu-iotests/245.out

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

Block layer patches

- Fix crash in blockdev-reopen with iothreads
- fdc-isa: Respect QOM properties when building AML

# gpg: Signature made Fri 11 Feb 2022 17:44:52 GMT
# gpg:                using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6
# gpg:                issuer "kwolf@redhat.com"
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6

* remotes/kwolf-gitlab/tags/for-upstream:
  hw/block/fdc-isa: Respect QOM properties when building AML
  iotests: Test blockdev-reopen with iothreads and throttling
  block: Lock AioContext for drain_end in blockdev-reopen

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/50a75ff680ec...2d88a3a595f1



reply via email to

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