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

61 comments:

Donald J said...

I finally found what the problem was!

My computer is apparently sensitive to the way I connected my eSATA/USB drive.

The moment I connect my eSATA wire to the HD, the "safe removal" option dissapears for my HD. But whe I remove the eSATA the "safe removal" returns and I can remove the disk!

So now it's finally working on both my Vista and MacOSX!

Thanks Very Much Eric!

Erik said...

Donald J:

Well, that's good to hear. :>

gary r said...

Installing NTFS-3G 1.2129 hosed my new Leopard machine. Any idea how to get if off? Booting into safe mode doesn't help.

DW said...

Doesn't work on my ppc 10.4.11 powerbook :-(

I always get the log message: $LogFile indicates unclean shutdown (0, 0)
Failed to mount '/dev/rdisk1s1': Operation not supported
Mount is denied because NTFS is marked to be in use

This is bogus because I did a -o force (sudo mount -o force -t ntfs-3g /dev/rdisk1s1 /Volumes/BUFFALO), and I also get the message when I safely unmount the disk in Windows.

BTW, my powerbook's hd has two partitions, does this make a difference?

Erik said...

gary r:

NTFS-3G doesn't touch your Mac partition, and doesn't alter the OS X system configuration. I seriously doubt that it is the cause of your system crash.

However, have you tried booting your computer up in verbose mode, holding Apple-V while booting? It could possibly reveal something about the cause of your problems.

If you need to rescue files from the HFS+ partition from within Windows, I have written a utility called HFSExplorer for that purpose. Check http://hem.bredband.net/catacombae .

Erik said...

DW:

Sounds strange... ntfs-3g is just telling you what it sees... and it sees a harddrive which has the "in use" flag set.

If you think ntfs-3g needs glasses, you should contact lead developer Szabolcs Szakacsits, assuming you're 100% sure the volume was unmounted properly. See www.ntfs-3g.org for contact info/bug reporting.

Traspler said...

I installed the driver, but my Bootcamp partition does not show up on the desktop (not anymore - after installing the driver) and I cannot mount it wiht the diks utility... how do I get it working?

Traspler said...

sorry. Solved the problem already... didn't see the info window which poped up behind all my other windows and spaces.
A Bad shutdown was the problem.

nes1209 said...

I'm running NTFS-3G on my MacBook Pro. Mostly, it works fine. The problem comes out when manipulating files which contain Korean or Japanese characters in their names. While renaming and removing those files seem to work perfectly, accessing it via finder or other applications doesn't work at all. More precisely, I'm not able to open or copy those files. Trying to open results in an error message popping up, which says the file does not exist.
I have no idea whether the problem is NTFS-3G specific.

By the way, is there any fixes for Startup Disk and Boot Camp Assistant?

Erik said...

nes1209:

The problem with korean filenames is that the core OS X frameworks expect korean characters to be stored on the file system in decomposed hangul form, while Windows ofted stores the precomposed characters instead. Thus, the OS X frameworks often refuse the file. This does not only apply to korean characters... you can read about it by searching for "unicode normalization".

This is really erratic behaviour inherited from the specification of the HFS+ file system which requires all file names to be stored decomposed. Problem is, all is not HFS+ in the world, which OS X refuses to acknowledge.

So what could be done is to automatically convert all affected precomposed characters to display as decomposed characters in OS X. But then we have a problem if someone has stored a file which in decomposed form has the same name as another file in the same directory. One of the files will obviously not show...
Also, in what form should a newly created file containing characters that have different composition forms be stored?

The best thing would be if Apple fixed OS X and the Finder to not reject precomposed characters. I can't do anything about that part though.

Now, Japanese characters on the other hand should work fine, as far as I know. Could you give an example of where a japanese file name is inaccessible in OS X?

Erik said...

nes1209:

Also, there are no fixes for the "Startup disk" prefpane or Boot Camp yet, but you can disable NTFS-3G without uninstalling it through a script in the "Tools" folder on the install .dmg file.
So if you temporarily need to access these utilites, disable NTFS-3G, and unmount and remount in Disk Utility. At that point the drive should mount with OS X's internal NTFS driver, and you should be able to use those functions.

nes1209 said...

In case of Japanese files, it seems that I opened another file by mistake.
By the way, will read-only access corrupt in-use drives? If it isn't, I think it could be more appropriate to mount it as read-only or at least redirect to internal NTFS driver.

