-----BEGIN PGP SIGNED MESSAGE-----
Hi folks,
I have good news and bad news. The bad news is that I recently learned of a number of problems in hfsutils, but the good news is that I have made a new release, 3.2.6, to correct them.
This version fixes the following significant problems since 3.2.2:
* A problem was fixed in the B*-tree node splitting code which could have caused the libhfs routines to crash under some rare circumstances. [Thanks to John Witford for discovering this.]
* A problem was fixed with the handling of catalog and extents clump sizes on large volumes which, while not a serious problem, was resulting in what was perceived as B*-tree corruption. (This was first fixed in 1.15b but was re-introduced in 3.0b1, alas.) [Thanks to Steve Revilak for helping to isolate this.]
* A problem was fixed where volumes were not being marked "cleanly unmounted," causing them to undergo a scavenging operation whenever the volume was opened again either with hfsutils or on a real Macintosh. This accounts for some of the "slow operation" some people have reported.
There are a number of smaller changes as well, including:
* Better Tcl/Tk configuration discovery.
* Changes to the OS I/O API to use 512-byte blocks rather than individual bytes.
* A number of const/signed/unsigned improvements for the compiler.
* A few scavenging fixes and improvements.
* API changes to hfs_mount() and hfs_format() to support several new options, including HFS_OPT_NOCACHE (to prevent libhfs from using its internal block cache), HFS_OPT_ZERO (to force newly allocated blocks to be zero-initialized before use), and HFS_OPT_2048 (to force 2048-byte physical-block file boundaries, compatible with hybrid ISO 9660 schemes.)
The new release can be obtained from:
ftp://ftp.mars.org/pub/hfs/
As always, the hfsutils home page is:
http://www.mars.org/home/rob/proj/hfs/
Cheers,
- -- Robert Leslie rob@mars.org