Slashdot Mirror


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

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."

36 of 272 comments (clear)

  1. Can someone explain to me why this is important? by BumbaCLot · · Score: 4, Interesting

    Is FAT used for anything other than USB drives?

  2. Patents and Trademarks by causality · · Score: 5, Informative

    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?

    --
    It is a miracle that curiosity survives formal education. - Einstein
    1. Re:Patents and Trademarks by HungryHobo · · Score: 5, Interesting

      You get my support if you add in something about a requirement that it should be possible to build a working example of whatever you're patenting using the patent documentation(you know, so that patents actually serve their stated purpose).

    2. Re:Patents and Trademarks by digitalunity · · Score: 4, Informative

      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.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    3. Re:Patents and Trademarks by causality · · Score: 4, Insightful

      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.

      Thank you for correcting my ignorance on this matter.

      Incidentally, the more I hear of things like this, the better I can understand why so many Europeans think it's absurd that the USA has software patents at all.

      --
      It is a miracle that curiosity survives formal education. - Einstein
    4. Re:Patents and Trademarks by The+Empiricist · · Score: 4, Interesting

      You can't claim any damages that occurred between your becoming aware of infringement and filing suit.

      Sure you can. You can claim damages for damages that occurred between your becoming aware of infringement and filing suit. However, the other side can raise laches as a defense. If you delayed unreasonably in taking action, then the judge might bar your claim to earlier damages.

      What is reasonable and what is not? You can't look at the patent statute to find out, laches are a judicial remedy for inequitable conduct. Thus, you have to go through Federal Circuit cases to find cases that are most similar (and probably distinguishable given a particular set of facts).

      It would probably get very complicated in case where a third-party has allegedly infringed for some time, but the patent owner sued (or countersued) a new alleged infringer based on recent conduct. If the patent owner did not plan on suing the third-party, then why is unfair to wait until the recent conduct before suing the new alleged infringer?

    5. Re:Patents and Trademarks by tchuladdiass · · Score: 4, Informative

      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).

  3. Is Microsoft engaging in their 90s behavior? by Ex-Linux-Fanboy · · Score: 5, Interesting

    As a long-time user of Linux who is currently using Microsoft Windows XP, the whole vfat (FAT with Win95 long file names) patent and how Microsoft has handled this patent makes me feel that maybe Microsoft is engaging in the same kind of monopolistic behavior that they engaged in when they destroyed Netscape in the 1990s.

    I'm sure people know about Microsoft's patent violation lawsuit against TomTom; if you don't the Wikipedia is your friend. What a lot of people don't know is that Microsoft made some changes to Vista so that you can no longer easily use an unpatented filesystem like ext2 (Linux's 1990s file system which nicely enough is supported in Windows with a couple of different 3rd party drivers).

    For me, it seems very suspicious that Microsoft made some changes to Vista that make it very difficult to use filesystems not patented by Microsoft around the same time they used licenses for their filesystems as a revenue source.

    I posted a blog about this back in March and to quote that blog entry:

    it can be shown, with Vista, that Microsoft removed compatibility for non-patented filesystems, forcing people to license Microsoft's patents, not because the patents are novel, but because the patented filesystems must be used for interoperability purposes

    1. Re:Is Microsoft engaging in their 90s behavior? by myxiplx · · Score: 5, Informative

      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 fsdriver.org 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: http://www.fs-driver.org/relnotes.html

    2. Re:Is Microsoft engaging in their 90s behavior? by MojoRilla · · Score: 4, Insightful

      The bottom line is that Microsoft is using its monopoly position as an operating system vendor to force third parties to license trivial but patented VFAT technology that is only useful for interoperability.

      If that isn't abuse of their monopoly, I don't know what is.

    3. Re:Is Microsoft engaging in their 90s behavior? by croddy · · Score: 5, Informative

      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.

    4. Re:Is Microsoft engaging in their 90s behavior? by sjames · · Score: 3, Insightful

      Ext2/3 supports the use of xattrs that are perfectly adequate for storing ACLs and other such. In fact, however rarely it is used, that's how ACLs are supported in Linux. xattrs are also used to store SELinux data.

      It is true enough that there probably aren't many windows .exes stored on ext2 other than for backup or sneakernet, but it does represent a needless limitation that appears to exist purely as an attempt to force 3rd parties to use MS's patented junk.

  4. Re:Can someone explain to me why this is important by daid303 · · Score: 3, Informative

    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)

  5. Re:Can someone explain to me why this is important by Daniel_Staal · · Score: 4, Insightful

    Is FAT used for anything other than USB drives?

    You say that like that's a small thing.

    --
    'Sensible' is a curse word.
  6. Comment removed by account_deleted · · Score: 5, Informative

    Comment removed based on user account deletion

  7. Re:Can someone explain to me why this is important by digitalunity · · Score: 4, Informative

    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.

    --
    You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
  8. Comment removed by account_deleted · · Score: 4, Informative

    Comment removed based on user account deletion

  9. Re:Who in their right mind would want to use FAT? by Tom9729 · · Score: 5, Insightful

    The reason that FAT is still around has more to do with compatibility than any kind of technical merit. Pretty much every version of Windows supports FAT, and most other operating systems can use it as well. I think most "smart" vendors have figured out that if they use FAT for their devices (music players, cameras, GPS units) then pretty much anyone will be able to use them. That's why it's important to have FAT support in Linux, no one is saying that you have to use it on your / partition though. :-)

  10. Re:Can someone explain to me why this is important by FlyingBishop · · Score: 3, Insightful

    Are you honestly that dense? That's like asking if CD drives are used for anything other than CDs.

    Flash drives have replaced floppies as the primary small rewritable data storage medium. Not supporting them is as egregious as not supporting DVDs, which incidentally have issues that are on sturdier legal ground.

  11. the 80's called by wardk · · Score: 3, Funny

    they want their obsolete file system back

  12. Re:Can someone explain to me why this is important by 91degrees · · Score: 3, Insightful

    Not much, but "USB Drives" covers a lot of devices. Most MP3 players and digital picture frames behave as USB drives, so do some satnav devices.

  13. MSFT can't give out VFAT, but can give out C#/Mono by phoxix · · Score: 4, Interesting
    One has to wonder if these are Microsoft's actions around something as simple as VFAT, why the f*** would we trust them with C# ??

    What am I missing here ?

    Will Groklaw one day be reporting about MSFT v. SPI ?

  14. Re:Who in their right mind would want to use FAT? by croddy · · Score: 3, Informative

    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

  15. Re:Can someone explain to me why this is important by AVee · · Score: 4, Funny

    Don't know about you, but I like my USB drives to be small things.

  16. Re:Can someone explain to me why this is important by cowbutt · · Score: 4, Interesting

    Hopefully, soon, we can start using UDF instead of FAT. Cross-OS compatibility is pretty much there, though FAT's support is still the most broad.

  17. I predict incompatabilities by asdf7890 · · Score: 3, Insightful

    This sounds dangerous to me. What if someone uses this to write to an SSD card that they plug into some cheap portable device (a media player for example) that doesn't implement the "standard" properly and gets confused by the data in the short filename when a long one is present? Or refuses to read half the files because it only likes short names (some cheap Chinese import MP3 players just use the short filename in displays) and half the files have names too long? The user won't blame their crap cheap little portable device they paid $3 for on eBay, they'll blame that there Linux thing because their copy of Windows can write things so the player understands.

  18. Re:Who in their right mind would want to use FAT? by noname444 · · Score: 3, Informative

    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.

  19. Have you ever tried UDF on a USB flash drive? by peppepz · · Score: 5, Informative

    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).

  20. Bad idea by marcansoft · · Score: 3, Insightful

    This will break the myriad of read-only implementations out there that only use short names, which is a lot more than you'd think. This means this can't be enabled by default on your average Linux.

    It might help TomTom and the like, but it's not a cure for the patented portions of FAT. It's just a hack that might help some specific implementors. Kudos to the kernel developers for doing their best, but the real solution is to get the bogus patents invalidated.

  21. Re:It's time to show MS the power of *nix by Rockoon · · Score: 4, Funny

    Let me guess.. you are in your teens/early 20's..

    You do realize that in the real world people play the prisoner's dilemma, right?

    --
    "His name was James Damore."
  22. Be nice. by commodoresloat · · Score: 3, Funny

    It's not FAT; it's just big-boned.

  23. Re:Can someone explain to me why this is important by commodoresloat · · Score: 4, Funny

    Don't know about you, but I like my USB drives to be small things.

    Then why would you want them to be FAT?

  24. Re:Who in their right mind would want to use FAT? by jonadab · · Score: 3, Informative

    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.

    --
    Cut that out, or I will ship you to Norilsk in a box.
  25. other means of avoidance? by arkarumba · · Score: 3, Insightful

    (SFNDE = Short File Name Directory Entry)
    .
    Regarding the patent filed in 1993.
    .
    It seems that the aim is to implement a "different idea" than that expressed in Figure 6b. (free rego at freepatentsonline to see original PDF with figures)
    .
    What about all the references to "short filename including at most a maximum NUMBER OF CHARACTERS THAT IS PERMISSIBLE BY THE OPERATING SYSTEM."
    Is the Linux Operating System limited to a only of 8.3 characters? To that effect, why does this patent apply to Linux at all?
    .
    I can't quite remember my history, but weren't long filenames (LFN) introduced with Windows 95 in 1995? Wasn't Win95 just a GUI layer on top of DOS and so bound by the filename length contraint of the DOS "OPERATING SYSTEM"? Wasn't it actually the Win95 GUI that interpreted and displayed the LFN?
    Isn't Linux access to FAT different?
    .
    Even though the FAT filesystem was limited to 8.3 characters, don't you think that DOS was "hardcoded" to 8.3 characters. Thus it was a constraint of the "Operating System" that this patent was addressing. The Linux situation seems completely different. Linux does not have this constraint, thus the Linux "idea" for implemeting dual directory entries is different than the "idea" for Windows GUI on DOS as expressed in the given patent - ie thus the "idea" for Linux is compatability, whereas the "idea" for Windows was to get around the 8.3 constraint.
    .
    Fig 2 shows LFNDE alongside SFNDE. Is that required technically for compatability, or can they be stored apart?
    Alternatively ONLY create long filename, then have some sweeper task come along and create the short filenames from the long ones.
    .
    It talks about only creating a LFN when it is longer than 8.3.
    Well then, create a LFNDE "EVERY TIME".
    .
    The patent says "At a minimum, a short filename will be created."
    Have linux do it differently, at a minimum create both a long and a short filename.
    .
    The patent describes using "both SFN APIs and LFN APIs".
    Does linux have both or does it do it "differently" with just LFN APIs?

  26. The best solution for whom? by DaveV1.0 · · Score: 3, Insightful

    It looks like someone has forgotten that what is good for one's self is not necessarily good for everyone else.

    The Linux Foundation says that the best solution at this point is for vendors to ditch FAT and come up with a new vendor-neutral format that can be used without having to pay licensing fees.

    An industry-wide shift towards an open royalty-free format in the hardware space could potentially liberate device makers from this dependence on Microsoft's encumbered technology.

    It may be the best solution for Linux advocates, but it is probably not the best solution for the device manufacturers. 90% of their market uses Windows. If the manufacturers moved to a "new vendor-neutral format", they would break the automatic compatibility with 90% of their market and they would also have to ship driver disks to install the drivers needed to read and write the new format with every device. This would increase the cost of manufacturing and packaging as well as make it harder to use the devices.

    Perhaps Linux supporters should stop being so self-centered and start thinking of the larger picture before making such statements.

    --
    There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
  27. Re:May I be the first to say... by MoxFulder · · Score: 4, Insightful

    Hmm, I'm not so sure this is a good idea.....

    How do simpler devices that write to FAT deal with it?

    cameras, pdas, etc

    All modern PDAs can typically deal with long filenames fully, so no problems there. They would read the long filenames properly from a FAT disk created with this Linux patch.

    Digital cameras typically use short filenames exclusively (e.g. IMPC1234.JPG). They mostly only write files and don't read files other than those that they've created themselves. This patch doesn't affect filename reading, only filename writing, so cameras would work okay too.

    MP3 players typically deal with long filenames as well, so no problems again, hopefully... as long as they obey the specs for reading FAT partitions.

    So this patch should not interfere much with interoperability with modern accessory/embedded devices. Of course, the patch does remove some functionality... namely the ability to create nicely matched short filenames when you're also creating a long filename. But I do believe it's a fairly clever way to avoid this bullshit patent while maintaining interoperability.

    It's important to understand that this patch DOES NOT permanently remove any functionality from the Linux kernel. It merely provides a kernel config option to disable full FAT operation. Depending on your jurisdiction/comfort level/Microsoft-hatred/etc. you can choose to enable/disable the patch.