Skip site navigation (1)Skip section navigation (2)
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=C3=B8rgrav wrote:
>  =20
>> Joe Peterson <joe@skyrush.com> 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 <filesystem>

Tuning is achieved dynamically by using:

zfs set checksum=3Doff <filesystem>

And reverted:

zfs set checksum=3D'on | fletcher2 | fletcher4 | sha256' <filesystem>

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.












Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47A866D1.3040703>