Erik said...

nes1209:

I agree, it would be appropriate to mount drives that cannot be mounted by ntfs-3g in their current state with the read only driver.

However, this made a lot of people confused, and led them to think that installation of ntfs-3g had not been successful because they didn't notice anything different when they plugged their drive in, so I switched to this solution to end confusion and to give users feedback on why ntfs-3g would't mount the volume.

I'm going to develop this solution further in future releases, so the error message is printed in the probe phase instead of the mount phase.
This will make it possible to pass the mount command on to the internal read only-driver while still providing feedback to the user.

DW said...
This comment has been removed by the author.
DW said...

omg, it worked! "force" did work in the end, but I had to use the following command line instead of the one in the error message:

sudo ntfs-3g /dev/disk1s1 /Volumes/BUFFALO -olocale=en_US,force,auto_xattr,defer_auth,defer_permissions,volname="BUFFALO"

After doing that once, automounting my disk also works so ntfs-3g must have in some opaque way changed my disk. A little scary, but when in doubt, use the force?!

Sven said...

Everything works fine for me (with the latest ublio build), except for the fact that files copied from an ordinary Mac HFS+ Journaled volume to an external NTFS-3G USB2 disk don't seem to have the creation dates preserved: i.e., in the Finder there are no creation (and last opening) dates on the files backed up to the NTFS disk, only modification dates.

BTW, the external drive was formatted natively as NTFS in Windows Vista (Boot Camp).

Is this odd behaviour a bug or a feature?

Erik said...

Sven:

I think you would see this behavior on all POSIX file systems. The default information that is stored about a file in POSIX is last access date, modify date and change date.
The Finder displays creation date, modify date and "last opened" date.

So in short it is a POSIX vs. mac file system incompatibility. Maybe it can be handled by some MacFUSE extensions, but I haven't looked into that.

Erik said...

DW:

If the disk has been mounted with caching enabled in windows, or has file system errors, it may lead to data loss when you use the force, so don't recommend it to other people without informing them about the risks involved. ;)

asd said...

has the bug that causes osx to shutdown slowly been fixed?

jim said...

I'd love to be able to get spotlight to work. How can I enable root user write access so spotlight indexs the ntfs drives?

Erik said...

jim:

I have no idea what Spotlight needs to work... but if you find out, I'll be glad to make the neccessary changes.

Erik said...

asd:

Not yet... I suspect the bug is related to the MacFUSE signal handler implementation but I have been busy lately so I haven't found time to investigate.

Szabolcs Szakacsits said...

Erik:
The MacFUSE FAQ explains (not very obviously) what's needed for Spotlight to work:
Q 4.6. Can I enable Spotlight on a MacFUSE file system?
http://code.google.com/p/macfuse/wiki/FAQ
Please also see
http://code.google.com/p/macfuse/wiki/OPTIONS

NTFS-3G already uses the allow_other mount option internally but this is not enough as explained above. Probably the following comnand

sudo sysctl -w macfuse.tunables.admin_group=0

helps after the FUSE kernel module is loaded.

It would be nice this to get supported if possible. Apparently many people would like this functionality.

Szabolcs Szakacsits said...

Erik:
Well, actually it seems to be macfuse.tunables.admin_group must be set before loading the kernel module to the mounting user's group id.

Anonymous said...

I found the command to enable volumes for indexing in spotlight:

sudo mdutil -i on /Volumes/volume

for me I use:

sudo mdutil -i on "/Volumes/Windows 2"

Indexing my 117GB NTFS partition need 30 minutes for indexing

