Re: kernel patch support large fat partitions

From: Andreas Dilger (
Date: Thu Jan 03 2002 - 19:24:36 EST

On Jan 03, 2002 15:42 -0800, Vijay Kumar wrote:
> This limitation is imposed by the data structures used by the linux fat
> implementation to read/write directory entries. A 'long' data type is used
> to access directory entries on the disk, of which only 28 bits are used to
> identify the sector that contains the directory entry and the rest 4 bits
> are used to specify offset of the directory entry inside the sector. Using
> 28 bits to identify a sector means we cannot access sectors beyond 128GB
> (2^28*512), thus limiting us from creating partitions larger than 128GB on
> large disk drives.

Some minor notes on your patch:
1) It appears you are running an editor with 4-space tabs, and as a result
   it has broken the indentation of some of your changes. This is easily
   seen when looking at the patch.
2) It is almost certainly wrong to use "loff_t" for an inode number. Maybe
   you could use "u64" instead? I also think that using "long long"
   explicitly is frowned upon.

> I have made changes to fat, vfat and msdos file system implementations in
> the kernel to use larger data types, thus allowing us to create larger
> partitions. As per the GPL I would like to make the patch available to
> everyone and also in case somebody has run into the same problem(who cares
> about fat in the linux world). The patch has been fairly well tested only
> on our systems(p3, 700MHz with FC). I truly appreciate if you & anybody in
> the kernel mailing list have any feedback about the changes.

Does this change the on-disk format for FAT at all, or is it merely a
kernel filesystem code issue? I think only the latter, but best to check.

Cheers, Andreas

Andreas Dilger

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to More majordomo info at Please read the FAQ at

This archive was generated by hypermail 2b29 : Mon Jan 07 2002 - 21:00:23 EST