qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] deb9c2: util/qemu-thread-posix: use TSA_NO_TS


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] deb9c2: util/qemu-thread-posix: use TSA_NO_TSA to suppress...
Date: Mon, 20 Feb 2023 09:01:27 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: deb9c2ad0b81ac25fa02935f28cabb9c6155f377
      
https://github.com/qemu/qemu/commit/deb9c2ad0b81ac25fa02935f28cabb9c6155f377
  Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M include/qemu/thread.h
    M util/qemu-thread-posix.c

  Log Message:
  -----------
  util/qemu-thread-posix: use TSA_NO_TSA to suppress clang TSA warnings in 
FreeBSD

FreeBSD implements pthread headers using TSA (thread safety analysis)
annotations, therefore when an application is compiled with
-Wthread-safety there are some locking/annotation requirements that the
user of the pthread API has to follow.

This will also be the case in QEMU, since util/qemu-thread-posix.c uses
the pthread API. Therefore when building it with -Wthread-safety, the
compiler will throw warnings because the functions are not properly
annotated. We need TSA to be enabled because it ensures that the
critical sections of an annotated variable are properly locked.

In order to make the compiler happy and avoid adding all the necessary
macros to all callers (lock functions should use TSA_ACQUIRE, while
unlock TSA_RELEASE, and this applies to all users of pthread_mutex_lock
and pthread_mutex_unlock), simply use TSA_NO_TSA to supppress such
warnings.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Message-Id: <20230117135203.3049709-2-eesposit@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: e022d9cab70f02f7a8fb5fd9c619f46ac877dc4e
      
https://github.com/qemu/qemu/commit/e022d9cab70f02f7a8fb5fd9c619f46ac877dc4e
  Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M bsd-user/qemu.h
    M include/exec/exec-all.h

  Log Message:
  -----------
  bsd-user/mmap: use TSA_NO_TSA to suppress clang TSA warnings in FreeBSD

FreeBSD implements pthread headers using TSA (thread safety analysis)
annotations, therefore when an application is compiled with
-Wthread-safety there are some locking/annotation requirements that the
user of the pthread API has to follow.

This will also be the case in QEMU, since bsd-user/mmap.c uses the
pthread API. Therefore when building it with -Wthread-safety the
compiler will throw warnings because the functions are not properly
annotated. We need TSA to be enabled because it ensures that the
critical sections of an annotated variable are properly locked.

In order to make the compiler happy and avoid adding all the necessary
macros to all callers (lock functions should use TSA_ACQUIRE, while
unlock TSA_RELEASE, and this applies to all users of pthread_mutex_lock
and pthread_mutex_unlock), simply use TSA_NO_TSA to supppress such
warnings.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Message-Id: <20230117135203.3049709-3-eesposit@redhat.com>
Reviewed-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 3d2d4cc5a23229088528f9451518f12dea9a7285
      
https://github.com/qemu/qemu/commit/3d2d4cc5a23229088528f9451518f12dea9a7285
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: Enable -Wthread-safety if present

This enables clang's thread safety analysis (TSA), which we'll use to
statically check the block graph locking.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20221207131838.239125-9-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230117135203.3049709-4-eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 1e84cf79573e364075d6e63a4b00f7dc5f8aa924
      
https://github.com/qemu/qemu/commit/1e84cf79573e364075d6e63a4b00f7dc5f8aa924
  Author: Hanna Czenczek <hreitz@redhat.com>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M block/curl.c

  Log Message:
  -----------
  curl: Fix error path in curl_open()

g_hash_table_destroy() and g_hash_table_foreach_remove() (called by
curl_drop_all_sockets()) both require the table to be non-NULL, or will
print assertion failures (just print, no abort).

There are several paths in curl_open() that can lead to the out_noclean
label without s->sockets being allocated, so clean it only if it has
been allocated.

Example reproducer:
$ qemu-img info -f http ''
qemu-img: GLib: g_hash_table_foreach_remove: assertion 'hash_table != NULL' 
failed
qemu-img: GLib: g_hash_table_destroy: assertion 'hash_table != NULL' failed
qemu-img: Could not open '': http curl driver cannot handle the URL '' (does 
not start with 'http://')

Closes: https://gitlab.com/qemu-project/qemu/-/issues/1475
Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Hanna Czenczek <hreitz@redhat.com>
Message-Id: <20230206132949.92917-1-hreitz@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


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

  Changed paths:
    M include/block/block-common.h
    M scripts/block-coroutine-wrapper.py

  Log Message:
  -----------
  block-coroutine-wrapper: Introduce no_co_wrapper

Some functions must not be called from coroutine context. The common
pattern to use them anyway from a coroutine is running them in a BH and
letting the calling coroutine yield to be woken up when the BH is
completed.

