***IMPORTANT***
  This package is renamed kernel-patch-fat-epoc. The old package, called
  kernel-patch-fat-old, should not be used anymore. The mount option for
  2.6 kernels, previously called `oldfat' is renamed `epoc'.
***IMPORTANT***


Introduction
------------

In the FAT standard the end of the directory file index is marked by 00.
All entries after it should be ignored. The current FAT implementation
ignores such marked entries, but continues scanning the directory. This
is good enough for most FAT implementations, because they also mark all
remaining entries after the last with a 00 byte.

The filesystem implementation of EPOC 5(MX) (and probably of newer versions
of EPOC) does not clear old entries after the end of the directory file
index. This means that without this patch, Linux will show old previously
deleted or even never assigned entries.

This patch will affect FAT-based filesystems. Examples are filesystems
of the type `msdos' or `vfat'.

The patch for 2.6 kernels is not active, unless you specify the epoc mount
option. For example:
    mount /dev/sda1 /mnt/psion-epoc -t vfat -o epoc

The patch for 2.4 kernels has some known issues. All FAT-based partitions
will use the new policy; there is no mount option. In most cases it should
work well enough; if you want to be completely safe, mount FAT-based
partitions read-only.


Applying the patches
--------------------

There are several patches included in this package:
	fat-epoc-2.4.20.diff		For any 2.4 kernel
	fat-epoc-2.6.0.diff		For 2.6.0 to 2.6.10 kernels
	fat-epoc-2.6.11.diff		For 2.6.11 kernels
	fat-epoc-2.6.12.diff		For 2.6.12, 2.6.13 and 2.6.14 kernels
	fat-epoc-2.6.15.diff		For 2.6.15 and newer kernels
Choose the patch that fits your kernel.

Now go to the kernel base directory (often called /usr/src/linux) and issue
the following command:
	patch -p1 -E < PATCHFILE
If you want to see what will happen without applying the patch, try:
	patch -p1 -E --dry-run < PATCHFILE
You may get a few messages about offsets; this is normal. But no fuzzy matches
should be reported, and certainly no rejects.

After this compile your kernel as usual.


Debian users
------------

There is also a Debian version of this package. If you install it, and compile
your kernel "the Debian way", the right patch will be applied automatically.
Get it at the same place as this package (see Contact). 


Contact and copyright
---------------------

    This package (kernel-package-fat-epoc or fat-epoc) is
    copyright (c) 2003-2007  Frodo Looijaard <frodo@frodo.looijaard.name>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

The GPL text can be found in the file COPYING.


The latest version of this package can be found on:
    http://software.frodo.looijaard.name/fat-epoc/

Contact the author (Frodo Looijaard) by mailing to:
    frodo@frodo.looijaard.name
