diff options
author | Eric Sandeen <sandeen@redhat.com> | 2010-03-31 14:28:42 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2010-05-12 12:44:56 -0400 |
commit | 5fa92bc76888404b161b3fd0fd7e6b63e064badf (patch) | |
tree | 0696299b05516a28735b6dc74a4108fa4b6b1879 | |
parent | 53499e86c509d190579433ade88a810ed86caf0c (diff) | |
download | e2fsprogs-5fa92bc76888404b161b3fd0fd7e6b63e064badf.tar.gz |
resize2fs: don't print minimum size if fs is not clean
Right now, resize2fs -P on a dirty filesystem will give you a number;
however, it's probably wrong if the fs is not clean:
# resize2fs -P myimage.img
resize2fs 1.41.9 (22-Aug-2009)
Estimated minimum size of the filesystem: 75623
# e2fsck -fy myimage.img
e2fsck 1.41.9 (22-Aug-2009)
myimage.img: recovering journal
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
myimage.img: ***** FILE SYSTEM WAS MODIFIED *****
myimage.img: 9530/53760 files (0.1% non-contiguous), 24737/98304 blocks
# resize2fs -P myimage.img
resize2fs 1.41.9 (22-Aug-2009)
Estimated minimum size of the filesystem: 32165
We should issue the same "Please run e2fsck ..." message for
-P as we do for an actual resize request.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-rw-r--r-- | resize/main.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/resize/main.c b/resize/main.c index 220c192e..ddcfc993 100644 --- a/resize/main.c +++ b/resize/main.c @@ -345,6 +345,14 @@ int main (int argc, char ** argv) min_size = calculate_minimum_resize_size(fs); if (print_min_size) { + if (!force && ((fs->super->s_lastcheck < fs->super->s_mtime) || + (fs->super->s_state & EXT2_ERROR_FS) || + ((fs->super->s_state & EXT2_VALID_FS) == 0))) { + fprintf(stderr, + _("Please run 'e2fsck -f %s' first.\n\n"), + device_name); + exit(1); + } printf(_("Estimated minimum size of the filesystem: %u\n"), min_size); exit(0); |