Wednesday, January 30, 2008

NTFS-3G 1.2129

Time for a new release. Information on what's new in ntfs-3g can be found at the NTFS-3G release page.

There are a few changes specific to the OS X package:

  • More reliable probing due to the new ntfs-3g.probe utility, included in the main ntfs-3g source tree.

  • Graphical user feedback when a mount operation does not succeed through a Finder dialog box.

  • Ability to turn off the UBLIO caching layer for individual drives. This is done by creating a file called ".ntfs-noublio" in the directory ".NTFS-3G" at the root of the NTFS drive.

  • Errors are always logged to the log file (/var/log/ntfs-3g.log). Debug logging can be turned on as an additional option.

  • All "control files" (.ntfs-readonly, .ntfs-locale and .ntfs-noublio) have been consolidated to a new ".NTFS-3G" subdirectory under the root of the drive. If you depend on these control files, please move them manually to it's new location before installing this version of the package.


Download NTFS-3G 1.2129 [stable]
Download NTFS-3G 1.2129 [ublio]
(packaging by catacombae)
Requirements: Mac OS X 10.4/10.5, a PowerPC or Intel computer, MacFUSE 1.1 or later installed.
This package has been tested with OS X 10.4.11/Intel and OS X 10.5.1/Intel.

Sources:
ntfs-3g 1.2129 (patched)
ntfsprogs 1.13.1
fuse_wait.c

Saturday, November 24, 2007

NTFS-3G 1.1120

You can read about what's new in this release at the official NTFS-3G release page.
There's nothing new that's Mac-specific. The scripts and patches are pretty much the same as in the previous release.
The stable build is still the preferred download. The extra speed offered in the ublio build is suspected to come at a price of slight data corruption at times, but I can't confirm it as I can't reproduce it. There is a possibility that those reports may have had other causes like faulty hardware.

