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

From: Xiao Ni
Date: Tue Jun 13 2023 - 08:27:06 EST


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?

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
>