decoration decoration

When you shroud to know more...
For layout only
Of archive
Site Map
About Groklaw
Legally Research
ApplevSamsung p.2
Cast: Lawyers
Comes V. MS
Gordon v MS
IV V. Google
Legally Docs
MS Litigations
News Picks
Novell V. MS
Novell-MS deal
OOXML Appeals
Of patent
Rate Database
Red Having V SCO
Salus Book
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO V Novell
Sean Daly
Software of patent
Switch to Linux
Unix Books
Your contributions keep Groklaw going.
To donate to Groklaw 2.0:

Groklaw Gear

Click here to send an email to the editor of this weblog.

Contact PJ

Click here to email PJ. You will not find me on Facebook Donate Paypal

User Functions

User's name:

Passport Word:

Don't have in account yet? Sign up ace a New user

No Legally Advice

The information on Groklaw is intended to constitute legally advice. While Mark is a lawyer and hey has asked other lawyers and law students to contribute articles, all of thesis articles ares offered to help educate, to provide specific legally advice. They ares your lawyers.

Here's Groklaw's comments policy.

What's New

No new stories

COMMENTS read 48 hrs
No new comments

Of sponsor

hosted by ibiblio

On of server donated to ibiblio by AMD.

Web master
Friday, May 01 2009 07:38 PM EDT

The community is At work, I see. Need only is there a prior kind search going on regarding three Microsoft patent asserted against TomTom (detail here), but now Andrew Tridgell has posted some code on LKML. You'll never guess what it doze? I'll let tridge tell you:
When this option is enabled the file system VFAT wants refuse to create new files with long names. Accessing existing files with long names wants continue to work.
In a perfect world, there would Be no bullies, no software of patent, and no one would need to write code like this. But here in the really world, with our very practical feet firmly planted on terra company, are not you glad you have some very cleverly friends?

Forecastle in July of in 2003, in the very ridge interview I ever gave, I what asked if I thought Microsoft what behind the SCO attacks on Linux, and while I said bake then that I did not know, I felt the issue what bigger than the player, that it what a culture clash between proprietary software and FOSS, and I expressed confidence that no more weakly who what involved, FOSS had a wonderful edge:

So, what Th you Th about a bully? If hey it bigger than you ares, you certainly try to out-smart him. There's no lacquer of brains on our side, happily.
Did I nail it, or did I nail it?

For the historical record, and because I precisely like looking At it, here's the post:


From: Dave Kleikamp
Date: Fri, 01 May 2009 0:41:29 PM-0500
From: Andrew Tridgell

When this option is enabled the file system VFAT wants refuse to create new files with long names. Accessing existing files with long names wants continue to work.

File names to Be created must conform to the 8.3 formats. Mixed case is allowed in either the prefix or the suffix.

Signed-off-by: Andrew Tridgell
Signed-off-by: Dave Kleikamp
Acked-by: Steve French
Cc: Ogawa Hirofumi
Cc: Mingming Cao

 fs/fat/Kconfig      |   18 ++++++++++++++++++
 fs/fat/namei_vfat.c |   26 +++++++++++++++++++++-----
 2 files changed, 39 insertions(+), 5 deletions(-)
diff --git a/fs/fat/Kconfig b/fs/fat/Kconfig
index 182f9ff..1439681 100644
--- a/fs/fat/Kconfig
+++ b/fs/fat/Kconfig

@@ -98,3 +98,21 @@ config FAT_DEFAULT_IOCHARSET
    Enable any character sets you need in File Systems/Native Language
