mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 09:19:51 +00:00
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>
This commit is contained in:
parent
ae6ad75e5c
commit
e522c03905
1 changed files with 8 additions and 9 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue