Author: trasz
Date: Sat Dec 15 08:53:58 2012
New Revision: 244243
URL: http://svnweb.freebsd.org/changeset/base/244243

Log:
  Fix extending filesystems of weird size by making sure the actual size
  is always multiple of fragment size.

Modified:
  head/sbin/growfs/growfs.c

Modified: head/sbin/growfs/growfs.c
==============================================================================
--- head/sbin/growfs/growfs.c   Sat Dec 15 08:29:22 2012        (r244242)
+++ head/sbin/growfs/growfs.c   Sat Dec 15 08:53:58 2012        (r244243)
@@ -1487,6 +1487,12 @@ main(int argc, char **argv)
                }
        }
 
+       /*
+        * Make sure the new size is a multiple of fs_fsize; /dev/ufssuspend
+        * only supports fragment-aligned IO requests.
+        */
+       size -= size % osblock.fs_fsize;
+
        if (size <= (uint64_t)(osblock.fs_size * osblock.fs_fsize)) {
                humanize_number(oldsizebuf, sizeof(oldsizebuf),
                    osblock.fs_size * osblock.fs_fsize,
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to