Case-Insensitive ext3 filesystem for Linux 2.6.32

Written by William Herrin, 3/2005
Last modified 11/2011
Released to the public domain.

Source: http://bill.herrin.us/freebies/
Contact: herrin@dirtside.com

The ext3ci software creates a new "ext3ci" driver for Linux 2.6 based on the
ext3 driver. The ext3ci driver differs from ext3 in that it is Case
Insensitive. That is, a=A, b=B and so forth. This is known to work with
Linux 2.6.32.59, but should work with any 2.6.32 series kernel.

Why: Your Windows customers have a hard enough time figuring out how to use
FTP to upload files to the web server. Introducing them to the idea that "a"
is as different from "A" as it is from "Z" is asking for trouble. Why not
eliminate the problem at the source?


To use the driver in your source tree:

mkdir linux/fs/ext3ci
cp ext3ci-sed-2.6.* linux/fs/ext3ci
cd linux/fs/ext3ci
./ext3ci-sed-2.6.sh
cd ../..
make menuconfig

Under Filesystems, enable both "Second extended fs support" and
"Case Insensitive Ext2 fs support" as compiled-in modules. Then, compile the
kernel the usual way.

Note: This code has not been tested as a module.

To use the driver, create a normal ext3 filesystem and:
mount -t ext3ci /dev/hda1 /mnt

In /etc/fstab, simply replace "ext3" with "ext3ci".


Some additional notes:

  The quotatools software does not recognize the ext3ci filesystem. If you
want to use quotas with ext3ci, apply ext3ci.quotapatch to your quotatools
software and recompile it.

  I don't know how it is on all Linux distributions, but Debian and SuSE
expect to find files named "/sbin/fsck.filesystem" in order to perform
checks against filesystems in /etc/fstab. Use
"ln -s fsck.ext3 /sbin/fsck.ext3ci" to make this work.  



Release notes:

2005/03/30 - First release for kernel 2.6 prepared against v2.6.11
	Kernel boots. Simple tests against a filesystem mounted as ext3ci
	work fine. Not thoroughly tested beyond this, but it has
	barely changed since 2.4, so it should still work.

2011/11/14 - Release for kernel 2.6.32.
	Kernel boots. Simple tests against a filesystem mounted as ext3ci
	work fine. Runs on bill.herrin.us web server without apparent
	difficulty. Not thoroughly tested.

