Subject: Re: 2.0 and >2T filesystems
To: None <tech-kern@NetBSD.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
Date: 11/24/2005 06:12:28
> Correct, ffsv1 should supports filesystems with > 2^32 sectors
> provided the number of fragments is below 2^32 (or maybe 2^31).
Then there exists at least one bug. :-) "My" filesystem has 4K frags,
which means its limit should be 16T (or maybe 8T). It was well under
3T, and yet it had issues. (FFSv1 works fine with sub-2T filesystems,
as far as I can tell, after applying the patch mycroft created back
when I reported the issues to the list.)
My first guess would be that the problem lies with code like
"fsbtodb(di->di_db[x])" which, because fsbtodb is a macro and thus does
not have the argument-promotion semantics of the function it looks
like, needs to be something more like
"fsbtodb((u_int64_t)di->di_db[x])" to make it 32-bit-clean.
I'm doing more tests. But they're slow - slinging multiple terabytes
around is - so it'll be a while before I have any results.
/~\ The ASCII der Mouse
\ / Ribbon Campaign
X Against HTML firstname.lastname@example.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B