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 18:59:06 +0000 (20:59 +0200)
commitda52e8b9dad67549f3b607286b08efa3cc84081f
tree89ada64f3714bbd0cf6a630a2fb013af9144d452
parent02cc46f397eb3691c56affbd5073e54f7a82ac32
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