diff options
author | Stefan Hajnoczi <stefanha@redhat.com> | 2023-05-16 15:02:32 -0400 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2023-05-30 17:32:02 +0200 |
commit | 3d499a43a25571dcacb3a25330357af5e0be9bca (patch) | |
tree | cf6e2c4857a4488e8e0fd4669f6769d1337f1fa8 /include/block | |
parent | 195332c1d9b7e510097495bda2a038467a5869f7 (diff) | |
download | qemu-3d499a43a25571dcacb3a25330357af5e0be9bca.zip qemu-3d499a43a25571dcacb3a25330357af5e0be9bca.tar.gz qemu-3d499a43a25571dcacb3a25330357af5e0be9bca.tar.bz2 |
block/export: don't require AioContext lock around blk_exp_ref/unref()
The FUSE export calls blk_exp_ref/unref() without the AioContext lock.
Instead of fixing the FUSE export, adjust blk_exp_ref/unref() so they
work without the AioContext lock. This way it's less error-prone.
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230516190238.8401-15-stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'include/block')
-rw-r--r-- | include/block/export.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/block/export.h b/include/block/export.h index 7feb02e..f2fe0f8 100644 --- a/include/block/export.h +++ b/include/block/export.h @@ -57,6 +57,8 @@ struct BlockExport { * Reference count for this block export. This includes strong references * both from the owner (qemu-nbd or the monitor) and clients connected to * the export. + * + * Use atomics to access this field. */ int refcount; |