[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/3] migration: block migration when streaming b
From: |
Benoît Canet |
Subject: |
Re: [Qemu-devel] [PATCH 3/3] migration: block migration when streaming block jobs are running. |
Date: |
Mon, 23 Jul 2012 12:17:35 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Would
int bdrv_are_busy(void)
{
BlockDriverState *bs;
QTAILQ_FOREACH(bs, &bdrv_states, list) {
if (bs->job || bdrv_in_use(bs)) {
return -EBUSY;
}
}
return 0;
}
be more acceptable ?
Benoît
Le Monday 23 Jul 2012 à 10:55:41 (+0100), Stefan Hajnoczi a écrit :
> On Fri, Jul 20, 2012 at 8:32 PM, <address@hidden> wrote:
> > From: Benoît Canet <address@hidden>
> >
> > Signed-off-by: Benoit Canet <address@hidden>
> > ---
> > migration.c | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/migration.c b/migration.c
> > index 8db1b43..dfce680 100644
> > --- a/migration.c
> > +++ b/migration.c
> > @@ -425,6 +425,11 @@ void qmp_migrate(const char *uri, bool has_blk, bool
> > blk,
> > return;
> > }
> >
> > + if (bdrv_have_block_jobs()) {
> > + error_set(errp, QERR_STREAMING_BLOCKS_MIGRATION);
> > + return;
> > + }
>
> I think bdrv_have_block_jobs() is too specific and would use
> bdrv_in_use(bs) here to give basically an EBUSY-type error.
>
> Stefan