From: Jan Kara <jack@suse.cz>
To: Ted Tso <tytso@mit.edu>
Cc: linux-ext4@vger.kernel.org, Jan Kara <jack@suse.cz>
Subject: [PATCH] dumpe2fs: Warn when filesystem is mounted read-write
Date: Thu, 28 Jul 2011 17:17:04 +0200 [thread overview]
Message-ID: <1311866224-27351-1-git-send-email-jack@suse.cz> (raw)
When dumpe2fs is used on a filesystem mounted read-write, printed information
may be old and inconsistent because e.g. updates of some superblock fields
happen lazily or because we do not really try to handle various intermediate
states of filesystem operations. Document this in the manpage and warn user
when dumpe2fs is used for such filesystem.
Signed-off-by: Jan Kara <jack@suse.cz>
---
misc/dumpe2fs.8.in | 3 ++-
misc/dumpe2fs.c | 14 ++++++++++++++
2 files changed, 16 insertions(+), 1 deletions(-)
Ted, would you take this change? We actually had to explain to our users that
what they were doing isn't really going to work reliably...
diff --git a/misc/dumpe2fs.8.in b/misc/dumpe2fs.8.in
index c1dfcbd..e1336dc 100644
--- a/misc/dumpe2fs.8.in
+++ b/misc/dumpe2fs.8.in
@@ -71,7 +71,8 @@ print the version number of
and exit.
.SH BUGS
You need to know the physical filesystem structure to understand the
-output.
+output. When used with a mounted filesystem, the printed information may be
+old or inconsistent.
.SH AUTHOR
.B dumpe2fs
was written by Remy Card <Remy.Card@linux.org>. It is currently being
diff --git a/misc/dumpe2fs.c b/misc/dumpe2fs.c
index 9a0dd46..fa1362a 100644
--- a/misc/dumpe2fs.c
+++ b/misc/dumpe2fs.c
@@ -495,6 +495,7 @@ int main (int argc, char ** argv)
int flags;
int header_only = 0;
int c;
+ int mount_flags;
#ifdef ENABLE_NLS
setlocale(LC_MESSAGES, "");
@@ -567,6 +568,13 @@ int main (int argc, char ** argv)
printf (_("Couldn't find valid filesystem superblock.\n"));
exit (1);
}
+ retval = ext2fs_check_if_mounted(device_name, &mount_flags);
+ if (retval) {
+ com_err("ext2fs_check_if_mount", retval,
+ _("while determining whether %s is mounted."),
+ device_name);
+ exit(1);
+ }
if (print_badblocks) {
list_bad_blocks(fs, 1);
} else {
@@ -595,6 +603,12 @@ int main (int argc, char ** argv)
}
}
ext2fs_close (fs);
+ if ((mount_flags & EXT2_MF_MOUNTED) &&
+ !(mount_flags & EXT2_MF_READONLY)) {
+ fputs(_("The filesystem is read-write mounted so printed"
+ " information may be old or inconsistent.\n"), stderr);
+ }
+
remove_error_table(&et_ext2_error_table);
exit (0);
}
--
1.7.1
next reply other threads:[~2011-07-28 15:17 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-28 15:17 Jan Kara [this message]
2011-07-28 16:44 ` [PATCH] dumpe2fs: Warn when filesystem is mounted read-write Andreas Dilger
2011-07-28 19:51 ` Jan Kara
2011-07-29 9:28 ` Andreas Dilger
2011-10-08 17:50 ` Ted Ts'o
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1311866224-27351-1-git-send-email-jack@suse.cz \
--to=jack@suse.cz \
--cc=linux-ext4@vger.kernel.org \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).