Log Message: |
Verify low-level checksums on FSFS parts that aren't checksummed otherwise.
Since representations (dir, file, prop) do get checksumed when being
reconstructed from deltas or read plainly, we only need to check noderevs
and changed paths lists. Also, we restrict the check to block-read mode
because only then do we get the P2L data containing the checksums for free.
Low memory, "just like f6" setups neither get the overhead nor the benefits
of this.
* subversion/libsvn_fs_fs/cached_data.c
(auto_select_stream): Drop and introduce ...
(read_item): ... instead. It will read and verify the complete item.
(block_read_changes,
block_read_noderev): Update callers.
* subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c
(metadata_checksumming): New test case showing how low-level checksums
will catch otherwise undetected corruption.
(test_funcs): Register the new test.
Suggested by: zhakov
|