Instead of manually writing such wrappers, add support for generating
them to block-coroutine-wrapper.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230126172432.436111-2-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 4bee90e9da3c58b09d4df949d9c64043133e4181
      
https://github.com/qemu/qemu/commit/4bee90e9da3c58b09d4df949d9c64043133e4181
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M block/meson.build
    M include/block/block-global-state.h
    M include/sysemu/block-backend-global-state.h

  Log Message:
  -----------
  block: Create no_co_wrappers for open functions

Images can't be opened in coroutine context because opening needs to
change the block graph. Add no_co_wrappers so that coroutines have a
simple way of opening images in a BH instead.

At the same time, mark the wrapped functions as no_coroutine_fn.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230126172432.436111-3-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 91817e9c58687f44a4d4d2ee39b88cb778d228a8
      
https://github.com/qemu/qemu/commit/91817e9c58687f44a4d4d2ee39b88cb778d228a8
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M block/crypto.c

  Log Message:
  -----------
  luks: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper

.bdrv_co_create implementations run in a coroutine. Therefore they are
not allowed to open images directly. Fix the calls to use the
corresponding no_co_wrappers instead.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230126172432.436111-4-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 48a4e92d3c8458cd5ab272790dc6fd884c58e206
      
https://github.com/qemu/qemu/commit/48a4e92d3c8458cd5ab272790dc6fd884c58e206
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M block/parallels.c

  Log Message:
  -----------
  parallels: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper

.bdrv_co_create implementations run in a coroutine. Therefore they are
not allowed to open images directly. Fix the calls to use the
corresponding no_co_wrappers instead.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230126172432.436111-5-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 5b9d79b62dcee57c9f0f0a5b34eea2bbb1f4e8d2
      
https://github.com/qemu/qemu/commit/5b9d79b62dcee57c9f0f0a5b34eea2bbb1f4e8d2
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M block/qcow.c

  Log Message:
  -----------
  qcow: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper

.bdrv_co_create implementations run in a coroutine. Therefore they are
not allowed to open images directly. Fix the calls to use the
corresponding no_co_wrappers instead.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230126172432.436111-6-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


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

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Fix open/create to open images with no_co_wrapper

.bdrv_co_create implementations run in a coroutine, as does
qcow2_do_open(). Therefore they are not allowed to open images directly.
Fix the calls to use the corresponding no_co_wrappers instead.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230126172432.436111-7-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 0b1e95cf46f7f43a39b5c4043b399b8ec29bd440
      
https://github.com/qemu/qemu/commit/0b1e95cf46f7f43a39b5c4043b399b8ec29bd440
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M block/qed.c

  Log Message:
  -----------
  qed: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper

.bdrv_co_create implementations run in a coroutine. Therefore they are
not allowed to open images directly. Fix the calls to use the
corresponding no_co_wrappers instead.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230126172432.436111-8-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 13dd6327efb565678bcfe14270dc3b6f7859237c
      
https://github.com/qemu/qemu/commit/13dd6327efb565678bcfe14270dc3b6f7859237c
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M block/vdi.c

  Log Message:
  -----------
  vdi: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper

.bdrv_co_create implementations run in a coroutine. Therefore they are
not allowed to open images directly. Fix the calls to use the
corresponding no_co_wrappers instead.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230126172432.436111-9-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 41e089cbe9966a9459aabd0f754f65e2619391ef
      
https://github.com/qemu/qemu/commit/41e089cbe9966a9459aabd0f754f65e2619391ef
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M block/vhdx.c

  Log Message:
  -----------
  vhdx: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper

.bdrv_co_create implementations run in a coroutine. Therefore they are
not allowed to open images directly. Fix the calls to use the
corresponding no_co_wrappers instead.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230126172432.436111-10-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 882f202e9da82369521d4b7a65694571c35e20f1
      
https://github.com/qemu/qemu/commit/882f202e9da82369521d4b7a65694571c35e20f1
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M block/vmdk.c

  Log Message:
  -----------
  vmdk: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper

.bdrv_co_create implementations run in a coroutine. Therefore they are
not allowed to open images directly. Fix the calls to use the
corresponding no_co_wrappers instead.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230126172432.436111-11-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 6ef028519b02fe64bdd6c87c81fd3ed05054ac55
      
https://github.com/qemu/qemu/commit/6ef028519b02fe64bdd6c87c81fd3ed05054ac55
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M block/vpc.c

  Log Message:
  -----------
  vpc: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper

.bdrv_co_create implementations run in a coroutine. Therefore they are
not allowed to open images directly. Fix the calls to use the
corresponding no_co_wrappers instead.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230126172432.436111-12-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


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

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Fix bdrv_co_create_opts_simple() to open images with no_co_wrapper

