Bugfixes
- A bug introduced by an optimization to skip hashing of large files if they already differ in the first 4 KiB could, under rare circumstances, lead to an unexpected "inode has no file" exception after the scanning phase. This bug did not cause any file system inconsistency issues;
mkdwarfseither crashes with the exception, or its output will be correct. Fixes github #217 (see also for more details).
Features
-
A sequential access detector was added to the block cache, which can trigger a prefetch of blocks assumed to be read in the future. This improves sequential read throughput roughly by a factor of two. Random access should typically be unaffected. Can be configured / disabled using
-o seq_detector. -
Added tracing support in FUSE driver and
dwarfsextract, which allows simple performance analysis using chrome://tracing. Traces can be enabled using-o perfmon_traceand--perfmon-trace. -
Added performance monitoring and tracing support for the block cache.
Performance
- Significantly improved the speed of
dwarfsck --checksum.