[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 1/4] file-posix: add tracking of the zone write pointers
From: |
Damien Le Moal |
Subject: |
Re: [PATCH v6 1/4] file-posix: add tracking of the zone write pointers |
Date: |
Tue, 14 Mar 2023 12:49:45 +0900 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 |
On 3/14/23 11:23, Dmitry Fomichev wrote:
>> @@ -3339,10 +3473,27 @@ static int coroutine_fn
>> raw_co_zone_mgmt(BlockDriverState *bs, BlockZoneOp op,
>> len >> BDRV_SECTOR_BITS);
>> ret = raw_thread_pool_submit(bs, handle_aiocb_zone_mgmt, &acb);
>> if (ret != 0) {
>> + update_zones_wp(s->fd, wps, offset, index);
>> ret = -errno;
>> error_report("ioctl %s failed %d", op_name, ret);
>> + goto out;
>> }
>>
>> + if (zo == BLKRESETZONE && len == capacity) {
>> + for (int i = 0; i < bs->bl.nr_zones; ++i) {
>> + if (!BDRV_ZT_IS_CONV(wps->wp[i])) {
>> + wps->wp[i] = i * bs->bl.zone_size;
>
> This will reset write pointers of all read-only zones that may exist on the
> device and make the data stored in those zones unreadable. R/O zones need to
> be
> skipped in this loop.
And offline zones need to be skipped as well.
--
Damien Le Moal
Western Digital Research
[PATCH v6 2/4] block: introduce zone append write for zoned devices, Sam Li, 2023/03/10
[PATCH v6 3/4] qemu-iotests: test zone append operation, Sam Li, 2023/03/10
[PATCH v6 4/4] block: add some trace events for zone append, Sam Li, 2023/03/10