From owner-freebsd-fs@FreeBSD.ORG Tue Feb 5 13:38:28 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 919E316A421 for ; Tue, 5 Feb 2008 13:38:28 +0000 (UTC) (envelope-from freebsd-stable@tychl.net) Received: from mail.tychl.net (masq.tychl.net [IPv6:2001:470:1f01:716::1]) by mx1.freebsd.org (Postfix) with ESMTP id 687D213C4CC for ; Tue, 5 Feb 2008 13:38:28 +0000 (UTC) (envelope-from freebsd-stable@tychl.net) Received: from localhost (localhost [127.0.0.1]) by mail.tychl.net (Postfix) with ESMTP id BC3531CB4C; Tue, 5 Feb 2008 08:38:27 -0500 (EST) X-Virus-Scanned: amavisd-new at tychl.net Received: from mail.tychl.net ([192.168.0.2]) by localhost (masq.tychl.net [127.0.0.1]) (amavisd-new, port 10024) with SMTP id lESaR6pb77Qf; Tue, 5 Feb 2008 08:38:25 -0500 (EST) Received: from [127.0.0.1] (unknown [172.16.1.94]) by mail.tychl.net (Postfix) with ESMTP id 9662A1CB48; Tue, 5 Feb 2008 08:38:25 -0500 (EST) Message-ID: <47A866D1.3040703@tychl.net> Date: Tue, 05 Feb 2008 08:38:25 -0500 From: Nick Gustas User-Agent: Thunderbird 2.0.0.9 (Windows/20071031) MIME-Version: 1.0 To: Joe Peterson References: <47A73C8D.3000107@skyrush.com> <86prvby5o1.fsf@ds4.des.no> <47A864D9.4060504@skyrush.com> In-Reply-To: <47A864D9.4060504@skyrush.com> Content-Type: text/plain; charset=UTF-8; format=flowed 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 13:38:28 -0000 Joe Peterson wrote: > Dag-Erling Sm=C3=B8rgrav wrote: > =20 >> Joe Peterson writes: >> =20 >>> 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= . >>> =20 >> Try to lseek past it. >> =20 > > 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 rec= over > all the file's bytes this once without having ZFS stop me due to the ch= ecksum > failure, just for debugging purposes. Is this impossible in ZFS? > > -Thanks, Joe > =20 This may do what you want, but I'm not sure if this only disables=20 creation of checksums, or it disables use of preexisting checksums=20 entirely. The man page entry would suggest it disables them for reads=20 too. If this is the case, it should do what you want. http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuning_Guide#Chec= ksums Verify the type of checksum used: zfs get checksum Tuning is achieved dynamically by using: zfs set checksum=3Doff And reverted: zfs set checksum=3D'on | fletcher2 | fletcher4 | sha256' Fletcher2 checksum (the default) has been observed to consume roughly=20 1Ghz of a CPU when checksumming 500 MByte per second. Man page: checksum=3Don | off | fletcher2, | fletcher4 | sha256 Controls the checksum used to verify data integrity. The=20 default value is "on", which automatically selects an appropriate=20 algorithm (currently, fletcher2, but this may change in future=20 releases). The value "off" disables integrity checking on user data. =20 Disabling checksums is NOT a recommended practice.