Saturday, February 14, 2009

NTFS-3G 2009.2.1 Update 1

What's new:
  • All in the official release notes.

  • A dialog now exists for when the user tries to mount uncleanly unmounted or hibernated volumes, allowing the user to choose to force a mount without resorting to using the Terminal.
    [screenshot 1] [screenshot 2]

  • ntfs-3g now locks (advisory) the device that it mounts with flock to decrease the probability of two processes concurrently trying to mount it.

  • NTFS-3G.prefPane is now at version 0.9.7. (No big changes)

  • [Update 1] Bugfix: Unmounting ejectable NTFS drives through Finder failed because Mac OS X claimed they were still in use.

  • [Update 1] Improvement: When locking devices, the corresponding alternate device is now also locked (i.e. when a /dev/disk device is mounted and locked, its /dev/rdisk device is locked as well, and vice versa).

  • [Update 1] ublio build: Performance tuning should boost performance for most users. Feedback is much appreciated.
Download:System requirements:
  • Mac OS X 10.4/10.5, running on an Intel or PowerPC computer.
  • MacFUSE 2.0.2/2.0.3 or later installed.
The package has been tested with Mac OS X 10.4.11/Intel and Mac OS X 10.5.6/Intel.

Information on how to install and use NTFS-3G for Mac OS X can be found in the User Guide.
If you are having problems with NTFS-3G, write a post about it in the NTFS-3G Forum (or post a question as a blog comment if you're just unsure of how things work).

Packaging, patching, Mac OS X-related development and testing is done in the context of my development efforts with the Catacombae projects.

Known issues:
  • After installing ntfs-3g, all NTFS drives will disappear from the "Startup Disk" preference pane. Disabling or uninstalling ntfs-3g brings them back. It seems that this issue can't be solved, but only worked around since the Startup Disk preference pane doesn't recognize file system drivers that are not provided by Apple.
    Possible workarounds:
    • Holding down the Option key during boot (or Alt for non-Apple keyboards).

    • Intel users only: Install the rEFIt boot manager for better control of the boot process.

    • Using the command line utility bless (see man bless for more information)
Sources:
ntfs-3g 2009.2.1 (patched, update 1)
ntfsprogs 1.13.1
NTFS-3G prefpane 0.9.7
fuse_wait.c
ntfs-3g_daemon.c
ntfs-3g_confirm_mount.c

36 comments:

Anonymous said...

From 2009.1.1 and later NTFS 3G no longer works with Chronosync. Tried both ublio and stable. Not sure if it's the driver or the application that is causing the issue. I've also alerted the Chronosync people.

Anonymous said...

Hi thanks for the update,
for me the performance boost was great! I now have stable 20MB/s write access to my external NTFS drive.
Much better then before:-)

Erik said...

Anonymous, February 14, 2009 11:06 PM:

Great to hear! :)

Erik said...

Bill:

I have never used Chronosync... but since NTFS-3G works with pretty much all other file system utilities, I would think the bug is within Chronosync.

Are you using international file names with accents, umlauts or korean character by the way? The changed handling of those filenames was a big change for 2009.1.1.

Anonymous said...

No international file names. I tried with caching and file name normalization off and still errors. Thanks for your help.

Erik said...

Bill:

What kind of errors are reported?
Another change for 2009.1.1 was that creation time for file system objects was implemented. It may have something to do with that.

As a side effect, I had to implement setting the backup time as well, but without actually storing it... so if you set backup time to a specific value, and then read the backup time, it will still be at 0. This may cause confusion in rare cases.

Anonymous said...

Hi Erik. Thanks for making this available. Have you tried building the Advanced NTFS-3G driver for Mac OS X? I'm able to get it to build with some small tweaking, but looking at your source for the standard version, the patches you applied seem far more extensive than what I did. I don't know enough about NTFS and MacFuse to know all of what's needed. I would appreciate any guidance you could offer.

Anonymous said...

I'm using NTFS-3G for the use with USB-sticks usually.

I got a measly Toshiba stick with 4GB that runs a bit better now with the performance boosted ublio build.

I see roughly 1MB/s when copying 3.2 GB / 6500 Files to it. That's 8 % better than previous.

Sure it's limited by the speed of the memory built in and Mac OS X's limited USB speed.

Any more speed welcome :-)

BTW, thank you for supporting Mac OS X and for providing all the effort and hard work.

Anonymous said...

i'm testing the ntfs-3g ublio 2009.2.1 update 1....this version is very fast....congratulation for the project....

Erik said...

