[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
- [Qemu-devel] [PATCH 09/13] qed: Convert to bdrv_co_pwrite_zeroes(), (continued)
- [Qemu-devel] [PATCH 09/13] qed: Convert to bdrv_co_pwrite_zeroes(), Eric Blake, 2016/05/24
- [Qemu-devel] [PATCH 12/13] vmdk: Convert to bdrv_co_pwrite_zeroes(), Eric Blake, 2016/05/24
- [Qemu-devel] [PATCH 03/13] block: Add .bdrv_co_pwrite_zeroes(), Eric Blake, 2016/05/24
- [Qemu-devel] [PATCH 07/13] blkreplay: Convert to bdrv_co_pwrite_zeroes(), Eric Blake, 2016/05/24
- [Qemu-devel] [PATCH 10/13] raw-posix: Convert to bdrv_co_pwrite_zeroes(), Eric Blake, 2016/05/24
- [Qemu-devel] [PATCH 06/13] qcow2: Convert to bdrv_co_pwrite_zeroes(), Eric Blake, 2016/05/24
- [Qemu-devel] [PATCH 11/13] raw_bsd: Convert to bdrv_co_pwrite_zeroes(), Eric Blake, 2016/05/24
- [Qemu-devel] [PATCH 04/13] block: Switch bdrv_write_zeroes() to byte interface, Eric Blake, 2016/05/24
- [Qemu-devel] [PATCH 08/13] gluster: Convert to bdrv_co_pwrite_zeroes(), Eric Blake, 2016/05/24
- [Qemu-devel] [PATCH 02/13] block: Track write zero limits in bytes, Eric Blake, 2016/05/24
- Re: [Qemu-devel] [PATCH 02/13] block: Track write zero limits in bytes,
Kevin Wolf <=
- [Qemu-devel] [PATCH 01/13] block: Rename blk_write_zeroes(), Eric Blake, 2016/05/24
- Re: [Qemu-devel] [PATCH 00/13] Kill sector-based write_zeroes, Kevin Wolf, 2016/05/25