md/raid10: clean up md_add_new_disk()

Message ID 20230527101851.3266500-2-linan666@huaweicloud.com
State New
Headers
Series md/raid10: clean up md_add_new_disk() |

Commit Message

Li Nan May 27, 2023, 10:18 a.m. UTC
  From: Li Nan <linan122@huawei.com>

Commit 1a855a060665 ("md: fix bug with re-adding of partially recovered
device.") only add device which is set to In_sync. But it let devices
without metadata cannot be added when they should be.

Commit bf572541ab44 ("md: fix regression with re-adding devices to arrays
with no metadata") fix the above issue, it set device without metadata to
In_sync when add new disk.

However, after commit f466722ca614 ("md: Change handling of save_raid_disk
and metadata update during recovery.") deletes changes of the first patch,
setting In_sync for devcie without metadata is meanless because the flag
will be cleared soon and will not be used during this period. Clean it up.

Signed-off-by: Li Nan <linan122@huawei.com>
---
 drivers/md/md.c | 1 -
 1 file changed, 1 deletion(-)
  

Comments

Yu Kuai May 28, 2023, 7:49 a.m. UTC | #1
在 2023/05/27 18:18, linan666@huaweicloud.com 写道:
> From: Li Nan <linan122@huawei.com>
> 
> Commit 1a855a060665 ("md: fix bug with re-adding of partially recovered
> device.") only add device which is set to In_sync. But it let devices
> without metadata cannot be added when they should be.
> 
> Commit bf572541ab44 ("md: fix regression with re-adding devices to arrays
> with no metadata") fix the above issue, it set device without metadata to
> In_sync when add new disk.
> 
> However, after commit f466722ca614 ("md: Change handling of save_raid_disk
> and metadata update during recovery.") deletes changes of the first patch,
> setting In_sync for devcie without metadata is meanless because the flag
> will be cleared soon and will not be used during this period. Clean it up.

LGME, feel free to add:

Reviewed-by: Yu Kuai <yukuai3@huawei.com>
> 
> Signed-off-by: Li Nan <linan122@huawei.com>
> ---
>   drivers/md/md.c | 1 -
>   1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/md/md.c b/drivers/md/md.c
> index 8e344b4b3444..e5b67b2d2166 100644
> --- a/drivers/md/md.c
> +++ b/drivers/md/md.c
> @@ -6733,7 +6733,6 @@ int md_add_new_disk(struct mddev *mddev, struct mdu_disk_info_s *info)
>   			if (info->state & (1<<MD_DISK_SYNC)  &&
>   			    info->raid_disk < mddev->raid_disks) {
>   				rdev->raid_disk = info->raid_disk;
> -				set_bit(In_sync, &rdev->flags);
>   				clear_bit(Bitmap_sync, &rdev->flags);
>   			} else
>   				rdev->raid_disk = -1;
>
  
Song Liu May 30, 2023, 10:20 p.m. UTC | #2
On Sun, May 28, 2023 at 12:49 AM Yu Kuai <yukuai1@huaweicloud.com> wrote:
>
> 在 2023/05/27 18:18, linan666@huaweicloud.com 写道:
> > From: Li Nan <linan122@huawei.com>
> >
> > Commit 1a855a060665 ("md: fix bug with re-adding of partially recovered
> > device.") only add device which is set to In_sync. But it let devices
> > without metadata cannot be added when they should be.
> >
> > Commit bf572541ab44 ("md: fix regression with re-adding devices to arrays
> > with no metadata") fix the above issue, it set device without metadata to
> > In_sync when add new disk.
> >
> > However, after commit f466722ca614 ("md: Change handling of save_raid_disk
> > and metadata update during recovery.") deletes changes of the first patch,
> > setting In_sync for devcie without metadata is meanless because the flag
> > will be cleared soon and will not be used during this period. Clean it up.
>
> LGME, feel free to add:
>
> Reviewed-by: Yu Kuai <yukuai3@huawei.com>
> >
> > Signed-off-by: Li Nan <linan122@huawei.com>

Applied to md-next.

Thanks,
Song
  

Patch

diff --git a/drivers/md/md.c b/drivers/md/md.c
index 8e344b4b3444..e5b67b2d2166 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -6733,7 +6733,6 @@  int md_add_new_disk(struct mddev *mddev, struct mdu_disk_info_s *info)
 			if (info->state & (1<<MD_DISK_SYNC)  &&
 			    info->raid_disk < mddev->raid_disks) {
 				rdev->raid_disk = info->raid_disk;
-				set_bit(In_sync, &rdev->flags);
 				clear_bit(Bitmap_sync, &rdev->flags);
 			} else
 				rdev->raid_disk = -1;