linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Theodore Ts'o <tytso@mit.edu>
To: Autif Khan <autif.mlist@gmail.com>
Cc: Eric Sandeen <sandeen@redhat.com>, linux-ext4@vger.kernel.org
Subject: Re: Filesystem state: clean with errors - what errors?
Date: Tue, 4 Jun 2013 09:49:38 -0400	[thread overview]
Message-ID: <20130604134938.GC23132@thunk.org> (raw)
In-Reply-To: <CADzUK1+fVXBWjuhEJpQp3skSkxxa7oM=KKM370LacVAyqY0TeQ@mail.gmail.com>

Hmm... what version of e2fsprogs are you using?  Is there any chance
it's older than 1.42.4?  Hmmm, yes, you're using a positively ancient
(and filled with bugs that have since been fixed e2fsprogs 1.42).

I suspect you're getting hit bug a problem which we fixed in e2fsprogs
1.42.4 (and you *REALLY* want to upgrade to the latest released
version of e2fsprogs):

   Fixed e2fsck's handling of the journal's s_errno field.  E2fsck was
   not properly propagating the journal's s_errno field to the superblock
   field; it was not checking this field if the journal had already been
   replayed, and if the journal *was* being replayed, the "error bit"
   wasn't getting flushed out to disk.

The kernel side fix for this particular issue (if this is what is
going on) is:

commit d796c52ef0b71a988364f6109aeb63d79c5b116b
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Sun Aug 5 19:04:57 2012 -0400

    ext4: make sure the journal sb is written in ext4_clear_journal_err()
    
    After we transfer set the EXT4_ERROR_FS bit in the file system
    superblock, it's not enough to call jbd2_journal_clear_err() to clear
    the error indication from journal superblock --- we need to call
    jbd2_journal_update_sb_errno() as well.  Otherwise, when the root file
    system is mounted read-only, the journal is replayed, and the error
    indicator is transferred to the superblock --- but the s_errno field
    in the jbd2 superblock is left set (since although we cleared it in
    memory, we never flushed it out to disk).
    
    This can end up confusing e2fsck.  We should make e2fsck more robust
    in this case, but the kernel shouldn't be leaving things in this
    confused state, either.
    
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Cc: stable@kernel.org

... which first appeared in the 3.6 kernel, and which for some reason
was never backported to the 3.2 stable series.

Regards,

						- Ted

  reply	other threads:[~2013-06-04 13:49 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-03 18:45 Filesystem state: clean with errors - what errors? Autif Khan
2013-06-03 19:13 ` Eric Sandeen
2013-06-03 19:29   ` Autif Khan
2013-06-03 19:34     ` Eric Sandeen
2013-06-03 20:07       ` Autif Khan
2013-06-03 20:14         ` Eric Sandeen
2013-06-04 12:39           ` Autif Khan
2013-06-04 12:41             ` Autif Khan
2013-06-04 13:49               ` Theodore Ts'o [this message]
2013-06-20 23:01                 ` Autif Khan

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=20130604134938.GC23132@thunk.org \
    --to=tytso@mit.edu \
    --cc=autif.mlist@gmail.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=sandeen@redhat.com \
    /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).