Date: Tue, 05 Feb 2008 08:38:25 -0500 From: Nick Gustas <freebsd-stable@tychl.net> To: Joe Peterson <joe@skyrush.com> Cc: freebsd-fs@freebsd.org Subject: Re: Forcing full file read in ZFS even when checksum error encountered Message-ID: <47A866D1.3040703@tychl.net> In-Reply-To: <47A864D9.4060504@skyrush.com> References: <47A73C8D.3000107@skyrush.com> <86prvby5o1.fsf@ds4.des.no> <47A864D9.4060504@skyrush.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Joe Peterson wrote: > Dag-Erling Smørgrav wrote: > >> Joe Peterson <joe@skyrush.com> 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 recover > all the file's bytes this once without having ZFS stop me due to the checksum > failure, just for debugging purposes. Is this impossible in ZFS? > > -Thanks, Joe > This may do what you want, but I'm not sure if this only disables creation of checksums, or it disables use of preexisting checksums entirely. The man page entry would suggest it disables them for reads too. If this is the case, it should do what you want. http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuning_Guide#Checksums Verify the type of checksum used: zfs get checksum <filesystem> Tuning is achieved dynamically by using: zfs set checksum=off <filesystem> And reverted: zfs set checksum='on | fletcher2 | fletcher4 | sha256' <filesystem> Fletcher2 checksum (the default) has been observed to consume roughly 1Ghz of a CPU when checksumming 500 MByte per second. Man page: checksum=on | off | fletcher2, | fletcher4 | sha256 Controls the checksum used to verify data integrity. The default value is "on", which automatically selects an appropriate algorithm (currently, fletcher2, but this may change in future releases). The value "off" disables integrity checking on user data. Disabling checksums is NOT a recommended practice.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47A866D1.3040703>
