[PATCH 5/6] block: add zone attr. to zone mgmt IOCTL struct

Javier González javier at javigon.com
Fri Jun 26 02:49:38 EDT 2020


On 26.06.2020 06:38, Damien Le Moal wrote:
>On 2020/06/26 15:03, Javier González wrote:
>> On 26.06.2020 01:45, Damien Le Moal wrote:
>>> On 2020/06/25 21:22, Javier González wrote:
>>>> From: Javier González <javier.gonz at samsung.com>
>>>>
>>>> Add zone attributes field to the blk_zone structure. Use ZNS attributes
>>>> as base for zoned block devices in general.
>>>>
>>>> Signed-off-by: Javier González <javier.gonz at samsung.com>
>>>> Signed-off-by: SelvaKumar S <selvakuma.s1 at samsung.com>
>>>> Signed-off-by: Kanchan Joshi <joshi.k at samsung.com>
>>>> Signed-off-by: Nitesh Shetty <nj.shetty at samsung.com>
>>>> ---
>>>>  drivers/nvme/host/zns.c       |  1 +
>>>>  include/uapi/linux/blkzoned.h | 13 ++++++++++++-
>>>>  2 files changed, 13 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/nvme/host/zns.c b/drivers/nvme/host/zns.c
>>>> index 258d03610cc0..7d8381fe7665 100644
>>>> --- a/drivers/nvme/host/zns.c
>>>> +++ b/drivers/nvme/host/zns.c
>>>> @@ -195,6 +195,7 @@ static int nvme_zone_parse_entry(struct nvme_ns *ns,
>>>>  	zone.capacity = nvme_lba_to_sect(ns, le64_to_cpu(entry->zcap));
>>>>  	zone.start = nvme_lba_to_sect(ns, le64_to_cpu(entry->zslba));
>>>>  	zone.wp = nvme_lba_to_sect(ns, le64_to_cpu(entry->wp));
>>>> +	zone.attr = entry->za;
>>>>
>>>>  	return cb(&zone, idx, data);
>>>>  }
>>>> diff --git a/include/uapi/linux/blkzoned.h b/include/uapi/linux/blkzoned.h
>>>> index 0c49a4b2ce5d..2e43a00e3425 100644
>>>> --- a/include/uapi/linux/blkzoned.h
>>>> +++ b/include/uapi/linux/blkzoned.h
>>>> @@ -82,6 +82,16 @@ enum blk_zone_report_flags {
>>>>  	BLK_ZONE_REP_CAPACITY	= (1 << 0),
>>>>  };
>>>>
>>>> +/**
>>>> + * Zone Attributes
>>>
>>> This is a user interface file. Please document the meaning of each attribute.
>>>
>>
>> Sure.
>>
>>>> + */
>>>> +enum blk_zone_attr {
>>>> +	BLK_ZONE_ATTR_ZFC	= 1 << 0,
>>>> +	BLK_ZONE_ATTR_FZR	= 1 << 1,
>>>> +	BLK_ZONE_ATTR_RZR	= 1 << 2,
>>>> +	BLK_ZONE_ATTR_ZDEV	= 1 << 7,
>>> These are ZNS specific, right ? Integrating the 2 ZBC/ZAC attributes in this
>>> list would be nice, namely non_seq and reset. That will imply patching sd.c.
>>>
>>
>> Of course. I will look at non_seq and reset. Any other that should go
>> in here?
>
>See ZBC specs. These are the only 2 zone attributes defined.

Good. We will add this in V2.

Javier



More information about the Linux-nvme mailing list