From owner-freebsd-fs@FreeBSD.ORG Tue Feb 5 14:19:21 2008 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9347C16A41A for ; Tue, 5 Feb 2008 14:19:21 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (tim.des.no [194.63.250.121]) by mx1.freebsd.org (Postfix) with ESMTP id 4FFFC13C4EA for ; Tue, 5 Feb 2008 14:19:21 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (localhost [127.0.0.1]) by spam.des.no (Postfix) with ESMTP id 92816208E; Tue, 5 Feb 2008 15:19:12 +0100 (CET) X-Spam-Tests: AWL X-Spam-Learn: disabled X-Spam-Score: -0.3/3.0 X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on tim.des.no Received: from ds4.des.no (des.no [80.203.243.180]) by smtp.des.no (Postfix) with ESMTP id 782D62088; Tue, 5 Feb 2008 15:19:12 +0100 (CET) Received: by ds4.des.no (Postfix, from userid 1001) id 5F18D844A6; Tue, 5 Feb 2008 15:19:12 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Joe Peterson References: <47A73C8D.3000107@skyrush.com> <86prvby5o1.fsf@ds4.des.no> <47A864D9.4060504@skyrush.com> Date: Tue, 05 Feb 2008 15:19:12 +0100 In-Reply-To: <47A864D9.4060504@skyrush.com> (Joe Peterson's message of "Tue\, 05 Feb 2008 06\:30\:01 -0700") Message-ID: <864pcnxz8f.fsf@ds4.des.no> User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.1 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: freebsd-fs@freebsd.org Subject: Re: Forcing full file read in ZFS even when checksum error encountered X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Feb 2008 14:19:21 -0000 Joe Peterson writes: > Dag-Erling Sm=C3=B8rgrav writes: > > Joe Peterson writes: > > > When I try to copy the file, I get only 655360 bytes copied, and > > > then the copy stops. I assume this is because the next block is > > > where the error is. > > Try to lseek past it. > Well, I'd like to actually read the "bad" data too, so I can see if it is > really bad or if there is a metadata issue. Basically, I'd like to recov= er > all the file's bytes this once without having ZFS stop me due to the chec= ksum > failure, just for debugging purposes. Is this impossible in ZFS? There is now way to "read the bad data" since an unrecoverable checksum error means that ZFS has no idea which of the multiple version of the affected block is the right one. (I assume this was a raidz pool; if not, imagine Nelson Muntz from the Simpsons yelling "ha ha!" at you) My advice is to use 'dd conv=3Dnoerror' with a sufficiently small block size to recover what parts you can. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no