- by Erik Larsson
We are proud to present the Tuxera NTFS for Mac 2009.10 release!
Changes since version “1.0-RC”:
- Preference pane internal classes were renamed to avoid a namespace collision with the NTFS-3G preference pane. If you had both NTFS-3G and Tuxera NTFS installed you could experience some strange behaviour in System Preferences.
- Version number scheme changed to year.month[.revision].
Tuxera NTFS for Mac licenses can be purchased from the Tuxera Online Shop. As a customer, you are entitled to free updates. Your product key will continue to function in updated versions of the driver.
We also have a dedicated customer support email address where you can reach us and get help with the product, or get feedback on any problems that you may have.
We were asked for a technical write-up regarding the changes that have been made to the NTFS driver for Tuxera NTFS for Mac, so I’m going to make an attempt to describe what we have done.
The most important issue that we identified when studying how to build a commercial grade product from the existing NTFS-3G for Mac OS X product was that performance still wasn’t optimal. This has been a problem for NTFS-3G from day one, caused by inefficient kernel/userspace interfaces to the raw disk devices provided by the Mac OS X kernel. Even after applying relevant patches to supply a caching layer between the disk device and the file system driver, we never fully reached the performance level that we would have desired.
Also, the existing caching layer (originally from the FreeBSD port of NTFS-3G) introduced a new problem: written data could stay in memory for long periods of time without being flushed to disk. This means that if the Mac would run out of battery, encounter a system crash, or if someone would disconnect an external drive without unmounting it first, then the latest changes to the data on the NTFS drive would not have reached the disk. The result in this situation is that people would lose the latest data that was written to the NTFS volume. Volume inconsistencies needing to be fixed with ‘chkdsk’ in Windows would also be very likely.
Essentially with NTFS-3G, people were forced to choose between better performance (caching on) and keeping the data safe in the event of a system crash (caching off).
We eventually decided to write a new caching layer from scratch, partially to be able to experiment with performance and to squeeze the best performance out of the disk, but also to be able to incorporate smart cache flushing to ensure that data doesn’t stay in memory longer than it absolutely needs to.
This proved to be very successful. With the new caching layer we have in many cases recorded performance comparable to and in some cases even better than the built in HFS+ driver.
Additional improvements have been made. Some examples:
- Implemented support for the Mac OS X “Locked’ and “Hidden” features for files, mapped to their NTFS equivalents (readonly, hidden). This can be used to make files immutable by “locking” them, just like on HFS+ volumes.
- Adaptive file ownership: The files on an NTFS volume always appear to be owned by the user currently accessing it.
- Support for putting files in the ‘Trash’ bin (in NTFS-3G, you could only delete them directly).
- Some bug fixes that will eventually appear in NTFS-3G as well, for instance: Firefox wouldn’t save files on an NTFS volume, International (non-ASCII) volume names led to an error when mounting…
We have also reconstructed the preference pane, added help content, and in many other ways made sure to iron out the small quirks and irregularities encountered in NTFS-3G, to make sure that we deliver a polished, tested and well-functioning product for the commercial market.