dm: don't lock fs when the map is NULL during suspend or resume
authorLi Lingfeng <lilingfeng3@huawei.com>
Thu, 1 Jun 2023 06:14:23 +0000 (14:14 +0800)
committerMike Snitzer <snitzer@kernel.org>
Thu, 15 Jun 2023 16:46:53 +0000 (12:46 -0400)
commit2760904d895279f87196f0fa9ec570c79fe6a2e4
treeba7d9355f7adccdec86305a64483cfc86a14f4ec
parentf1fcbaa18b28dec10281551dfe6ed3a3ed80e3d6
dm: don't lock fs when the map is NULL during suspend or resume

As described in commit 38d11da522aa ("dm: don't lock fs when the map is
NULL in process of resume"), a deadlock may be triggered between
do_resume() and do_mount().

This commit preserves the fix from commit 38d11da522aa but moves it to
where it also serves to fix a similar deadlock between do_suspend()
and do_mount().  It does so, if the active map is NULL, by clearing
DM_SUSPEND_LOCKFS_FLAG in dm_suspend() which is called by both
do_suspend() and do_resume().

Fixes: 38d11da522aa ("dm: don't lock fs when the map is NULL in process of resume")
Signed-off-by: Li Lingfeng <lilingfeng3@huawei.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
drivers/md/dm-ioctl.c
drivers/md/dm.c