drive failure during rebuild causes page fault

Søren Schmidt sos at DeepCore.dk
Wed May 18 23:21:23 PDT 2005


On 19/05/2005, at 2.20, Joe Rhett wrote:

> Soren, I've just retested all of this with 5.4-REL and most of the  
> problems
> listed here are solved.  The only problems appear to be related to  
> these
> ghost arrays that appear when it finds a drive that was taken offline
> earlier.  For example, pull a drive and then reboot the system.

This depends heavily on the metadata format used, some of them simply  
doesn't have the info to avoid this and some just ignores the problem.

> 1. If you reboot the system you can delete the array cleanly, but  
> it returns
> next time.  I can't figure out how to make this information go  
> away, and
> I've tried low-level formatting the disks :-(

You need to overwrite the metadata (se above) which are located in  
different places again depending on metadata format.

> 2. Removing the array using "atacontrol delete" after an  
> "atacontrol reinit
> channel" will always produce a page fault.  For example, if you  
> have only a
> single array in a system and you lose a drive, and then it returns  
> later..
>
>     # atacontrol status 1
>     atacontrol: ioctl(ATARAIDSTATUS): Device not configured
>     # atacontrol reinit 5
>         ...finds disk
>     # atacontrol status 1
>     ar1: ATA RAID1 subdisks: DOWN DOWN status: DEGRADED
>     # atacontrol delete 1
>         *Page Fault*
>
> We can't run -current, so I'm hoping to find options to work with  
> this as
> is.  If you know for a fact that this has changed in the mkIII  
> patches then
> I'd be willing to investigate, but I will need to be certain.

ATA mkIII is exactly about getting ata-raid rewritten from the old  
cruft that originally was written before even ATA-ng was done, so yes  
I'd expect it to behave better but not necessarily solve all your  
problems as some of them might be "features" of the metadata

> I know that you have no desire to work on this older code, but  
> could you at
> least clue me in on how to get atacontrol to drop these ghost arrays?

see above.

- Søren




More information about the freebsd-stable mailing list