Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Mar 2010 18:21:36 +0200
From:      "Victor A. Savinoff" <kloderik@gmail.com>
To:        freebsd-fs@freebsd.org
Subject:   growfs(8) trouble
Message-ID:  <881b8a361003160921s246c7a0u912099f56fcb0fcd@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?881b8a361003160921s246c7a0u912099f56fcb0fcd>