diff options
author | Ed Maste <emaste@FreeBSD.org> | 2021-03-02 22:35:48 +0000 |
---|---|---|
committer | Ed Maste <emaste@FreeBSD.org> | 2021-03-03 23:35:21 +0000 |
commit | 0dcde5cc12744e5188300711a8829e5e6a9cd0de (patch) | |
tree | e8aef7ab0c28d0ed66769be3b239a8511c59b522 /sbin/growfs | |
parent | 78991a93eb9dd3074a3fc19b88a7c3e34e1ec703 (diff) | |
download | src-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.c | 5 |
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); |