bdrv_co_create_opts_simple() runs in a coroutine. Therefore it is not
allowed to open images directly. Fix the call to use the corresponding
no_co_wrapper instead.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230126172432.436111-13-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 321923010d0e46f265c9a16efc340bf0cb66f785
      
https://github.com/qemu/qemu/commit/321923010d0e46f265c9a16efc340bf0cb66f785
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Assert non-coroutine context for bdrv_open_inherit()

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230126172432.436111-14-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: e7b8d9d038f313c2b9e601609e7d7c3ca6ad0234
      
https://github.com/qemu/qemu/commit/e7b8d9d038f313c2b9e601609e7d7c3ca6ad0234
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M block/curl.c

  Log Message:
  -----------
  block: Handle curl 7.55.0, 7.85.0 version changes

* 7.55.0 deprecates CURLINFO_CONTENT_LENGTH_DOWNLOAD in favour of a *_T
  version, which returns curl_off_t instead of a double.
* 7.85.0 deprecates CURLOPT_PROTOCOLS and CURLOPT_REDIR_PROTOCOLS in
  favour of *_STR variants, specifying the desired protocols via a
  string.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1440
Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230123201431.23118-1-anjo@rev.ng>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 60d90bf43c169b9d1dbcb17ed794b7b02c6862b1
      
https://github.com/qemu/qemu/commit/60d90bf43c169b9d1dbcb17ed794b7b02c6862b1
  Author: Stefano Garzarella <sgarzare@redhat.com>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: temporarily hold the new AioContext of bs_top in bdrv_append()

bdrv_append() is called with bs_top AioContext held, but
bdrv_attach_child_noperm() could change the AioContext of bs_top.

bdrv_replace_node_noperm() calls bdrv_drained_begin() starting from
commit 2398747128 ("block: Don't poll in bdrv_replace_child_noperm()").
bdrv_drained_begin() can call BDRV_POLL_WHILE that assumes the new lock
is taken, so let's temporarily hold the new AioContext to prevent QEMU
from failing in BDRV_POLL_WHILE when it tries to release the wrong
AioContext.

Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2168209
Reported-by: Aihua Liang <aliang@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20230214171621.11574-1-sgarzare@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 167643ff5e77bdfa3d2867f2e2469741484bd63f
      
https://github.com/qemu/qemu/commit/167643ff5e77bdfa3d2867f2e2469741484bd63f
  Author: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: drop Vladimir from parallels block driver

I have to admit this is out of my scope now. Still feel free to Cc me
directly if my help is needed :)

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Message-Id: <20230214182848.1564714-1-vsementsov@yandex-team.ru>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 005ee3cdc79e05b7691c8ce078c147c1f9336814
      
https://github.com/qemu/qemu/commit/005ee3cdc79e05b7691c8ce078c147c1f9336814
  Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M block/file-posix.c

  Log Message:
  -----------
  block/file-posix: don't use functions calling AIO_WAIT_WHILE in worker threads

When calling bdrv_getlength() in handle_aiocb_write_zeroes(), the
function creates a new coroutine and then waits that it finishes using
AIO_WAIT_WHILE.
The problem is that this function could also run in a worker thread,
that has a different AioContext from main loop and iothreads, therefore
in AIO_WAIT_WHILE we will have in_aio_context_home_thread(ctx) == false
and therefore
assert(qemu_get_current_aio_context() == qemu_get_aio_context());
in the else branch will fail, crashing QEMU.

Aside from that, bdrv_getlength() is wrong also conceptually, because
it reads the BDS graph from another thread and is not protected by
any lock.

Replace it with raw_co_getlength, that doesn't create a coroutine and
doesn't read the BDS graph.

Reported-by: Ninad Palsule <ninad@linux.vnet.ibm.com>
Suggested-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Message-Id: <20230209154522.1164401-1-eesposit@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: a4d5224c2cb650b5a401d626d3f36e42e6987aa7
      
https://github.com/qemu/qemu/commit/a4d5224c2cb650b5a401d626d3f36e42e6987aa7
  Author: Andrey Zhadchenko <andrey.zhadchenko@virtuozzo.com>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M include/qemu/hbitmap.h
    M util/hbitmap.c

  Log Message:
  -----------
  hbitmap: fix hbitmap_status() return value for first dirty bit case

The last return statement should return true, as we already evaluated that
start == next_dirty

Also, fix hbitmap_status() description in header

