From owner-freebsd-current@FreeBSD.ORG Wed Sep 7 16:35:13 2011 Return-Path: Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7CCF3106566C; Wed, 7 Sep 2011 16:35:13 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 498B78FC08; Wed, 7 Sep 2011 16:35:12 +0000 (UTC) Received: from odyssey.starpoint.kiev.ua (alpha-e.starpoint.kiev.ua [212.40.38.101]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id TAA18844; Wed, 07 Sep 2011 19:35:10 +0300 (EEST) (envelope-from avg@FreeBSD.org) Message-ID: <4E679D3D.1000007@FreeBSD.org> Date: Wed, 07 Sep 2011 19:35:09 +0300 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:5.0) Gecko/20110705 Thunderbird/5.0 MIME-Version: 1.0 To: freebsd-current@FreeBSD.org, freebsd-fs@FreeBSD.org References: <20110901223646.14b8aae8@o2.pl> <4E60DBBD.1040703@FreeBSD.org> In-Reply-To: <4E60DBBD.1040703@FreeBSD.org> X-Enigmail-Version: 1.2pre Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: Sebastian Chmielewski Subject: Re: ZFS: i/o error - all block copies unavailable after upgrading to r225312 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Sep 2011 16:35:13 -0000 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