kate:

Memory sticks are indeed slow...
1 MiB/s sounds really awful, but I'd prefer if you could test the speed with the memory stick formatted as HFS+ too.
That way you will know the theoretical limits of the device (sort of, Apple's HFS+ driver is really well optimized), and we can make a fair comparison. :)

I have a 16 GiB memory stick with which I get write speeds of ~4-5 MiB/s using NTFS-3G (ublio) and ~8-9 MiB/s using HFS+.

Erik said...

pip:

Yes, the patch set has grown quite large. Eventually I'm going to work on submitting most of these patches upstream to be included in the main branch.

A few features in the patch set:
1. Patch for aligned I/O reads from devices (from FreeBSD).
2. The UBLIO caching layer (from FreeBSD).
3. Mac OS X specific fsync, doing the proper ioctls.
4. Filename NFD normalization code, including two new mount options (nfconv, nonfconv).
5. MacFUSE version detection, to prevent it from running on known broken MacFUSE releases.
6. Automatic setting of the MacFUSE 'volname' option.
7. Advisory locking of mounted devices.
8. Workaround for ntfs-3g hang at shutdown/restart by using an external signal handling process.

And probably some other really minor things that I don't remember...
You don't need them to test the advanced build, it should work fine anyway, but without the features listed above.
You can easily create patch sets from my modified source code as I've included all the original versions of the modified files (the *.orig files)... and then try to apply the patches to the advanced build.

Anonymous said...

Speed seems pretty good using latest Ublio build.

Just wrote 14.5GB in 22-23mins to an external USB2 500GB NTFS formatted pocket drive. So about ~11MB/sec.

Don't know how it would perform in HFS. However when mounted in Windows it gets ~30MB/sec write speed.

Clarke Thomas said...

the links are wrong, you have a "." before the url

Erik said...

Clarke Thomas:

What links are you talking about? Please clarify, because I could not find any such links.

Anonymous said...

Erik -

The logs are either too general - IO error, or too technical - hundreds of lines. I'll pass your comments on.

Thx

Anonymous said...

Great work, thanks a lot!
But please correct the download links. They both start http://. which is one dot too much...

Erik said...

mew:

Can you include a code snippet from my web page that exemplifies this?
I've had this complaint before, but I cannot find these 'broken' links that you're talking about. The download links are certainly not broken.

When searching the html code for 'http://.' there is no match.

What web browser are you using?

Anonymous said...

Just downloaded NTFS-3G 2009.2.1! Works really well and I especially appreciated the ability to mount dirty NTFS drives with ease.

I tested performance with ublio on Tiger (soon on Leopard) through FW800 on a Seagate 1.5TB drive which averages over 75 MB/s on Windows with large sequential files. But with NTFS-3G ublio driver I get 21 MB/s average. I know the performance has gotten better with each release but where is bottleneck? Can I help in any way?

I have access to all types of drives so I will give more feedback soon.

Once again, much thanks to all who make this available.

Anonymous said...

@Okan: The bottleneck was always the performance of the Apple's character and raw devices from user space.

We can improve on this by caching but the best solution seems to be if we avoid it completely and do the I/O from the kernel.

Erik said...

Clarke Thomas & mew:

I have adjusted the download links somewhat... do they work better now?

Anonymous said...

Here is some more feedback for you guys on performance. All results are in MB/s and in the "Read / Write" format. I have reached these results using Seagate ST31500341AS with Rosewill RX81-MP-SC-BLK enclosure, internal Western Digital WD3200BEVT and a 4GB file. Drive was not fragmented. Obviously the best possible performance is limited by the internal WD drive which averages 55 MB/s. For eSata, I used a Rosewill RC-605 card.

These are results with Leopard(10.5.6) on an old PowerBook G4:

eSATA - Not available
FW800 - 16 / 10
FW400 - 12 / 7
USB2 - 9 / 5

These are results with Leopard(10.5.1) on a Dell XPS M1330:

eSATA - 42 / 20
FW800 - Not available
FW400 - 17 / 9
USB2 - 25 / 12

These are results with Vista(Ultimate SP1) on the same Dell XPS M1330 with same drive, same file, and write caching enabled just for comparison to ublio drivers:

eSATA - 54 / 56
FW800 - Not available
FW400 - 40 / 24
USB2 - 24 / 20

Unknown said...

I tried the latest ntfs-3g after being absent for large periods. By now, I migrated from using boot camp to VMware Fusion, so having access to ntfs drives in OS X isn't critical to me anymore, but I thought I try with with my external NTFS drive anyways.

So far, the normalization feature is great - it was a huge problem for me not being able to access korean-named files. I still haven't tested enough to say about stability, but no problems so far with the ublio build. It's great to see that the NTFS-3G OS X build came this far!

Anonymous said...

After updating to this release, my NTFS-3G formatted external ntfs drive doesn't get detected in write mode at all. I reinstalled both macfuse, and ntfs-3f 2009.2.1 but no help.

Its always in Read mode. Moreover, when I go into the preference pane, in the dropdown for NTFS-3g volumes, my hard disk is not listed.

Anyone had this issues, let me know what I should do.

Erik said...

Daru:

Could you check the box "Enable debug logging" in the preference pane, and then attach your NTFS drive again?
Now you should have a detailed log file written to '/var/log/ntfs-3g_debug.log', which will hopefully tell us what went wrong.

Please post that log file along with the original question to a new post in the official NTFS-3G Forum where we can discuss individual issues in a more structured way.

Erik said...

Okan:

Thanks for the numbers... interesting reading. I have never tested eSATA and FW800. FW800 was a bit disappointing, while the eSATA numbers were as expected.

How did you perform these tests? Using Finder, cp, dd? What parameters?

James (Jeffrey) T Wang said...

love your work guys, signing up to these comments, j

Anonymous said...

Thanks Erik for redirecting me to the Forums. Didn't even had to post a message. Many people had this issue.

Got it working. Didn't unmount it properly last time around. So just did a safely remove hardware routine in Windows and worked fine.

Anonymous said...

Erik:

Unfortunately, I could not find a benchmarking software for Leopard. So, I have used Finder to copy the file hence the approximation of transfer speeds. I did try to keep in calculations the lag for Finder to actually begin copying the file which was at most 1-2 seconds. I applied the same procedural methods for all of the test so while the numbers are not exact, they are probably within +/- 1 MB/s tolerance and more importantly they are relative in approximation to each other.

I was only able to test these on one Mac and that one was a PowerBook G4. And as you notice from USB and FW400 results there is really something wrong at a lower level with that model whether that may be power, firmware, or os level, I don't know. That is exactly why those FW800 results are low.

One last note, I went back and tested the read speeds with Leopard's native NTFS driver on Dell laptop and they seem to match the read performance of Vista on eSATA, USB, and FW400. Better yet, USB was getting close to 30 MB/s read which I had never noticed.

Nonetheless, good work guys and I have no doubt it will get better with each release after this.

Thanks again.

jtadcock said...

I am having problem accessing files on my NTFS drive. Some of the icons show up as a blank and when I try to access it "Error Code - 43" showed up. This problem did not show up when NTFS 3G 2008.12.22 (1.5130U1) was installed in my Mac. Any solutions?

Erik said...

Jack Ito Tomo:

Do these folders/files happen to contain korean characters or accented western characters?
In that case, go to the NTFS-3G preference pane and check the box "Disable filename normalization" for this particular drive (or disable it globally) and remount the volume.

If you can access these folders now, you have filenames on the NTFS volume that are stored in NFD normalization form. This is common when you have used it with previous releases of NTFS-3G and created a lot of files/folders with "international" filenames.

jtadcock said...

Thank you for the response, that did solve the problem. I also found out after the problem was solved that I am not able to search for files that are on the drive but will not show up when I search for them on the search toolbox on the Finder. Are there any solutions to that?

Anonymous said...

I haven't had a problem with this before but for some reason none of my NTFS drives are showing up in the Volume Options portion of the prefpane anymore (I've tried refreshing).

All the drives mount fine and I can access them as if NTFS-3G wasn't installed but I'm unable to copy to them anymore. I've got the latest version of both MacFuse and NTFS-3G running and I've tried uninstalling and reinstalling both packages to possibly circumvent any system changes that might have occurred since.

Any suggestions on how to troubleshoot this?

Thank you!

Anonymous said...

Ignore the above question but please accept my heartfelt thanks for the support you provide!

Thanks!

Anonymous said...

ntfs-3g 2009.3.8 released

Erik said...

Raymond:

I have discovered some issues with the latest release that I have to sort out first.

Don't worry, I'll release it when it's ready to be released. :)

Anonymous said...

Is it possible to restrict access permissions on a boot camp Windows partition? As of the default settings, any user can hop on the mac side and add/remove whatever they wish regardless of their user status.

How would one go about restricting read/write/execute status on just the boot camp windows partition to only members of the admin group?

Thank you!