Growing UFS beyond 2 TB

Nick Gustas freebsd-fs at tychl.net
Fri May 25 11:42:17 UTC 2007


Arne WXrner wrote:
> --- Nick Gustas <freebsd-fs at tychl.net> wrote:
>
>   
>> I did a diff between the growfs.c from a 6.2-STABLE machine and what I 
>> have now from list patches and GCC error fixing.  *WARNING* it appears 
>> to work, and compiles clean, but doesn't actually make a correct 
>> filesystem! I don't know enough C to get past this, though I suspect 
>> it's close and some study might get me there.
>>
>> http://masq.tychl.net/growfs.patch
>>
>>     
> This look wrong, too:
> @@ -417,7 +417,7 @@
>  		acg.cg_initediblk = 0;
>  		acg.cg_old_btotoff = start;
>  		acg.cg_old_boff = acg.cg_old_btotoff +
> -		    sblock.fs_old_cpg * sizeof(int32_t);
> +		    sblock.fs_old_cpg * sizeof(int64_t);
>  		acg.cg_iusedoff = acg.cg_old_boff +
>  		    sblock.fs_old_cpg * sizeof(u_int16_t);
>  	}
> Where have u found that?
>
> -Arne
>
>
>        
> ____________________________________________________________________________________You snooze, you lose. Get messages ASAP with AutoCheck
> in the all-new Yahoo! Mail Beta.
> http://advision.webevents.yahoo.com/mailbeta/newmail_html.html
>   

Well, originally I tried just the patches from the two messages you 
referred to, and it didn't work, fsck -y would scroll endlessly after 
the grow, and the output of growfs itself wasn't right. I figured 
something must still be missing, so I went at it until the compilation 
warnings went away, and the output looked right. However since I'm not a 
programmer, or UFS internals guy, I was probably a bit overzealous in my 
32/64 bit searching.  I figured I'd post what I had done, with a 
warning,  in the hopes someone would correct me.

Anyhow, I made the three changes you mentioned, and growfs still 
compiles clean, and runs with proper display, but running fsck -y on the 
grown file system scrolls for a long time with tons of errors and 
eventually bombs out asking me to run it again. running it again doesn't 
help.

I've updated

http://masq.tychl.net/growfs.patch

with the changes you suggested.

Keep in mind I'm no C programmer, but I can follow direction and would 
love to see growfs 2+TB clean :)





More information about the freebsd-fs mailing list