Il 11/03/2013 11:05, Peter Lieven ha scritto:
> ensure that there are no pending I/Os before calling
> the sync readcapacity commands. the block_resize monitor
> command will also flush all I/O, but double check in
> case iscsi_truncate() is called from elsewhere in the
> future.
> 
> Signed-off-by: Peter Lieven <p...@kamp.de>
> ---
>  block/iscsi.c |    4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/block/iscsi.c b/block/iscsi.c
> index 3d52921..de20d53 100644
> --- a/block/iscsi.c
> +++ b/block/iscsi.c
> @@ -1167,6 +1167,10 @@ static int iscsi_truncate(BlockDriverState *bs,
> int64_t offset)
>          return -ENOTSUP;
>      }
> 
> +    /* ensure all async requests are completed before executing
> +     * a sync readcapacity */
> +    bdrv_drain_all();
> +
>      if ((ret = iscsi_readcapacity_sync(iscsilun)) != 0) {
>          return ret;
>      }

NACK to this patch.  It would be a bug, let's fix it properly.

The other two are fine, however.

Paolo

Reply via email to