From 8d25741b633af6652fe8bfff1cb157a31e66cc60 Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Tue, 2 Mar 2021 17:35:48 -0500 Subject: [PATCH] growfs: allow operation on RW-mounted filesystems growfs supports growing mounted filesystems (writes are temporarily suspended while the grow happens). Drop the check for fs_clean == 0 to restore this case. Leave fs_flags check for FS_UNCLEAN or FS_NEEDSFSCK which represent the state of the filesystem when it was mounted, and fsck should be run first if they are set. PR: 253754 Reviewed by: mckusick Approved by: re (gjb) Fixes: 6eb925f8450f ("Filesystem utilities that modify the...") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D29021 (cherry picked from commit 0dcde5cc12744e5188300711a8829e5e6a9cd0de) (cherry picked from commit b5920128c7ebcf5060605928263a54b31b317993) --- sbin/growfs/growfs.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sbin/growfs/growfs.c b/sbin/growfs/growfs.c index d1098210f08..510192dada0 100644 --- a/sbin/growfs/growfs.c +++ b/sbin/growfs/growfs.c @@ -1461,10 +1461,9 @@ main(int argc, char **argv) } } /* - * Check for unclean filesystem. + * Check for filesystem that was unclean at mount time. */ - if (fs->fs_clean == 0 || - (fs->fs_flags & (FS_UNCLEAN | FS_NEEDSFSCK)) != 0) + if ((fs->fs_flags & (FS_UNCLEAN | FS_NEEDSFSCK)) != 0) errx(1, "%s is not clean - run fsck.\n", *argv); memcpy(&osblock, fs, fs->fs_sbsize); free(fs); -- 2.45.0