Dear Sirs!

I have a question about this old discussion:

http://www.mail-archive.com/[email protected]/msg17960.html

And about the following answer:

> if you change lump.c to say
>
>       int verifywrites = 1;
>
> then venti will check every block as it is written to make
> sure there is no hash collision.  this is not the default (anymore).

Does this mean, that Plan9 by default supposes that A=B if hash(A)=hash(B)?

That this was not the default before, but it is now?

That I still have the possibility of a "full check" of A=B (and not supposing
it after checking hash(A)=hash(B)) by changing "int verifywrites = 1;" in 
"lump.c"?

I do not want to revive the discussion, because I have the feeling
that the discussion about the thema easily becomes very ideological. 
I had it just some time ago, here my last word:

http://thread.gmane.org/gmane.os.openbsd.misc/206951/focus=207340

In fact I feel bad declaring A=B when hash(A)=hash(B), but I know that
the probability of an error, at least by experience, is very small,
negligible (although I have scruples saying it). Just a bad feeling,
perhaps more against this kind of "probabilistic programming" than 
against the probability of error (that I do not exactly know).

My question is hence not about the theory behind, not about a justification
of the test with hash functions. I just want to know why the
default was changed, why originaly A=B was checked even if one was sure 
that the probability of error by only checking hash(A)=hash(B) is 
negligible, why the possibility of changing this default exists.

Rodrigo.

Reply via email to