From nobody@FreeBSD.org  Mon Oct 25 11:16:32 2010
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id B57F01065670
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 25 Oct 2010 11:16:32 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id A3CBE8FC1F
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 25 Oct 2010 11:16:32 +0000 (UTC)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id o9PBGWeZ093952
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 25 Oct 2010 11:16:32 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id o9PBGWK5093951;
	Mon, 25 Oct 2010 11:16:32 GMT
	(envelope-from nobody)
Message-Id: <201010251116.o9PBGWK5093951@www.freebsd.org>
Date: Mon, 25 Oct 2010 11:16:32 GMT
From: Dean Hamstead <dean@fragfest.com.au>
To: freebsd-gnats-submit@FreeBSD.org
Subject: Bug in Growfs, plus patches
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         151713
>Category:       bin
>Synopsis:       [patch] Bug in growfs(8) with respect to 32-bit overflow
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-fs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Oct 25 11:20:09 UTC 2010
>Closed-Date:    
>Last-Modified:  Sat Nov 13 09:57:12 UTC 2010
>Originator:     Dean Hamstead
>Release:        8.1 RELEASE
>Organization:
FragFest
>Environment:
[dean@batou ~]$ uname -a
FreeBSD batou.fragfest.net.au 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010     root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64

>Description:
Growfs has a 32bit integer internall, where it should have a 64bit. This has the effect that filesystems over a certain size cant be enlarged.
>How-To-Repeat:
Try to enlarge a filesystem whos size is beyond 2^32 
>Fix:
Hi Growfs team

I believe i have uncovered a bug in growfs related to 32bit integers.

My original enquirey to freebsd-fs@freebsd is archived at ...
http://marc.info/?l=freebsd-fs&m=128533133814268

You can see that i have enlarged a disk where i had previous formatted it
without slices/partitions. I then wanted to grow the filesystem to match.

I dont believer there is a problem with the slices/noslices side of
things, but i believe there is an integer looping inside growfs which is
causing it to refuse to enlarge.

I poked around in the source code and i believe that the p_size variable
should be 64bit.

Some googling shows support for this theory...

here is another person reporting the same problem as myself

first post -
http://fixunix.com/freebsd/293354-growfs-filesystem-size-limits.html
discussion about p_size -
http://fixunix.com/freebsd/293353-re-growfs-filesystem-size-limits.html
further discussion -
http://fixunix.com/freebsd/293364-re-growfs-filesystem-size-limits.html


here is a much more recent thread with the same sort of problem
http://forums.freebsd.org/showthread.php?t=15252

which includes a link to patch for an older version of growfs
http://masq.tychl.net/growfs.patch

Which expands upon the changes outlined in the 'fixunix.com' discussion.

I am hoping that you can make appropriate changes in growfs and release
them in to freebsd.

Thank you for your good work.

Dean


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->freebsd-fs 
Responsible-Changed-By: arundel 
Responsible-Changed-When: Sat Nov 13 09:55:47 UTC 2010 
Responsible-Changed-Why:  
Assign to freebsd-fs@, since they should have an opinion regarding this issue. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=151713 
>Unformatted:
