From: Phillip Susi <psusi@cfl.rr.com>
To: Jeff Mahoney <jeffm@suse.com>
Cc: linux-fsdevel@vger.kernel.org, ext2-devel@lists.sourceforge.net
Subject: Re: [PATCH] ext3: ext3_commit_super should always mark super uptodate
Date: Fri, 19 Dec 2008 10:41:45 -0500 [thread overview]
Message-ID: <494BC0B9.2050007@cfl.rr.com> (raw)
In-Reply-To: <4947EFCE.8020605@suse.com>
Jeff Mahoney wrote:
> After a superblock write failure, the buffer_head is marked !uptodate.
> Since the superblock is something of an exception -- read once and
> a reference kept for the duration of the mount -- it is by definition
> always uptodate.
Not if it has been modified and not yet written back to disk. Then it
is dirty by definition.
> This is somewhat academic for the most part until we encounter error
> conditions. For example, if a disk goes away in a SAN environment, the
> write failure will occur and it will be followed by others. ext3_error
> wants to mark the superblock dirty via ext3_commit_super, but once
> the first write fails, the subsequent mark_buffer_dirty calls will
> issue warnings because the buffer is not uptodate.
Why on earth is a warning issued for marking an already dirty buffer
dirty again? Surly buffers can be modified again and thus, marked as
dirty a second time before pdflush gets around to syncing them all the time.
> + set_buffer_uptodate(sbh);
> mark_buffer_dirty(sbh);
> if (sync)
> sync_dirty_buffer(sbh);
Are you sure this only matters when there is an IO error? It looks
there like if !sync then the sb can continue to sit in memory marked as
dirty for some time before someone tries to flush it to disk.
Eventually can't we end up back through this code patch and calling
mark_buffer_dirty again before it was ever flushed in the first place,
even without an IO error?
next prev parent reply other threads:[~2008-12-19 15:52 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-16 18:13 [PATCH] ext3: ext3_commit_super should always mark super uptodate Jeff Mahoney
2008-12-19 15:41 ` Phillip Susi [this message]
2008-12-19 15:46 ` Jeff Mahoney
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=494BC0B9.2050007@cfl.rr.com \
--to=psusi@cfl.rr.com \
--cc=ext2-devel@lists.sourceforge.net \
--cc=jeffm@suse.com \
--cc=linux-fsdevel@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.