Since there is a finite number of bit patterns per block, have you tried to
just calculate the SHA-256 or SHA-512 for every possible bit pattern to see if
there is ever a collision? If you found an algorithm that produced no
collisions for any possible block bit pattern, wouldn't that be the win?

## Advertising

Gregg Wonderly
On Jul 11, 2012, at 5:56 AM, Sašo Kiselkov wrote:
> On 07/11/2012 12:24 PM, Justin Stringfellow wrote:
>>> Suppose you find a weakness in a specific hash algorithm; you use this
>>> to create hash collisions and now imagined you store the hash collisions
>>> in a zfs dataset with dedup enabled using the same hash algorithm.....
>>
>> Sorry, but isn't this what dedup=verify solves? I don't see the problem
>> here. Maybe all that's needed is a comment in the manpage saying hash
>> algorithms aren't perfect.
>
> It does solve it, but at a cost to normal operation. Every write gets
> turned into a read. Assuming a big enough and reasonably busy dataset,
> this leads to tremendous write amplification.
>
> Cheers,
> --
> Saso
> _______________________________________________
> zfs-discuss mailing list
> zfs-discuss@opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss