Hi,
在 2023/06/13 20:25, Xiao Ni 写道:
On Tue, Jun 13, 2023 at 8:00 PM Yu Kuai <yuku...@huaweicloud.com> wrote:
Hi,
在 2023/06/13 16:02, Xiao Ni 写道:
在 2023/5/29 下午9:20, Yu Kuai 写道:
From: Yu Kuai <yuku...@huawei.com>
Prepare to handle 'idle' and 'frozen' differently to fix a deadlock,
there
are no functional changes except that MD_RECOVERY_RUNNING is checked
again after 'reconfig_mutex' is held.
Can you explain more about why it needs to check MD_RECOVERY_RUNNING
again here?
As I explain in the following comment:
Hi
Who can clear the flag before the lock is held?
Basically every where that can clear the flag...
// This context // Other context
mutex_lock
...
test_bit -> pass
clear_bit
mutex_unlock
mutex_lock
test_bit -> check again
Thanks,
Kuai
Regards
Xiao
+ /*
+ * Check again in case MD_RECOVERY_RUNNING is cleared before lock is
+ * held.
+ */
+ if (!test_bit(MD_RECOVERY_RUNNING, &mddev->recovery)) {
+ mddev_unlock(mddev);
+ return;
+ }
Thanks,
Kuai
.
--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel