growfs reporting negative sectors beyond 2^31
Eric Anderson
anderson at freebsd.org
Fri May 11 13:20:41 UTC 2007
On 05/10/07 04:23, Lukas Ertl wrote:
> Daniel Eriksson wrote:
>> While playing around with growfs I noticed that it prints the sector
>> numbers for the super-block backups on sectors beyond 2^31 as negative
>> numbers. I ran into this issue while trying to grow a 1TB filesystem to
>> a 1.5TB filesystem.
>>
>> Example:
>> [snip]
>> 2142948448, 2143324800, 2143701152, 2144077504, 2144453856, 2144830208,
>> 2145206560, 2145582912, 2145959264,
>> 2146335616, 2146711968, 2147088320, 2147464672, -2147126272,
>> -2146749920, -2146373568, -2145997216, -2145620864,
>> -2145244512, -2144868160, -2144491808, -2144115456, -2143739104,
>> -2143362752, -2142986400, -2142610048, -2142233696,
>> [snip]
>>
>> Is this something to worry about as far as file system consistency goes,
>> or is it just a cosmetic problem with the printout?
>
> It's just cosmetic, as far as I can see.
>
> cheers,
> le
>
I think this patch fixes it.
http://www.googlebit.com/freebsd/patches/growfs-bigdisk-patch
Eric
-------------- next part --------------
Index: sbin/growfs/growfs.c
===================================================================
RCS file: /alt/ncvs/src/sbin/growfs/growfs.c,v
retrieving revision 1.25
diff -u -r1.25 growfs.c
--- sbin/growfs/growfs.c 17 Jul 2006 20:48:36 -0000 1.25
+++ sbin/growfs/growfs.c 11 May 2007 13:17:43 -0000
@@ -259,8 +259,8 @@
*/
for (cylno = osblock.fs_ncg; cylno < sblock.fs_ncg; cylno++) {
initcg(cylno, utime, fso, Nflag);
- j = sprintf(tmpbuf, " %d%s",
- (int)fsbtodb(&sblock, cgsblock(&sblock, cylno)),
+ j = sprintf(tmpbuf, " %jd%s",
+ (intmax_t)fsbtodb(&sblock, cgsblock(&sblock, cylno)),
cylno < (sblock.fs_ncg-1) ? "," : "" );
if (i + j >= width) {
printf("\n");
More information about the freebsd-current
mailing list