qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 02/13] block: Track write zero limits in bytes


From: Kevin Wolf
Subject: Re: [Qemu-devel] [PATCH 02/13] block: Track write zero limits in bytes
Date: Wed, 25 May 2016 12:30:01 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Am 25.05.2016 um 00:25 hat Eric Blake geschrieben:
> Another step towards removing sector-based interfaces: convert
> the maximum write and minimum alignment values from sectorss to

s/sectorss/sectors/

> bytes.  Alignment is changed to 'int', since it makes no sense
> to have an alignment larger than the maximum write.  Add an
> assert that no one was trying to use sectors to get a write
> zeroes larger than 2G.  Rename the variables to let the compiler
> check that all users are converted to the new semantics.
> 
> Signed-off-by: Eric Blake <address@hidden>

> --- a/block/iscsi.c
> +++ b/block/iscsi.c
> @@ -1706,12 +1706,10 @@ static void iscsi_refresh_limits(BlockDriverState 
> *bs, Error **errp)
>      }
> 
>      if (iscsilun->bl.max_ws_len < 0xffffffff) {
> -        bs->bl.max_write_zeroes =
> -            sector_limits_lun2qemu(iscsilun->bl.max_ws_len, iscsilun);
> +        bs->bl.max_pwrite_zeroes = iscsilun->bl.max_ws_len;

Wrong unit, I think. You need to multiply by iscsi_lun->block_size.

>      }
>      if (iscsilun->lbp.lbpws) {
> -        bs->bl.write_zeroes_alignment =
> -            sector_limits_lun2qemu(iscsilun->bl.opt_unmap_gran, iscsilun);
> +        bs->bl.pwrite_zeroes_alignment = iscsilun->bl.opt_unmap_gran;

Same here.

>      }
>      bs->bl.opt_transfer_length =
>          sector_limits_lun2qemu(iscsilun->bl.opt_xfer_len, iscsilun);
> diff --git a/block/qcow2.c b/block/qcow2.c
> index c9306a7..745b66f 100644
> --- a/block/qcow2.c
> +++ b/block/qcow2.c
> @@ -1193,7 +1193,7 @@ static void qcow2_refresh_limits(BlockDriverState *bs, 
> Error **errp)
>  {
>      BDRVQcow2State *s = bs->opaque;
> 
> -    bs->bl.write_zeroes_alignment = s->cluster_sectors;
> +    bs->bl.pwrite_zeroes_alignment = s->cluster_sectors << BDRV_SECTOR_BITS;

This is s->cluster_size. I hope to get rid of s->cluster_sectors
eventually. :-)

Kevin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]