Re: [PATCH -next v2 0/7] md: initialize 'active_io' while allocating mddev

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

 



On Thu, Aug 24, 2023 at 8:14 PM Yu Kuai <yukuai1@xxxxxxxxxxxxxxx> wrote:
>
> From: Yu Kuai <yukuai3@xxxxxxxxxx>
>
> Changes in v2:
>  - rebase for md-next;
>  - update commit message for patch 3;

Applied v2 to md-next. But this set won't go into 6.6.

Thanks,
Song

>
> This is the 4th patchset to do some preparatory work to synchronize
> io with array reconfiguration.
>
> 1) The first patchset refactor 'active_io', make sure that mddev_suspend()
> will wait for io to be done. [1]
>
> 2) The second patchset remove 'quiesce' callback from mddev_suspend(), so
> that mddev_suspend() doesn't rely on 'quiesce' callback is registered,
> and can be used for all personalites; [2]
>
> 3) Make array reconfiguration independent from daemon thread,
> and synchronize it with io will be much easier because io may rely on
> daemon thread to be done.
>
> 4) This patchset move initialization of 'active_io' from md_run() to
> md_alloc(), so that mddev_suspend() won't rely on holding 'reconfig_mutex'
> to check if 'mddev->pers' is set, and it can be called at any time after
> mddev is allocated.(Done by patch 1, and other patches are cleanup)
>
> Yu Kuai (7):
>   md: initialize 'active_io' while allocating mddev
>   md: initialize 'writes_pending' while allocating mddev
>   md: don't rely on 'mddev->pers' to be set in mddev_suspend()
>   md-bitmap: remove the checking of 'pers->quiesce' from
>     location_store()
>   md-bitmap: suspend array earlier in location_store()
>   md: don't check 'mddev->pers' from suspend_hi_store()
>   md: don't check 'mddev->pers' and 'pers->quiesce' from
>     suspend_lo_store()
>
> [1] https://lore.kernel.org/all/20230621165110.1498313-1-yukuai1@xxxxxxxxxxxxxxx/
> [2] https://lore.kernel.org/all/20230628012931.88911-2-yukuai1@xxxxxxxxxxxxxxx/
>
> Yu Kuai (7):
>   md: initialize 'active_io' while allocating mddev
>   md: initialize 'writes_pending' while allocating mddev
>   md: don't rely on 'mddev->pers' to be set in mddev_suspend()
>   md-bitmap: remove the checking of 'pers->quiesce' from
>     location_store()
>   md-bitmap: suspend array earlier in location_store()
>   md: don't check 'mddev->pers' from suspend_hi_store()
>   md: don't check 'mddev->pers' and 'pers->quiesce' from
>     suspend_lo_store()
>
>  drivers/md/dm-raid.c   |   7 ++-
>  drivers/md/md-bitmap.c |  47 +++++++++----------
>  drivers/md/md.c        | 100 ++++++++++++++++++++---------------------
>  drivers/md/md.h        |   4 +-
>  drivers/md/raid1.c     |   3 +-
>  drivers/md/raid10.c    |   3 --
>  drivers/md/raid5.c     |   3 --
>  7 files changed, 78 insertions(+), 89 deletions(-)
>
> --
> 2.39.2
>




[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