Can anyone say what the status of CR 6880994 (kernel/zfs Checksum failures on
mirrored drives) might be?

Setting copies=2 has mitigated the problem, which manifests itself consistently 
at
boot by flagging libdlpi.so.1, but two recent power cycles in a row with no 
normal
shutdown has resulted in a "permanent error" even with copies=2 on all of the 
root
pool (and specifically having duplicated /lib to make sure there are 2 copies).

How can it even be remotely possible to get a checksum failure on mirrored 
drives
with copies=2? That means all four copies were corrupted? Admittedly this is
on a grotty PC with no ECC and flaky bus parity, but how come the same file 
always
gets flagged as being clobbered (even though apparently it isn't).

The oddest part is that libdlpi.so.1 doesn't actually seem to be corrupted. nm 
lists
it with no problem and you can copy it to /tmp, rename it, and then copy it 
back.
objdump and readelf can all process this library with no problem. But "pkg fix"
flags an error in it's own inscrutable way. CCing pkg-discuss in case a pkg guru
can shed any light on what the output of "pkg fix" (below) means. Presumably 
libc
is OK, or it wouldn't boot :-).

This with b125 on X86.

# zpool status -v
  pool: rpool
 state: ONLINE
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
        entire pool from backup.
   see: http://www.sun.com/msg/ZFS-8000-8A
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        rpool       ONLINE       0     0     0
          mirror-0  ONLINE       0     0     2
            c3d1s0  ONLINE       0     0     2
            c3d0s0  ONLINE       0     0     2

errors: Permanent errors have been detected in the following files:

        //lib/libdlpi.so.1

# pkg fix  SUNWcsl
Verifying: pkg://opensolarisdev/SUNWcsl                         ERROR
        file: lib/libc.so.1
                Elfhash: cbb55a2ea24db9e03d9cd08c25b20406896c2fef should be 
0e73a56d6ea0753f3721988ccbd716e370e57c4e
Created ZFS snapshot: 2010-03-13-23:39:17         ..... ||
Repairing: pkg://opensolarisdev/SUNWcsl
pkg: Requested "fix" operation would affect files that cannot be modified in 
live image.
Please retry this operation on an alternate boot environment

# nm /lib/libdlpi.so.1
00015562 b Bbss.bss
00015562 b Bbss.bss
00015240 d Ddata.data
00015240 d Ddata.data
000152f8 d Dpicdata.picdata
00003ca8 r Drodata.rodata
00003ca0 r Drodata.rodata
00000000 A SUNW_1.1
00000000 A SUNWprivate
000150ac D _DYNAMIC
00015562 b _END_
00015000 D _GLOBAL_OFFSET_TABLE_
000016c0 T _PROCEDURE_LINKAGE_TABLE_
00000000 r _START_
         U ___errno
         U __ctype
         U __div64
00015562 D _edata
00015562 B _end
000043d7 R _etext
00003c84 t _fini
         U _fxstat
00003c68 t _init
00003ca0 r _lib_version
         U _lxstat
         U _xmknod
         U _xstat
         U abs
         U calloc
         U close
         U closedir
         U dgettext
         U dladm_close
         U dladm_dev2linkid
         U dladm_open
         U dladm_parselink
         U dladm_phys_info
         U dladm_walk
00002d5c T dlpi_arptype
0000222c T dlpi_bind
00001d6c T dlpi_close
000024d0 T dlpi_disabmulti
00002c78 T dlpi_disabnotify
000024b0 T dlpi_enabmulti
00002af4 T dlpi_enabnotify
00015288 d dlpi_errlist
00002ce4 T dlpi_fd
000025b8 T dlpi_get_physaddr
00002e50 T dlpi_iftype
00001dc8 T dlpi_info
00002d2c T dlpi_linkname
000039a8 T dlpi_mactype
000152f8 d dlpi_mactypes
000021a0 T dlpi_makelink
00001b00 T dlpi_open
00002158 T dlpi_parselink
00003ca8 r dlpi_primsizes
00002598 T dlpi_promiscoff
00002578 T dlpi_promiscon
000028fc T dlpi_recv
000027a4 T dlpi_send
000026d4 T dlpi_set_physaddr
00002d04 T dlpi_set_timeout
00003908 T dlpi_strerror
00002d48 T dlpi_style
00002384 T dlpi_unbind
00001a20 T dlpi_walk
         U free
00001998 t fstat
         U getenv
         U gethrtime
         U getmsg
000032fc t i_dlpi_attach
00003a28 t i_dlpi_buildsap
000032ac t i_dlpi_checkstyle
00003bfc t i_dlpi_deletenotifyid
000039e8 t i_dlpi_getprimsize
00003868 t i_dlpi_msg_common
000023f4 t i_dlpi_multi
00003bd4 t i_dlpi_notifyidexists
00003ac8 t i_dlpi_notifyind_process
00002f28 t i_dlpi_open
00003384 t i_dlpi_passive
000024e8 t i_dlpi_promisc
00003460 t i_dlpi_strgetmsg
000033e4 t i_dlpi_strputmsg
0000316c t i_dlpi_style1_open
000031f0 t i_dlpi_style2_open
000019f0 t i_dlpi_walk_link
00003a9c t i_dlpi_writesap
         U ifparse_ifspec
         U ioctl
00015240 d libdlpi_errlist
0000196c t lstat
         U memcpy
         U memset
000019c4 t mknod
         U open
         U opendir
         U poll
         U putmsg
         U readdir
         U snprintf
00001940 t stat
         U strchr
         U strerror
         U strlcpy
         U strlen
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to