by: Daniil Tatianin
Signed-off-by: Stefan Hajnoczi
---
hw/scsi/scsi-bus.c| 3 ++-
hw/scsi/virtio-scsi.c | 18 +-
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
index 07275fb631..64d7311757 100644
--- a/hw/scsi/scsi-b
: Stefan Hajnoczi
---
hw/block/dataplane/virtio-blk.c | 2 ++
hw/scsi/virtio-scsi-dataplane.c | 9 +
2 files changed, 11 insertions(+)
diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
index b28d81737e..bd7cc6e76b 100644
--- a/hw/block/dataplane/virtio-blk.c
+++ b
when there are requests in
flight. The in-flight counter needs to be atomic.
Signed-off-by: Stefan Hajnoczi
---
include/qemu/vhost-user-server.h | 4 +++-
block/export/vhost-user-blk-server.c | 16
util/vhost-user-server.c | 14 ++
3 files c
-off-by: Stefan Hajnoczi
---
include/hw/qdev-core.h | 17 ++---
hw/scsi/scsi-bus.c | 3 +--
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
index bd50ad5ee1..4d734cf35e 100644
--- a/include/hw/qdev-core.h
+++ b/include
e are no
more requests.
Avoid confusing by renaming refcount and ref/unref to in_flight and
inc/dec.
Reviewed-by: Paolo Bonzini
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Stefan Hajnoczi
---
include/qemu/vhost-user-server.h | 6 +++---
block/export/vhost-user-blk-server.c
o use BlockDevOps
.drained_begin/end() callbacks. It no longer relies on is_external=true
so it is safe to pass is_external=false.
This is part of ongoing work to remove the aio_disable_external() API.
Signed-off-by: Stefan Hajnoczi
---
hw/xen/xen-bus.c | 8
1 file changed, 4 insertions(
ff-by: Stefan Hajnoczi
---
hw/i386/kvm/xen_xenstore.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 900679af8a..6e81bc8791 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -133,7 +
oot_set_aio_ctx_commit()
being invoked as part of the AioContext change propagation. This can be
solved by temporarily setting blk->allow_aio_context_change to true.
Future patches call blk_get_aio_context() from
BlockDevOps->drained_end(), so this patch will become necessary.
Signed-off-by: Stefa
.
Signed-off-by: Stefan Hajnoczi
---
include/sysemu/block-backend-common.h | 25 +
block/io.c| 3 ++-
2 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/include/sysemu/block-backend-common.h
b/include/sysemu/block-backend-common.h
index
depend on the
dataplane instance, so move the blk_set_dev_ops() call after
xen_block_dataplane_create().
Signed-off-by: Stefan Hajnoczi
---
hw/block/dataplane/xen-block.h | 2 ++
hw/block/dataplane/xen-block.c | 42 +-
hw/block/xen-block.c
The BlockBackend quiesce_counter is greater than zero during drained
sections. Add an API to check whether the BlockBackend is in a drained
section.
The next patch will use this API.
Signed-off-by: Stefan Hajnoczi
---
include/sysemu/block-backend-global-state.h | 1 +
block/block-backend.c
, is_external, io_read, io_poll, io_poll_ready;
@@
- aio_set_event_notifier(ctx, notifier, is_external, io_read, io_poll,
io_poll_ready)
+ aio_set_event_notifier(ctx, notifier, io_read, io_poll, io_poll_ready)
Reviewed-by: Juan Quintela
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Stefan
Host notifiers can now use is_external=false since virtio-blk and
virtio-scsi no longer rely on is_external=true for drained sections.
Signed-off-by: Stefan Hajnoczi
---
hw/virtio/virtio.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/virtio/virtio.c b/hw/virtio
resume them in
.drained_end(). This eliminates the need for the
aio_set_fd_handler(is_external=true) flag, which is being removed from
QEMU.
This is a long list but splitting it into individual commits would
probably lead to git bisect failures - the changes are all related.
Signed-off-by:
sees one
pair of .drained_begin/end() calls.
After this commit, virtio-scsi no longer depends on hw/virtio's
ioeventfd aio_set_event_notifier(is_external=true). This commit is a
step towards removing the aio_disable_external() API.
Signed-off-by: Stefan Hajnoczi
---
include/hw/scsi/s
This is part of ongoing work to remove the aio_disable_external() API.
Use BlockDevOps .drained_begin/end/poll() instead of
aio_set_fd_handler(is_external=true).
As a side-effect the FUSE export now follows AioContext changes like the
other export types.
Signed-off-by: Stefan Hajnoczi
ily stop file descriptor handlers.
This ensures that new I/O requests are not submitted in drained sections.
The first two virtio-scsi patches were already sent as a separate series. I
included them because they are necessary in order to fully remove
aio_disable_external().
Stefan Hajnoczi (20):
d the aio_disable_external()
API cannot be used since multiple AioContext may be processing I/O, not
just one.
Switch to BlockDevOps->drained_begin/end() callbacks.
Signed-off-by: Stefan Hajnoczi
---
block/export/vhost-user-blk-server.c | 43 ++--
util/vhost-user-server.c
simple_device_unplug_cb()
returns.
Thanks to these two conditions we don't need aio_disable_external()
anymore.
Cc: Zhengui Li
Reviewed-by: Paolo Bonzini
Reviewed-by: Daniil Tatianin
Signed-off-by: Stefan Hajnoczi
---
hw/scsi/scsi-disk.c | 1 +
hw/scsi/virtio-scsi.c | 3 ---
2 file
On Fri, Apr 21, 2023 at 11:36:02AM +0800, Yongji Xie wrote:
> Hi Stefan,
>
> On Thu, Apr 20, 2023 at 7:39 PM Stefan Hajnoczi wrote:
> >
> > vduse_blk_detach_ctx() waits for in-flight requests using
> > AIO_WAIT_WHILE(). This is not allowe
On Thu, Apr 20, 2023 at 03:39:59PM +0200, Philippe Mathieu-Daudé wrote:
> Hi Stefan,
>
> On 20/4/23 13:37, Stefan Hajnoczi wrote:
> > v3:
> > - Resend full patch series. v2 was sent in the middle of a git rebase and
> > was
> >missing patches. [E
On Thu, Apr 20, 2023 at 03:44:06PM +0200, Philippe Mathieu-Daudé wrote:
> On 20/4/23 13:37, Stefan Hajnoczi wrote:
> > All callers now pass is_external=false to aio_set_fd_handler() and
> > aio_set_event_notifier(). The aio_disable_external() API that
> > temporarily disables
On Fri, 21 Apr 2023 at 19:21, Gurchetan Singh
wrote:
>
> On Fri, Apr 21, 2023 at 9:00 AM Stefan Hajnoczi wrote:
> >
> > On Thu, 20 Apr 2023 at 21:13, Gurchetan Singh
> > wrote:
> > >
> > > gfxstream and both cross-domain (and ev
Signed-off-by: Stefan Hajnoczi
---
block/dmg.h | 8
block/dmg.c | 7 ++-
2 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/block/dmg.h b/block/dmg.h
index e488601b62..dcd6165e63 100644
--- a/block/dmg.h
+++ b/block/dmg.h
@@ -51,10 +51,10 @@ typedef struct BDRVDMGState
From: Thomas De Schampheleire
The event filename is an absolute path. Convert it to a relative path when
writing '#line' directives, to preserve reproducibility of the generated
output when different base paths are used.
Signed-off-by: Thomas De Schampheleire
Signed-off-by: Stefa
The following changes since commit ac5f7bf8e208cd7893dbb1a9520559e569a4677c:
Merge tag 'migration-20230424-pull-request' of
https://gitlab.com/juan.quintela/qemu into staging (2023-04-24 15:00:39 +0100)
are available in the Git repository at:
https://gitlab.com/stefanha/qemu.git tags/block-
On Fri, Apr 21, 2023 at 08:01:56PM +0100, Richard Henderson wrote:
> On 4/20/23 13:09, Stefan Hajnoczi wrote:
> > The following changes since commit c1eb2ddf0f8075faddc5f7c3d39feae3e8e9d6b4:
> >
> >Update version for v8.0.0 release (2023-04-19 17:27:13 +0100)
> >
&
On Fri, Apr 21, 2023 at 08:01:56PM +0100, Richard Henderson wrote:
> On 4/20/23 13:09, Stefan Hajnoczi wrote:
> > The following changes since commit c1eb2ddf0f8075faddc5f7c3d39feae3e8e9d6b4:
> >
> >Update version for v8.0.0 release (2023-04-19 17:27:13 +0100)
> >
&
ocal variable 'slice' is removed from the global context list
> in following loop of the same routine. Add a pragma to silent GCC.
>
> Cc: Stefan Hajnoczi
> Cc: Paolo Bonzini
> Cc: Daniel P. Berrangé
> Signed-off-by: Cédric Le Goater
> ---
> util/async.c | 14
On Thu, 20 Apr 2023 at 21:13, Gurchetan Singh
wrote:
>
> From: Gurchetan Singh
>
> Rationale:
>
> - gfxstream [a] is good for the Android Emulator/upstream QEMU
> alignment
> - Wayland passhthrough [b] via the cross-domain context type is good
> for Linux on Linux display virtualization
> - r
On Thu, 20 Apr 2023 at 21:13, Gurchetan Singh
wrote:
>
> gfxstream and both cross-domain (and even newer versions
> virglrenderer: see VIRGL_RENDERER_ASYNC_FENCE_CB) like to signal
> fence completion on threads ("callback threads") that are
> different from the thread that processes the command qu
ode searches
to identify vhost-user backends implementing SET_STATUS. It seems only
DPDK implements SET_STATUS and Yajun Wu has
confirmed that it is safe to make this change.
Cc: Michael S. Tsirkin
Cc: Cindy Lu
Signed-off-by: Stefan Hajnoczi
---
hw/virtio/vhost-user.c | 13 -
1 f
From: Sam Li
Add the documentation about the zoned device support to virtio-blk
emulation.
Signed-off-by: Sam Li
Reviewed-by: Stefan Hajnoczi
Reviewed-by: Damien Le Moal
Reviewed-by: Dmitry Fomichev
Acked-by: Kevin Wolf
Message-id: 20230324090605.28361-9-faithilike...@gmail.com
[Add index
Signed-off-by: Stefan Hajnoczi
---
block/dmg.h | 8
block/dmg.c | 7 ++-
2 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/block/dmg.h b/block/dmg.h
index e488601b62..dcd6165e63 100644
--- a/block/dmg.h
+++ b/block/dmg.h
@@ -51,10 +51,10 @@ typedef struct BDRVDMGState
zone
- write to a zone
- zone append
Signed-off-by: Sam Li
Message-id: 20230407081657.17947-2-faithilike...@gmail.com
Signed-off-by: Stefan Hajnoczi
---
include/block/block-common.h | 14 +++
include/block/block_int-common.h | 5 +
block/file-posix.c
From: Sam Li
Signed-off-by: Sam Li
Reviewed-by: Dmitry Fomichev
Reviewed-by: Stefan Hajnoczi
Message-id: 20230407081657.17947-5-faithilike...@gmail.com
Signed-off-by: Stefan Hajnoczi
---
block/file-posix.c | 3 +++
block/trace-events | 2 ++
2 files changed, 5 insertions(+)
diff --git a
From: Carlos Santos
It is not useful when configuring with --enable-trace-backends=nop.
Signed-off-by: Carlos Santos
Signed-off-by: Stefan Hajnoczi
Message-Id: <20230408010410.281263-1-casan...@redhat.com>
---
trace/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: Sam Li
Putting zoned/non-zoned BlockDrivers on top of each other is not
allowed.
Signed-off-by: Sam Li
Reviewed-by: Stefan Hajnoczi
Reviewed-by: Hannes Reinecke
Reviewed-by: Dmitry Fomichev
Acked-by: Kevin Wolf
Message-id: 20230324090605.28361-6-faithilike...@gmail.com
[Adjust commit
From: Sam Li
Taking account of the new zone append write operation for zoned devices,
BLOCK_ACCT_ZONE_APPEND enum is introduced as other I/O request type (read,
write, flush).
Signed-off-by: Sam Li
Message-id: 20230407082528.18841-4-faithilike...@gmail.com
Signed-off-by: Stefan Hajnoczi
.
--Stefan]
Signed-off-by: Stefan Hajnoczi
---
docs/devel/zoned-storage.rst | 25 ++---
1 file changed, 22 insertions(+), 3 deletions(-)
diff --git a/docs/devel/zoned-storage.rst b/docs/devel/zoned-storage.rst
index 6a36133e51..e02500c8a3 100644
--- a/docs/devel/zoned
Message-id: 20230407082528.18841-3-faithilike...@gmail.com
Signed-off-by: Stefan Hajnoczi
---
hw/block/virtio-blk-common.c | 2 +
hw/block/virtio-blk.c| 389 +++
hw/virtio/virtio-qmp.c | 2 +
3 files changed, 393 insertions(+)
diff --git a/hw
From: Sam Li
The patch tests zone append writes by reporting the zone wp after
the completion of the call. "zap -p" option can print the sector
offset value after completion, which should be the start sector
where the append write begins.
Signed-off-by: Sam Li
Reviewed-by: Stefa
From: Thomas De Schampheleire
The event filename is an absolute path. Convert it to a relative path when
writing '#line' directives, to preserve reproducibility of the generated
output when different base paths are used.
Signed-off-by: Thomas De Schampheleire
Signed-off-by: Stefa
From: Sam Li
Signed-off-by: Sam Li
Reviewed-by: Stefan Hajnoczi
Reviewed-by: Damien Le Moal
Reviewed-by: Hannes Reinecke
Reviewed-by: Dmitry Fomichev
Acked-by: Kevin Wolf
Message-id: 20230324090605.28361-2-faithilike...@gmail.com
[Adjust commit message prefix as suggested by Philippe
From: Sam Li
raw-format driver usually sits on top of file-posix driver. It needs to
pass through requests of zone commands.
Signed-off-by: Sam Li
Reviewed-by: Stefan Hajnoczi
Reviewed-by: Damien Le Moal
Reviewed-by: Hannes Reinecke
Reviewed-by: Dmitry Fomichev
Acked-by: Kevin Wolf
The following changes since commit c1eb2ddf0f8075faddc5f7c3d39feae3e8e9d6b4:
Update version for v8.0.0 release (2023-04-19 17:27:13 +0100)
are available in the Git repository at:
https://gitlab.com/stefanha/qemu.git tags/block-pull-request
for you to fetch changes up to 36e5e9b22abe56aa00ca
Reviewed-by: Stefan Hajnoczi
Reviewed-by: Damien Le Moal
Reviewed-by: Dmitry Fomichev
Acked-by: Kevin Wolf
Message-id: 20230324090605.28361-3-faithilike...@gmail.com
[Adjust commit message prefix as suggested by Philippe Mathieu-Daudé
.
--Stefan]
Signed-off-by: Stefan Hajnoczi
---
include/block
From: Sam Li
Signed-off-by: Sam Li
Reviewed-by: Stefan Hajnoczi
Message-id: 20230407082528.18841-5-faithilike...@gmail.com
Signed-off-by: Stefan Hajnoczi
---
hw/block/virtio-blk.c | 12
hw/block/trace-events | 7 +++
2 files changed, 19 insertions(+)
diff --git a/hw/block
From: Sam Li
Use scripts/update-linux-headers.sh to update headers to 6.3-rc1.
Signed-off-by: Sam Li
Reviewed-by: Stefan Hajnoczi
Reviewed-by: Dmitry Fomichev
Message-id: 20230407082528.18841-2-faithilike...@gmail.com
Signed-off-by: Stefan Hajnoczi
---
include/standard-headers/drm
completion the device will respond with the position where the data has
been written in the zone.
Signed-off-by: Sam Li
Reviewed-by: Dmitry Fomichev
Reviewed-by: Stefan Hajnoczi
Message-id: 20230407081657.17947-3-faithilike...@gmail.com
Signed-off-by: Stefan Hajnoczi
---
include/block/block
From: Sam Li
The new block layer APIs of zoned block devices can be tested by:
$ tests/qemu-iotests/check zoned
Run each zone operation on a newly created null_blk device
and see whether it outputs the same zone information.
Signed-off-by: Sam Li
Reviewed-by: Stefan Hajnoczi
Acked-by: Kevin
From: Sam Li
Signed-off-by: Sam Li
Reviewed-by: Stefan Hajnoczi
Reviewed-by: Dmitry Fomichev
Acked-by: Kevin Wolf
Message-id: 20230324090605.28361-8-faithilike...@gmail.com
Signed-off-by: Stefan Hajnoczi
---
block/file-posix.c | 3 +++
block/trace-events | 2 ++
2 files changed, 5
=host_device, filename=/dev/nullb0
-c "zrp offset nr_zones"
Signed-off-by: Sam Li
Reviewed-by: Hannes Reinecke
Reviewed-by: Stefan Hajnoczi
Reviewed-by: Dmitry Fomichev
Acked-by: Kevin Wolf
Message-id: 20230324090605.28361-4-faithilike...@gmail.com
[Adjust commit message prefix as su
d the aio_disable_external()
API cannot be used since multiple AioContext may be processing I/O, not
just one.
Switch to BlockDevOps->drained_begin/end() callbacks.
Signed-off-by: Stefan Hajnoczi
---
block/export/vhost-user-blk-server.c | 43 ++--
util/vhost-user-server.c
Host notifiers can now use is_external=false since virtio-blk and
virtio-scsi no longer rely on is_external=true for drained sections.
Signed-off-by: Stefan Hajnoczi
---
hw/virtio/virtio.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/virtio/virtio.c b/hw/virtio
e are no
more requests.
Avoid confusing by renaming refcount and ref/unref to in_flight and
inc/dec.
Reviewed-by: Paolo Bonzini
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Stefan Hajnoczi
---
include/qemu/vhost-user-server.h | 6 +++---
block/export/vhost-user-blk-server.c
o use BlockDevOps
.drained_begin/end() callbacks. It no longer relies on is_external=true
so it is safe to pass is_external=false.
This is part of ongoing work to remove the aio_disable_external() API.
Signed-off-by: Stefan Hajnoczi
---
hw/xen/xen-bus.c | 8
1 file changed, 4 insertions(
attaching/detaching ioeventfds if the data
plane is started/stopped during a drained section. This should be rare,
but maybe the mirror block job can trigger it.
Signed-off-by: Stefan Hajnoczi
---
hw/block/dataplane/virtio-blk.c | 17 +--
hw/block/virtio-blk.c | 38
.
Signed-off-by: Stefan Hajnoczi
---
include/sysemu/block-backend-common.h | 25 +
block/io.c| 3 ++-
2 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/include/sysemu/block-backend-common.h
b/include/sysemu/block-backend-common.h
index
when there are requests in
flight. The in-flight counter needs to be atomic.
Signed-off-by: Stefan Hajnoczi
---
include/qemu/vhost-user-server.h | 4 +++-
block/export/vhost-user-blk-server.c | 19 +++
util/vhost-user-server.c | 14 ++
3 files c
: Stefan Hajnoczi
---
hw/block/dataplane/virtio-blk.c | 2 ++
hw/scsi/virtio-scsi-dataplane.c | 9 +
2 files changed, 11 insertions(+)
diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
index b28d81737e..bd7cc6e76b 100644
--- a/hw/block/dataplane/virtio-blk.c
+++ b
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
Signed-off-by: Stefan Hajnoczi
---
include/block/exp
resume them in
.drained_end(). This eliminates the need for the
aio_set_fd_handler(is_external=true) flag, which is being removed from
QEMU.
This is a long list but splitting it into individual commits would
probably lead to git bisect failures - the changes are all related.
Signed-off-by:
depend on the
dataplane instance, so move the blk_set_dev_ops() call after
xen_block_dataplane_create().
Signed-off-by: Stefan Hajnoczi
---
hw/block/dataplane/xen-block.h | 2 ++
hw/block/dataplane/xen-block.c | 42 +-
hw/block/xen-block.c
sees one
pair of .drained_begin/end() calls.
After this commit, virtio-scsi no longer depends on hw/virtio's
ioeventfd aio_set_event_notifier(is_external=true). This commit is a
step towards removing the aio_disable_external() API.
Signed-off-by: Stefan Hajnoczi
---
include/hw/scsi/s
vhost_user_server_stop() uses AIO_WAIT_WHILE(). AIO_WAIT_WHILE()
requires that AioContext is only acquired once.
Since blk_exp_request_shutdown() already acquires the AioContext it
shouldn't be acquired again in vhost_user_server_stop().
Signed-off-by: Stefan Hajnoczi
---
util/vhost
This is part of ongoing work to remove the aio_disable_external() API.
Use BlockDevOps .drained_begin/end/poll() instead of
aio_set_fd_handler(is_external=true).
As a side-effect the FUSE export now follows AioContext changes like the
other export types.
Signed-off-by: Stefan Hajnoczi
simple_device_unplug_cb()
returns.
Thanks to these two conditions we don't need aio_disable_external()
anymore.
Cc: Zhengui Li
Reviewed-by: Paolo Bonzini
Reviewed-by: Daniil Tatianin
Signed-off-by: Stefan Hajnoczi
---
hw/scsi/scsi-disk.c | 1 +
hw/scsi/virtio-scsi.c | 3 ---
2 file
ff-by: Stefan Hajnoczi
---
hw/i386/kvm/xen_xenstore.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 900679af8a..6e81bc8791 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -133,7 +
, is_external, io_read, io_poll, io_poll_ready;
@@
- aio_set_event_notifier(ctx, notifier, is_external, io_read, io_poll,
io_poll_ready)
+ aio_set_event_notifier(ctx, notifier, io_read, io_poll, io_poll_ready)
Reviewed-by: Juan Quintela
Signed-off-by: Stefan Hajnoczi
---
include/block/aio.h
-off-by: Stefan Hajnoczi
---
include/hw/qdev-core.h | 17 ++---
hw/scsi/scsi-bus.c | 3 +--
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
index bd50ad5ee1..4d734cf35e 100644
--- a/include/hw/qdev-core.h
+++ b/include
The BlockBackend quiesce_counter is greater than zero during drained
sections. Add an API to check whether the BlockBackend is in a drained
section.
The next patch will use this API.
Signed-off-by: Stefan Hajnoczi
---
include/sysemu/block-backend-global-state.h | 1 +
block/block-backend.c
by: Daniil Tatianin
Signed-off-by: Stefan Hajnoczi
---
hw/scsi/scsi-bus.c| 3 ++-
hw/scsi/virtio-scsi.c | 18 +-
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
index 07275fb631..64d7311757 100644
--- a/hw/scsi/scsi-b
were already sent as a separate series. I
included them because they are necessary in order to fully remove
aio_disable_external().
Based-on: 087bc644b7634436ca9d52fe58ba9234e2bef026 (kevin/block-next)
Stefan Hajnoczi (20):
hw/qdev: introduce qdev_is_realized() helper
virtio-scsi: avoid
On Wed, 19 Apr 2023 at 14:52, Eric Blake wrote:
>
> On Wed, Apr 19, 2023 at 01:28:17PM -0400, Stefan Hajnoczi wrote:
> > virtio_queue_aio_detach_host_notifier() does two things:
> > 1. It removes the fd handler from the event loop.
> > 2. It processes the virtqueue on
vhost_user_server_stop() uses AIO_WAIT_WHILE(). AIO_WAIT_WHILE()
requires that AioContext is only acquired once.
Since blk_exp_request_shutdown() already acquires the AioContext it
shouldn't be acquired again in vhost_user_server_stop().
Signed-off-by: Stefan Hajnoczi
---
util/vhost
e are no
more requests.
Avoid confusing by renaming refcount and ref/unref to in_flight and
inc/dec.
Reviewed-by: Paolo Bonzini
Signed-off-by: Stefan Hajnoczi
---
include/qemu/vhost-user-server.h | 6 +++---
block/export/vhost-user-blk-server.c | 11 +++
util/vhost-user-ser
Based-on: 087bc644b7634436ca9d52fe58ba9234e2bef026 (kevin/block-next)
Stefan Hajnoczi (16):
hw/qdev: introduce qdev_is_realized() helper
virtio-scsi: avoid race between unplug and transport event
virtio-scsi: stop using aio_disable_external() during unplug
block/export: only acquire AioCo
by: Daniil Tatianin
Signed-off-by: Stefan Hajnoczi
---
hw/scsi/scsi-bus.c| 3 ++-
hw/scsi/virtio-scsi.c | 18 +-
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
index 07275fb631..64d7311757 100644
--- a/hw/scsi/scsi-b
resume them in
.drained_end(). This eliminates the need for the
aio_set_fd_handler(is_external=true) flag, which is being removed from
QEMU.
This is a long list but splitting it into individual commits would
probably lead to git bisect failures - the changes are all related.
Signed-off-by:
simple_device_unplug_cb()
returns.
Thanks to these two conditions we don't need aio_disable_external()
anymore.
Cc: Zhengui Li
Reviewed-by: Paolo Bonzini
Reviewed-by: Daniil Tatianin
Signed-off-by: Stefan Hajnoczi
---
hw/scsi/scsi-disk.c | 1 +
hw/scsi/virtio-scsi.c | 3 ---
2 file
This is part of ongoing work to remove the aio_disable_external() API.
Use BlockDevOps .drained_begin/end/poll() instead of
aio_set_fd_handler(is_external=true).
As a side-effect the FUSE export now follows AioContext changes like the
other export types.
Signed-off-by: Stefan Hajnoczi
depend on the
dataplane instance, so move the blk_set_dev_ops() call after
xen_block_dataplane_create().
Signed-off-by: Stefan Hajnoczi
---
hw/block/dataplane/xen-block.h | 2 ++
hw/block/dataplane/xen-block.c | 42 +-
hw/block/xen-block.c
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
Signed-off-by: Stefan Hajnoczi
---
include/block/exp
d the aio_disable_external()
API cannot be used since multiple AioContext may be processing I/O, not
just one.
Switch to BlockDevOps->drained_begin/end() callbacks.
Signed-off-by: Stefan Hajnoczi
---
block/export/vhost-user-blk-server.c | 43 ++--
util/vhost-user-server.c
There is no need to suspend activity between aio_disable_external() and
aio_enable_external(), which is mainly used for the block layer's drain
operation.
This is part of ongoing work to remove the aio_disable_external() API.
Reviewed-by: David Woodhouse
Signed-off-by: Stefan Hajnoczi
--
when there are requests in
flight. The in-flight counter needs to be atomic.
Signed-off-by: Stefan Hajnoczi
---
include/qemu/vhost-user-server.h | 4 +++-
block/export/vhost-user-blk-server.c | 19 +++
util/vhost-user-server.c | 14 ++
3 files c
: Stefan Hajnoczi
---
hw/block/dataplane/virtio-blk.c | 2 ++
hw/scsi/virtio-scsi-dataplane.c | 9 +
2 files changed, 11 insertions(+)
diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
index b28d81737e..bd7cc6e76b 100644
--- a/hw/block/dataplane/virtio-blk.c
+++ b
o use BlockDevOps
.drained_begin/end() callbacks. It no longer relies on is_external=true
so it is safe to pass is_external=false.
This is part of ongoing work to remove the aio_disable_external() API.
Signed-off-by: Stefan Hajnoczi
---
hw/xen/xen-bus.c | 8
1 file changed, 4 insertions(
.
Signed-off-by: Stefan Hajnoczi
---
include/sysemu/block-backend-common.h | 25 +
block/io.c| 3 ++-
2 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/include/sysemu/block-backend-common.h
b/include/sysemu/block-backend-common.h
index
Add a helper function to check whether the device is realized without
requiring the Big QEMU Lock. The next patch adds a second caller. The
goal is to avoid spreading DeviceState field accesses throughout the
code.
Suggested-by: Philippe Mathieu-Daudé
Signed-off-by: Stefan Hajnoczi
---
include
The BlockBackend quiesce_counter is greater than zero during drained
sections. Add an API to check whether the BlockBackend is in a drained
section.
The next patch will use this API.
Signed-off-by: Stefan Hajnoczi
---
include/sysemu/block-backend-global-state.h | 1 +
block/block-backend.c
On Wed, 19 Apr 2023 at 07:16, Hanna Czenczek wrote:
>
> On 19.04.23 13:10, Stefan Hajnoczi wrote:
> > On Wed, 19 Apr 2023 at 06:57, Hanna Czenczek wrote:
> >> On 18.04.23 19:59, Stefan Hajnoczi wrote:
> >>> On Tue, Apr 18, 2023 at 10:09:30AM +0200, Eugenio Perez
On Wed, 19 Apr 2023 at 07:10, Hanna Czenczek wrote:
>
> On 18.04.23 09:54, Eugenio Perez Martin wrote:
> > On Mon, Apr 17, 2023 at 9:21 PM Stefan Hajnoczi wrote:
> >> On Mon, 17 Apr 2023 at 15:08, Eugenio Perez Martin
> >> wrote:
> >>> On Mo
On Wed, 19 Apr 2023 at 06:57, Hanna Czenczek wrote:
>
> On 18.04.23 19:59, Stefan Hajnoczi wrote:
> > On Tue, Apr 18, 2023 at 10:09:30AM +0200, Eugenio Perez Martin wrote:
> >> On Mon, Apr 17, 2023 at 9:33 PM Stefan Hajnoczi wrote:
> >>> On Mon, 17 Apr 20
On Wed, 19 Apr 2023 at 06:45, Hanna Czenczek wrote:
>
> On 14.04.23 17:17, Eugenio Perez Martin wrote:
> > On Thu, Apr 13, 2023 at 7:55 PM Hanna Czenczek wrote:
>
> [...]
>
> >> Basically, what I’m hearing is that I need to implement a different
> >> feature that has no practical impact right now
On Tue, 18 Apr 2023 at 14:31, Eugenio Perez Martin wrote:
>
> On Tue, Apr 18, 2023 at 7:59 PM Stefan Hajnoczi wrote:
> >
> > On Tue, Apr 18, 2023 at 10:09:30AM +0200, Eugenio Perez Martin wrote:
> > > On Mon, Apr 17, 2023 at 9:33 PM Stefan Hajnoczi
> > > w
Hi Emanuele and Kevin,
The following commit is not in qemu.git/master or Kevin's block-next
tree:
https://repo.or.cz/qemu/kevin.git/commitdiff/b4959a8028f417a269168e1570b5e502123e64ed
Do you what the status of that patch is?
Multi-queue block layer code I'm working on depends on this change to
bd
On Fri, 7 Apr 2023 at 21:05, wrote:
>
> From: Carlos Santos
>
> It is not useful when configuring with --enable-trace-backends=nop.
>
> Signed-off-by: Carlos Santos
> ---
> Changes v1->v2:
> Install based on chosen trace backend, not on chosen emulators.
> Changes v2->v3:
> Add missing comma
On Tue, Apr 18, 2023 at 10:09:30AM +0200, Eugenio Perez Martin wrote:
> On Mon, Apr 17, 2023 at 9:33 PM Stefan Hajnoczi wrote:
> >
> > On Mon, 17 Apr 2023 at 15:10, Eugenio Perez Martin
> > wrote:
> > >
> > > On Mon, Apr 17, 2023 at 5:38 PM Stefan Hajnocz
1501 - 1600 of 18681 matches
Mail list logo