Re: Re: fr1-2.16 patch for 2.6.10 kernel
denis bonnenfant <[email protected]>
| Newsgroups | gmane.linux.enbd.general |
|---|---|
| Message-ID | <[email protected]> |
>>These are the parts I think you are interested in.
>
>
> And I forgot this one in md.c
>
> - rdev = md_import_device (dev, -1, 0); // PTB -1 == don't check sb
> + rdev = md_import_device (dev, 0/*-1*/, 0); // PTB -1 == don't check sb
>
> I also continued the theme a bit further down, testing to see if the sb
> had been loaded and loading it if not. Then print it, whatever happens.
I patched md and raid1 :
here is a fail /mount /add cycle :
raid1: Disk failure on sda1, disabling device.
Operation continuing on 1 devices
raid1: made bitmap de64e200 at events 0:22a
md0: md_check_recovery 2: repair bit 0 on sb f7fbd380 preserved
XFS mounting filesystem md0
Ending clean XFS mount for filesystem: md0
md: trying to hot-add unknown-block(8,1) to md0 ...
md0: repair of faulty disk 800001!
md: trying to remove unknown-block(8,1) from md0 ...
md0: notifying dev 800001 it is no longer in array
md: unbind<sda1>
md: export_rdev(sda1)
md 1205: unlock_rdev nulls bdev
md: WARNING: delaying free of exported rdev de64e700
md 1197: lock_rdev restores bdev 800001
sda1 (read) [events: 0000022a]
md: old uuid 5dc1267b 788f7499 cd49d3c0 d06f0b96
md: new uuid 5dc1267b 788f7499 cd49d3c0 d06f0b96
md0: new disk 800001 too old for repair (disk 554 < bitmap 556)
md: bind<sda1>
md0: notifying dev 800001 it is now in array
md0: set repair bit to 0 on superblock f7fbd380
md0: md_check_recovery 2: repair bit 0 on sb f7fbd380 preserved
raid1: testing p->rdev de64e700
raid1: testing p->rdev->bdev 00000000
raid1: late free of exported rdev de64e700
RAID1 conf printout:
--- wd:1 rd:2
disk 0, wo:1, o:1, dev:sda1
disk 1, wo:0, o:1, dev:sdb1
md: syncing RAID array md0 (sb f7fbd380)
md: minimum _guaranteed_ reconstruction speed: 10000000 KB/sec/disc.
md: using maximum available idle IO bandwith (but not more than 200000
KB/sec) for reconstruction.
md: using 128k window, over a total of 489856 blocks.
md0: no repair bit on sb so removed bitmap de64e200
now a fail/add cycle...
raid1: Disk failure on sda1, disabling device.
Operation continuing on 1 devices
raid1: made bitmap de64e200 at events 0:23e
md0: md_check_recovery 2: repair bit 0 on sb f7fbd380 preserved
md: trying to hot-add unknown-block(8,1) to md0 ...
md0: repair of faulty disk 800001!
md: trying to remove unknown-block(8,1) from md0 ...
md0: notifying dev 800001 it is no longer in array
md: unbind<sda1>
md: export_rdev(sda1)
md 1205: unlock_rdev nulls bdev
md: WARNING: delaying free of exported rdev de64e640
md 1197: lock_rdev restores bdev 800001
sda1 (read) [events: 0000023e]
md: old uuid 5dc1267b 788f7499 cd49d3c0 d06f0b96
md: new uuid 5dc1267b 788f7499 cd49d3c0 d06f0b96
md0: repairing old mirror component 800001 (disk 574 >= bitmap 556)
md: bind<sda1>
md0: notifying dev 800001 it is now in array
md0: set repair bit to 1 on superblock f7fbd380
md0: md_check_recovery 2: repair bit 100 on sb f7fbd380 preserved
raid1: testing p->rdev de64e640
raid1: testing p->rdev->bdev 00000000
raid1: late free of exported rdev de64e640
RAID1 conf printout:
--- wd:1 rd:2
disk 0, wo:1, o:1, dev:sda1
disk 1, wo:0, o:1, dev:sdb1
md: syncing RAID array md0 (sb f7fbd380)
md: minimum _guaranteed_ reconstruction speed: 10000000 KB/sec/disc.
md: using maximum available idle IO bandwith (but not more than 200000
KB/sec) for reconstruction.
md: using 128k window, over a total of 489856 blocks.
md0: repair bit set on sb so retained bitmap de64e200
raid1: skipped clean sectors 0-490751
raid1: synced dirty sectors 490752-491519
raid1: skipped clean sectors 491520-979711
md: md0: sync done.
The behavior is exactly the same as friday, bitmap seems to be still
remanent. But this was not the suject of this patch, i guess.