From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37423) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z5ZM4-0001EZ-TQ for qemu-devel@nongnu.org; Thu, 18 Jun 2015 08:55:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z5ZM0-0001Ay-Rx for qemu-devel@nongnu.org; Thu, 18 Jun 2015 08:55:40 -0400 Date: Thu, 18 Jun 2015 13:55:33 +0100 From: Stefan Hajnoczi Message-ID: <20150618125533.GE25387@stefanha-thinkpad.redhat.com> References: <1434617361-17778-1-git-send-email-wency@cn.fujitsu.com> <1434617361-17778-8-git-send-email-wency@cn.fujitsu.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="HeFlAV5LIbMFYYuh" Content-Disposition: inline In-Reply-To: <1434617361-17778-8-git-send-email-wency@cn.fujitsu.com> Subject: Re: [Qemu-devel] [Qemu-block] [PATCH COLO-Block v6 07/16] Add new block driver interface to connect/disconnect the remote target List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Wen Congyang Cc: Kevin Wolf , Fam Zheng , Lai Jiangshan , qemu block , Jiang Yunhong , Dong Eddie , qemu devel , Max Reitz , Gonglei , Stefan Hajnoczi , Paolo Bonzini , Yang Hongyang , "Dr. David Alan Gilbert" , zhanghailiang --HeFlAV5LIbMFYYuh Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Thu, Jun 18, 2015 at 04:49:12PM +0800, Wen Congyang wrote: > +void bdrv_connect(BlockDriverState *bs, Error **errp) > +{ > + BlockDriver *drv = bs->drv; > + > + if (drv && drv->bdrv_connect) { > + drv->bdrv_connect(bs, errp); > + } else if (bs->file) { > + bdrv_connect(bs->file, errp); > + } else { > + error_setg(errp, "this feature or command is not currently supported"); > + } > +} > + > +void bdrv_disconnect(BlockDriverState *bs) > +{ > + BlockDriver *drv = bs->drv; > + > + if (drv && drv->bdrv_disconnect) { > + drv->bdrv_disconnect(bs); > + } else if (bs->file) { > + bdrv_disconnect(bs->file); > + } > +} Please add doc comments describing the semantics of these commands. Why are these operations needed when there is already a bs->drv == NULL case which means the BDS is not ready for read/write? --HeFlAV5LIbMFYYuh Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJVgr/FAAoJEJykq7OBq3PI1LUH/1e4cp/MlnnJLr4XGGSlXJa2 1Y0Woj1Wl91VYcX6y9pl7CQvk6wHKvS0+p9WchR436HGHl3eeIcY8UaLaLWhPz8T ngmHh3TdIa0IrEz5M6MPhXUmi+SmSyKdYXtmi3Hl4pFXRkh3K/P+g+ILKFmM19Y4 Xef2yeKFxge///l9lABO8spiXZ+smDwz2NxMvgBPMt4FQJRTkvFIt/MPp61+HDIR xOXRh6UFHm8Du8IymXvIjJGcXvAisJnu2VJ8VrzOf18C9yKGwHqsSbFvLn5Q34tt rTla1juWY68mBU02sCrBCD955+3nKTIMBP8LGE0N1NcJqlvZZDEahpQ/o9X2y44= =avaU -----END PGP SIGNATURE----- --HeFlAV5LIbMFYYuh--