linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Theodore Ts'o <tytso@mit.edu>
To: Ext4 Developers List <linux-ext4@vger.kernel.org>
Cc: Theodore Ts'o <tytso@mit.edu>
Subject: [PATCH 0/5] e2fsck logging improvements
Date: Sun, 18 Mar 2012 15:52:43 -0400	[thread overview]
Message-ID: <1332100368-2683-1-git-send-email-tytso@mit.edu> (raw)

These improvements to e2fsck's logging capabilities were motiviated by
an fs corruption problem which caused the block group checksums to be
incorrect, and so some uninitalized bitmaps got read into memory, and
they contained garbage.  This resulted in e2fsck pass 5 output which was
extremely voluminous, and if the server was attached to a serial
console, could potentially delay the boot sequence by hours, which in
turn triggered a watchdog timer.

To avoid similar problems causing secondary ripple effects that are far
worse, we need to be able to control how much output gets sent to the
console, while also allowing the full log files to be written to disk
since it can contain valuable information.

So these patches allow the system administrator to limit the number of
problem reports which get sent to the console.  The full, unredacted
e2fsck output will still get written to the log file, however.

An additional bonus of doing things this way is that some distributions
have resisted using the logsave program to assure that fsck gets saved,
and with the advent of systemd, this may be even harder to configure
since the author of systemd doesn't believe in shell scripts.  So this
allows us to save the full set of fsck log files without having to mess
with obscure and undocumented distro-specific boot setups, whether it is
systemd or plymouth, or some other drug-induced nightmare that is
supposedly an improvement on sysvinit scripts.  It's an
ext2/3/4-specific solution, but.... oh, well.

						- Ted

Theodore Ts'o (5):
  e2fsck: add support for field widths in messages using %-expansion
  e2fsck: print the current and expected block group checksums
  e2fsck: print a notice when we've started suppressing a problem code
  e2fsck: add the max_count_problems setting in e2fsck.conf
  e2fsck: add logging capability

 e2fsck/Makefile.in                |  186 +++++++++++-------
 e2fsck/e2fsck.c                   |    3 +
 e2fsck/e2fsck.conf.5.in           |  146 ++++++++++++++
 e2fsck/e2fsck.h                   |   17 ++-
 e2fsck/logfile.c                  |  383 +++++++++++++++++++++++++++++++++++++
 e2fsck/message.c                  |  204 +++++++++++---------
 e2fsck/problem.c                  |   40 +++--
 e2fsck/problem.h                  |    3 +-
 e2fsck/super.c                    |    2 +
 e2fsck/unix.c                     |  266 +++++++++++++++-----------
 e2fsck/util.c                     |   99 ++++++----
 tests/f_illitable_flexbg/expect.1 |    2 +-
 tests/f_unused_itable/expect.1    |    4 +-
 13 files changed, 1023 insertions(+), 332 deletions(-)
 create mode 100644 e2fsck/logfile.c

-- 
1.7.9.107.g97f9a


             reply	other threads:[~2012-03-18 19:52 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-18 19:52 Theodore Ts'o [this message]
2012-03-18 19:52 ` [PATCH 1/5] e2fsck: add support for field widths in messages using %-expansion Theodore Ts'o
2012-03-18 19:52 ` [PATCH 2/5] e2fsck: print the current and expected block group checksums Theodore Ts'o
2012-03-18 19:52 ` [PATCH 3/5] e2fsck: print a notice when we've started suppressing a problem code Theodore Ts'o
2012-03-18 23:17   ` Andreas Dilger
2012-03-19  0:25     ` Ted Ts'o
2012-03-19 22:43       ` Andreas Dilger
2012-03-18 19:52 ` [PATCH 4/5] e2fsck: add the max_count_problems setting in e2fsck.conf Theodore Ts'o
2012-03-18 19:52 ` [PATCH 5/5] e2fsck: add logging capability Theodore 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=1332100368-2683-1-git-send-email-tytso@mit.edu \
    --to=tytso@mit.edu \
    --cc=linux-ext4@vger.kernel.org \
    /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).