Re: Re: fr1-2.16 patch for 2.6.10 kernel

denis bonnenfant <[email protected]>
Newsgroups gmane.linux.enbd.general
Message-ID <[email protected]>
Peter T. Breuer a écrit :
> "Also sprach Peter T. Breuer:"
> 
>>In article <[email protected]> you wrote:
>>
>>>So why p->rdev->bdev is NULL ?
>>
>>  rdev->bdev is null?
>>
>>Oh. OK. I'll take a look.
> 
> 
> It's fairly clear that unlock_rdev() has been run.
> 
> static void unlock_rdev(mdk_rdev_t *rdev)
> {
>         struct block_device *bdev = rdev->bdev;
>         rdev->bdev = NULL;
>         ^^^^^^^^^^^^^^^^^^^
>         if (!bdev)
>                 MD_BUG();
>         bd_release(bdev);
>         blkdev_put(bdev, BDEV_RAW);
> }
> 
> It probably has been run from export_rdev()
> 
> static void export_rdev(mdk_rdev_t * rdev)
> {
>         char b[BDEVNAME_SIZE];
>         printk(KERN_INFO "md: export_rdev(%s)\n",
>                 bdevname(rdev->bdev,b));
>         if (rdev->mddev)
>                 MD_BUG();
>         free_disk_sb(rdev);
>         list_del_init(&rdev->same_set);
> #ifndef MODULE
>         md_autodetect_dev(rdev->bdev->bd_dev);
> #endif
>         unlock_rdev(rdev);
>         ^^^^^^^^^^^^^^^^^^
>         kfree(rdev);
> }
> 
> And that could come from many places. In particular
> kick_rdev_from_array().
> 
> 
> static void kick_rdev_from_array(mdk_rdev_t * rdev)
> {
>         unbind_rdev_from_array(rdev);
>         export_rdev(rdev);
>         ^^^^^^^^^^^^^^^^^^^
> }
> 
> 
> And are you seeing this ONLY after the disk has failed to be recognized
> on reinsertion, because of a different UUID?
No. Sometimes the disk failed to be regognised, but it's not reproducible.
The only thing that i am sure is that the oops occurs only if a fast resync (with skipped blocks) as 
occured before
> 
> Humour me .... can you perform your experiment NOT with scsi disks, but
> with a pair of loopback devices as mirror components?
It's not a real scsi, It's a megaraid IDE controller
> 
>    dd if=/dev/zero bs=1k count=4k of=/tmp/core0
>    dd if=/dev/zero bs=1k count=4k of=/tmp/core1
> 
>    losetup /dev/loop0 /tmp/core0
>    losetup /dev/loop1 /tmp/core1
> 
>    mdadm -C -l 1 -n 2 -x 0 /dev/md0 /dev/loop{0,1}
> 
> ??
OK, just the time to reboot...

well... It doesn't oops !!!!!!!! really strange ....

I'm going to try with some partitions on hda....
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.