From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:33464) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1StFi0-000551-Dm for qemu-devel@nongnu.org; Mon, 23 Jul 2012 06:17:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1StFhu-0000a3-Fx for qemu-devel@nongnu.org; Mon, 23 Jul 2012 06:17:48 -0400 Received: from paradis.irqsave.net ([109.190.18.76]:48751) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1StFhu-0000Zn-7t for qemu-devel@nongnu.org; Mon, 23 Jul 2012 06:17:42 -0400 Date: Mon, 23 Jul 2012 12:17:35 +0200 From: =?iso-8859-1?Q?Beno=EEt?= Canet Message-ID: <20120723101734.GA19871@irqsave.net> References: <1342812757-2651-1-git-send-email-benoit@irqsave.net> <1342812757-2651-4-git-send-email-benoit@irqsave.net> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 3/3] migration: block migration when streaming block jobs are running. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Kevin Wolf , benoit.canet@gmail.com, qemu-devel@nongnu.org, stefanha@linux.vnet.ibm.com 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=EEt Le Monday 23 Jul 2012 =E0 10:55:41 (+0100), Stefan Hajnoczi a =E9crit : > On Fri, Jul 20, 2012 at 8:32 PM, wrote: > > From: Beno=EEt Canet > > > > Signed-off-by: Benoit Canet > > --- > > 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; > > + } >=20 > I think bdrv_have_block_jobs() is too specific and would use > bdrv_in_use(bs) here to give basically an EBUSY-type error. >=20 > Stefan