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>