Date: Fri, 02 Sep 2011 16:35:57 +0300 From: Andriy Gapon <avg@FreeBSD.org> To: Sebastian Chmielewski <chmiels@o2.pl> Cc: freebsd-current@FreeBSD.org Subject: Re: ZFS: i/o error - all block copies unavailable after upgrading to r225312 Message-ID: <4E60DBBD.1040703@FreeBSD.org> In-Reply-To: <20110901223646.14b8aae8@o2.pl> References: <20110901223646.14b8aae8@o2.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
on 01/09/2011 23:36 Sebastian Chmielewski said the following: > > hi, > I'm running FreeBSD-CURRENT r224522M installed on ZFS Root and GPT > partitions and this setup is running fine. Today I've updated to r225312 and > after rebooting I've got following error message from boot loader: > > ZFS: i/o error - all block copies unavailable > > Then I did "zfs rollback" using rescue disk to previous revision and I was able to > boot. > Steps I did to update system: > > zfs snapshot > make buildworld > make buildkernel > make installkernel > reboot > can't boot > zfs rollback using rescue disk > boot to previous revision (r224522M). > > Are there any more steps required for this procedure to work? > My previous updates from source on the same setup where successfull, this is > the first time I've encountered this error message when upgrading from source. Could you please try the following? Repeat your upgrade procedure up to reboot. Take all the necessary precautions, so that you can recover your system again! Then: - obtain this patch http://people.freebsd.org/~avg/zfstest.head.diff - cd sys/boot/zfs - apply the patch to zfstest.c - cc -I. -I../../cddl/boot/zfs zfstest.c -o zfstest - run the resulting binary as root and provide your pool device(s) as parameter(s); e.g.: ./zfstest /dev/ada0p4 If the program produces text of FreeBSD COPYRIGHT file as its output, then the ZFS boot code can access your pool. If the program works OK, but booting still fails it may mean that you have stale boot blocks which you need to update before rebooting. Either installworld should do that or you can do make install in sys/boot directory. Also you might need to update your freebsd-boot partition with gpart command. If the program fails, then please share its output and also try to analyze where it fails by looking at the code and adding prints at the suspicious/crucial points. > My setup: > gpart show > => 34 250069613 ada0 GPT (119G) > 34 128 1 freebsd-boot (64k) > 162 1886 5 bios-boot (943k) > 2048 16777216 2 !0fc63daf-8483-4772-8e79-3d69d8477de4 (8.0G) > 16779264 33554432 3 freebsd-ufs (16G) > 50333696 199735951 4 freebsd-zfs (95G) > > Partitions 3 and 4 are separate zfs pools (3 is geli encrypted and 4 is for > operating system). > > zfs list > NAME USED AVAIL REFER MOUNTPOINT > home 10,4G 5,24G 10,4G /home > zroot 90,2G 3,27G 1,16G legacy > > /etc/fstab > # Device Mountpoint FStype Options Dump Pass# > zroot / zfs rw,noatime 0 0 > /dev/acd0 /cdrom cd9660 ro,noauto 0 0 > proc /proc procfs rw 0 0 -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E60DBBD.1040703>