On Wed 15 Feb 2012 at 14:49:14 +0100, Olaf Seibert wrote:
>         NAME                     STATE     READ WRITE CKSUM
>         tank                     FAULTED      0     0     2
>           raidz2-0               DEGRADED     0     0     8
>             da0                  ONLINE       0     0     0
>             da1                  ONLINE       0     0     0
>             da2                  ONLINE       0     0     0
>             da3                  ONLINE       0     0     0
>             3758301462980058947  UNAVAIL      0     0     0  was /dev/da4
>             da5                  ONLINE       0     0     0

Current status: I've been running "zdb -bcsvL -e -L -p /dev tank", which
magical command I found from
http://sigtar.com/2009/10/19/opensolaris-zfs-recovery-after-kernel-panic/.
I apparently had to export the tank first.

It has been running overnight now, and the only output so far was

fourquid.0:/tmp$ sudo zdb -bcsvL -e -L -p /dev tank

Traversing all blocks to verify checksums ...
zdb_blkptr_cb: Got error 122 reading <42, 0, 3, 0> DVA[0]=<0:508c6a90c00:3000> 
DVA[1]=<0:1813ba6c800:3000> [L3 DMU dnode] fletcher4 lzjb LE contiguous unique 
double size=4000L/1c00P birth=244334305L/244334305P fill=18480533 
cksum=2a43556fd2b:95a3245729a27:15e3e48f3c6a490e:70fa77061df61a76 -- skipping
zdb_blkptr_cb: Got error 122 reading <42, 0, 3, 3> DVA[0]=<0:508c6aa2000:3000> 
DVA[1]=<0:1813ba72800:3000> [L3 DMU dnode] fletcher4 lzjb LE contiguous unique 
double size=4000L/1e00P birth=244334321L/244334321P fill=16777409 
cksum=2ad6a555e8f:a1dcced71be6c:191abf84e5905b05:e8564e4004372491 -- skipping


with the "error 122" messages appearing after an hour or so.

Would these 2 errors be the "2" in the CKSUM column?

I haven't tried yet if this automagically has fixed / unlinked these
blocks, but if it didn't, how would I do that? How can I see whether
these blocks are "important", i.e. are required for access to much data?
Would running it on OpenIndiana or so instead of on FreeBSD make a
difference?

-Olaf.
-- 
Pipe rene = new PipePicture(); assert(Not rene.GetType().Equals(Pipe));
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to