Re: Re: patch fr1-2.17 does not work with kernel 2.4.30
"Peter T. Breuer" <[email protected]>
| Newsgroups | gmane.linux.enbd.general |
|---|---|
| Message-ID | <[email protected]> |
"Also sprach Stephan von Krawczynski:"
> PRINTK(KERN_WARNING "raid1: made bitmap %x at events %ld\n",
> (unsigned) bitmap, (unsigned long)md_event(mddev->sb));
>
> PRINTK(KERN_DEBUG "raid1: made bitmap %x\n", (unsigned) bitmap);
> return 0;
> }
>
> I cannot find its output anywhere in kernel logs ...
> Does it never get called? I thought bitmap->start should at least be called once, no?
>
I can see it in my own trace here ...
md: set_disk_faulty
md: md_error
raid1: raid1_error
raid1: mark_disk_bad
raid1: raid1_start_bitmap
raid1: made bitmap a027dc20 at events 7
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
raid1: Disk failure on ubd/disc2/disc, disabling device.
Operation continuing on 1 devices
I suspect that the bitmap start event count in the array superblock was
being overwritten. Can you please reduce from 27 to 26 the MD_SB_DISKS
count in md_p.h? My calculations indicate that 27 reduces the reserved
space in the sb to zero, and I was using the reserved space to hold the
bitmap start event count.
Here the count is slightly out, but expectedly out:
md: trying to hot-add ubd/disc2/disc to md0 ...
md0: repair of faulty disk 6220!
md: unbind<ubd/disc2/disc,1>
md: export_rdev(ubd/disc2/disc)
md: updating md0 RAID superblock on device
md: ubd/disc1/disc [events: 00000009]<6>(write) ubd/disc1/disc's sb offset: 4032 ubd/disc2/disc (read) [events: 00000007]
md0: warning - new disk 6220 nearly too old for repair (disk 7 < bitmap 8)
md0: repairing old mirror component 6220 (disk 7 >= bitmap 8)
So this all looks sensible. The one disk faulted out at count 7. The
bitmap started (as a result) at that time, when the count had increased
by one, to 8. The disk left in the array has now witnessed a count of
9, as we added the faulted disk again, which increments the count.
Try changing 27 to 26. Recompile all md modules.
Peter