[PATCH 22/47] block: introduce max_hw_iov for use in scsi-generic

2021-12-14 Thread Michael Roth
From: Paolo Bonzini Linux limits the size of iovecs to 1024 (UIO_MAXIOV in the kernel sources, IOV_MAX in POSIX). Because of this, on some host adapters requests with many iovecs are rejected with -EINVAL by the io_submit() or readv()/writev() system calls. In fact, the same limit applies to

Re: [PULL 0/1] Block patches

2021-12-14 Thread Richard Henderson
On 12/9/21 7:21 AM, Stefan Hajnoczi wrote: The following changes since commit a3607def89f9cd68c1b994e1030527df33aa91d0: Update version for v6.2.0-rc4 release (2021-12-07 17:51:38 -0800) are available in the Git repository at: https://gitlab.com/stefanha/qemu.git tags/block-pull-request

Re: [PATCH v5 09/31] block: introduce assert_bdrv_graph_writable

2021-12-14 Thread Emanuele Giuseppe Esposito
On 10/12/2021 18:43, Hanna Reitz wrote: On 24.11.21 07:43, Emanuele Giuseppe Esposito wrote: We want to be sure that the functions that write the child and parent list of a bs are under BQL and drain. BQL prevents from concurrent writings from the GS API, while drains protect from I/O.

Re: [RFC PATCH 0/6] Removal of Aiocontext lock and usage of subtree drains in aborted transactions

2021-12-14 Thread Emanuele Giuseppe Esposito
On 13/12/2021 15:52, Stefan Hajnoczi wrote: Off-topic: I don't understand the difference between the effects of bdrv_drained_begin() and bdrv_subtree_drained_begin(). Both call aio_disable_external(aio_context) and aio_poll(). bdrv_drained_begin() only polls parents and itself, while

Re: [RFC PATCH 0/6] Removal of Aiocontext lock and usage of subtree drains in aborted transactions

2021-12-14 Thread Stefan Hajnoczi
Ignore what I said about a missing aio_notify() call in aio_disable_external(). Skipping the call is an optimization and it's safe. We only need to call aio_notify() in aio_enable_external(). Stefan signature.asc Description: PGP signature

Re: [PATCH v2] block-backend: prevent dangling BDS pointers across aio_poll()

2021-12-14 Thread Kevin Wolf
Am 14.12.2021 um 15:35 hat Stefan Hajnoczi geschrieben: > The BlockBackend root child can change when aio_poll() is invoked. This > happens when a temporary filter node is removed upon blockjob > completion, for example. > > Functions in block/block-backend.c must be aware of this when using a >

[PATCH v2] block-backend: prevent dangling BDS pointers across aio_poll()

2021-12-14 Thread Stefan Hajnoczi
The BlockBackend root child can change when aio_poll() is invoked. This happens when a temporary filter node is removed upon blockjob completion, for example. Functions in block/block-backend.c must be aware of this when using a blk_bs() pointer across aio_poll() because the BlockDriverState

Re: [PATCH v2 3/4] include/sysemu/blockdev.h: move drive_add and inline drive_def

2021-12-14 Thread Kevin Wolf
Am 30.11.2021 um 10:46 hat Emanuele Giuseppe Esposito geschrieben: > drive_add is only used in softmmu/vl.c, so it can be a static > function there, and drive_def is only a particular use case of > qemu_opts_parse_noisily, so it can be inlined. > > Also remove drive_mark_claimed_by_board, as it

Re: [PATCH 3/4] Move CONFIG_XFS handling to meson.build

2021-12-14 Thread Thomas Huth
On 10/12/2021 11.10, Paolo Bonzini wrote: On 12/10/21 09:46, Thomas Huth wrote: platform_test_xfs_fd() is only used to decide whether to invoke XFS_IOC_DIOINFO; but failures of XFS_IOC_DIOINFO are ignored anyway, so we can get rid of is_xfs in BDRVRawState, too. After staring at the code