Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

FUSE Port Brings NTFS Support To OS X

Posted by kdawson on Wed Jan 17, 2007 04:43 AM
from the circuit-breaker dept.
sciurus0 writes "In his session at Macworld on OS X filesytems, Google's Amit Singh announced that he has ported Linux's FUSE module to OS X. The port is called MacFUSE and it is available in source form and as a pre-compiled kernel extension with associated tools. Many FUSE filesystems such as sshfs and ntfs-3g are reported to work."
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • GmailFS also (Score:5, Informative)

    by Anonymous Coward on Wednesday January 17 2007, @04:53AM (#17643608)
    GmailFS [jones.name] should also now be easily supported on Mac OS X using MacFuse.
  • FUSE for Windows (Score:5, Interesting)

    by Cyberax (705495) on Wednesday January 17 2007, @04:53AM (#17643614)
    I'm writing FUSE for Windows at my spare time (not much of it, unfortunately). Is there anybody who's doing the same?
    • Is this going to use the same modules as FUSE for linux? This sounds interesting. I'm willing to test when you feel reasonable it won't make my machine particularly unstable for windows.
    • Re: (Score:3, Interesting)

      I have thought about porting FUSE in the past, since it'd be a great way to enable lots of filesystems in Windows but haven't gotten out of the planning stage. I'd be very interested in helping to make that happen. I have some experience [dyndns.org] in writing Windows NT filesystem drivers.

      I don't know how you've planned the userspace, but I'd suggest that you make it NOT dependent on Win32. It'd be much easier to implement features like fork (which Win32 doesn't support, but native processes do). Also, native process

      • surely you jest?

        1) There is no difference between userspace and kernal space on windows*
        2) windows already has NTFS in kernel space
        3) see 1 and 2 windows has NTFS in user space
        4) why reinvent the wheel?


        The subject said "FUSE for Windows". Check out FUSE, do the math.
      • Re:FUSE for Windows (Score:5, Informative)

        by odie_q (130040) on Wednesday January 17 2007, @06:43AM (#17644198)
        FUSE is a general Filesystem-in-userspace driver, supporting a long list [sourceforge.net] of filesystems.

        So with FUSE ported, Windows users can also enjoy in-filesystem versioning, seamless ssh integration, RAR files as folders and so on.
        • Re:FUSE for Windows (Score:5, Interesting)

          by TheNetAvenger (624455) on Wednesday January 17 2007, @12:59PM (#17649244)
          So with FUSE ported, Windows users can also enjoy in-filesystem versioning, seamless ssh integration, RAR files as folders and so on.

          Why is this such a great goal, when FS developers have been trying to meet the basic features of NTFS already...

          NTFS already does journalling, has file versioning (far beyond what any *nix FS does), encyrption, compression, and with Win32, zip and rar integration.

          The trick in writing a FS for Windows isn't so much a NT issue, but how Win32 see the FS and what it expects to be there. This can best be demonstrated with the Unix subsystem on Windows, or how NFS is handled.

          BTW, this is kind of a baited post to see how well people really do understand NTFS and also what they are trying to accomplish.

          For developers interested there are some good resources and help on writing FS for NT, like at: http://www.osronline.com/cf.cfm?PageURL=showlists. CFM?list=NTFSD [osronline.com]

          Take Care...
      • Re:FUSE for Windows (Score:5, Informative)

        by raynet (51803) on Wednesday January 17 2007, @06:52AM (#17644236) Homepage
        Well, FUSE is not NTFS. FUSE allows you to write userspace filesystem modules via stable and fairly simple API. Thus if you had FUSE for Windows, you could add new filesystems to Windows with relative ease. Also you could port the same modules to Mac, Linux and BSD or vice versa.
      • Yes there is a difference, the kernel runs on ring 0, and some drivers like the graphics drivers do, some dont, they run on different protection levels, and some run on real userspace some run on a space between user and kernel. The main problem will come with limited user accounts being the default installation, then something like fuse will be heavens sent!
      • Not yet, I'm slowly rewriting parts of ext2 driver for Windows. It's in my private SVN repository and I can't figure out how to upload it to Google.Code or SF.net without losing history.

        I hope to have my very own Slashdot story when I finish porting :)
  • by little1973 (467075) on Wednesday January 17 2007, @05:24AM (#17643750)
    ...Miklos Szeredi was offered a job by SUSE Labs, Prague, which he accepted. His job will be kernel developement for SUSE (all GPL, of course). IIRC, he can work on FUSE in 10% of his work time.
  • by irgu (673471) on Wednesday January 17 2007, @05:36AM (#17643812)
    The original NTFS-3G [ntfs-3g.org] source code doesn't compile on Mac OS X without some changes but the MacFUSE and NTFS-3G precompiled packages [iusethis.com] are available from IUseThis.
  • by Max Romantschuk (132276) <max@romantschuk.fi> on Wednesday January 17 2007, @05:45AM (#17643862) Homepage
    Boot camp users, care to comment on the implications?
    • Re: (Score:3, Informative)

      I have bootcamp installed. I can already READ my ntfs partition from OS X. No write support. FUSE does have some write support, so that's handy. I may use it.
  • Great News! (Score:3, Insightful)

    by RAMMS+EIN (578166) on Wednesday January 17 2007, @06:07AM (#17643964) Homepage Journal
    This is great news! Finally, there's an easy way to develop filesystems for multiple operating systems. Maybe I'll pick up my netfs project again now. Anyone working on porting FUSE to *BSD?
    • Re: (Score:3, Informative)

      I'm not sure about NetBSD and OpenBSD, but then fusefs support is already in FreeBSD.

      By the way, I have decided not to upgrade my OS X until Apple includes out-of-the-box sshfs (that's the one I used the most among those built on top of fuse) support into new version of the OS.
  • I use it everyday...

    # which mount_ntfs /sbin/mount_ntfs
    • by irgu (673471) on Wednesday January 17 2007, @06:39AM (#17644166)
      Mount_ntfs doesn't have full read/write possibility. NTFS-3G [ntfs-3g.org] has and it's commonly used on Linux.
    • Re: (Score:3, Informative)

      From the manpage, mount_ntfs(8) has significant limitations:

      There is limited writing ability. Limitations: file must be nonresident and must not contain any sparces (uninitialized areas); compressed files are also not supported.

      I can't seem to find a straight definition of "nonresident files" in the context of NTFS, but my best guess from glancing over google results is that "resident" files are ones which have their contents in a small block embedded in the inode itself. That'd be an o

  • Great! (Score:3, Informative)

    by jack_csk (644290) on Wednesday January 17 2007, @07:16AM (#17644334)
    I was waiting for the sshfs support on Mac OS X for a long time.
    Thanks Google, you did us OS X users a great favorite!
    • It's a great tool and one I have practical use for, but testing it out for work I've stumbled across what I consider to be an important issue. I've only tried SSHFS so far, and I haven't done any digging to see where the fault lies, but a dropped connection (either a dropped internet connection or an SSH session the server drops) really confuses the system. Messing about, I killed my internet connection during a read, and Finder hung until my the connection was restored. Another time, my session was killed
  • How about ext3? (Score:5, Interesting)

    by MMC Monster (602931) on Wednesday January 17 2007, @08:27AM (#17644848)
    How about ext3 support on Intel macs? I tried the sourceforge project about a year ago and it didn't work.
  • I love fuse it makes so many things so much easier.
    mainly I use "sshfs". but the biggest problem I have is the same problem I have with KDE-IOSlaves.
    is that you can't really chain them

    It makes it easy to Open a Zip/Rar file as a folder, and it makes it easy to treat an FTP server as a folder. but what about a Zip File on an FTP server?

    I just wish there was some easy way to allow the FTP/SSH file systems to recognize that a Zip File as folder.

    or chain to Zip with Encryption.
    or Encryption with Subversion.
    all at the file system level.
    any way thats my rant, but the FUSE effort is brilliant in general.
  • Cocoa Fuse GUI (Score:5, Interesting)

    by mgorbach228 (938559) on Wednesday January 17 2007, @12:07PM (#17648348)
    I'm working on a Cocoa GUI for FUSE (currently called MacFusion). The idea is that it loads plugins for supported filesystems (working right now on SSHFS, NTFS-3G and FTPFS at first). The plugins provide a configuration interface and code to mount/unmount. I'm hoping that this GUI will make FUSE goodness easily accessible to non-technical non-console people. In the future, it should be simple to support encfs, gmailfs, etc. This will be a FOSS project once a first build is ready. Anyone who wants to help is welcome, as are suggestions of any kind on the features/interface.
  • by Midnight Thunder (17205) on Wednesday January 17 2007, @12:58PM (#17649204) Homepage Journal
    On reading about this I decided to install it on my Mac and see what it gives. While a great advancement, this is still a work in progress and still very much something for people familiar with the command line. The aspect that would change all this the ability to use FUSE based FS URLs in the Finder ( known issue [google.com] ), though this seems to be a limitation based on some private APIs needing to be made public, which I hope Apple resolves.
    • Re:FUSE? (Score:5, Informative)

      by Ash-Fox (726320) on Wednesday January 17 2007, @05:02AM (#17643662) Homepage
      Can anone point out what 'FUSE' is?
      Runs filesystems in userspace.
      • Re:FUSE? (Score:5, Informative)

        by Paulrothrock (685079) on Wednesday January 17 2007, @09:19AM (#17645620) Homepage Journal
        I saw that definition when I first heard about FUSE and thought "Okay, so what's userspace?" For those who don't know: Userspace is the thing you're using right now. Rather than having the filesystem buried down deep in the bowels of the system, FUSE puts it above most of the stuff the OS does. That way, you can tell the OS things like "See those collection of Gmail messages to myself or RAR files or tarballs? That's a filesystem. You can move stuff onto and off of it just like another disk." FUSE is an easy, open source way of writing things that use unconventional storage methods for files.
    • Re:FUSE? (Score:5, Informative)

      by Zontar The Mindless (9002) <[ten.sdnimevih] [ta] [noj]> on Wednesday January 17 2007, @05:10AM (#17643696) Homepage
      Can anone point out what 'FUSE' is?---I know i am lazy, no need to state the obvious.


      Try http://fuse.sourceforge.net/ [sourceforge.net] - basically, when I hear of an Open Source project I've not heard of before, I just go to "nameofprojectgoeshere.sourceforge.net", and (more often than not) there it is. And there it was. :)

    • In layman's terms, FUSE is an operating system driver that allows you to use a regular application as a file system driver. i.e. Instead of installing a special kernel module or DLL file, you simply run an application. Since you can pass parameters to that application, it becomes ideal for tasks like mounting ZIP files or SMB shares. Basically, stuff that's very transient and could otherwise crash your system. In the case of FUSE, your system is protected against a crash in the same way it's protected again
    • Um... maybe by "last I checked" you mean the 1990s?

    • Re: (Score:2, Informative)

      I usually recommend ext2 on external disks that are to be used seamlessly between windows/linux/mac environments. Works like a charm! Ref. http://sourceforge.net/projects/ext2fsx/ [sourceforge.net] http://www.fs-driver.org/ [fs-driver.org]
    • Re: (Score:2, Informative)

      by Anonymous Coward
      Just go to sharing in system preferences and click for enable windows sharing.

      Job done. It even tells you where to point your windows pc to.
    • I use MacDrive6 on my Windows boxes and format all of my external drives as HFS drives. Now I have fully read/write capability on OSX, Linux and Windows, without the limitations of FAT32. It isn't free, but it certainly makes life easier when moving external drives between different OS's.
    • Macs running OS X have built-in Windows file sharing -- you can share files from the Mac and you can connect to Windows network-shares. Windows Active Directory and VPN might complicate things a bit, but offer no more problems from a Mac than they do from the average Windows PC.

      As for sharing an external hard drive, while Macs only read NTFS volumes, they can both read and write to FAT32 volumes which are compatible with Windows as well. There are, however, limitations to FAT32 such as the 2GB maximum file-
    • Re:good (Score:4, Funny)

      by MightyYar (622222) on Wednesday January 17 2007, @08:49AM (#17645122)
      The two worst-connected computers I currently use are my Mac Plus and my TRS-80. It seems like neither one will connect to Windows 3.0. I'm not even sure where I'm supposed to stick the ethernet thingy.

      Next time I'm buying the Commodore 128 or something else that can run GEOS!
      • That's the problem. (Score:4, Informative)

        by Kadin2048 (468275) <slashdot@kadin.xoxy@net> on Wednesday January 17 2007, @09:54AM (#17646178) Homepage Journal
        Sure, no writing, but that's why you convert all your drives to HFS+

        That's kind of a huge limitation. There are lots of times when you might want to share a drive back and forth between a Windows and Mac machine, and it's not possible or desirable to run MacDrive on the Windows side (and having for format the drive with FAT32 sucks mightily).

        Letting the Mac understand NTFS is a good thing, because it provides for more interoperability. The only downside to it, is that it might cause people to think of NTFS as a good inter-operable standard, rather than the disgusting, proprietary, Redmond Albatross that it is.

        Plus, being able to use SSH as a filesystem is pretty slick, and will probably get more use than the NTFS part. KDE's implementation of SSH-as-filesystem (called fish:// [kde.org]) is darned slick, and I've always thought that Apple was missing out by not having something like it.
        • Re: (Score:3, Informative)

          KDE's implementation of SSH-as-filesystem (called fish://) is darned slick, and I've always thought that Apple was missing out by not having something like it.

          FUSE isn't like it - in at least some ways, it's better. FUSE makes it work at the UN*X API level, which means that even non-KDE applications, such as grep, can use it.

          • Re: (Score:3, Informative)

            I think "works when SFTP won't" is the only other big advantage.

            I did some quick Googling on the subject of Fish versus SFTP, and apparently: "The fish kio...relies [only] on the ssh [server] providing a unix shell, then it uploads a simple server program written in perl. A beautiful hack and handy if sftp is not available on your ssh server, but nowhere near the performance or reliability of sftp." From here [ubuntu.com].

            So if the server you're connecting to supports SFTP, and you're only going to be doing file transfe
      • If you're not flamebaiting then you probably want a serious answer. My guess is twofold:

        - Mac has a culture of charging small amounts of money for software released commercially rather than open sourcing things (e.g. TextMate). This dates to before the OSX days.

        - People writing code for Macs tend to use Cocoa because its the easiest way to do it and this doesn't port easily to other systems.