Re: [RFC PATCH v4 2/3] bcache: handle zone management bios for bcache device

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

 



On 2020/6/2 16:54, Damien Le Moal wrote:
> On Tue, 2020-06-02 at 00:06 +0800, Coly Li wrote:
>>>> +		 * cache device.
>>>> +		 */
>>>> +		if (bio_op(bio) == REQ_OP_ZONE_RESET_ALL)
>>>> +			nr_zones = s->d->disk->queue->nr_zones;
>>>
>>> Not: sending a REQ_OP_ZONE_RESET BIO to a conventional zone will be failed by
>>> the disk... This is not allowed by the ZBC/ZAC specs. So invalidation the cache
>>> for conventional zones is not really necessary. But as an initial support, I
>>> think this is fine. This can be optimized later.
>>>
>> Copied, will think of how to optimized later. So far in my testing,
>> resetting conventional zones may receive error and timeout from
>> underlying drivers and bcache code just forwards such error to upper
>> layer. What I see is the reset command hangs for a quite long time and
>> failed. I will find a way to make the zone reset command on conventional
>> zone fail immediately.
> 
> It is 100% guaranteed that a zone reset issued to a conventional zone
> will fail. That is defined in ZBC/ZAC specifications. Resetting a
> single conventional zone is an error. We know the command will fail and
> the failure is instantaneous from the drive. The scsi layer should not
> retry these failed reset zone command, we have special error handling
> code preventing retries since we know that the command can only fail
> again. So I am not sure why you are seeing hang/long time before the
> failure is signaled... This may need investigation.
> 
> 

Copied. Currently I plan to add a first_seq_zone_nr to bcache on-disk
super block, its value will be set by user space bcache-tools when the
backing device is formatted for bcache. Then the zone reset bio which
has smaller zone number will be rejected immediately by bcache code.

This requires on-disk format change, I will do it later with other
on-disk change stuffs.

Coly Li



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux