]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
*** empty log message ***
authorGlen Overby <overby@sgi.com>
Wed, 22 May 2002 15:55:10 +0000 (15:55 +0000)
committerGlen Overby <overby@sgi.com>
Wed, 22 May 2002 15:55:10 +0000 (15:55 +0000)
mkfs/xfs_mkfs.c

index b1801b32eee9e4f38294656e818c0c94cd505980..5c18439db5efcd9d73c2c3f5019a99854279dfc6 100644 (file)
@@ -1536,6 +1536,17 @@ main(int argc, char **argv)
                        } else {
                                agsize = tmp_agsize;
                                agcount = dblocks/agsize + (dblocks % agsize != 0);
+                               /*
+                                * If the last AG is too small, reduce the
+                                * filesystem size and drop the blocks.
+                                */
+                               if ( dblocks % agsize != 0 &&
+                                   (dblocks % agsize <
+                                   XFS_AG_MIN_BLOCKS(blocklog))) {
+                                       dblocks = (xfs_drfsbno_t)((agcount - 1) * agsize);
+                                       agcount--;
+                                       ASSERT(agcount != 0);
+                               }
                        }
                }
        } else {
@@ -1741,8 +1752,8 @@ main(int argc, char **argv)
                     XLOG_FMT);
 
        mp = libxfs_mount(mp, sbp, xi.ddev, xi.logdev, xi.rtdev, 1);
-       if (!mp) {
-               fprintf(stderr, "%s: mount initialization failed\n", progname);
+       if (mp == NULL) {
+               fprintf(stderr, "%s: filesystem failed to initialize\n", progname);
                exit(1);
        }
        if (xi.logdev &&