dm: requeue IO if mapping table not yet available
authorMike Snitzer <snitzer@redhat.com>
Tue, 22 Feb 2022 18:28:12 +0000 (13:28 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Apr 2022 19:00:57 +0000 (21:00 +0200)
commit2f2f017ea8736f6ee1db876ea78708d0355f89a2
treebbbcd9fa9bf96ee27c18081dbc1d27a3391ce89d
parent71c8df33fd777c7628f6fbc09b14e84806c55914
dm: requeue IO if mapping table not yet available

[ Upstream commit fa247089de9936a46e290d4724cb5f0b845600f5 ]

Update both bio-based and request-based DM to requeue IO if the
mapping table not available.

This race of IO being submitted before the DM device ready is so
narrow, yet possible for initial table load given that the DM device's
request_queue is created prior, that it best to requeue IO to handle
this unlikely case.

Reported-by: Zhang Yi <yi.zhang@huawei.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/md/dm-rq.c
drivers/md/dm.c