]> git.baikalelectronics.ru Git - kernel.git/commit
dm mpath: fix bio-based multipath queue_if_no_path handling
authorMike Snitzer <snitzer@redhat.com>
Fri, 8 Dec 2017 03:42:27 +0000 (22:42 -0500)
committerMike Snitzer <snitzer@redhat.com>
Fri, 8 Dec 2017 15:49:40 +0000 (10:49 -0500)
commitac0cde8a1389ee8b341032cf8ce348d36d7278a3
tree682306b0ffb307ae6dbc465459ca3db400b1aea3
parent9434c6f562f7190fe41b42cfc29ef1b1c0b9261e
dm mpath: fix bio-based multipath queue_if_no_path handling

Commit 2dcdb5e5 ("dm mpath: micro-optimize the hot path relative to
MPATHF_QUEUE_IF_NO_PATH") caused bio-based DM-multipath to fail mptest's
"test_02_sdev_delete".

Restoring the logic that existed prior to commit 2dcdb5e5 fixes this
bio-based DM-multipath regression.  Also verified all mptest tests pass
with request-based DM-multipath.

This commit effectively reverts commit 2dcdb5e5 -- but it does so
without reintroducing the need to take the m->lock spinlock in
must_push_back_{rq,bio}.

Fixes: 2dcdb5e5 ("dm mpath: micro-optimize the hot path relative to MPATHF_QUEUE_IF_NO_PATH")
Cc: stable@vger.kernel.org # 4.12+
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-mpath.c