Re: [PATCH v4 1/4] ublk: change ublk IO command defines to enum

From: Andreas Hindborg (Samsung)
Date: Fri Jun 30 2023 - 12:33:29 EST



aravind.ramesh@xxxxxxxxxxxxxxxxxx writes:

>> From: Andreas Hindborg <a.hindborg@xxxxxxxxxxx
>> <mailto:a.hindborg@xxxxxxxxxxx>>
>> This change is in preparation for zoned storage support.
>> Signed-off-by: Andreas Hindborg <a.hindborg@xxxxxxxxxxx
>> <mailto:a.hindborg@xxxxxxxxxxx>>
>> ---
>> include/uapi/linux/ublk_cmd.h | 23 +++++++++++++++++------
>> 1 file changed, 17 insertions(+), 6 deletions(-)
>> diff --git a/include/uapi/linux/ublk_cmd.h b/include/uapi/linux/ublk_cmd.h
>> index 4b8558db90e1..471b3b983045 100644
>> --- a/include/uapi/linux/ublk_cmd.h
>> +++ b/include/uapi/linux/ublk_cmd.h
>> @@ -229,12 +229,23 @@ struct ublksrv_ctrl_dev_info {
>> __u64 reserved2;
>> };
>> -#define UBLK_IO_OP_READ 0
>> -#define UBLK_IO_OP_WRITE 1
>> -#define UBLK_IO_OP_FLUSH 2
>> -#define UBLK_IO_OP_DISCARD 3
>> -#define UBLK_IO_OP_WRITE_SAME 4
>> -#define UBLK_IO_OP_WRITE_ZEROES 5
>> +enum ublk_op {
>> + UBLK_IO_OP_READ = 0,
>> + UBLK_IO_OP_WRITE = 1,
>> + UBLK_IO_OP_FLUSH = 2,
>> + UBLK_IO_OP_DISCARD = 3,
>> + UBLK_IO_OP_WRITE_SAME = 4,
>> + UBLK_IO_OP_WRITE_ZEROES = 5,
>> + UBLK_IO_OP_ZONE_OPEN = 10,
>> + UBLK_IO_OP_ZONE_CLOSE = 11,
>> + UBLK_IO_OP_ZONE_FINISH = 12,
>> + UBLK_IO_OP_ZONE_APPEND = 13,
>
> Curious to know if there is a reason to miss enum 14 here ?
> And if UBLK_IO_OP_ZONE_APPEND is defined along with other operations
> better to define that in patch 3 itself.

They are defined after REQ_OP_ZONE_*, and they have a hole at 14 🤷

BR Andreas

>
>> + UBLK_IO_OP_ZONE_RESET = 15,
>> + __UBLK_IO_OP_DRV_IN_START = 32,
>> + __UBLK_IO_OP_DRV_IN_END = 96,
>> + __UBLK_IO_OP_DRV_OUT_START = __UBLK_IO_OP_DRV_IN_END,
>> + __UBLK_IO_OP_DRV_OUT_END = 160,
>> +};
>> #define UBLK_IO_F_FAILFAST_DEV (1U << 8)
>> #define UBLK_IO_F_FAILFAST_TRANSPORT (1U << 9)
>
> Regards,
> Aravind