Message ID | 1448410059-3691-1-git-send-email-adilger@dilger.ca |
---|---|
State | Accepted, archived |
Headers | show |
On Tue, Nov 24, 2015 at 05:07:39PM -0700, Andreas Dilger wrote: > From: Jim Garlick <garlick@llnl.gov> > > Running tune2fs on a filesystem with an unrecovered journal can > cause the tune2fs settings changes in the superblock to be reverted > when the journal is replayed if it contains an uncommitted copy of > the superblock. Print a warning if this is detected so that the > user isn't surprised if it happens. > > Signed-off-by: Jim Garlick <garlick@llnl.gov> > > Updated message printed to include steps to replay journal. > > Signed-off-by: Andreas Dilger <andreas.dilger@intel.com> Applied, thanks. - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/misc/tune2fs.c b/misc/tune2fs.c index cd1d17f..aed0a35 100644 --- a/misc/tune2fs.c +++ b/misc/tune2fs.c @@ -2406,6 +2406,18 @@ retry_open: ext_mount_opts); free(ext_mount_opts); } + + /* Warn if file system needs recovery and it is opened for writing. */ + if ((open_flag & EXT2_FLAG_RW) && !(mount_flags & EXT2_MF_MOUNTED) && + (sb->s_feature_compat & EXT3_FEATURE_COMPAT_HAS_JOURNAL) && + (sb->s_feature_incompat & EXT3_FEATURE_INCOMPAT_RECOVER)) { + fprintf(stderr, +_("Warning: The journal is dirty. You may wish to replay the journal like:\n\n" + "\te2fsck -E journal_only %s\n\n" + "then rerun this command. Otherwise, any changes made may be overwritten\n" + "by journal recovery.\n"), device_name); + } + free(device_name); remove_error_table(&et_ext2_error_table);