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.