Cc: qemu-stable@nongnu.org
Fixes: a6426475a75 ("block/dirty-bitmap: introduce bdrv_dirty_bitmap_status()")
Signed-off-by: Andrey Zhadchenko <andrey.zhadchenko@virtuozzo.com>
Message-Id: <20230202181523.423131-1-andrey.zhadchenko@virtuozzo.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


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

  Changed paths:
    M MAINTAINERS
    M block.c
    M block/crypto.c
    M block/curl.c
    M block/file-posix.c
    M block/meson.build
    M block/parallels.c
    M block/qcow.c
    M block/qcow2.c
    M block/qed.c
    M block/vdi.c
    M block/vhdx.c
    M block/vmdk.c
    M block/vpc.c
    M bsd-user/qemu.h
    M configure
    M include/block/block-common.h
    M include/block/block-global-state.h
    M include/exec/exec-all.h
    M include/qemu/hbitmap.h
    M include/qemu/thread.h
    M include/sysemu/block-backend-global-state.h
    M scripts/block-coroutine-wrapper.py
    M util/hbitmap.c
    M util/qemu-thread-posix.c

  Log Message:
  -----------
  Merge tag 'for-upstream' of https://repo.or.cz/qemu/kevin into staging

Block layer patches

- configure: Enable -Wthread-safety if present
- no_co_wrapper to fix bdrv_open*() calls from coroutine context
- curl fixes, including enablement of newer libcurl versions
- MAINTAINERS: drop Vladimir from parallels block driver
- hbitmap: fix hbitmap_status() return value for first dirty bit case
- file-posix: Fix assertion failure in write_zeroes after moving
  bdrv_getlength() to co_wrapper

# -----BEGIN PGP SIGNATURE-----
#
# iQJFBAABCAAvFiEE3D3rFZqa+V09dFb+fwmycsiPL9YFAmPvgm0RHGt3b2xmQHJl
# ZGhhdC5jb20ACgkQfwmycsiPL9ZxQg//ZWwwh/s/P1PnKAjInNZZNklAWKThNEbZ
# cF1S94w26IhEQqM0i6MflqcDsPU5t4xZtBUOizx++9M4G8amWnomJSdczUcKULla
# Az9yweFC1Gu6ENdw+ql5VOzCfpdH5Bn9Jkly5fxuI4vmnBz1PH1Dnd3P4wuLq2sL
# xna5dijVEhRc5mTKWjbp4nFfvQhucuEBPSNjgnZwEPbhciWxTMmB1GmyRvTxZy8v
# UY8PcoTlxdKeVQ6DTmkOirphpGj7HeNCEQnZppWs7vHys2oGi9kmR5qTKUNZxGrY
# 8yWiCiVDqbb50fhEC1srhph79bCij87QC1N33Bm+NuGjnjG4bKVx2B9DC8+6S/JS
# e3x6u+r0dd6/t0rjKnt1+inYqmM+i5lBJ7+R0yhWUQ+DYkvttNf5yiotD8qvccWJ
# Kcx14lfjPLK7siAMEY5K0bNMimhN4RR9oCLoPTOHei+vlxdfiMm2XPN61NNht5gD
# lYZ8JMBsEF/o2ebqTgsJrIHS+Q/8MqcwSunBc54fcXZoF+eiza3W2ArXLNfAEfGE
# U4JowNK2PrTIrpEjD+Vs0RsBBSmN5PcYIAz04ioODpDnYMq73/t3x9MKdVoxOT64
# AM7w58fSyWu8iwvkeA0d3XeVtSHFqZ49PqqIem4IegtnC/AXMUNrJ/VT99xHjeJY
# oLhOJz7LUg0=
# =FtaA
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 17 Feb 2023 13:34:37 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

* tag 'for-upstream' of https://repo.or.cz/qemu/kevin: (22 commits)
  hbitmap: fix hbitmap_status() return value for first dirty bit case
  block/file-posix: don't use functions calling AIO_WAIT_WHILE in worker threads
  MAINTAINERS: drop Vladimir from parallels block driver
  block: temporarily hold the new AioContext of bs_top in bdrv_append()
  block: Handle curl 7.55.0, 7.85.0 version changes
  block: Assert non-coroutine context for bdrv_open_inherit()
  block: Fix bdrv_co_create_opts_simple() to open images with no_co_wrapper
  vpc: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper
  vmdk: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper
  vhdx: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper
  vdi: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper
  qed: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper
  qcow2: Fix open/create to open images with no_co_wrapper
  qcow: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper
  parallels: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper
  luks: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper
  block: Create no_co_wrappers for open functions
  block-coroutine-wrapper: Introduce no_co_wrapper
  curl: Fix error path in curl_open()
  configure: Enable -Wthread-safety if present
  ...

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


Compare: https://github.com/qemu/qemu/compare/d8d20b38ec58...2d89cb1fe5c7



reply via email to

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