Re: Re: fr1-2.16 patch for 2.6.10 kernel
"Peter T. Breuer" <[email protected]>
| Newsgroups | gmane.linux.enbd.general |
|---|---|
| Message-ID | <[email protected]> |
"Also sprach denis bonnenfant:"
> I tried this :
That's the wrong place.
>
> if (mddev->degraded) {
> ITERATE_RDEV(mddev,rdev,rtmp)
The check must be HERE. Before rdev is dereferenced.
> if (rdev->raid_disk < 0
> && !rdev->faulty) {
> printk(KERN_INFO "md: 3853 raid_disk %d %p\n", rdev->raid_disk,
> rdev->same_set.next);
> if (!rdev)
> break;
Not HERE. It's too late! If rdev was NULL we died several times over
already!
> if (mddev->pers->hot_add_disk(mddev,rdev))
> spares++;
But anyway, you said the problem was mddev, no? Did you check that? You
want
if (!mddev) {
printk ...
break;
}
before you dereference it! Actually, it should go where you put the
rdev test.
Peter