On 04.05.2016 11:39, Kevin Wolf wrote: > This changes the mirror block job to use the job's BlockBackend for > performing its I/O. job->bs isn't used by the mirroring code any more > afterwards. > > Signed-off-by: Kevin Wolf <kw...@redhat.com> > --- > block/mirror.c | 75 > +++++++++++++++++++++++++++++++--------------------------- > blockdev.c | 4 +--- > 2 files changed, 41 insertions(+), 38 deletions(-) > > diff --git a/block/mirror.c b/block/mirror.c > index 23aa10e..dc66340 100644 > --- a/block/mirror.c > +++ b/block/mirror.c > @@ -35,7 +35,7 @@ typedef struct MirrorBuffer { > typedef struct MirrorBlockJob { > BlockJob common; > RateLimit limit; > - BlockDriverState *target; > + BlockBackend *target; > BlockDriverState *base; > /* The name of the graph node to replace */ > char *replaces; > @@ -156,8 +156,8 @@ static void mirror_read_complete(void *opaque, int ret) > mirror_iteration_done(op, ret); > return; > } > - bdrv_aio_writev(s->target, op->sector_num, &op->qiov, op->nb_sectors, > - mirror_write_complete, op); > + blk_aio_writev(s->target, op->sector_num, &op->qiov, op->nb_sectors, > + mirror_write_complete, op);
Or maybe the rest doesn't look so good after all. We don't have this function anymore, I'm afraid. Max > } > > static inline void mirror_clip_sectors(MirrorBlockJob *s,
signature.asc
Description: OpenPGP digital signature