From owner-freebsd-fs@FreeBSD.ORG Fri May 18 09:21:31 2007 Return-Path: X-Original-To: freebsd-fs@freebsd.org Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CB8F916A403 for ; Fri, 18 May 2007 09:21:31 +0000 (UTC) (envelope-from arne_woerner@yahoo.com) Received: from web30305.mail.mud.yahoo.com (web30305.mail.mud.yahoo.com [209.191.69.67]) by mx1.freebsd.org (Postfix) with SMTP id 7D88813C448 for ; Fri, 18 May 2007 09:21:31 +0000 (UTC) (envelope-from arne_woerner@yahoo.com) Received: (qmail 62418 invoked by uid 60001); 18 May 2007 09:21:31 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=sTQpGJe2HVCUcgsWLAMw7ByHMUkzItcn04jbtF3byhKSIgT77JodA//DsHCaYXBqLxbs82U45s/h1R5jm9heKv46bIkopoxEA1ISGo8aD5hD3+5aGsRn5oCgzThgMM5jUnGrvwaoLZy6MK7NI9LxIBXEknujEdUAgR4dhNPiqOc=; X-YMail-OSG: LU02Kz8VM1mR.09FIoU48hoLZlBZu_JNXHzE0PdfeVZHDc299ZV_ymghss4rJJu09Q-- Received: from [85.212.48.180] by web30305.mail.mud.yahoo.com via HTTP; Fri, 18 May 2007 02:21:30 PDT Date: Fri, 18 May 2007 02:21:30 -0700 (PDT) From: Arne "Wörner" To: Henry Vogt In-Reply-To: <334A2A05-4429-40DB-80D9-FAAFD5208DFA@tuebingen.mpg.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Message-ID: <909641.62410.qm@web30305.mail.mud.yahoo.com> Cc: freebsd-fs@freebsd.org Subject: Re: growfs filesystem size limits ? X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 May 2007 09:21:32 -0000 --- Henry Vogt 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.yahoo.com/green_center/