Download NTFS-3G 1.1120 [stable]
Download NTFS-3G 1.1120 [ublio]
(packaging by catacombae)
Requirements: Mac OS X 10.4/10.5, a PowerPC or Intel computer, MacFUSE 0.4.0 or 1.1 installed (MacFUSE 1.0.0 doesn't work well with this package... upgrade to 1.1).
This package has been tested with OS X 10.4.11/Intel and OS X 10.5.1/Intel.

If you're having problems with this package, please do the following before reporting it:
  • Check if the previous version of the package works better for you.

  • Check that the NTFS drive you're trying to mount has been cleanly unmounted in Windows, using "Safe remove hardware". If you just "pull the plug" the drive won't mount with NTFS-3G.

  • Check that the NTFS drive is error free, using chkdsk.

  • Collect system specifications, such as OS version, processor type (Intel/PowerPC), drive type (internal/USB/FireWire) etc. before submitting a problem report.
This information is essential to solve the problem. Just writing "It doesn't work, you suck." doesn't help a bit.

This build includes:
ntfs-3g 1.1120 (patched)
ntfsprogs 1.13.1

Monday, November 5, 2007

NTFS-3G 1.1104

Here comes the latest version of NTFS-3G for OS X.
This time I'm releasing two versions of the package: one "stable" build with no patches activated (except for some OS X specific ones), and one ublio build, which includes the ublio user space caching layer for performance enchancements.

The stable build is built only from code that have been tested extensively through the ntfs-3g testing process. The ublio build contains external code that offers performance enhancements, but that hasn't been put through the same extensive testing process, and thus is more likely to contain bugs.
When using the ublio build it is extremely important that you make sure that you unmount disks cleanly before removing them from the system.

Download NTFS-3G 1.1104 [stable]
Download NTFS-3G 1.1104 [ublio]
(packaging by catacombae)
Requirements: Mac OS X 10.4/10.5, a PowerPC or Intel computer, MacFUSE 0.4.0 or 1.1 installed (MacFUSE 1.0.0 doesn't work well with this package... upgrade to 1.1).

Other changes for this build:
  • Added an option to disable NTFS-3G through a script in the "Tools" directory, allowing you to switch between the internal NTFS driver and NTFS-3G.

  • Made the package more compatible with MacFUSE 1.0.0 and thus Leopard. Full compatibility can't be achieved due to an incompatibility issue between MacFUSE and NTFS-3G that I hope will be resolved in the next MacFUSE release.

This build includes:
ntfs-3g 1.1104 (patched)
ntfsprogs 1.13.1

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.

Monday, September 24, 2007

Troubleshooting / FAQ

Problem: My partition doesn't mount at all, even though it works in Windows!
Possible cause: Your partition wasn't cleanly unmounted in Windows, because you didn't use "Safely remove hardware" before unplugging your removable drive. Alternatively, you're trying to read a drive which has been left in a hibernated state (you put Windows in hibernation mode instead of doing a complete shut down).

Problem: My partition doesn't mount automatically!
Possible cause: Your partition is incorrectly marked as another file system in your partition table. This can happen if you use mkntfs on an existing partition without changing file system type in the partition table. To reformat other file systems as NTFS volumes in OS X, use the command line tool diskutil with the verb eraseVolume. The format argument will be NTFS-3G. See man diskutil for usage info.

Problem: Filenames with international characters are displayed incorrectly!
Possible cause: You haven't created the file ".ntfs-locale" in the root of the operating system, describing how to interpret international characters. This file is read by this package's mount utility script before mounting it to determine the correct parameters. If you type the command "locale -a" in the Terminal you will get a list of all locales available on your system. One of these should be typed into the .ntfs-locale file. (Note that the file will need to be called ".ntfs-locale" and NOT for example ".ntfs-locale.txt")

Problem: NTFS-3G is damn slow!
Possible cause: Is it really the connection to your drive that's slow? (For example a USB2 drive running in USB 1.1 mode...)
Anyway, NTFS-3G is currently noticeably slower compared to the kernel mode drivers that it competes with. I'm looking into adding some caching patches to speed things up.
I get around 10-15 MiB/s when copying files to and from my SATA drive. You shouldn't expect more than that at the moment.
Update: I can confirm that NTFS-3G is actually damn slow with USB2 drives. IDE/SATA drives work better, Firewire performance is unknown (if you have a FW drive, you could report your performance figures in the comments to this thread)...

Problem: NTFS-3G doesn't react properly to SIGTERM and thus slows down shutdown of the computer!
Possible cause: There is something that I don't understand with how NTFS-3G reacts in these situations. shadowofged, who provided the previous hazzle free package for NTFS-3G, solved the problem (or tried to... I'm not sure if it really worked on my computer) by installing a daemon listening to SIGTERM, and when activated automatically unmounted all MacFUSE file systems. This daemon isn't released as open source software, but I might rewrite it in the future as open source code, if the problem gets too annoying.

Question: How do I uninstall the previous NTFS-3G package (or whatever package...) that I have installed?
Solution: You probably don't even have to. The package is upgradable, so if you install the package over a previous version all of the old files that aren't being used by the new package are automatically removed. If you still need to remove some package from your system, you can fetch this universal package removal script, which lets you type the name of a package, and then reads the contents of the package receipt and removes all files associated with the package (including the receipt).
(Note that if you're trying to remove a previous package called "NTFS-3G", like an older version, the uninstall script packaged within the current NTFS-3G package will effectively remove the old package if you run it before you install the current one. So in that case there's no need for the universal script...)

[This post will be updated as new problems and solutions are collected.]

Friday, September 14, 2007

NTFS-3G 1.913 package for Mac OS X

A new revision of my package including the latest version of NTFS-3G.
This revision throws out shadowofged's binaries, which were probably not so legal to distribute anyway. I have written a replacement for shadowofged's fuse_wait utility, which is included in the package.

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

The source code for fuse_wait is here. It is distributed under the General Public License version 2.

Note: Even though the binaries are built as universal binaries ("fat" binaries), I have had no chance to test them out on a PowerPC machine, so I really don't know if it works or not. You try it...

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