Am 26.10.2015 um 07:24 hat Fam Zheng geschrieben: > iscsi_ioctl emulates SG_GET_VERSION_NUM and SG_GET_SCSI_ID. Now that > bdrv_ioctl() will be emulated with .bdrv_aio_ioctl, replicate the logic > into iscsi_aio_ioctl to make them consistent. > > Signed-off-by: Fam Zheng <f...@redhat.com> > --- > block/iscsi.c | 39 +++++++++++++++++++++++++++++++++++++-- > 1 file changed, 37 insertions(+), 2 deletions(-) > > diff --git a/block/iscsi.c b/block/iscsi.c > index 93f1ee4..94cbdf2 100644 > --- a/block/iscsi.c > +++ b/block/iscsi.c > @@ -96,6 +96,7 @@ typedef struct IscsiAIOCB { > int status; > int64_t sector_num; > int nb_sectors; > + int ret; > #ifdef __linux__ > sg_io_hdr_t *ioh; > #endif > @@ -726,6 +727,37 @@ iscsi_aio_ioctl_cb(struct iscsi_context *iscsi, int > status, > iscsi_schedule_bh(acb); > } > > +static void iscsi_ioctl_bh_completion(void *opaque) > +{ > + IscsiAIOCB *acb = opaque; > + > + qemu_bh_delete(acb->bh); > + acb->common.cb(acb->common.opaque, acb->ret); > +}
qemu_aio_unref(acb)? Kevin