Date: Sat, 26 Apr 2003 23:20:09 +0930 (CST) From: "Daniel O'Connor" <doconnor@gsoft.com.au> To: <freebsd-stable@freebsd.org> Subject: msdosfs vs 250Gb hard disk Message-ID: <1093.128.39.153.23.1051365009.squirrel@cain.gsoft.com.au>
index | next in thread | raw e-mail
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
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1093.128.39.153.23.1051365009.squirrel>
