On Thu, 9 May 2024 09:18:52 +0800 Yu Kuai <yukuai1@xxxxxxxxxxxxxxx> wrote: There is typo in subject. > From: Yu Kuai <yukuai3@xxxxxxxxxx> > > Currently there are lots of flags and the names are confusing, since > there are two main types of flags, sync thread runnng status and sync > thread action, rearrange and update comment to improve code readability, > there are no functional changes. > > Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx> > --- > drivers/md/md.h | 52 ++++++++++++++++++++++++++++++++++++------------- > 1 file changed, 38 insertions(+), 14 deletions(-) > > diff --git a/drivers/md/md.h b/drivers/md/md.h > index 029dd0491a36..2a1cb7b889e5 100644 > --- a/drivers/md/md.h > +++ b/drivers/md/md.h > @@ -551,22 +551,46 @@ struct mddev { > }; > > enum recovery_flags { > + /* flags for sync thread running status */ > + > + /* > + * set when one of sync action is set and new sync thread need to be > + * registered, or just add/remove spares from conf. > + */ > + MD_RECOVERY_NEEDED, > + /* sync thread is running, or about to be started */ > + MD_RECOVERY_RUNNING, > + /* sync thread needs to be aborted for some reason */ > + MD_RECOVERY_INTR, > + /* sync thread is done and is waiting to be unregistered */ > + MD_RECOVERY_DONE, > + /* running sync thread must abort immediately, and not restart */ > + MD_RECOVERY_FROZEN, > + /* waiting for pers->start() to finish */ > + MD_RECOVERY_WAIT, > + /* interrupted because io-error */ > + MD_RECOVERY_ERROR, > + > + /* flags determines sync action */ > + > + /* if just this flag is set, action is resync. */ > + MD_RECOVERY_SYNC, > + /* > + * paired with MD_RECOVERY_SYNC, if MD_RECOVERY_CHECK is not set, > + * action is repair, means user requested resync. > + */ > + MD_RECOVERY_REQUESTED, > /* > - * If neither SYNC or RESHAPE are set, then it is a recovery. > + * paired with MD_RECOVERY_SYNC and MD_RECOVERY_REQUESTED, action is > + * check. > */ > - MD_RECOVERY_RUNNING, /* a thread is running, or about to be > started */ > - MD_RECOVERY_SYNC, /* actually doing a resync, not a recovery > */ > - MD_RECOVERY_RECOVER, /* doing recovery, or need to try it. */ > - MD_RECOVERY_INTR, /* resync needs to be aborted for some > reason */ > - MD_RECOVERY_DONE, /* thread is done and is waiting to be > reaped */ > - MD_RECOVERY_NEEDED, /* we might need to start a > resync/recover */ > - MD_RECOVERY_REQUESTED, /* user-space has requested a sync > (used with SYNC) */ > - MD_RECOVERY_CHECK, /* user-space request for check-only, no > repair */ > - MD_RECOVERY_RESHAPE, /* A reshape is happening */ > - MD_RECOVERY_FROZEN, /* User request to abort, and not > restart, any action */ > - MD_RECOVERY_ERROR, /* sync-action interrupted because > io-error */ > - MD_RECOVERY_WAIT, /* waiting for pers->start() to finish */ > - MD_RESYNCING_REMOTE, /* remote node is running resync thread > */ > + MD_RECOVERY_CHECK, > + /* recovery, or need to try it */ > + MD_RECOVERY_RECOVER, > + /* reshape */ > + MD_RECOVERY_RESHAPE, > + /* remote node is running resync thread */ > + MD_RESYNCING_REMOTE, > }; > > enum md_ro_state { I don't know if it is better readable but I know that Kernel coding style comes with different approach. I used it for enum mddev_flags in md.h please take a look. Also, I get used to comment above, not below enum values but I don't have strong justification here. Thanks, Mariusz