Saturday, October 27, 2007

NTFS-3G 1.1004 with ublio patches

After a lot of testing and building I have now decided to release an experimental release of NTFS-3G for Mac OS X with caching support through the ublio user space caching layer. This will be especially relevant for people with USB2 external hard disks, where performance increases of about 1500% can be expected.

This package release can be labeled experimental, which means that it's not verified to be stable, and there may be issues remaining to be solved. If you want a stable release, fetch NTFS-3G 1.1004 Update 2.

Note that caching isn't enabled by default, but needs to be enabled by executing the script "Tools/Enable file system caching.command", which can be found in the disk image.

Before enabling caching, you have to be aware of a few things:
1. When using the caching layer, NOBODY SHOULD EVER REMOVE EXTERNAL DISKS IF NTFS-3G IS STILL RUNNING. You always have to eject the disk properly through the eject button in the Finder or through Disk Utility, or else you risk losing data. (This really applies to all cached file systems, so you should make this a common practice.)
2. Even though NTFS-3G is extremely well tested, the ublio patch is not included in this testing process. Thus you cannot expect the same quality, and even though I have tested the package and found no issues that can be effectively traced to ublio, you should be cautious in an environment with important data. The ublio patch is used frequently in FreeBSD with NTFS-3G.

Download NTFS-3G 1.1004 (Update 4, experimental) (package by catacombae)
Requirements: Mac OS X 10.4, a PowerPC or Intel computer, MacFUSE 0.4.0 installed (currently NOT WORKING with MacFUSE 1.0.0).

Summary of changes for NTFS-3G 1.1004 Update 3:
  • Dramatic performance enhancements by adding caching support through the ublio layer.
  • The ".ntfs-locale" trick should not be needed anymore for most people, as NTFS-3G now defaults to a reasonable locale (en_US.UTF-8).
  • Added scripts for disabling and enabling ublio caching and debug logging.

Summary of changes for NTFS-3G 1.1004 Update 4:
  • Disabled caching by default, so people can choose if they want it enabled or not.
  • Hopefully fixed a bug where some users got their mount points prepended by "-n".

Note: I really need your feedback for this version! If you install it and it doesn't work, don't hesitate to tell me about it by writing a comment or sending me an email (address can be found at my regular site). If it does work, I'd like to hear about that as well, especially if you're on a PowerPC Mac.

The ublio-patched source code for ntfs-3g 1.1004 is available here.
The source code for ntfsprogs 1.13.1 is available here.

Friday, October 5, 2007

NTFS-3G 1.1004 package for Mac OS X

That's right.. the package has been updated to NTFS-3G 1.1004. This version supposedly fixes an issue with file corruption when dealing with sparse files.
ntfsprogs 1.13.1 (from http://www.linux-ntfs.org) is also included. The package structure has been slightly altered so it will require a reboot after install.

Download NTFS-3G 1.1004 (Update 2) (package by catacombae)
Requirements: Mac OS X 10.4, a PowerPC or Intel computer, MacFUSE 0.4.0 (or later) installed.

Changes for Update 1: Changed ntfsprogs back to 1.13.1 from 2.0.0 because of lockup issues with unclean/hibernated NTFS file systems tracked to ntfsprogs.
Changes for Update 2: Bugfix for fuse_wait. It didn't return the proper exit code when the mount operation failed. This confused OS X, but it should be fixed now.

Note: I'm still unable to test the package on PowerPC systems, but it will probably work. Somebody intrested in donating old PPC hardware?

The source code for ntfs-3g 1.1004 is available here.
The source code for ntfsprogs 1.13.1 is available here.