----- Original Message ----- > From: "Kevin Wolf" <kw...@redhat.com> > To: qemu-bl...@nongnu.org > Cc: kw...@redhat.com, mre...@redhat.com, pbonz...@redhat.com, > qemu-devel@nongnu.org > Sent: Thursday, October 20, 2016 3:46:00 PM > Subject: [PATCH 0/9] block-backend: Use coroutine for flush/discard/ioctl > > Paolo, this is my attempt at implementing what you were asking for last > Friday. > I converted blk_(co_)flush/pdiscard/ioctl so that all interfaces (coroutine, > AIO, sync) go through the same coroutine-based function already on the > BlockBackend level. Where it was reasonably easy, I also removed the > corresponding emulations from block/io.c IIUC, this should cover your > immediate > needs. > > > Function to remove this series leaves for another day: > > * bdrv_aio_flush (used by blkdebug, blkverify, qed) > * bdrv_flush (even more users) > * bdrv_pdiscard (used by qcow2) > > > BlockDriver callbacks to remove left for another day: > > * bdrv_aio_pdiscard (implemented by raw-posix and rbd) > * bdrv_aio_ioctl (implemented by raw-posix and iscsi) > > In both cases, raw-posix is trivial to covert, but iscsi and rbd feel rather > scary without a proper test setup.
Thanks! Paolo