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