[PATCH 10/13] block: introduce BLKREPORTZONESV2 ioctl
Bart Van Assche
bvanassche at acm.org
Fri Oct 31 09:52:10 PDT 2025
On 10/30/25 11:13 PM, Damien Le Moal wrote:
> Unlike the existing BLKREPORTZONES ioctl, this new ioctl uses the flags
> field of struct blk_zone_report also as an inpiut. If as an input, the
inpiut -> input
> /*
> - * BLKREPORTZONE ioctl processing.
> + * Mask of valid input flags for BLKREPORTZONEV2 ioctl.
> + */
> +#define BLK_ZONE_REPV2_INPUT_FLAGS (BLK_ZONE_REP_CACHED)
Parentheses are not needed here - the definition of BLK_ZONE_REP_CACHED
should include parentheses if necessary.
> + case BLKREPORTZONEV2:
> + if (rep.flags & ~BLK_ZONE_REPV2_INPUT_FLAGS)
> + return -EINVAL;
-EINVAL probably should be changed into something that indicates "not
supported" rather than "invalid argument"?
> index dab5d9700898..1441d79a6173 100644
> --- a/include/uapi/linux/blkzoned.h
> +++ b/include/uapi/linux/blkzoned.h
> @@ -82,10 +82,20 @@ enum blk_zone_cond {
> /**
> * enum blk_zone_report_flags - Feature flags of reported zone descriptors.
> *
> - * @BLK_ZONE_REP_CAPACITY: Zone descriptor has capacity field.
> + * @BLK_ZONE_REP_CAPACITY: Output only. Indicates that zone descriptors in a
> + * zone report have a valid capacity field.
> + * @BLK_ZONE_REP_CACHED: Input only. Indicates that the zone report should be
> + * generated using cached zone information. In this case,
> + * the implicit open, explicit open and closed zone
> + * conditions are all reported with the
> + * BLK_ZONE_COND_ACTIVE condition.
> */
> enum blk_zone_report_flags {
> + /* Output flags */
> BLK_ZONE_REP_CAPACITY = (1 << 0),
> +
> + /* Input flags */
> + BLK_ZONE_REP_CACHED = (1 << 31),
> };
Why 1 << 31 instead of 1 << 1?
Otherwise this patch looks good to me.
Thanks,
Bart.
More information about the Linux-nvme
mailing list