Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 07 Sep 2011 19:35:09 +0300
From:      Andriy Gapon <avg@FreeBSD.org>
To:        freebsd-current@FreeBSD.org, freebsd-fs@FreeBSD.org
Cc:        Sebastian Chmielewski <chmiels@o2.pl>
Subject:   Re: ZFS: i/o error - all block copies unavailable after upgrading to r225312
Message-ID:  <4E679D3D.1000007@FreeBSD.org>
In-Reply-To: <4E60DBBD.1040703@FreeBSD.org>
References:  <20110901223646.14b8aae8@o2.pl> <4E60DBBD.1040703@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
on 02/09/2011 16:35 Andriy Gapon said the following:
> 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

Thanks to a lot of excellent testing, debugging and analysis from Sebastian (which
went behind the scenes) we now have this patch:
http://people.freebsd.org/~avg/zfs-boot-gang.diff

The patch introduces the following changes:
- checksum is now verified for gang header blocks
- checksum is now verified for reconstituted data of whole gang blocks
  (previously it is verified only for individual gang member leaf blocks)
- reconstituted data of a whole gang block is now decompressed if the gang block
is compressed

The last change is _the_ change.

If you use compression for a filesystem where your kernel resides and you get a
problem with booting, then please test this patch and report back.

Many thanks to Sebastian!
Additional heap of thanks to Doug Rabson who came up with the idea and
implementation of zfstest.c!  This tool is of the immense help when debugging an
issue like this one.

-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E679D3D.1000007>