1
0
Fork 0

dm: cleanup dm_any_congested()

The request-based DM support for checking queue congestion doesn't
require access to the live DM table.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
hifive-unleashed-5.1
Mike Snitzer 2016-02-02 22:35:06 -05:00
parent ae6ad75e5c
commit e522c03905
1 changed files with 8 additions and 9 deletions

View File

@ -2137,19 +2137,18 @@ static int dm_any_congested(void *congested_data, int bdi_bits)
struct dm_table *map;
if (!test_bit(DMF_BLOCK_IO_FOR_SUSPEND, &md->flags)) {
map = dm_get_live_table_fast(md);
if (map) {
if (dm_request_based(md)) {
/*
* Request-based dm cares about only own queue for
* the query about congestion status of request_queue
* With request-based DM we only need to check the
* top-level queue for congestion.
*/
if (dm_request_based(md))
r = md->queue->backing_dev_info.wb.state &
bdi_bits;
else
r = md->queue->backing_dev_info.wb.state & bdi_bits;
} else {
map = dm_get_live_table_fast(md);
if (map)
r = dm_table_any_congested(map, bdi_bits);
dm_put_live_table_fast(md);
}
dm_put_live_table_fast(md);
}
return r;