Panic on 7.4-RELEASE-p5

Gary Palmer gpalmer at freebsd.org
Mon Jan 30 01:41:52 UTC 2012


On Fri, Jan 27, 2012 at 01:29:23PM +0100, Peter Maloney wrote:
> On 01/27/2012 04:43 AM, Gary Palmer wrote:
> >
> >   After scanning selected spans, do NOT read-scan remainder of disk.
> > If Selective self-test is pending on power-up, resume after 0 minute delay.
> >
> > I noticed a while ago that there were some "bad" sectors on the disk, and
> > at the time they were under the swap partition if my math was correct,
> > and the box never swaps so it wasn't a problem.  I don't know if
> > the errors above are the same ones I saw earlier or not.
> >
> > There were no read or write errors on the console prior to the panic
> > earlier today.  In fact the previos output on the console relates to
> > the last reboot for a software upgrade (fixing some packages) 11
> > days prior.  The only thing in logs going back to November relating
> > to ad1 are boot messages.
> >
> > Thanks,
> >
> > Gary
> >
> 
> Unmount your swap, and then write zeros to it to relocate the bad sectors.
> 
> in one shell:
> gstat -I 100ms -f da#p#
> 
> in another:
> swapoff /dev/da#p#
> sysctl kern.geom.debugflags=0x10
> dd if=/dev/zero of=/dev/da#p# bs=1M
> (eventually it stops saying end of device or no space left; at this
> point I am not sure if you should then continue writing where it stopped
> in 512 byte blocks, or if it wrote a partial 1M in the last 1M)
> 
> Watch first shell. If the speed goes up, settles at a certain number,
> then wildly goes down low and back up to that number, it is possibly
> working.
> 
> Then repeat. If the same wild fluctuations happen, then the drive didn't
> relocate enough, because it is trying to keep some semi-bad ones, or
> they are only bad when reading. If it is just settling at a speed and
> staying there, then it is probably successful. I don't know how reliable
> it is. I have found it to be 100% reliable in my testing though. But
> some/most disks lie to you on the "relocated sector count".
> 
> And then remount the swap and change that kernel parameter back.
> sysctl kern.geom.debugflags=0
> swapon /dev/da#p#
> 
> 
> Your relocated sector count:
> 
>   5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       0
> 
> 
> 
> However, this does not fix your disk. eg. If you have heads grinding the
> platter, you have dust flying around, and your disk will get worse.
> 
> Be VERY careful using dd to write directly to disks. If you use the
> wrong slice, or you use the main device without slices and miscalculate,
> bad things happen. This is why that kernel parameter was set to stop you.

Hi Peter,

I did things a little differently.  When I checked swapinfo, apparently I
set the swap partition up just purely to act as a dump device - it wasn't
used as swap.  So I tested it:

# recoverdisk /dev/ad1s1b /dev/ad1s1b
        start    size     block-len state          done     remaining    % done
    628097024 1040384       1040384     0     629137408             0 100.00000
Completed

smartctl still reports:

  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       0

I then did a read test across the whole disk with no errors

# recoverdisk /dev/ad1 /dev/null
        start    size     block-len state          done     remaining    % done
 120033640448  483328        483328     0  120034123776             0 100.00000
Completed

Reallocated_Sector_Ct is still the same

I dunno where the problems are/were, but apparently I cannot hit them now
through just reading the disk or writing to swap.

Thanks,

Gary


More information about the freebsd-stable mailing list