Re: [PATCH 1/2] md: Factor out is_md_suspended helper

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

 



On Mon, Jan 23, 2023 at 9:18 PM Paul Menzel <pmenzel@xxxxxxxxxxxxx> wrote:
>
> Dear Xiao,
>
>
> Thank you for the patch.
>
> Am 21.01.23 um 02:39 schrieb Xiao Ni:
> > This helper function will be used in next patch. It's easy for
> > understanding.
> >
> > Signed-off-by: Xiao Ni <xni@xxxxxxxxxx>
> > ---
> >   drivers/md/md.c | 17 ++++++++++++-----
> >   1 file changed, 12 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/md/md.c b/drivers/md/md.c
> > index 775f1dde190a..d3627aad981a 100644
> > --- a/drivers/md/md.c
> > +++ b/drivers/md/md.c
> > @@ -380,6 +380,13 @@ EXPORT_SYMBOL_GPL(md_new_event);
> >   static LIST_HEAD(all_mddevs);
> >   static DEFINE_SPINLOCK(all_mddevs_lock);
> >
> > +static bool is_md_suspended(struct mddev *mddev)
> > +{
> > +     if (mddev->suspended)
> > +             return true;
> > +     else
> > +             return false;
>
> suspended seems to be an integer, so this could be written as:
>
>      return !!mddev->suspended;
>
> or
>
>      return (mddev->suspended) ? true : false;
>
>
> Kind regards,
>
> Paul

Hi Paul

Thanks for this.

Regards
Xiao
>
>
> > +}
> >   /* Rather than calling directly into the personality make_request function,
> >    * IO requests come here first so that we can check if the device is
> >    * being suspended pending a reconfiguration.
> > @@ -389,7 +396,7 @@ static DEFINE_SPINLOCK(all_mddevs_lock);
> >    */
> >   static bool is_suspended(struct mddev *mddev, struct bio *bio)
> >   {
> > -     if (mddev->suspended)
> > +     if (is_md_suspended(mddev))
> >               return true;
> >       if (bio_data_dir(bio) != WRITE)
> >               return false;
> > @@ -434,7 +441,7 @@ void md_handle_request(struct mddev *mddev, struct bio *bio)
> >               goto check_suspended;
> >       }
> >
> > -     if (atomic_dec_and_test(&mddev->active_io) && mddev->suspended)
> > +     if (atomic_dec_and_test(&mddev->active_io) && is_md_suspended(mddev))
> >               wake_up(&mddev->sb_wait);
> >   }
> >   EXPORT_SYMBOL(md_handle_request);
> > @@ -6217,7 +6224,7 @@ EXPORT_SYMBOL_GPL(md_stop_writes);
> >   static void mddev_detach(struct mddev *mddev)
> >   {
> >       md_bitmap_wait_behind_writes(mddev);
> > -     if (mddev->pers && mddev->pers->quiesce && !mddev->suspended) {
> > +     if (mddev->pers && mddev->pers->quiesce && !is_md_suspended(mddev)) {
> >               mddev->pers->quiesce(mddev, 1);
> >               mddev->pers->quiesce(mddev, 0);
> >       }
> > @@ -8529,7 +8536,7 @@ bool md_write_start(struct mddev *mddev, struct bio *bi)
> >               return true;
> >       wait_event(mddev->sb_wait,
> >                  !test_bit(MD_SB_CHANGE_PENDING, &mddev->sb_flags) ||
> > -                mddev->suspended);
> > +                is_md_suspended(mddev));
> >       if (test_bit(MD_SB_CHANGE_PENDING, &mddev->sb_flags)) {
> >               percpu_ref_put(&mddev->writes_pending);
> >               return false;
> > @@ -9257,7 +9264,7 @@ void md_check_recovery(struct mddev *mddev)
> >               wake_up(&mddev->sb_wait);
> >       }
> >
> > -     if (mddev->suspended)
> > +     if (is_md_suspended(mddev))
> >               return;
> >
> >       if (mddev->bitmap)
>




[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux