I'm having trouble booting with one of my zpools. It looks like this:
pool: tank
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1 ONLINE 0 0 0
c4d0 ONLINE 0 0 0
c4d1 ONLINE 0 0 0
c5d0 ONLINE 0 0 0
c5d1 ONLINE 0 0 0
logs
c11d0 ONLINE 0 0 0
I'm running OpenSolaris 2009.06 updated to build 118.
Basically the system won't boot until I boot with a CD, zpool import -f the
pool and then zpool export it. Even that doesn't really work. When I do the
zpool import -f from the CD, the command runs forever (well, I let it run for
a good hour or so before I stopped it). The command seems to be running in a
loop. If I truss the process I see the following:
door_call(6, 0x0803D390) = 0
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
close(6) = 0
resolvepath("/", "/", 1024) = 1
resolvepath("/", "/", 1024) = 1
open("/etc/dev/.devlink_db", O_RDONLY) = 6
fxstat(2, 6, 0x0803D870) = 0
mmap(0x00000000, 40, PROT_READ, MAP_SHARED, 6, 0) = 0xFE950000
mmap(0x00000000, 81920, PROT_READ, MAP_SHARED, 6, 45056) = 0xFE93B000
munmap(0xFE93B000, 81920) = 0
munmap(0xFE950000, 40) = 0
close(6) = 0
ioctl(3, ZFS_IOC_SNAPSHOT_LIST_NEXT, 0x0803EEF0) = 0
ioctl(3, ZFS_IOC_CREATE_MINOR, 0x0803D9B0) = 0
getppriv(PRIV_EFFECTIVE, {ffffffffffffffffffffffff}) = 0
open("/etc/devname_check_RDONLY", O_WRONLY|O_CREAT|O_TRUNC, 0644) = 6
close(6) = 0
unlink("/etc/devname_check_RDONLY") = 0
xstat(2, "//etc/dev/.devfsadm_synch_door", 0x0803CF00) = 0
open("//etc/dev/.devfsadm_synch_door", O_RDONLY) = 6
lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF]
door_call(6, 0x0803D390) = 0
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
close(6) = 0
resolvepath("/", "/", 1024) = 1
resolvepath("/", "/", 1024) = 1
open("/etc/dev/.devlink_db", O_RDONLY) = 6
fxstat(2, 6, 0x0803D870) = 0
mmap(0x00000000, 40, PROT_READ, MAP_SHARED, 6, 0) = 0xFE950000
mmap(0x00000000, 81920, PROT_READ, MAP_SHARED, 6, 45056) = 0xFE93B000
munmap(0xFE93B000, 81920) = 0
munmap(0xFE950000, 40) = 0
close(6) = 0
ioctl(3, ZFS_IOC_SNAPSHOT_LIST_NEXT, 0x0803EEF0) = 0
ioctl(3, ZFS_IOC_CREATE_MINOR, 0x0803D9B0) = 0
getppriv(PRIV_EFFECTIVE, {ffffffffffffffffffffffff}) = 0
open("/etc/devname_check_RDONLY", O_WRONLY|O_CREAT|O_TRUNC, 0644) = 6
close(6) = 0
unlink("/etc/devname_check_RDONLY") = 0
xstat(2, "//etc/dev/.devfsadm_synch_door", 0x0803CF00) = 0
open("//etc/dev/.devfsadm_synch_door", O_RDONLY) = 6
lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF]
door_call(6, 0x0803D390) = 0
This sequence is repeated over and over. I realize now that I should have
done a pfiles on the process to figure out what the file descriptors were
mapping to. I can do that if it will help diagnose this.
If I kill the zpool import at this point, all of my filesystems are there and
mounted and everything seems to be fine. I'm going to scrub the pool over
night tonight, but I'd appreciate any suggestions as to how to fix this
problem in the future.
Steve Green
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss