Re: [PATCH -next v2 2/6] md: refactor action_store() for 'idle' and 'frozen'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

在 2023/06/13 20:25, Xiao Ni 写道:
On Tue, Jun 13, 2023 at 8:00 PM Yu Kuai <yukuai1@xxxxxxxxxxxxxxx> wrote:

Hi,

在 2023/06/13 16:02, Xiao Ni 写道:

在 2023/5/29 下午9:20, Yu Kuai 写道:
From: Yu Kuai <yukuai3@xxxxxxxxxx>

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@xxxxxxxxxx
https://listman.redhat.com/mailman/listinfo/dm-devel




[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux