Subject: fat32 size limitation notes [was Re: large inode numbers]
To: Jason Thorpe <thorpej@wasabisystems.com>
From: Darrin B. Jewell <dbj@NetBSD.org>
List: tech-kern
Date: 12/18/2003 00:59:02
Jason Thorpe <thorpej@wasabisystems.com> writes:
> Even WinXP seems to disallow FAT file systems of > ~30G (I don't
> remember the exact number, but I had to do a multiple partition dance
> on an external Firewire drive that my wife wanted to use to use on
> both her PC and Mac laptop to store Photoshop files...)
FWIW I gathered the following notes when I had to do pretty much
the exact same dance (with similar motivations) a few months ago.
Microsoft articles Q184006 and Q314463 discussus fat32 limitations
on microsoft software:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;314463
http://support.microsoft.com/default.aspx?scid=kb;EN-US;184006
(I think the ultimate limit is approximately 8 terabytes)
Last time I tried to mount a large (250GB) fat32 filesystem on netbsd,
I ran into two different problems.
1. There's a size check and comment on line 512 of msdosfs_vfsops.c:
if (pmp->pm_HugeSectors > 0xffffffff / dirsperblk + 1) {
/*
* We cannot deal currently with this size of disk
* due to fileid limitations (see msdosfs_getattr and
* msdosfs_readdir)
*/
error = EINVAL;
goto error_exit;
}
2. our implementation of fsck_msdos attemps to load the entire file
allocation table into memory and then work on it. This becomes
impractical on large filesystems.
Darrin