• Damien Le Moal's avatar
    block: fix deadline elevator drain for zoned block devices · 854f31cc
    Damien Le Moal authored
    When the deadline scheduler is used with a zoned block device, writes
    to a zone will be dispatched one at a time. This causes the warning
    message:
    
    deadline: forced dispatching is broken (nr_sorted=X), please report this
    
    to be displayed when switching to another elevator with the legacy I/O
    path while write requests to a zone are being retained in the scheduler
    queue.
    
    Prevent this message from being displayed when executing
    elv_drain_elevator() for a zoned block device. __blk_drain_queue() will
    loop until all writes are dispatched and completed, resulting in the
    desired elevator queue drain without extensive modifications to the
    deadline code itself to handle forced-dispatch calls.
    Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
    Fixes: 8dc8146f ("deadline-iosched: Introduce zone locking support")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    854f31cc
elevator.c 27.4 KB