Monday, December 22, 2008

NTFS-3G 1.5130 Update 2

Mac specific service release:
  • MacFUSE detection code added, preventing the user to use NTFS-3G with broken MacFUSE releases such as the 2.0.0 release.

Download NTFS-3G 1.5130 Update 2 [ublio] (performance patches applied)
Download NTFS-3G 1.5130 Update 2 [stable]
Note: Beta release available, including a fix for the accented filenames issue.

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

Requirements: Mac OS X 10.4/10.5, a PowerPC or Intel computer, MacFUSE 2.0.2/2.0.3 or later installed.
This 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).

Known issues:
  • Files with filenames created in Windows containing international characters with accents, umlauts and similar dots and lines, or filenames with korean characters might seem unreadable in the Finder. This is because Finder apparently expects all filenames to appear in unicode decomposed form, while NTFS allows both composed and decomposed form filenames. This issue is hard to solve in a pretty way, but you should still be able to access these files when using the Terminal. For me, copying the affected files to a HFS+ drive using the command "cp" worked fine.

  • After installing ntfs-3g, all NTFS drives will disappear from the "Startup Disk" preference pane. Disabling or uninstalling ntfs-3g brings them back. I don't have a solution for this, but you can still choose your startup drive by:
    • 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)
    If you have any information on a pretty way of solving this issue, I'd love to hear about it.

Sources:
ntfs-3g 1.5130u2 (patched)
ntfsprogs 1.13.1
fuse_wait.c
ntfs-3g_daemon.c

16 comments:

Anonymous said...

HI!
I've Mac OS 10.4.11 on an Intel - MacBookPro and MacFuse 2.0.2 and the latest Version of ntfs 3g. After installing, I restarted OS and wanted to use my Western Digital extern disk (500GB, formatted to NTFS in WinXP) via USB port... But I still cannot write to it - it is just still mounted as read only. (I've also tried as root through the unix subsystem)

Erik said...

Anonymous, December 30, 2008 7:54 PM:

What messages do you get when you try to mount the drive manually from the Terminal?

Paul said...

Thanks for your work on this useful utility. I'm sure this has been captured already but I haven't been able to find much about it on the web.

I also have a WD external drive formatted NTFS under windows. Anything I copy over from the MAC shows a created date of Dec 31, 1903 6:00 PM. iMovie wants to use this as the clip date (I'm using this drive mostly for movies).

Do you have any suggestions? My understanding is that BSD unix does not store dates with the files but they are in metadata extents. I don't think that using touch from the command line will work either as all of the dates appear correct.

$ pwd
/Volumes/Passport/iMovie Events.localized/2008-12-December

$ stat VID00072.AVI
754974724 2789 -rwxrwxrwx 1 root admin 0 30454390 "Dec 29 13:29:17 2008" "Dec 28 21:25:34 2008" "Dec 29 13:29:17 2008" "Dec 29 13:29:17 2008" 65536 59488 0 VID00072.AVI

Erik said...

Paul:

Where and how the dates are stored is very much file system dependent, and doesn't depend on the OS.

This is the actual issue:
The traditional unix 'stat' system call has no support for create dates. The dates that exist in the struct stat are last access date, last data modification date and last file status change date.
Create dates first appear in the stat64 system call on Mac OS X (and possibly BSD). I think Mac OS X has had support for create dates way before the BSD stat64 call was introduced, because HFS+ has always had this feature.

I'm will check out if you can somehow pass the create date to MacFUSE through an extension, thus increasing Mac integration.
Thanks for pointing it out.

Erik said...

Paul:

To get created dates working, ntfs-3g needs to implement at least two MacFUSE 2.0+ callbacks: getxtimes and setcrtime.
I implemented getxtime quite easily... setcrtime is still on TODO.
Hopefully I can manage to get this ready in time for the next release, and your apps will no longer be confused about create dates. :)

bradleyjx said...

This is working quite nicely, but I have one issue which is quite a bother.

I have full r/w ability on my NTFS drive until I close a window in the Finder that is pointing in that drive. At that point, everything that has not been viewed already in the drive becomes unreadable, and Terminal gives a "Device not configured" message whenever I try to view anything in that volume.

I've tried this in the current version of NTFS-3G, MacFUSE v.2.0.3 and v.2.1.5 beta. I'm using a unibody Macbook with OSX 10.5.6 installed.

Erik said...

bradleyjx:

That sounds like a program crash, which is quite serious.

Can you reproduce this with the Activity Monitor open, and monitor the process called ntfs-3g. If the ntfs-3g process disappears when you close the Finder window, it seems you have a ntfs-3g crash scenario.

Could you also try the beta release 1.5222-RC?

bradleyjx said...

Well, I'll add that I've switched from the ublio to the stable version, and I am currently having no problems. (at least, after doing everything that broke the drive the last 4-5 restart and experiment sessions here)

So, it's not a _huge_ problem :)

bradleyjx said...

I've done a bit more testing, and found that the "stable" vers. wasn't the issue.

ntfs-3g (the process) was crashing, and it was doing it when I went into "Show View Options" in the drive and enabled "Calculate All Sizes".

I'll check the beta out; if I don't post in the next hour, then it didn't change anything :)

bradleyjx said...

Sorry for the constant posts; wish there was an edit button...

So, the issue seems to be much more general than the previously mentioned option (though it triggers it as well); I was unable to access the drive after about an hour of being logged in.

So, one thing I did was look specifically at the stats of the ntfs-3g process as I went into the drive after a reboot.

In the couple tries, the program terminated after ~50000 system calls, ~15000 faults, and ~10000 context switches. The syscall count always went up a constant 4/sec while idle; when I opened a folder or used the triangle to expand it within the window, all the numbers jumped by at least 1000.

The drive in question is just a media drive, so it's a folder- and file-heavy drive; opening a folder displays 50-100 new files and/or folders, so I don't know if it's just 15(ish) calls per item and this isn't a problem, or if that large of a number of system could be anything...

Erik said...

bradleyjx:

I also wish there was an "edit" button for the comments.

In fact, I think it's best that we move this discussion to a thread in the NTFS-3G Forum since this seems to be a bug report.
It will be easier to follow progress, and other NTFS-3G developers can provide feedback.

Could you please look for ntfs-3g related log files in /Library/Logs/CrashReporter (or ~/Library/Logs/CrashReporter)? If a program crash occurs, CrashReporter should write a log file. These logs may reveal something about the issue.

Please post followups to a new thread in the forum.

Anonymous said...

ntfs-3g version 2009.1.1 released

Anonymous said...

NTFS-3G STABLE Version 2009.1.1 (January 22, 2009)
http://www.ntfs-3g.org/releases.html

Time to update the mac version.

Thanks for making NTFS-3G for OS X a reality.

Erik said...

Raymond / Anonymous, January 25, 2009 7:46 PM:

It's coming, don't worry.
I just have to test and bugfix some new features a bit before release.
This will be a large update for Mac users with a few new features specially added for Mac OS X.

Unknown said...

All of my files show the correct create dates for all files and folders, but when I plug the hard drive into my mac it shows all create dates as December 31, 1903. In fact, even when I transfer files from my Mac to my HD, the create dates for the files on the HD are wrong as well? Any ideas?

Erik said...

kurtau22:

Create dates were implemented in version 2009.1.1. You're apparently using a really old version... please download the latest version, 2009.4.4, for all the latest features.