Re: latest 8.0-BETA2 lost my zfs

From: Thomas Backman <serenity_at_exscape.org>
Date: Tue, 18 Aug 2009 18:46:54 +0200
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
Received on Tue Aug 18 2009 - 14:47:54 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:54 UTC