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?
pgpItNrONYSje.pgp
Description: PGP signature
