Please create an account to participate in the Slashdot moderation system


Forgot your password?

Linux Patch Clears the Air For Use of Microsoft's FAT Filesystem 272

Ars Technica is reporting that a new kernel patch may provide a workaround to allow use of Microsoft's FAT file system on Linux without paying licensing fees. "Andrew Tridgell, one of the lead developers behind the Samba project, published a patch last week that will alter the behavior of the Linux FAT implementation so that it will not generate both short and long filenames. In situations where the total filename fits within the 11-character limit, the filesystem will generate only a short name. When the filename exceeds that length, it will only generate a long name and will populate the short name value with 11 invalid characters so that it is ignored by the operating system."
This discussion has been archived. No new comments can be posted.

Linux Patch Clears the Air For Use of Microsoft's FAT Filesystem

Comments Filter:
  • by causality ( 777677 ) on Thursday July 02, 2009 @10:07AM (#28557189)
    When I read this my first impression, though admittedly not an informed one, was "you mean people pay to use FAT?" I wish patents were more like trademarks, where if you don't vigorously defend them and instead let them go for a while, you lose them and they become public domain. Wouldn't that be nice, to get rid of all these situations as well as all of the "submarine patents" in one fell swoop?
  • by daid303 ( 843777 ) on Thursday July 02, 2009 @10:13AM (#28557287)
    To allow USB drives, cameras, SD cards and more to work out of the box under Linux. With this patch you can distribute Linux without the fear of Microsoft suing you (like the did with TomTom)
  • The patents (Score:5, Informative)

    by Absolut187 ( 816431 ) on Thursday July 02, 2009 @10:15AM (#28557299) Homepage

    Two of the patents are:
    USPN 5,579,517 [] and USPN 5,758,352 []

    Claim 1 of the '517 patent reads:

    1. In a computer system having a processor running an operating system and a memory means storing the operating system, a method comprising the computer-implemented steps of:

    (a) storing in the memory means a first directory entry for a file wherein the first directory entry holds a short filename for the file, said short filename including at most a maximum number of characters that is permissible by the operating system;

    (b) storing in the memory means a second directory entry for a the file wherein the second directory entry holds a long filename for the file and wherein the second directory entry includes an attributes field which may be set to make the second directory entry invisible to the operating system and the step of storing the second directory entry further comprises the step of setting the attributes field so that the second directory entry is invisible to the operating system, said long filename including more than the maximum number of characters that is permissible by the operating system; and

    (c) accessing the first directory entry with the operating system.

    Claim 1 of the '352 patent reads:

    1. In a computer system having a storage, a directory service for accessing directory entries and a file system that uses the directory entries to access files, a method, comprising the computer-implemented steps of:

    (a) creating a first directory entry for a file wherein the first directory holds a short filename for the file and the location of the file;

    (b) creating a second directory entry for the file wherein the second directory entry holds at least one portion of a long filename having a fixed number of characters and a signature that identifies that the second directory entry holds a first portion of the long filename;

    (c) storing the first directory entry and the second directory entry on the storage among the directory entries used by the directory service; (d) accessing the second directory entry by the directory service to access the file; and (e) creating and storing in the storage a sequence of at least one additional directory entry for holding a next sequential portion of the long filename.

    It will be interesting to see what the Supreme Court has to say about the scope of patent-eligible subject matter in the upcoming Bilski case. It will probably be a year or two before we get a decision. []

  • by digitalunity ( 19107 ) <{moc.oohay} {ta} {ytinulatigid}> on Thursday July 02, 2009 @10:16AM (#28557321) Homepage

    FAT is hardly a submarine patent. MS has sued MANY manufacturers over their use of FAT in electronic devices and most companies end up reaching a licensing agreement and the lawsuit is dropped.

  • Media players. Hard drives, in computers where there are multiple OS's. Industrial equipment controllers. I bet you even some satellites use FAT.

    It's ubiquitous because it's simple and until the NTFS drivers were fixed(read:not trashing your data), FAT was one of the only convenient formats for sharing data between Windows and Linux.

  • by Absolut187 ( 816431 ) on Thursday July 02, 2009 @10:18AM (#28557349) Homepage

    Actually, patents expire 20 years from the filing date. This means that (A) they only last 20 years (with some possible term extension of a few years) and (B) "submarine" patents are basically a thing of the past.

    Under the old law, patents expired 17 years from issue so you could keep an application going with continuations for 20 years at the PTO and still have a 17 year term. Now if you kept an app going that long, you would come out with zero term.

  • by croddy ( 659025 ) on Thursday July 02, 2009 @10:32AM (#28557561)

    when you're setting up your own filesystems, however... just use ntfs-3g and fs-driver. problems solved. just don't forget to use mke2fs -I 128

  • by myxiplx ( 906307 ) on Thursday July 02, 2009 @10:37AM (#28557617)

    Actually, if you follow the links, it sounds like deliberate behaviour by Microsoft. If true Microsoft are asking for trouble with this. They change the behaviour for their own file system types, and generate an error for any other:

    Quoting from the site:

    "Currently it is not possible to start a program on Vista if UAC is enabled and the program's executable is stored on an Ex2/Ext3 volume. An "invalid parameter" message box appears, but the program does not start.

    UAC is the feature of Vista that prompts the user to elevate the user privileges to administrator level when necessary. UAC is enabled by default. It is not recommended to disable it.

    The problem is caused by Vista's internals: There is some code that compares whether the name of the file system type is one of the following: "NTFS", "FAT", "FAT32", "CDFS", "NPFS", "MSFS" or "UDF". If there is a match, it is one of Microsoft's file system types and a lot of code is skipped in the Multiple UNC Provider (MUP) implementation of Vista. If the file system type is a third-party type, for example "Ext2", some code runs in the MUP of Vista that always generates an ERROR_INVALID_PARAMETER error status code due to a bug of Vista."

    source: []

  • by Anonymous Coward on Thursday July 02, 2009 @10:40AM (#28557661)

    C# is an ECMA/ISO standard. Linux vfat drivers are reverse engineered.

  • by croddy ( 659025 ) on Thursday July 02, 2009 @10:41AM (#28557669)

    ext2fsd and fs-driver both work on vista. and they'll both mount my ext3 filesystems, as long as i formatted them with the right inode size.

    the issue you (eventually) link to basically says that all ext2/3 filesystems mounted on vista are the equivalent of noexec. i don't think it is accurate to describe that as a significant issue. i don't know many people who keep substantial quantities of windows executables on their linux drives. the permissions system on ext2/3 is totally wrong for windows anyway, so you'd never use it for, say, %ProgramFiles% or %SystemRoot%.

    do not disable UAC.

    the problem i have with vista's driver support is that on amd64 it requires them to be cryptographically signed by some sort of extortion outfit, or i have to press F8 F8 F8 F8 F8 F8 F8 F8 F8 F8 F8 up up enter every time i boot the system in order to get it to load the drivers i need.

  • by tchuladdiass ( 174342 ) on Thursday July 02, 2009 @10:51AM (#28557821) Homepage

    Yes, patents cover any imports. Also according to the statutes wording it is also a violation to manufacture, import, or distribute a kit composed of non-patented items if it violates a patent when assembled. So since the vendors have to include the source code, even if the code is compiled in such a way to avoid the patent the source itself would still be in violation of the patent statute. See US Code TITLE 35 PART III CHAPTER 28 S 271 (c). []

  • by Jesus_666 ( 702802 ) on Thursday July 02, 2009 @10:55AM (#28557871)
    There are plenty European software patents; they just don't have any legal backing.
  • by Anonymous Coward on Thursday July 02, 2009 @10:57AM (#28557893)

    FYI, we're dealing with


    issued in 1996 and 1998 respectively. (17 year expirations in 2013 and 2017, respectively.

  • by noname444 ( 1182107 ) on Thursday July 02, 2009 @10:57AM (#28557899)

    Sometimes though, when you think you're being all smart, and you've formatted your USB-drive to FAT so you can use it easily in both Linux and windows. Then you start copying your DVD images or mkv / x264 movies onto the drive. 4 GB later: "out of disk space". "Huh? But this USB stick is like 16 GB! wait... DOH!"

    The 4 GB file size limit can be a bit of a hassle at times.

  • Re:the 80's called (Score:3, Informative)

    by Jesus_666 ( 702802 ) on Thursday July 02, 2009 @11:00AM (#28557955)
    Come up with a replacement that allows reading and writing without any FS-specific actions to be taken by the user, has low administration overhead and has native first-class support by every operating system and we can talk about FAT being obsolete. Right now FAT32 is the most modern, most advanced file system in its class (the class of high-compatibility general-purpose filesystems, which consists entirely of FAT16 and FAT32).
  • by peppepz ( 1311345 ) on Thursday July 02, 2009 @11:21AM (#28558151)
    I use FAT on my usb keys only because I want to be able to use them from Windows machines.
    But in Windows Vista+ you can also format USB flash drives to UDF (you’ll have to use the command line FORMAT tool, the GUI frontend won’t show UDF as an option).
    When formatted in UDF, the drive’s performance improves dramatically: on my usb key, untarring the linux kernel and then deleting it changed from taking a few hours to taking a few minutes.
    UDF can be read/written under Linux and, unlike NTFS, it natively supports all UNIX features (including extended attributes), so for example you could boot Linux straight from a Windows-accessible USB drive without creating ext3 images on it, and without using userspace file system drivers.
    So it could be a nice solution for Linux/Windows interoperability... but sadly Windows stops liking UDF file systems if Linux creates files on them (I don’t know what exactly makes Windows upset; when it happens, Windows’ CHKDSK says the file system is OK).
  • by Anonymous Coward on Thursday July 02, 2009 @11:27AM (#28558217)

    C# is an ECMA/ISO standard. Linux vfat drivers are reverse engineered.

    So was RAMBUS [].

    It's called a "patent ambush"

    It's warm and I'm tired but I think it goes like this:

    Step 1. Join standards committee and learn all there is to learn about competitors
    Step 2. Patent something in such a way that you know your competitors infringe
    Step 3. Leave standards committee so you're no longer held by its rules
    Step 4. 15 years later ( 20 years), sue their pants off
    Step 5. ??
    Step 6. Profit!

  • by jonadab ( 583620 ) on Thursday July 02, 2009 @12:29PM (#28559157) Homepage Journal
    There are several reasons to want to use FAT:

    Multibooters store their files on FAT filesystems because they're supported by, in a word, everything. Want to share your files between FreeBSD, Linux, Windows, BeOS, and OS/2? FAT is your friend. I still keep most of my data on a vfat filesystem for this reason even though I haven't used Windows in aeons. When I switched from FreeBSD to Debian, I didn't have to worry about whether UFS support was included out of the box, or what package to install to get it, or whatever; all my data were on vfat, which is always available, always supported, on every OS.

    People who carry data around on portable disks also use FAT, in case they need to access it from a friend's computer, a computer at work, a computer at the library, or cetera, which may not have the same operating system they use at home. I carry around a small Flash-ROM-based USB 2.0 Mass Storage Device on a lanyard, which I have formatted vfat. If I need to copy files onto it from a computer that's running an old version of Debian with no NTFS read/write support, I can. If I need to take those files and copy them onto a computer that's running the Windows Seven RC, I can. If I'm at a relative's house and they want to see the photos that I've got on there, and their computer is a Mac, it's no problem.

    FAT is also simple, well documented, and well understood. If you're the sort of nerd who wants to reserve the possibility, in case anything goes wrong (say, an untimely power blink), of looking at the block device for the disk directly and *finding* that lost file, it's not very hard with FAT. (Yes, I actually did this a couple of times back in the DOS days. Successfully.)

    Finally, a lot of people have old disks sitting around, containing data they want to keep, on FAT filesystems in many cases.
  • Often, in this case, it's not just multiple OSes that need to access the filesystem, but also embedded devices. Think digital cameras, GPSes, that sort of thing, where the overhead of a journaling filesystem is pretty overkill, but it still needs to be accessed by full-blown OSes.

    FAT is perfect for those devices, due to its lack of features.

  • by spitzak ( 4019 ) on Thursday July 02, 2009 @12:53PM (#28559593) Homepage

    Wrong. vfat is not reverse-engineered. Microsoft documented it quite well enough to implement both it and FAT. You may be thinking of NTFS.

    Also nobody is concerned about the C# language itself, but about the *libraries* that programs use. You are basically claming that there is no problem cloning Windows because most software for it uses C++.

  • by jonadab ( 583620 ) on Thursday July 02, 2009 @12:54PM (#28559635) Homepage Journal
    A lot of UDF implementations don't support random access in write mode. Unless that changes, it's not really useful for most of the things FAT is used for. Needing to erase the whole filesystem and rewrite it every time you change a file is totally unacceptable for a lot of applications.
  • by Pentium100 ( 1240090 ) on Thursday July 02, 2009 @01:10PM (#28559977)

    Oh, and I forgot - NTFS has this "feature" called Alternate Data Streams that can be used to hide almost anything in such a way that is hard to find.

    Don't know what would be a legitimate use of ADS...

  • by RedK ( 112790 ) on Thursday July 02, 2009 @01:17PM (#28560143)
    It's funny, Ubuntu only offers these options when you choose Advanced mode for partitionning instead of "Let the installer do everything" mode. And then again, EXT3 is the default choice for a FS, so unless the user willingly tries to change it, he doesn't have to choose a FS. So no, he was a troll, you are a troll and the only reason Linux is failing hard on the desktop is because it's not Windows and people refuse to change their habits.
  • Actually, you don't even do that. Ubuntu found my NTFS partition without any help from me, and stuck it right on my 'Places' menu, mounting it in /media/disk when I open it, I think.

    Alternately, during the installation, I could have selected a path to have it permanently mounted to if I wanted to use it as part of the computer's regular file system, instead of just needing to sometimes copy file to or from Windows.

  • by ivucica ( 1001089 ) on Thursday July 02, 2009 @03:26PM (#28562611) Homepage

    Right, it's because people scare the shit out of them. It's because rarely they hear "Ubuntu installer can handle everything for you, just BE CAREFUL, or better, call me to install it." They hear "Reconfigure the kernel in order to turn on FFS filesystem support because vanilla Debian packages are not set up with it by default." or "You must edit /etc/X11/xorg.conf to get your ATI card to run because the open source drivers are broken. Just follow the tutorial!"

    ...and that advocate attitude, along with still-present non-cooperativeness of manufacturers, as well as numerous silly "fails" in Gnome and KDE design decisions or simply bugs in their code, is the reason why 2009, 2010 and 2011 won't be years of the Linux desktop.

    But I still love my XFCE+Gnome panel+Luna theme+XP icons mutant, because I'm a geek and because I can. Because I can do shit with Linux that Windows won't let me. Including designing my own login manager - work in progress, but will happen.

  • by croddy ( 659025 ) on Thursday July 02, 2009 @05:02PM (#28564309)
    imagine, for a moment, a system with both windows and linux installed on it. each OS wants to read the data stored by the other. ntfs-3g solves the problem in one direction, and 128-bit inode enable fs-driver to solve it in the other direction.

The last thing one knows in constructing a work is what to put first. -- Blaise Pascal