aboutsummaryrefslogtreecommitdiff
path: root/sbin/growfs
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2021-03-02 22:35:48 +0000
committerEd Maste <emaste@FreeBSD.org>2021-03-03 23:35:21 +0000
commit0dcde5cc12744e5188300711a8829e5e6a9cd0de (patch)
treee8aef7ab0c28d0ed66769be3b239a8511c59b522 /sbin/growfs
parent78991a93eb9dd3074a3fc19b88a7c3e34e1ec703 (diff)
downloadsrc-0dcde5cc12744e5188300711a8829e5e6a9cd0de.tar.gz
src-0dcde5cc12744e5188300711a8829e5e6a9cd0de.zip
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 MFC after: 3 days Fixes: 6eb925f8450f ("Filesystem utilities that modify the...") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D29021
Diffstat (limited to 'sbin/growfs')
-rw-r--r--sbin/growfs/growfs.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sbin/growfs/growfs.c b/sbin/growfs/growfs.c
index d1098210f088..510192dada0b 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);