Re: [RFC PATCH 2/5] md: clear stale sync flags when frozen before sync starts
Li Nan <[email protected]>
| Newsgroups | gmane.linux.raid,gmane.linux.kernel |
|---|---|
| Message-ID | <[email protected]> |
在 2025/12/31 15:09, Zheng Qixing 写道: > From: Zheng Qixing <[email protected]> > > In md_check_recovery(), add clearing of all sync flags when sync is not > running. This fixes the issue where a sync operation is requested, then > 'frozen' is executed before MD_RECOVERY_RUNNING is set, leaving stale > operation flags that cause subsequent operations to fail with EBUSY. > > Signed-off-by: Zheng Qixing <[email protected]> > --- > drivers/md/md.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/md/md.c b/drivers/md/md.c > index ccaa2e6fe079..52e09a9a9288 100644 > --- a/drivers/md/md.c > +++ b/drivers/md/md.c > @@ -10336,6 +10336,9 @@ void md_check_recovery(struct mddev *mddev) > queue_work(md_misc_wq, &mddev->sync_work); > } else { > clear_bit(MD_RECOVERY_RUNNING, &mddev->recovery); > + clear_bit(MD_RECOVERY_SYNC, &mddev->recovery); > + clear_bit(MD_RECOVERY_REQUESTED, &mddev->recovery); > + clear_bit(MD_RECOVERY_CHECK, &mddev->recovery); > wake_up(&resync_wait); > } > Merge into one with the previous fix patch. Do not introduce an issue and fix it later. -- Thanks, Nan