On 6/9/23 16:46, Linus Walleij wrote: > On Thu, Jun 8, 2023 at 11:55 AM Damien Le Moal <dlemoal@xxxxxxxxxx> wrote: > >> The introduction of the macro IOPRIO_PRIO_LEVEL() in commit >> eca2040972b4 ("scsi: block: ioprio: Clean up interface definition") >> results in an iopriority level to always be masked using the macro >> IOPRIO_LEVEL_MASK, and thus to the kernel always seeing an acceptable >> value for an I/O priority level when checked in ioprio_check_cap(). >> Before this patch, this function would return an error for some (but not >> all) invalid values for a level valid range of [0..7]. >> >> Restore and improve the detection of invalid priority levels by >> introducing the inline function ioprio_value() to check an ioprio class, >> level and hint value before combining these fields into a single value >> to be used with ioprio_set() or AIOs. If an invalid value for the class, >> level or hint of an ioprio is detected, ioprio_value() returns an ioprio >> using the class IOPRIO_CLASS_INVALID, indicating an invalid value and >> causing ioprio_check_cap() to return -EINVAL. >> >> Fixes: 6c913257226a ("scsi: block: Introduce ioprio hints") >> Fixes: eca2040972b4 ("scsi: block: ioprio: Clean up interface definition") >> Signed-off-by: Damien Le Moal <dlemoal@xxxxxxxxxx> > > This makes it easier to get things right. > Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Thanks Linus ! Martin, can you queue this please ? > > Yours, > Linus Walleij -- Damien Le Moal Western Digital Research