git: 11f45b8f8009 - stable/12 - growfs: do not error if filesystem is already requested size

From: Ed Maste <emaste_at_FreeBSD.org>
Date: Mon, 22 Nov 2021 00:33:42 UTC
The branch stable/12 has been updated by emaste:

URL: https://cgit.FreeBSD.org/src/commit/?id=11f45b8f800975e0484940430b988b2006caf1e4

commit 11f45b8f800975e0484940430b988b2006caf1e4
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2021-11-15 20:37:34 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2021-11-22 00:33:15 +0000

    growfs: do not error if filesystem is already requested size
    
    For some cloud/virtualization use cases it can be convenient to grow the
    filesystem on boot any time the disk/partition happens to be larger, but
    not fail if it remains the same size.
    
    Continue to emit a message if we have no action to take, but exit with
    status 0 if the size remains the same.
    
    Reviewed by:    trasz
    MFC after:      1 week
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D32856
    
    (cherry picked from commit 3f9acedb020b4bcac850eee8a60c75e0880d3e3f)
---
 sbin/growfs/growfs.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/sbin/growfs/growfs.c b/sbin/growfs/growfs.c
index d1e42ed7c3d0..c47352e64079 100644
--- a/sbin/growfs/growfs.c
+++ b/sbin/growfs/growfs.c
@@ -1485,7 +1485,10 @@ main(int argc, char **argv)
 		humanize_number(newsizebuf, sizeof(newsizebuf), size,
 		    "B", HN_AUTOSCALE, HN_B | HN_NOSPACE | HN_DECIMAL);
 
-		errx(1, "requested size %s is not larger than the current "
+		if (size == (uint64_t)(osblock.fs_size * osblock.fs_fsize))
+			errx(0, "requested size %s is equal to the current "
+			    "filesystem size %s", newsizebuf, oldsizebuf);
+		errx(1, "requested size %s is smaller than the current "
 		   "filesystem size %s", newsizebuf, oldsizebuf);
 	}