Skip to content

dwarfs-0.7.0-RC5

Pre-release
Pre-release
Compare
Choose a tag to compare
@mhx mhx released this 04 Jul 13:32
· 1822 commits to main since this release

Features

  • Windows support. All tools can now be built and run on Windows, including the FUSE driver, which makes use of WinFsp. Also fixes github #85.
  • Build a "universal" binary that combines mkdwarfs, dwarfsck, dwarfsextract and dwarfs in a single binary. This binary can be used either through symbolic links with the proper names of the tool, or by passing --tool=<name> as the first argument on the command line.
  • Bypass the block cache for uncompressed blocks. This saves copying block data to memory unnecessarily and allows us to keep all uncompressed blocks accessible directly through the memory mapping. Partially addresses github #139.
  • Show throughput in the scanning and segmenting phases in mkdwarfs.
  • Show how much of a file has been consumed in the segmenting phase. Useful primarily for large files.
  • dwarfs and dwarfsextract now have options to enable performance monitoring. This can give insight into the latency of various file system operations.
  • Added inode offset cache, which improves read() latency for very fragmented files.

Bugfixes

  • Use folly::hardware_concurrency(). Fixes github #130.
  • Handle ARCHIVE_FAILED status from libarchive, which could be triggered by trying to write long path names to old archive formats.
  • Properly handle unicode path truncation.

Documentation

  • Update file system format documentation to cover headers and section indices.

Testing

  • Lots of new tools tests.
  • Remove dependency on tar and diff binaries.

Other

  • Switch to C++20.