Subject: Re: 2.0 and >2T filesystems
To: None <tech-kern@NetBSD.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-kern
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	       mouse@rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B