• Damien Le Moal's avatar
    block: fix default IO priority handling · e70344c0
    Damien Le Moal authored
    The default IO priority is the best effort (BE) class with the
    normal priority level IOPRIO_NORM (4). However, get_task_ioprio()
    returns IOPRIO_CLASS_NONE/IOPRIO_NORM as the default priority and
    get_current_ioprio() returns IOPRIO_CLASS_NONE/0. Let's be consistent
    with the defined default and have both of these functions return the
    default priority IOPRIO_PRIO_VALUE(IOPRIO_CLASS_BE, IOPRIO_NORM) when
    the user did not define another default IO priority for the task.
    
    In include/uapi/linux/ioprio.h, introduce the IOPRIO_BE_NORM macro as
    an alias to IOPRIO_NORM to clarify that this default level applies to
    the BE priotity class. In include/linux/ioprio.h, define the macro
    IOPRIO_DEFAULT as IOPRIO_PRIO_VALUE(IOPRIO_CLASS_BE, IOPRIO_BE_NORM)
    and use this new macro when setting a priority to the default.
    Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
    Link: https://lore.kernel.org/r/20210811033702.368488-7-damien.lemoal@wdc.com
    [axboe: drop unnecessary lightnvm change]
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    e70344c0
ioprio.c 5.14 KB