Implementing NTFS-3g into FreeBSD

Greg 'groggy' Lehey grog at FreeBSD.org
Wed Aug 2 05:24:08 UTC 2006


On Wednesday,  2 August 2006 at 11:43:53 +1000, Dan Warne wrote:
> On  Wednesday, August 02, 2006 11:40 AM, Juha Saarinen wrote:
>> On 8/2/06, Warne, Dan wrote:
>>>
>>> One of my journalists recently wrote an interesting story on the
>>> NTFS-3g project that is promising a fully OSS solution for reading
>>> -and writing- to NTFS partitions.
>>>
>>> I am personally a Mac OS X user and I don't have a Linux/Unix
>>> background so I wonder if you can advise: how viable would it be to
>>> implement NTFS-3g into FreeBSD?
>>>
>>> More specifically I'm wondering whether Apple could easily implement
>>> it into Darwin, therefore providing NTFS write support for OS X.

This is an issue that has fallen under the table here, rightly so.
Since we're primarily FreeBSD users, it's difficult for us to express
a useful opinion on the viability under MacOS X.  My guess, though,
for many of the reasons I mention below, is that the answer is "yes".

>> You're probably aware of the desirability to have "non GPL virus"
>> code in FreeBSD, which makes the whole thing a lot harder to do.

It's true that the FreeBSD project likes to keep GPL software
separate, at least partially out of respect for the license
conditions.  There is also a small proportion of the project (myself
definitely excluded) that think that GNU is Bad.

But there's plenty of GPL software in the FreeBSD system (look at the
toolchain for the probably most obvious example).  Being GPL does not
automatically exclude software from FreeBSD, though it's more likely
to relegate it to the Ports Collection.  But maybe it's there already?
A brief 'locate ntfs' shows that it is, in the sysutils/ntfsprogs
port.  From the package description:

  The goals of this project are: create a new Linux kernel driver for the NTFS
  file system (v1.2 and later 3.0), user space utilities (e.g. format, ntfs
  check, etc.) and a library to avoid code duplication and provide access to
  NTFS to other GPLed programs.

  WWW: http://www.linux-ntfs.org/

  - Florent Thoumie
  flz at xbsd.org

This port isn't new; I've used one of its utilities at the beginning
of last year (see http://www.lemis.com/grog/diary-jan2005.html#19) to
resize an NTFS file system.  I don't know how well the NTFS access
works, but one of the build options is to use FUSE, so it must be
present.  The port is at version 1.13.0, while the web site states
that version 1.13.1 was released on 21 June.  I'd expect to see an
update Real Soon Now.

>> However, there's this project:
>>
>> http://fuse4bsd.creo.hu/

Yes, this is the one that NTFS-3g is built upon.

> Currently, if you want to use a high capacity external drive for
> read/write across Windows and OS X machines, your only option is
> FAT32, and neither OS X nor Windows can format drives with FAT32
> above a certain partition size. (Apparently FAT32 on Linux can get
> around the Microsoft size limitation, but that's not a very
> practical option for an OS X user).

Things are a little different for FreeBSD (and better, it seems from
your article
(http://www.apcstart.com/site/amills/2006/08/870/linux-to-get-reliable-ntfs-write-support).
There is already read/write support for NTFS, and I can confirm that
"it works for me".  Still, it's clear that improvements are possible.
From the man page:

  WRITING
     There is limited writing ability.  Limitations: file must be nonresident
     and must not contain any sparces (uninitialized areas); compressed files
     are also not supported.  The file name must not contain multibyte charac-
     ters.

I don't understand the term "nonresident" here; but I can write NTFS
from my FreeBSD system.  The other restrictions sound like they could
be fixed if anybody cared.

So: will the FreeBSD project move completely to NTFS-3g?  I'm pretty
sure the answer is "no".  We already have something that works well
enough.  There's also a feeling in the project, which I share, that
userland file systems like FUSE are great for prototyping, but second
rate for production systems.  Your test results tend to confirm that.
And finally, we have those anti-GNU bigots to contend with.

Greg
--
See complete headers for address and phone numbers.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20060802/cf37ae06/attachment.pgp


More information about the freebsd-questions mailing list