From owner-freebsd-fs@FreeBSD.ORG Tue Mar 16 16:51:22 2010 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BADF9106566B for ; Tue, 16 Mar 2010 16:51:22 +0000 (UTC) (envelope-from kloderik@gmail.com) Received: from mail-bw0-f228.google.com (mail-bw0-f228.google.com [209.85.218.228]) by mx1.freebsd.org (Postfix) with ESMTP id 51B8F8FC17 for ; Tue, 16 Mar 2010 16:51:21 +0000 (UTC) Received: by bwz28 with SMTP id 28so147190bwz.14 for ; Tue, 16 Mar 2010 09:51:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type; bh=J2q8XjbiLH4zBN2U5mXcfJJP99T+Uj7sIlxJSCVWP/k=; b=fXdBqdwz7Zb8Zha5FCW3tbrZIZyPQ+OHtEaAqkZTBiguWfZSyBsOBllJCInHcEAaN+ NDrtdZPcx8KlQAzipjhT/HlEGfB98wWpjl271etSsew7DwNMSaDj9qMu9lpj1psL+wxN M+U3L2y4nPxylOyMoct1uq1kXEBq3Q7y5H2yY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=qm7AL+nQ3Xyyp/xm9rrcxACK5zghtSBnNxUlEsQsw3sm4RtaWUIpBB0+zeCE/XF8Px IlSuZVCpnciVMn105mKat71IJbx3m0WDOrz2IayTg44Z4jUfAmO9ZRJhDC9IVm5Q/9sE cav7Pv1tdrH2+MKXPQqb8kxofpMAIjlnst1W8= MIME-Version: 1.0 Received: by 10.204.33.132 with SMTP id h4mr24990bkd.103.1268756496030; Tue, 16 Mar 2010 09:21:36 -0700 (PDT) Date: Tue, 16 Mar 2010 18:21:36 +0200 Message-ID: <881b8a361003160921s246c7a0u912099f56fcb0fcd@mail.gmail.com> From: "Victor A. Savinoff" To: freebsd-fs@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Subject: growfs(8) trouble 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: Tue, 16 Mar 2010 16:51:22 -0000 In growfs.c: static void get_dev_size(int fd, int *size) int size (which, actually, is device length measured in blocks) is limited to largest 32-bit integer. If device block size is 512 bytes (which is usual by now), this limits new filesystem size to 2TiB. Without changes, growfs refuses to grow a filesystem beyond 2TiB with message "like we are not growing (old_size->new_size)", where new_size < old_size. I tried to change both its and p_size (in main()) type to u_int64_t. That worked for growing filesystem from 2TiB to 3.62TiB with block size 64KiB and fragment size 8KiB, but failed with default block and fragment sizes. As I am not an experienced developer, I would't even try to post patches here, so I leave the solution for gurus. -- WBR, Victor A. "Claus" Savinoff