latest 8.0-BETA2 lost my zfs
Danny Braniss
danny at cs.huji.ac.il
Wed Aug 19 09:08:05 UTC 2009
> On Aug 18, 2009, at 16:42, Danny Braniss wrote:
>
> >> it seems that the latest changes to zfs prevents zpool to see/find
> >> the pool in /dev/ad0p4 (BTW, the pool was created under 8.0)
> >>
> >> # gpart show
> >> => 34 1953525101 ad0 GPT (932G)
> >> 34 128 1 freebsd-boot (64K)
> >> 162 4194304 2 freebsd-ufs (2.0G)
> >> 4194466 8388608 3 freebsd-swap (4.0G)
> >> 12583074 1940942061 4 freebsd-zfs (926G)
> >>
> >> # zpool list
> >> no pools available
> >> # zpool import -a
> >> #
> >>
> >> under 7.2, the pool is still there:
> >>
> >> pundit-2> zfs list
> >> NAME USED AVAIL REFER MOUNTPOINT
> >> z 5.27G 900G 18K /z
> >> z/home 5.21G 900G 5.21G /home
> >> z/var 59.7M 900G 59.7M /var
> >> pundit-2> zpool list
> >> NAME SIZE USED AVAIL CAP HEALTH ALTROOT
> >> z 920G 5.27G 915G 0% ONLINE -
> >
> > running 'truss zpool import -a' reveals the problem:
> >
> > open("ad0p4",O_RDONLY,00) ERR#2 'No such file
> > or directory'
> > open("/dev/ad0p4",O_RDONLY,05003312752) = 5 (0x5)
> > ioctl(5,DIOCGSECTORSIZE,0xbfbfa1f4) = 0 (0x0)
> > fstat(5,{ mode=crw-r----- ,inode=75,size=0,blksize=4096 }) = 0 (0x0)
> > pread(0x5,0x2834a000,0x40000,0x0,0x0,0x805ab64) = 262144 (0x40000)
> > pread(0x5,0x2834a000,0x40000,0x40000,0x0,0x1bfd8) = 262144 (0x40000)
> > pread(0x5,0x2834a000,0x40000,0xfff80000,0xffffffff,0x1bfd8) ERR#5
> > 'Input/output error'
> > ********** offset is a bit too big :-)
> > pread(0x5,0x2834a000,0x40000,0xfffc0000,0xffffffff,0x1bfd8) ERR#5
> > 'Input/output error'
>
> Glad I'm not the only one. I reported the same issue yesterday, in a
> thread originally about something else zfs related (zfs send sends a
> broken stream, or recv considers it broken despite it being fine; I
> don't know which one it is): http://lists.freebsd.org/pipermail/freebsd-current/2009-August/010709.html
>
> FWIW, my truss output (ggate142 is the ZFS pool device I *just*
> created and then exported, and ad2s1b is my swap/dump device):
> (from "truss -o outfile zpool import")
> [...]
> open("ad2s1b",O_RDONLY,00) ERR#2 'No such file
> or directory'
> open("/dev/ad2s1b",O_RDONLY,00) = 7 (0x7)
> ioctl(7,DIOCGSECTORSIZE,0xffff9fc4) = 0 (0x0)
> fstat(7,{ mode=crw-r----- ,inode=79,size=0,blksize=4096 }) = 0 (0x0)
> pread(0x7,0x80128c000,0x40000,0x0,0x34004,0x801201340) = 262144
> (0x40000)
> pread(0x7,0x80128c000,0x40000,0x40000,0x1,0x801201340) = 262144
> (0x40000)
> pread(0x7,0x80128c000,0x40000,0xfffffffffff80000,0x1,0x801201340)
> ERR#5 'Input/output error'
> pread(0x7,0x80128c000,0x40000,0xfffffffffffc0000,0x1,0x801201340)
> ERR#5 'Input/output error'
> close(7) = 0 (0x0)
> open("ggate142",O_RDONLY,00) ERR#2 'No such file
> or directory'
> open("/dev/ggate142",O_RDONLY,00) = 7 (0x7)
> ioctl(7,DIOCGSECTORSIZE,0xffff9fc4) = 0 (0x0)
> fstat(7,{ mode=crw-r----- ,inode=93,size=0,blksize=4096 }) = 0 (0x0)
> pread(0x7,0x80128c000,0x40000,0x0,0x34004,0x801201340) = 262144
> (0x40000)
> pread(0x7,0x80128c000,0x40000,0x40000,0x1,0x801201340) = 262144
> (0x40000)
> pread(0x7,0x80128c000,0x40000,0xfffffffffff80000,0x1,0x801201340)
> ERR#5 'Input/output error'
> pread(0x7,0x80128c000,0x40000,0xfffffffffffc0000,0x1,0x801201340)
> ERR#5 'Input/output error'
> close(7) = 0 (0x0)
> close(4) = 0 (0x0)
> close(5) = 0 (0x0)
> close(6) = 0 (0x0)
> ...
> sigprocmask(...)
> process exit, rval = 1
>
> Regards,
> Thomas
the plot thickens, compiling cddl/lib/libnvpair under 8-BETA2 works ok,
so it seems that cross compiling (using a 7.2 system) causes the problem, it
seems it's picking something from the local environment.
any make expert in the house?
danny
More information about the freebsd-current
mailing list