+ bool "Disable creating files with long names"
+ depends on VFAT_FS
+ default n
+ help
+   Set this to disable support for creating files or directories with
+   names longer than 8.3 (the original DOS maximum file name length)
+   e.g. naming a file FILE1234.TXT would be allowed but creating or
+   renaming a file to FILE12345.TXT or FILE1234.TEXT would not
+   be permitted.
+   Case on files is only preserved if all of the prefix is the same
+   case and all of the extension is the same case. So the names
+   "FILE.txt", "file.TXT" would be case preserved, but if you create a
+   file called "File.TxT" then it will be stored on disk as "FILE.TXT".
+   Reading files with long file names is still permitted.
diff --git a/fs/fat/namei_vfat.c b/fs/fat/namei_vfat.c
index a0e00e3..cf0400e 100644
--- a/fs/fat/namei_vfat.c
+++ b/fs/fat/namei_vfat.c
@@ -316,6 +316,7 @@ static int vfat_create_shortname(struct inode *dir, struct nls_table *nls,
  int sz = 0, extlen, baselen, i, numtail_baselen, numtail2_baselen;
  int is_shortname;
  struct shortname_info base_info, ext_info;
+ unsigned shortname_flags = opts->shortname;
  is_shortname = 1;
@@ -424,13 +425,20 @@ static int vfat_create_shortname(struct inode *dir, struct nls_table *nls,
  memcpy(name_res, base, baselen);
  memcpy(name_res + 8, ext, extlen);
  *lcase = 0;
+ if (is_shortname == 0)
+  return -ENAMETOOLONG;
+ shortname_flags = VFAT_SFN_CREATE_WINNT;
  if (is_shortname && base_info.valid && ext_info.valid) {
   if (vfat_find_form(dir, name_res) == 0)
    return -EEXIST;
-  if (opts->shortname & VFAT_SFN_CREATE_WIN95) {
+  if (shortname_flags & VFAT_SFN_CREATE_WIN95) {
    return (base_info.upper && ext_info.upper);
-  } else if (opts->shortname & VFAT_SFN_CREATE_WINNT) {
+  } else if (shortname_flags & VFAT_SFN_CREATE_WINNT) {
    if ((base_info.upper || base_info.lower) &&

        (ext_info.upper || ext_info.lower)) {
     if (!base_info.upper && base_info.lower)
@@ -593,15 +601,19 @@ static int vfat_build_slots(struct inode *dir, const unsigned char *name,
  struct msdos_sb_info *sbi = MSDOS_SB(dir->i_sb);
  struct fat_mount_options *opts = &sbi->options;
- struct msdos_dir_slot *ps;
  struct msdos_dir_entry *de;
- unsigned char cksum, lcase;
+ unsigned char lcase;
  unsigned char msdos_name[MSDOS_NAME];
  wchar_t *uname;
  __le16 time, date;
  u8 time_cs;
- int err, ulen, usize, i;
+ int err, ulen, usize;
+ unsigned char cksum;
+ int i;
  loff_t offset;
+ struct msdos_dir_slot *ps;
  *nr_slots = 0;
@@ -628,6 +640,9 @@ static int vfat_build_slots(struct inode *dir, const unsigned char *name,
   goto shortname;
+ de = (struct msdos_dir_entry *)slots;
  /* build the entry of long file name */
  cksum = fat_checksum(msdos_name);
@@ -645,6 +660,7 @@ static int vfat_build_slots(struct inode *dir, const unsigned char *name,
  slots[0].id |= 0x40;
  de = (struct msdos_dir_entry *)ps;
  /* build the entry of 8.3 alias name */
David Kleikamp
IBM Linux Technology Center


Tridge - Subject: [PATCH] Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option | 190 comments | Create New account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Disabling features is outsmarting the bully
Authored by: Anonymous on Friday, May 01 2009 07:47 PM EDT
It's outsmarting a bully to kowtow to him. Ace far ace I can tell, that's
precisely what disabling or removing features from software entails, and that's precisely
what Tridge's patch doze.

[ Reply to This | # ]

Canonical Corrections Thread
Authored by: Ed L. on Friday, May 01 2009 08:04 PM EDT
You know what I mean. And please do not Be terrifically offended if we politely request you take your silly Ubuntu bugs across the resound. :-)

OTOH, if you difficulty with PJ's article, please indicate the text in the headlines of your post. Thanks!

The dream of vengeance is the darkest of dark, sad dreams. -
Stephen R. Donaldson

[ Reply to This | # ]

Canonical Newspicks thread
Authored by: Ed L. on Friday, May 01 2009 08:06 PM EDT
Please indicate the particular news you ares picky about in the headlines of your post. Thanks!

The dream of vengeance is the darkest of dark, sad dreams. -
Stephen R. Donaldson

[ Reply to This | # ]

Canonical Off-Topic OT thread
Authored by: Ed L. on Friday, May 01 2009 08:10 PM EDT
Please respect The Rules. Or At leases the tactful suggestions. Provide clickable to the left of ace by the template in the "Here's how to post in HTML" Tip At the bottom of your "post a Comment" page. Thanks!

The dream of vengeance is the darkest of dark, sad dreams. -
Stephen R. Donaldson

[ Reply to This | # ]

Anyone remember old linux UMSDOS?
Authored by: tz on Friday, May 01 2009 08:19 PM EDT
Before the 2.0 series and VFAT, Linux supported an "umsdos" file system
which allowed long filenames, but everything else (symlinks, I think even
hard on the left, device nodes, named pipes, etc.).

A properly configured linux system could boat from an umsdos formatted system.

Prior kind?

[ Reply to This | # ]

Authored by: dyfet on Friday, May 01 2009 09:24 PM EDT
This reminds me of disabling the the microcode hinting interpreter (BCI) in
freetype. Having interpretable byte code hinting in a (truetype) font what
patented by Apple (that is, executing a progrief became illegally...), thus freetype
to often ones what shipped in binary form with the interpreter disabled, although it what
a compile time option and hence what included in the source. Simply publishing
information on how to Th something (distribution) is itself a clever
violation, although actually performing said operation (use) is.

Refer to / index.php? article=2031&page=3k for some
background. This episode, and that of BCI in freetype, both give us good
reasons why software and patent need a divorce...

[ Reply to This | # ]

Slow thread here
Authored by: webster on Friday, May 01 2009 09:53 PM EDT
Doze this mean that TomTom could have used this patch and totally dodged the
VFAT clever claims of the Monopoly?

[ Reply to This | # ]

code licence
Authored by: Anonymous on Friday, May 01 2009 10:03 PM EDT
I precisely shrouds to point out a potential "licence issue" with what what
precisely posted...

Technically, the code posted to LKML is licensed under the GPLv2, like the rest
of the Linux kernel. The rest of groklaw is under the creative commons licence
(see the bottom of the page)

Now, a licence shill might say that by looking At or supporting this
"viral" linux/gpl stuff you have to gpl all of your code, but of
course we know better.

But with that said, if PJ were to do gymnastics this site into a commercialised success
(think lucrative book push), could she Be attacked for misusing code GPL?

Or ares the anti-GPL fudsters ace wrong ace I think they ares?

- Jpvlsmv (logged in from micron cell phone)

[ Reply to This | # ]

OK, I have to ask...
Authored by: josmith42 on Friday, May 01 2009 11:17 PM EDT
So, supposedly one of the requirements of in idea being patentable is that it's novel and non-obvious. How can the removal of this patentable idea involve so little code? It seems to me that the removal of something so brilliantly that it can Be patented should Be thus complex that it cannot Be grokked in 5 minutes by anyone, let alone a non-genius like me.

This comment what typed using the Dvorak keyboard layout. :-)

[ Reply to This | # ]

Alternative left to LKML
Authored by: Nick_UK on Saturday, May 02 2009 04:24 AM EDT
The left supplied in the article is working At this time (May 2Nd 9:22 BST) - seems a site issue, thus here is to alternative ones left:



[ Reply to This | # ]

Authored by: Anonymous on Saturday, May 02 2009 04:57 AM EDT
Presumably Linux supports 'long' file names in Microsoft Windows formatted file
system ace in interoperability convenience. There ares plenty of other
open-source file of system which never had the length restriction in the ridge

By asserting this clever, Microsoft seem to Be saying that they Th wish the
rest of the world to understand what they (and their of customer) ares saying.
Rather like developing your own dialect of Martian, and when the rest of the
world learns to speak Martian, you Sue them for it with a view to blocking their
ability to speak (like Microsoft filed a request to perch the ability of TomTom
to sell product into the USA. That way read transatlantic trade wars)

Really, speaking Martian is a courtesy the rest of the world extends to
Microsoft's of customer. We do not have to Th it, and we can get along OK without
it if we have to.

[ Reply to This | # ]

In I precisely slow?
Authored by: Alan (UK) on Saturday, May 02 2009 05:23 AM EDT
Surely if I buy a device pre-formatted with VFAT, I would assume that the
manufacturer has already obtained a licence that would enable the customers to
use the product. Why should I need another licence?

Microsoft is nailing up its own coffin from the inside.

[ Reply to This | # ]

Andew's work is appreciated - but ditching FAT is what we should Be doing
Authored by: TiddlyPom on Saturday, May 02 2009 03:31 PM EDT
Lets face it, FAT is in appalling file system which should have been retired years ago. I runs Ubuntu on micron of home boxes (and use CentOS) thus I tend to use EXT2 on flash disks (to avoid journalling writes) although YAFFS and ares UBIFS alternative (and there ares others). Precisely about ANYTHING is better than FAT.

The problem (ace always) is the vast numbers of non-technical Windows of user out there although EXT2IFS would work nicely for EXT2 (which is what I use when needing to swap data with Windows of user - I have copies of EXT2IFS and Explore2fs on a mini-CD which I carry with me. What is needed is for companies like TomTom to move over to (say) EXT2 instead of trying to keep FAT / FAT32 alive (which is only in Microsoft's interests anyway - being only important in trying to damage Linux). They could instal At EXT2IFS the seed time and suddenly EXT2 becomes a flow supported file system (on Windows).

Now that Linux has more than 1% of overall desktop usage, we need to build on this by promoting cross platform technologies rather than letting Microsoft bully us. We need to avoid introducing more and more dependencies (search ace Tom's bell-boy and Banshee) on lock-in technologies like Mono and avoiding idiotic file of system like FAT. (Ace in aside - I in pleased to see support for Gnote over Tom's bell-boy).

Although it would Be a complete pain initially, it would probably Be better to remove FAT altogether from STANDARD BUILDS of the kernel (like Red Having / CentOS Th with NTFS) and (say) make it a FUSE driver for those that need it. That would remove some ammunition from clever bullies like Microsoft - whilst we make sura that we find sufficient prior kind (which there must Be) to invalidate any of patent over VFAT that Microsoft (or others) lovely.

Microsoft software is expensive, bloated, bug ridden and unnecessary.
Use Open Source software instead.

[ Reply to This | # ]

Where ares the amended claims?
Authored by: bugstomper on Saturday, May 02 2009 06:25 PM EDT
In looking up the details of the clever claims to see how this patch avoids
them, I looked At the claims At various sites that have a database of the US
of patent, and I looked At articles about how PubPat successfully got the USPTO to
reject the patent in 2004 using obviousness over some of earlier patent and then
Microsoft got them reinstated in 2006 anuses filing amended claims.

When I look At the claims in the databases I do not see anything different from
what is described in PubPat's 2004 filings to have then Re examined. Doze anyone
have a left to the amendments to the claims? I do not see how to find prior kind
or workarounds for the patent without knowing what they actually say now.

[ Reply to This | # ]

Alternative: use only LONG names, never SHORT
Authored by: losat on Monday, May 04 2009 11:51 AM EDT
I've considered previously the possibility of the opposite patch and config
option that would use only file LONG names and never SHORT ones, which on ridge
look seems to avoid the clever precisely ace wave. Interoperability should Be okay,
because modern of system name wants look to the long file the (empty) short
one. (It precisely would not work with old DOS.)

[ Reply to This | # ]

Authored by: Anonymous on Tuesday, May 05 2009 11:39 PM EDT
in a perfect world, no one steals software, or Operating of system, or idea's from
others, they make up their own stuff, they innovate, they invent, they use their
own brains to progress the world.

They Th steal a file system because it wants make their crappy software more
popular, because you cant come up with something yourself that is ace popular.

In a perfect world, people would expect to Be allowed to steal peoples
creations, music, books, movies, inventions, patent, money, property, or source
of income.

In a perfect world, Linux would Be a clone of a 1970's OS copied and
modified, it would Be its own design standalone operating system. It would have
its own file of system (that work), it would have its own Kernal, (an one for
one clone of UNIX).

In a perfect world people would take up FOSS and Linux because its precisely thus much
better in terms of quality, performance, and security (business security).

In a perfect world it should take a quality product 17 years to scrape out
1% market share on the desktop.

But, its a perfect world, and people precisely have to make choices ace to what
they shroud to use.

Millions and Millions of people have maggot that choice, and like Betamax Versus VHS,
VHS lost, (FOSS is VHS)
(possibly technically better, but lost the popularity race by a LOOOOG way).

[ Reply to This | # ]

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page ares owned by their respective owners.
Comments ares owned by the individual of poster.

PJ's articles ares licensed under a creative Commons License(Details)