diff options
author | Ming Lei <ming.lei@redhat.com> | 2020-06-19 11:42:14 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-08-21 12:05:35 +0300 |
commit | a24e10abad8ff9df527fc3ceed74c0d361f68230 (patch) | |
tree | 7000a9cb348711f6d582fbff672e2d52bcf3eb74 /security | |
parent | c00c5131441cbc1775bb1c3164217aa52358396d (diff) | |
download | linux-a24e10abad8ff9df527fc3ceed74c0d361f68230.tar.xz |
dm rq: don't call blk_mq_queue_stopped() in dm_stop_queue()
[ Upstream commit e766668c6cd49d741cfb49eaeb38998ba34d27bc ]
dm_stop_queue() only uses blk_mq_quiesce_queue() so it doesn't
formally stop the blk-mq queue; therefore there is no point making the
blk_mq_queue_stopped() check -- it will never be stopped.
In addition, even though dm_stop_queue() actually tries to quiesce hw
queues via blk_mq_quiesce_queue(), checking with blk_queue_quiesced()
to avoid unnecessary queue quiesce isn't reliable because: the
QUEUE_FLAG_QUIESCED flag is set before synchronize_rcu() and
dm_stop_queue() may be called when synchronize_rcu() from another
blk_mq_quiesce_queue() is in-progress.
Fixes: 7b17c2f7292ba ("dm: Fix a race condition related to stopping and starting queues")
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'security')
0 files changed, 0 insertions, 0 deletions