* [PATCH] resize2fs: don't require fsck to print min size
@ 2014-12-10 15:19 Eric Sandeen
2014-12-15 0:12 ` Theodore Ts'o
0 siblings, 1 reply; 2+ messages in thread
From: Eric Sandeen @ 2014-12-10 15:19 UTC (permalink / raw)
To: ext4 development
My previous change ended up requiring that the filesystem
be fsck'd after the last mount, even if we are only querying
the minimum size. This is a bit draconian, and it burned
the Fedora installer, which wants to calculate minimum size
for every filesystem in the box at install time, which in turn
requires a full fsck of every filesystem.
Try this one more time, and separate out the tests to make things
a bit more clear. If we're only printing the min size, don't
require the fsck, as this is a bit less dangerous/critical.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---
diff --git a/resize/main.c b/resize/main.c
index 983d8c2..d40a741 100644
--- a/resize/main.c
+++ b/resize/main.c
@@ -321,10 +321,31 @@ int main (int argc, char ** argv)
}
fs->default_bitmap_type = EXT2FS_BMAP64_RBTREE;
- if (!(mount_flags & EXT2_MF_MOUNTED)) {
- 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))) {
+ /*
+ * Before acting on an unmounted filesystem, make sure it's ok,
+ * unless the user is forcing it.
+ *
+ * We do ERROR and VALID checks even if we're only printing the
+ * minimimum size, because traversal of a badly damaged filesystem
+ * can cause issues as well. We don't require it to be fscked after
+ * the last mount time in this case, though, as this is a bit less
+ * risky.
+ */
+ if (!force && !(mount_flags & EXT2_MF_MOUNTED)) {
+ int checkit = 0;
+
+ if (fs->super->s_state & EXT2_ERROR_FS)
+ checkit = 1;
+
+ if ((fs->super->s_state & EXT2_VALID_FS) == 0)
+ checkit = 1;
+
+ if (fs->super->s_lastcheck < fs->super->s_mtime) {
+ if (!print_min_size)
+ checkit = 1;
+ }
+
+ if (checkit) {
fprintf(stderr,
_("Please run 'e2fsck -f %s' first.\n\n"),
device_name);
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] resize2fs: don't require fsck to print min size
2014-12-10 15:19 [PATCH] resize2fs: don't require fsck to print min size Eric Sandeen
@ 2014-12-15 0:12 ` Theodore Ts'o
0 siblings, 0 replies; 2+ messages in thread
From: Theodore Ts'o @ 2014-12-15 0:12 UTC (permalink / raw)
To: Eric Sandeen; +Cc: ext4 development
On Wed, Dec 10, 2014 at 09:19:56AM -0600, Eric Sandeen wrote:
> My previous change ended up requiring that the filesystem
> be fsck'd after the last mount, even if we are only querying
> the minimum size. This is a bit draconian, and it burned
> the Fedora installer, which wants to calculate minimum size
> for every filesystem in the box at install time, which in turn
> requires a full fsck of every filesystem.
>
> Try this one more time, and separate out the tests to make things
> a bit more clear. If we're only printing the min size, don't
> require the fsck, as this is a bit less dangerous/critical.
>
> Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Applied with a minor whitespace fixup, thanks.
- Ted
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-12-15 0:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-10 15:19 [PATCH] resize2fs: don't require fsck to print min size Eric Sandeen
2014-12-15 0:12 ` Theodore Ts'o
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).