[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH 4/6] block: Make bdrv_load/save_vmstate coroutin
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-block] [PATCH 4/6] block: Make bdrv_load/save_vmstate coroutine_fns |
Date: |
Thu, 16 Jun 2016 09:49:27 +0100 |
User-agent: |
Mutt/1.6.1 (2016-04-27) |
On Fri, Jun 10, 2016 at 06:05:20PM +0200, Kevin Wolf wrote:
> +static int coroutine_fn
> +bdrv_co_rw_vmstate(BlockDriverState *bs, QEMUIOVector *qiov, int64_t pos,
> + bool is_read)
> +{
> + BlockDriver *drv = bs->drv;
> +
> + if (!drv) {
> + return -ENOMEDIUM;
> + } else if (drv->bdrv_load_vmstate) {
> + return is_read ? drv->bdrv_load_vmstate(bs, qiov, pos)
> + : drv->bdrv_save_vmstate(bs, qiov, pos);
> + } else if (bs->file) {
> + return bdrv_co_rw_vmstate(bs->file->bs, qiov, pos, is_read);
> + }
> +
> + return -ENOTSUP;
> +}
> +
> +static void bdrv_co_rw_vmstate_entry(void *opaque)
This should also be coroutine_fn.
signature.asc
Description: PGP signature
- [Qemu-block] [PATCH 0/6] block: bdrv_load/save_vmstate() cleanups, Kevin Wolf, 2016/06/10
- [Qemu-block] [PATCH 3/6] block: Allow .bdrv_load/save_vmstate() to return 0/-errno, Kevin Wolf, 2016/06/10
- [Qemu-block] [PATCH 1/6] block: Introduce bdrv_preadv(), Kevin Wolf, 2016/06/10
- [Qemu-block] [PATCH 2/6] block: Make .bdrv_load_vmstate() vectored, Kevin Wolf, 2016/06/10
- [Qemu-block] [PATCH 4/6] block: Make bdrv_load/save_vmstate coroutine_fns, Kevin Wolf, 2016/06/10
- [Qemu-block] [PATCH 5/6] qcow2: Let vmstate call qcow2_co_preadv/pwrite directly, Kevin Wolf, 2016/06/10
- [Qemu-block] [PATCH 6/6] block: Remove bs->zero_beyond_eof, Kevin Wolf, 2016/06/10
- Re: [Qemu-block] [PATCH 0/6] block: bdrv_load/save_vmstate() cleanups, Fam Zheng, 2016/06/11
- Re: [Qemu-block] [PATCH 0/6] block: bdrv_load/save_vmstate() cleanups, Stefan Hajnoczi, 2016/06/16
- Re: [Qemu-block] [PATCH 0/6] block: bdrv_load/save_vmstate() cleanups, Kevin Wolf, 2016/06/16