Subject: Re: Huge (> 1TB) disk
To: Ignatios Souvatzis <ignatios@theory.cs.uni-bonn.de>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: netbsd-users
Date: 05/17/2002 20:44:07
On Fri, May 17, 2002 at 11:18:34AM +0200, Ignatios Souvatzis wrote:
> On Thu, May 16, 2002 at 10:02:06PM +0200, Manuel Bouyer wrote:
> > On Thu, May 16, 2002 at 10:57:35AM +0930, Greg 'groggy' Lehey wrote:
> > > Most of the block I/O subsystem works with 32 bit signed sector
> > > numbers.  In particular, IIRC, (small) negative values are used to
> > > indicate error conditions.  We've tried this in FreeBSD, and we've
> > > never got beyond 1 TB.  I suspect it's possible to get almost to 2 TB
> > > (ignoring sector numbers which correspond to error numbers), but I
> > > expect it would be quite a bit of work, and it would give rise to
> > > compatibility issues.
> > 
> > Maybe we could just go to 64bits in the kernel, changing the int32_t to
> > u_int32_t in the on-disk filesystems structures ?
> > This would give us 2T instead of 1 ...
> 
> Aren't negative block pointers in FFS used as a flag - marking indirect
> blocks or something like that?

I don't remember anything like that, and dinode has different fields
for direct and indirect blocks. Each indirect block pointer is for a
different indirection level.

> 
> BIANA ffs guru, and it's been a few years since I looked at this.

It's been a a wile for me too.

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
--