Stefan, Kevin - Ping, to take this patch. Thanks.
On 01/29/2018 07:51 AM, Stefan Hajnoczi wrote:
On Fri, Dec 15, 2017 at 04:59:13PM -0800, Deepa Srinivasan wrote:
Starting qemu with the following arguments causes qemu to segfault:
... -device lsi,id=lsi0 -drive file=iscsi:<...>,format=
l holding on to invalid pointers.
The fix is to change blk_aio_prwv() to accept a void pointer for the IO buffer
rather than a QEMUIOVector. blk_aio_prwv() passes this through in BlkRwCo and
the
coroutine function casts it to QEMUIOVector or uses the void pointer directly.
Signed-off-by: Deepa S
Kevin, Paolo, Stefan,
Are there any further comments on this patch? Can this patch be committed?
Thanks
Deepa
> On Nov 23, 2017, at 8:55 AM, Deepa Srinivasan
> wrote:
>
> Starting qemu with the following arguments causes qemu to segfault:
> ... -device lsi,id=lsi0 -d
> On Nov 23, 2017, at 9:29 AM, Kevin Wolf wrote:
>
> Am 23.11.2017 um 18:05 hat Deepa Srinivasan geschrieben:
>> blk_aio_prwv() now takes a void pointer and the coroutine functions
>> have been modified to cast it into QEMUIOVector if needed. It does not
>> use an
keep it consistent with the AIO path.
> On Nov 23, 2017, at 8:55 AM, Deepa Srinivasan
> wrote:
>
> Starting qemu with the following arguments causes qemu to segfault:
> ... -device lsi,id=lsi0 -drive file=iscsi:<...>,format=raw,if=none,node-name=
> iscsi1 -device
l holding on to invalid pointers.
The fix is to change blk_aio_prwv() to accept a void pointer for the IO buffer
rather than a QEMUIOVector. blk_aio_prwv() passes this through in BlkRwCo and
the
coroutine function casts it to QEMUIOVector or uses the void pointer directly.
Signed-off-by: Deepa S
take a void pointer instead of QEMUIOVector* and use a union to hold the
buffer in BlkRwCo.
> On Nov 22, 2017, at 11:24 AM, Paolo Bonzini wrote:
>
> On 22/11/2017 19:06, Kevin Wolf wrote:
>> Am 22.11.2017 um 17:34 hat Paolo Bonzini geschrieben:
>>> On 22/11/2017 16:33
l holding on to invalid pointers.
The fix is to allocate memory for the QEMUIOVector and struct iovec as part of
the request struct which the IO buffer is part of. The memory for this struct is
guaranteed to be valid till the AIO is completed.
Signed-off-by: Deepa Srinivasan
Signed-off-by: Konr