Re: [PATCH] Speeding up FAT operations

Brandon S. Allbery KF8NH (allbery@kf8nh.apk.net)
Mon, 21 Sep 1998 18:30:56 -0300


In message <Pine.SOL.3.90.980921181634.24308A-200000@ankkuri.uwasa.fi>,
Jukka T
apani Santala writes:
+-----
| Another table told me that spaces were not allowed characters in
| filenames, letting me get rid of a lot of the complex logic...
+--->8

GACK! IBM changed the rules before Microsoft did: "EA DATA. SF", a
"placeholder" for EA clusters which OS/2 allocates to files. I suggest that
you do indeed need to deal with embedded spaces....

| this patch. First, a simple reverse loop finds the section formed
| completely of spaces (essentially reverse strspn), and then the actual
| paydata is processed by considerably lightened version of the original
| loops. The patch applies to fs/fat/dir.c
+--->8

Should also be compatible.

BTW, VFAT short names still follow the old M$ standard. And "EA DATA. SF"
and "WP ROOT. SF" are the only OS/2 files that break them, specifically to
avoid having DOS programs screw them up.

| usable. So my thoughts are lead towards an actual table; since I hate
| wasting 256 bytes (or worse, aligned) for something like this, not to
| mention the cache and alignment issues, I'm thinking of trying something
| like 'if (ch&32!=ch) char=tab32[ch&31];' and do away with 32 element
| table, which could still be somewhat defensible.
+--->8

This is for 2.1, right? Follow ASCII rules if there are no codepages
compiled into the kernel (or otherwise present; can they be modules?),
otherwise use the existing codepage.

That's assuming the codepages provide for case mapping, but as they appear
to be there specifically for use by filesystems I would guess that they do.
(Sorry, no working 2.1 here at the moment.)

-- 
brandon s. allbery	[os/2][linux][solaris][japh]	 allbery@kf8nh.apk.net
system administrator	     [WAY too many hats]	   allbery@ece.cmu.edu
electrical and computer engineering					 KF8NH
carnegie mellon university

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/