2023-08-25 07:19:27

by Song Liu

[permalink] [raw]
Subject: Re: [PATCH -next v4 0/7] md: make rdev addition and removal independent from daemon thread

On Thu, Aug 24, 2023 at 8:20 PM Yu Kuai <[email protected]> wrote:
>
> From: Yu Kuai <[email protected]>
>
> Changes in v4:
> - add some review tag;
> - add comments to make code more readadble for patch 4,6;
> - rework patch 7 a litter;

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

Thanks,
Song

>
> Changes in v3:
> - rename md_choose_sync_direction() to md_choose_sync_action() in patch 2;
> - fix an error in patch 3;
> - add flush_work(&mddev->sync_work) while change read-only array to
> read-write;
>
> Changes in v2:
> - remove patch 1 from v1 and some related patches, those patches will
> be sent later when rcu protection for rdev is removed.
> - add patch 2.
>
> This is the third 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) This patchset 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.
>
> More patchset on the way!
>
> Yu Kuai (7):
> md: use separate work_struct for md_start_sync()
> md: factor out a helper to choose sync action from md_check_recovery()
> md: delay choosing sync action to md_start_sync()
> md: factor out a helper rdev_removeable() from remove_and_add_spares()
> md: factor out a helper rdev_is_spare() from remove_and_add_spares()
> md: factor out a helper rdev_addable() from remove_and_add_spares()
> md: delay remove_and_add_spares() for read only array to
> md_start_sync()
>
> drivers/md/md.c | 308 +++++++++++++++++++++++++++++++++---------------
> drivers/md/md.h | 5 +-
> 2 files changed, 218 insertions(+), 95 deletions(-)
>
> --
> 2.39.2
>


2023-08-25 08:13:50

by Yu Kuai

[permalink] [raw]
Subject: Re: [PATCH -next v4 0/7] md: make rdev addition and removal independent from daemon thread

Hi,

在 2023/08/25 14:39, Song Liu 写道:
> On Thu, Aug 24, 2023 at 8:20 PM Yu Kuai <[email protected]> wrote:
>>
>> From: Yu Kuai <[email protected]>
>>
>> Changes in v4:
>> - add some review tag;
>> - add comments to make code more readadble for patch 4,6;
>> - rework patch 7 a litter;
>
> Applied v4 to md-next. But this set won't go into 6.6.
>
Thanks! I'll work on rebasing the next huge patchset.

Kuai

> Thanks,
> Song
>
>>
>> Changes in v3:
>> - rename md_choose_sync_direction() to md_choose_sync_action() in patch 2;
>> - fix an error in patch 3;
>> - add flush_work(&mddev->sync_work) while change read-only array to
>> read-write;
>>
>> Changes in v2:
>> - remove patch 1 from v1 and some related patches, those patches will
>> be sent later when rcu protection for rdev is removed.
>> - add patch 2.
>>
>> This is the third 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) This patchset 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.
>>
>> More patchset on the way!
>>
>> Yu Kuai (7):
>> md: use separate work_struct for md_start_sync()
>> md: factor out a helper to choose sync action from md_check_recovery()
>> md: delay choosing sync action to md_start_sync()
>> md: factor out a helper rdev_removeable() from remove_and_add_spares()
>> md: factor out a helper rdev_is_spare() from remove_and_add_spares()
>> md: factor out a helper rdev_addable() from remove_and_add_spares()
>> md: delay remove_and_add_spares() for read only array to
>> md_start_sync()
>>
>> drivers/md/md.c | 308 +++++++++++++++++++++++++++++++++---------------
>> drivers/md/md.h | 5 +-
>> 2 files changed, 218 insertions(+), 95 deletions(-)
>>
>> --
>> 2.39.2
>>
> .
>