--- Henry Vogt <hv tuebingen.mpg.de> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi Arne,
> Am 17.05.2007 um 22:21 schrieb Arne Wörner:
>
> > errx(1, "not enough new space (II)
(%jd->%jd)",
> > (intmax_t)osblock.fs_size,
(intmax_t)sblock.fs_size);
>
> # growfs -N da1p1
> new file systemsize is: 3662108143 frags
> Warning: 60028 sector(s) cannot be allocated.
> growfs: not enough new space (II)
(2197264879->-632874160)
>
> So, sblocks.fs_size is the problem ?
>
Nope... fs_size is 64bit...
But it just came to me by looking at the code, that in line
2220 we build the
product of two 32bit integers, which results in another
32bit integer, which is
not right:
sblock.fs_size = sblock.fs_ncg * sblock.fs_fpg;
Better is this:
sblock.fs_size = ((int64_t)sblock.fs_ncg) *
sblock.fs_fpg;
Or u could shape ur partition, so that this computation will
not happen...
Maybe there r further such mistakes...
Integer arithmetric can be quite nasty (2+3=1 with 2bit
unsigned integers)...
But fast...
-Arne
____________________________________________________________
________________________
Park yourself in front of a world of choices in alternative
vehicles. Visit the Yahoo! Auto Green Center.
http://autos.yah
oo.com/green_center/
_______________________________________________
freebsd-fs freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-fs
To unsubscribe, send any mail to
"freebsd-fs-unsubscribe freebsd.org"
|