• Mike Snitzer's avatar
    dm mpath: fix bio-based multipath queue_if_no_path handling · c1fd0abe
    Mike Snitzer authored
    Commit ca5beb76 ("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 ca5beb76 fixes this
    bio-based DM-multipath regression.  Also verified all mptest tests pass
    with request-based DM-multipath.
    
    This commit effectively reverts commit ca5beb76 -- but it does so
    without reintroducing the need to take the m->lock spinlock in
    must_push_back_{rq,bio}.
    
    Fixes: ca5beb76 ("dm mpath: micro-optimize the hot path relative to MPATHF_QUEUE_IF_NO_PATH")
    Cc: stable@vger.kernel.org # 4.12+
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    c1fd0abe
dm-mpath.c 49.1 KB