On 2013年11月26日 01:11, Paolo Bonzini wrote:
Il 22/11/2013 06:24, Fam Zheng ha scritto:
@@ -41,13 +41,11 @@ void *block_job_create(const BlockJobDriver *driver,
BlockDriverState *bs,
{
BlockJob *job;
-if (bs->job || bdrv_in_use(bs)) {
+if (bs->job) {
error_set(errp, QER
Il 22/11/2013 06:24, Fam Zheng ha scritto:
> @@ -41,13 +41,11 @@ void *block_job_create(const BlockJobDriver *driver,
> BlockDriverState *bs,
> {
> BlockJob *job;
>
> -if (bs->job || bdrv_in_use(bs)) {
> +if (bs->job) {
> error_set(errp, QERR_DEVICE_IN_USE, bdrv_get_device
This drops BlockDriverState.in_use with op_blockers:
- Call bdrv_op_block_all in place of bdrv_set_in_use(bs, 1).
- Call bdrv_op_unblock_all in place of bdrv_set_in_use(bs, 0).
- Check bdrv_op_is_blocked() in place of bdrv_in_use(bs).
The specific types are used, e.g. in place of startin