msdosfs vs 250Gb hard disk
Daniel O'Connor
doconnor at gsoft.com.au
Sat Apr 26 06:50:17 PDT 2003
I am attempting to utilise a 250Gb Maxtor external Firewire drive. To
obtain maximum portability I would prefer to format it as FAT32 (it comes
formatted that way) - that way Windows, Linux and FreeBSD machines can
access it.
Unfortunately FreeBSD doesn't grok really large FAT32 partitions :( When I
attempt to mount it, I get ->
mountmsdosfs(): disk too big, sorry
The code in question..
if (pmp->pm_HugeSectors > 0xffffffff /
(pmp->pm_BytesPerSec / sizeof(struct direntry)) + 1) {
/*
* We cannot deal currently with this size of disk
* due to fileid limitations (see msdosfs_getattr and
* msdosfs_readdir)
*/
error = EINVAL;
printf("mountmsdosfs(): disk too big, sorry\n");
goto error_exit;
}
So, I am guessing that since fileid is only 32 bits wide the macro which
generates fileid values for FAT will generate too large a number to be
stored.
Does anyone have an idea how I can work around or fix this problem? FS
internals are not my cup of tea :)
I think I will just resort to splitting the disk in two, but it would be
useful to be able to use the disk as a big blob. (The wastage wouldn't be
too bad as it will almost certainly end up with a few big files on it)
Thanks in advance :)
---
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
"The nice thing about standards is that there
are so many of them to choose from."
-- Andrew Tanenbaum
More information about the freebsd-stable
mailing list