Subject: Re: ioprio_set can take 8 as the PROCESS CLASS_BE ioprio value

From: Damien Le Moal <[email-masked]>
Date: Fri, 26 May 2023 16:42:02 +0900

On 5/26/23 16:27, Murphy Zhou wrote:
> Hi Damien,
> 
> Since these commits:
> 
>   scsi: block: Introduce ioprio hints
>   scsi: block: ioprio: Clean up interface definition
> 
> go into linux-next tree, ioprio_set can take the value of 8
> as the PROCESS CLASS_BE ioprio parameter, returning
> success but actually it is setting to 0 due to the mask roundup.
> 
> The LTP test case ioprio_set03[1] covers this boundary value
> testing, which starts to fail since then.
> 
> This does not look as expected. Could you help to take a look?

Before the patches, the ioprio level of 8 could indeed be set, but that was
actually totally meaningless since the kernel components that use the priority
level all are limited to the range [0..7]. And why the level value 8 could be
seen, the effective level would have been 0. So at least, with the changes, we
are not lying to the user...

I am not sure what this ioprio_set03 test is trying to check.

> 
> Thanks,
> Murphy
> 
> [1] https://github.com/linux-test-project/ltp/blob/master/testcases/kernel/syscalls/ioprio/ioprio_set03.c

-- 
Damien Le Moal
Western Digital Research