(using " because the space)

The source:
http://www.apfeltalk.de/forum/ordner-dokus-durchsuchen-t83779-3.html (in german)

Anonymous said...

The selecting volume you can see in "disk utility" under "Mount Point"

Erik said...

Anonymous:

So there is in fact no permission problem with spotlight? It works "out of the box" with the current release?

(Also, please type your name or some identifier, instead of just posting as "anonymous", otherwise it's hard to know who writes what...)

nes1209 said...

Finder gets crippled when booting with Windows hibernated. I think mount failure notification is somewhat related to this behavior.

Erik said...

nes1209:

I'm aware of the issue... I'm updating the package soon. Though I'm not 100% sure if the new solution will be perfect.

I blame Apple for their weird implementation of the login window, which is apparently running as root within a "normal" session. ;>

In the new version, users will not be notified (according to my tests) when a mount fails during boot time, but only when a mount fails with a user logged in. Sounds fair?

nes1209 said...

If I've assumed correct, that would fix the issue. Thank you again for your nice work.

jim said...

I cannot get the above commands to work with Leopard. mdutil returns "no index" and does nothing. It seems it is having trouble creating the index.

Must be a problem with root access. Please attend to this in the new version. love your work work!

Erik said...

jim:

I'm not sure what you mean by root access at this point.
It's obvious that root can access the partitions that are mounted through the ntfs-3g mount script (you can test it easily). I don't see what else would be needed.

Can you give an example of something that root can not do in a ntfs-3g mounted partition?

Fabian said...

I've got a strange problem too. I use a usb20 external drive on OS X, with one NFS+ partition and a NTFS partition called "Cross". Well, Cross wasn't mounted any more as NTFS-3g, but as NTFS, after using it on a vista computer, but I got this fixed with CHKDSK on win XP (not parallels, that didn't work, but I found a way to make that work anyhow).

Well, it mounts as ntfs-3g again, but WITH -n in the name. So OS X recognizes it as a network drive thing. That's bad. I use the latest version, but what should i do?

banks said...

I am having the same problem as fabian above but all i did was install MacFUSE and NTFS-3G but the icon comes up as a mounted network share. I just downgraded from leopard because of problems i was having and it worked fine on that. Tiger has worked before in the past but why would it start doing this now? I can still read/write to the drive but it gets lost within the 4 smb network shares i have mounted.

Anonymous said...

This version is not complatible with 10.5.2. Windows partition won't mount.

Carlo said...

well I was about to ask if I should have installed 10.5.2.... I'll wait for erik's word!

Erik said...

Fabian:

I don't quite understand the problem... what version of OS X are you running?
Can you access the contents of the drive with ntfs-3g? Is the only issue that the volume name has "-n" in the name and looks like a network share? The fact that it looks like a network share is completely normal if you're running OS X 10.4 (Tiger), but you didn't specify your OS X version or hardware specs.

To me, it sounds like you're using an older version of the package in some way... please check what output you get when you type "/usr/local/bin/ntfs-3g" in the Terminal.

Erik said...

banks:

The fact that it looks like a network share is completely normal in OS X 10.4 since I early on discovered stability issues when accessing the DiskArbitration framework after doing a "local" mount (the mount option which makes the drive appear as a normal physical drive). For instance Disk Utility would lock up.

I haven't reevaluated the stability of "local" under 10.4 with the lastest MacFUSE version but you can always do some testing yourself. This is a community thing, and I don't get paid for this, so I would appreciate some qualified help with testing, because I don't have a lot of time to do that. :)

Erik said...

Carlo & "Anonymous, February 12, 2008 4:56 AM":

I wasn't aware that it had been released, but I'll do some testing when I get home from work this evening.

Fabian said...

okay, ntfs-3g version:
ntfs-3g 1.1004 - Third Generation NTFS Driver

mac os x:
10.5.1 (leopard)

problem is indeed just the -n. I can read/write, but thats just second problem. First one was caused by Vista, after using the drive on vista Mac os x saw the drive as normal NTFS (not 3g), but that was solved after installing ntfs-3g again. But that re-install also caused the drive to be recognized as network drive!

thanks in advance,

Fabian from Holland

Erik said...

Fabian:

You're using an old version which is not 100% compatible with Leopard.
Please upgrade to the latest version, 1.2129, and all your problems will go away.

Fabian said...

Thanks!

Erik said...

Carlo & "Anonymous, February 12, 2008 4:56 AM":

Okay, I just installed the 10.5.2 update. NTFS-3G is still running nicely... so I don't see what the issue is.
What problems are you experiencing with the latest Leopard update?

Anonymous said...

I too am having problems after updating to Leopard 10.5.2.

I am on the latest versions of Macfuse and the NTFS-3g driver. I can no longer write to my NTFS formatted external drive. It worked flawlessly in 10.5.1

Erik said...

Anonymous, February 15, 2008 12:17 PM:

Could you give me some information to work on, like your system specifications, what (if any) error messages you receieve while trying to mount the NTFS drive, what output you get when typing "/usr/local/bin/ntfs-3g" in the Terminal...

To all:
I can't do anything about the issue without cooperation from you, the users. If you're having issues with 10.5.2, please mail me at the address shown at the end of the page http://hem.bredband.net/catacombae and we can try to sort this issue out.

Anonymous said...

Hi!
First of all thanks for the package. I'm having problems using this under 10.5.2 (but was seeing the same behaviour under 10.5.1). Sometimes everything works fine while other times I get cryptic finder errors such as "some data could not be read or written error -50". I'm trying to use ntfs-3g with a usb drive by the way. When the copy operation fails i see this in the logs


Feb 15 14:54:09 Macintosh-2 ntfs-3g[518]: ntfs_attr_map_whole_runlist failed: Input/output error
Feb 15 14:54:09 Macintosh-2 ntfs-3g[518]: Failed to enlarge attribute: Input/output error
Feb 15 14:54:09 Macintosh-2 ntfs-3g[518]: ntfs_attr_pwrite partial write (895221760: 65536 <> -1): Input/output error
Feb 15 14:54:09 Macintosh-2 ntfs-3g[518]: ntfs_attr_map_whole_runlist failed: Input/output error
Feb 15 14:54:09 Macintosh-2 ntfs-3g[518]: Failed to enlarge attribute: Input/output error
Feb 15 14:54:09 Macintosh-2 ntfs-3g[518]: ntfs_attr_pwrite partial write (895352832: 65536 <> -1): Input/output error
Feb 15 14:56:52 Macintosh-2 ntfs-3g[518]: Failed to decompress runlist. Leaving inconsistent metadata.

I don't think it's a hardware issue because the disk works perfectly under windows.
Any ideas?

Thanks in advance,

Federico

Erik said...

Hi Federico.

I'd like to collect some information first, making it easier to understand the issue.
I'm intrested in which build you are using. Is it the "ublio" build or the "stable" build.

Also, what system hardware are you running... Intel/PowerPC? Specifications?
And what kind of USB drive is that... a hard disk, memory stick, etc?

Anonymous said...

Hi Erik
Thanks for your help. I'm using a Powerbook g4 with a maxtor 500 gb usb drive and the normal build (i.e. not ublio). I was mounting the hard disk manually from the command line. I've noticed in the log that when ntfs-3g automounts the drive it uses different options (including auto_xattr etc.). Now I'm getting a different behaviour. After the automount copying the file resulted in a crash with the following callstack

0 libSystem.B.dylib 0x9698da08 small_free_list_remove_ptr + 168
1 libSystem.B.dylib 0x96989e1c szone_free + 2412
2 libntfs-3g.21.dylib 0x000ae810 ntfs_runlists_merge + 2804
3 libntfs-3g.21.dylib 0x0006d53c ntfs_attr_fill_hole + 1476
4 libntfs-3g.21.dylib 0x0006ea04 ntfs_attr_pwrite + 3904
5 ntfs-3g 0x00004f2c ntfs_fuse_write + 328
6 libfuse.0.dylib 0x0002ad50 fuse_fs_write + 100
7 libfuse.0.dylib 0x0002e36c fuse_lib_write + 236
8 libfuse.0.dylib 0x0003157c do_write + 108
9 libfuse.0.dylib 0x0003261c fuse_ll_process + 704
10 libfuse.0.dylib 0x00033a8c fuse_session_process + 28
11 libfuse.0.dylib 0x0002fe1c fuse_session_loop + 164
12 libfuse.0.dylib 0x0002c108 fuse_loop + 28
13 ntfs-3g 0x00009e90 main + 552
14 ntfs-3g 0x00001e18 _start + 756
15 ntfs-3g 0x00001b1c start + 44

i've now performed a filesystem check under windows which fixed attributes-related error. Maybe this is what is causing the crash? I'll now try and copy the file again using the ntfs-3g automount.

I'll report to you later....

Thanks,
Federico

Anonymous said...

mmm no it didn't work....
I'm still seeing a lot of these messages...

Feb 15 15:45:25 Macintosh-2 ntfs-3g[1102]: ntfs_attr_map_whole_runlist failed: Input/output error
Feb 15 15:45:25 Macintosh-2 ntfs-3g[1102]: Failed to enlarge attribute: Input/output error
Feb 15 15:45:25 Macintosh-2 kernel[0]:
Feb 15 15:45:25 Macintosh-2 ntfs-3g[1102]: ntfs_attr_pwrite partial write (61734912: 65536 <> -1): Input/output error
Feb 15 15:45:25 Macintosh-2 kernel[0]:
Feb 15 15:45:29 Macintosh-2 ntfs-3g[1102]: Failed to decompress runlist. Leaving inconsistent metadata.

szaka said...

Federico:

I/O errors are discussed here:
http://ntfs-3g.org/support.html#ioerror

Your file system is corrupted and you must run chkdsk /f drive: on Windows.

The problem can be due to hardware or whatever reasons. There are known problems with the OS X and Linux USB kernel drivers, so if possible try to avoid them.

Anonymous said...

did anyone else who updated to 10.5.2 experience problems on an external hdd after time machine automatically got turned back on with the update, and then it started asking if you wanted your external to work with time machine?

I know that happened to me... did time machine turn on automatically for anyone else who had an external?

Anonymous said...

Hi Szaka

Thanks for your time! I can repair the filesystem under windows without any problem. Still, even if I use a completely clean filesystem (i.e. immediately after the check) with ntfs-3g on osx I see the error messages i posted. I'm a bit puzzled since it seems to work for everyone... I should also add that the same hard disk works flawlessly with ntfs-3g under linux.


Thanks
Federico

Anonymous said...

did anyone with problems with 10.5.2 get their issues fixed? i still can't mine to work despite the fact that it worked perfectly in 10.5.1.

Anonymous said...

Some people says that NTFS-3G works on 10.5.2 after uninstall and reinstall. Apparently the OS X upgrade breaks it, so it needs to be reinstalled.

Anonymous said...

i tried uninstalling both macfuse and ntfs-3g (latest versions) and reinstalling on 10.5.2 and can't get it to work! it used to work perfectly on 10.5.1. i cannot delete or write to my ntfs volume and if i do a get info on it it shows it as a ntfs volume and not a ntfs-3g volume like it did before. i'm think my problem might be that i followed some outdated instructions after i installed the first time (i didn't know that i didn't have to do it) and that might be my problem.. maybe i need to reverse them? the instructions i followed are here:

• Open the Disk Utility (In Finder -> Application -> Utility folder) and press Umount button on the NTFS volume

• Now, right click on the volume and select “Information”, search for “Disk Identifier” (i.e. disk0s2). Note it.

• Start Terminal and run the the following commands in italic:
Create symlink for mount_fusefs: sudo ln -s /System/Library/Filesystems/fusefs.fs/mount_fusefs /usr/bin/mount_fusefs

• Create a new directory: mkdir /Volumes/Windows

• Mount the NTFS volume: sudo /usr/local/bin/ntfs-3g /dev/disk0s2 /Volumes/Windows -o ping_diskarb,volname=”Windows”

if anyone can help me, i would greatly appreciate it!!

Anonymous said...

^^^ in response to my comment above.. i was able to fix the issue by running scandisk on my ntfs drive and it fixed the problem.

zoulu said...

hello world...

just want to say "thank you" to the anonymous guy who wrote the how2-spotlight-ntfs.


sudo mdutil -i on /Volumes/volume

worked perfect for me.

(Leo4allv3, vanilla 9.2.2, core2duo, gigabyte mb, 2gb)

R.I.P. ...XP and Vista

zoulu said...

i just found that i can not open any file containing a peculiar like ä,ö,ü in its filename. anybody else got this problem?

(sry for my bad english)

Jeff said...

NTFS-3G works great on my Macbook! Except, time machine won't see the drive. It sees the drive when I disable NTFS-3G (although probably couldn't use it because of the format), but when I enable it (or reinstall it) time machine won't see the drive. Any ideas?

Erik said...

Jeff:

I'm glad it works well for you, but this version is very old!
I would not advise you to use this version... instead you should look for the latest one at the main page (currently 2009.4.4).

You cannot use an NTFS drive with Time Machine. It just doesn't have the necessary features. So it really doesn't matter whether it shows up in the Time Machine interface or not.

Anonymous said...

guys everytime i start my mac i get a pop message that says the NTFS-3g drive did not unmount properly please reconnect the device and unmount it properly and gives me an option to abort or force what should i do to get rid of this?