* [bug report] md: Remove deprecated CONFIG_MD_MULTIPATH
@ 2025-12-15 7:58 Dan Carpenter
2025-12-15 12:40 ` Li Nan
0 siblings, 1 reply; 3+ messages in thread
From: Dan Carpenter @ 2025-12-15 7:58 UTC (permalink / raw)
To: Song Liu; +Cc: linux-raid
Hello Song Liu,
Commit d8730f0cf4ef ("md: Remove deprecated CONFIG_MD_MULTIPATH")
from Dec 14, 2023 (linux-next), leads to the following Smatch static
checker warning:
drivers/md/md.c:3912 analyze_sbs()
warn: iterator 'i' not incremented
drivers/md/md.c
3883 static int analyze_sbs(struct mddev *mddev)
3884 {
3885 int i;
3886 struct md_rdev *rdev, *freshest, *tmp;
3887
3888 freshest = NULL;
3889 rdev_for_each_safe(rdev, tmp, mddev)
3890 switch (super_types[mddev->major_version].
3891 load_super(rdev, freshest, mddev->minor_version)) {
3892 case 1:
3893 freshest = rdev;
3894 break;
3895 case 0:
3896 break;
3897 default:
3898 pr_warn("md: fatal superblock inconsistency in %pg -- removing from array\n",
3899 rdev->bdev);
3900 md_kick_rdev_from_array(rdev);
3901 }
3902
3903 /* Cannot find a valid fresh disk */
3904 if (!freshest) {
3905 pr_warn("md: cannot find a valid disk\n");
3906 return -EINVAL;
3907 }
3908
3909 super_types[mddev->major_version].
3910 validate_super(mddev, NULL/*freshest*/, freshest);
3911
--> 3912 i = 0;
3913 rdev_for_each_safe(rdev, tmp, mddev) {
3914 if (mddev->max_disks &&
3915 (rdev->desc_nr >= mddev->max_disks ||
3916 i > mddev->max_disks)) {
^^^^^^^^^^^^^^^^^^^^
The patch deleted the i++ so i is always zero.
3917 pr_warn("md: %s: %pg: only %d devices permitted\n",
3918 mdname(mddev), rdev->bdev,
3919 mddev->max_disks);
3920 md_kick_rdev_from_array(rdev);
3921 continue;
3922 }
3923 if (rdev != freshest) {
3924 if (super_types[mddev->major_version].
3925 validate_super(mddev, freshest, rdev)) {
3926 pr_warn("md: kicking non-fresh %pg from array!\n",
3927 rdev->bdev);
3928 md_kick_rdev_from_array(rdev);
3929 continue;
3930 }
3931 }
3932 if (rdev->raid_disk >= (mddev->raid_disks - min(0, mddev->delta_disks)) &&
3933 !test_bit(Journal, &rdev->flags)) {
3934 rdev->raid_disk = -1;
3935 clear_bit(In_sync, &rdev->flags);
3936 }
3937 }
3938
3939 return 0;
3940 }
regards,
dan carpenter
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [bug report] md: Remove deprecated CONFIG_MD_MULTIPATH
2025-12-15 7:58 [bug report] md: Remove deprecated CONFIG_MD_MULTIPATH Dan Carpenter
@ 2025-12-15 12:40 ` Li Nan
0 siblings, 0 replies; 3+ messages in thread
From: Li Nan @ 2025-12-15 12:40 UTC (permalink / raw)
To: Dan Carpenter, Song Liu; +Cc: linux-raid
在 2025/12/15 15:58, Dan Carpenter 写道:
> Hello Song Liu,
>
> Commit d8730f0cf4ef ("md: Remove deprecated CONFIG_MD_MULTIPATH")
> from Dec 14, 2023 (linux-next), leads to the following Smatch static
> checker warning:
>
> drivers/md/md.c:3912 analyze_sbs()
> warn: iterator 'i' not incremented
>
> drivers/md/md.c
> 3883 static int analyze_sbs(struct mddev *mddev)
> 3884 {
> 3885 int i;
> 3886 struct md_rdev *rdev, *freshest, *tmp;
> 3887
> 3888 freshest = NULL;
> 3889 rdev_for_each_safe(rdev, tmp, mddev)
> 3890 switch (super_types[mddev->major_version].
> 3891 load_super(rdev, freshest, mddev->minor_version)) {
> 3892 case 1:
> 3893 freshest = rdev;
> 3894 break;
> 3895 case 0:
> 3896 break;
> 3897 default:
> 3898 pr_warn("md: fatal superblock inconsistency in %pg -- removing from array\n",
> 3899 rdev->bdev);
> 3900 md_kick_rdev_from_array(rdev);
> 3901 }
> 3902
> 3903 /* Cannot find a valid fresh disk */
> 3904 if (!freshest) {
> 3905 pr_warn("md: cannot find a valid disk\n");
> 3906 return -EINVAL;
> 3907 }
> 3908
> 3909 super_types[mddev->major_version].
> 3910 validate_super(mddev, NULL/*freshest*/, freshest);
> 3911
> --> 3912 i = 0;
> 3913 rdev_for_each_safe(rdev, tmp, mddev) {
> 3914 if (mddev->max_disks &&
> 3915 (rdev->desc_nr >= mddev->max_disks ||
> 3916 i > mddev->max_disks)) {
> ^^^^^^^^^^^^^^^^^^^^
> The patch deleted the i++ so i is always zero.
>
> 3917 pr_warn("md: %s: %pg: only %d devices permitted\n",
> 3918 mdname(mddev), rdev->bdev,
> 3919 mddev->max_disks);
> 3920 md_kick_rdev_from_array(rdev);
> 3921 continue;
> 3922 }
> 3923 if (rdev != freshest) {
> 3924 if (super_types[mddev->major_version].
> 3925 validate_super(mddev, freshest, rdev)) {
> 3926 pr_warn("md: kicking non-fresh %pg from array!\n",
> 3927 rdev->bdev);
> 3928 md_kick_rdev_from_array(rdev);
> 3929 continue;
> 3930 }
> 3931 }
> 3932 if (rdev->raid_disk >= (mddev->raid_disks - min(0, mddev->delta_disks)) &&
> 3933 !test_bit(Journal, &rdev->flags)) {
> 3934 rdev->raid_disk = -1;
> 3935 clear_bit(In_sync, &rdev->flags);
> 3936 }
> 3937 }
> 3938
> 3939 return 0;
> 3940 }
>
> regards,
> dan carpenter
>
> .
Hi, dan
Thanks for your report, I will fix it soon.
--
Thanks,
Nan
^ permalink raw reply [flat|nested] 3+ messages in thread
* [bug report] md: Remove deprecated CONFIG_MD_MULTIPATH
@ 2024-05-04 11:23 Dan Carpenter
0 siblings, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2024-05-04 11:23 UTC (permalink / raw)
To: song; +Cc: linux-raid
Hello Song Liu,
Commit d8730f0cf4ef ("md: Remove deprecated CONFIG_MD_MULTIPATH")
from Dec 14, 2023 (linux-next), leads to the following Smatch static
checker warning:
drivers/md/md.c:3862 analyze_sbs()
warn: iterator 'i' not incremented
drivers/md/md.c
3861
--> 3862 i = 0;
3863 rdev_for_each_safe(rdev, tmp, mddev) {
3864 if (mddev->max_disks &&
3865 (rdev->desc_nr >= mddev->max_disks ||
3866 i > mddev->max_disks)) {
^
There used to be an i++ but that patch deleted it. Should i just be
deleted?
3867 pr_warn("md: %s: %pg: only %d devices permitted\n",
3868 mdname(mddev), rdev->bdev,
3869 mddev->max_disks);
3870 md_kick_rdev_from_array(rdev);
3871 continue;
3872 }
3873 if (rdev != freshest) {
3874 if (super_types[mddev->major_version].
3875 validate_super(mddev, freshest, rdev)) {
3876 pr_warn("md: kicking non-fresh %pg from array!\n",
3877 rdev->bdev);
3878 md_kick_rdev_from_array(rdev);
3879 continue;
3880 }
3881 }
3882 if (rdev->raid_disk >= (mddev->raid_disks - min(0, mddev->delta_disks)) &&
3883 !test_bit(Journal, &rdev->flags)) {
3884 rdev->raid_disk = -1;
3885 clear_bit(In_sync, &rdev->flags);
3886 }
3887 }
3888
3889 return 0;
3890 }
regards,
dan carpenter
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-12-15 12:40 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-15 7:58 [bug report] md: Remove deprecated CONFIG_MD_MULTIPATH Dan Carpenter
2025-12-15 12:40 ` Li Nan
-- strict thread matches above, loose matches on Subject: below --
2024-05-04 11:23 Dan Carpenter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox