> From: Brandon High [mailto:bh...@freaks.com]
> Sent: Thursday, April 28, 2011 5:33 PM
> 
> On Wed, Apr 27, 2011 at 9:26 PM, Edward Ned Harvey
> <opensolarisisdeadlongliveopensola...@nedharvey.com> wrote:
> > Correct me if I'm wrong, but the dedup sha256 checksum happens in
> addition
> > to (not instead of) the fletcher2 integrity checksum.  So after bootup,
> 
> My understanding is that enabling dedup forces sha256.
> 
> "The default checksum used for deduplication is sha256 (subject to
> change). When dedup is enabled, the dedup checksum algorithm overrides
> the checksum property."

Interesting.  So it would seem, that the DDT probably does get populated
into ARC, simply by having read something from disk.  That was one important
consequence in discussion ...   (DDT does not only get populated into ARC
during writes.)  PS. I'm only drawing conclusions here, so please tell me
I'm wrong if I'm wrong somehow.

The other important consequence, not yet answered:

When a block is scheduled to be written, system performs checksum, and looks
for a matching entry in DDT in ARC/L2ARC.  In the event of an ARC/L2ARC
cache miss for a DDT entry which actually exists, the system will need to
perform a number of small disk reads in order to fetch the DDT entry from
disk.  Correct?  I figure at least one, probably more than one, read to
locate the entry on disk, and then another read to actually read the entry.
After this, the system knows there is a checksum match between the block
waiting to be written, and another block that's already on disk, and it
could possibly have to do yet another read for verification, before it is
able to finally do the write.  Right?

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to