From: Alex Khripin <akhripin@morgoth.mit.edu>
To: linux-kernel@vger.kernel.org
Subject: Soft updates for 2.5?
Date: Sat, 30 Jun 2001 05:41:11 -0500 [thread overview]
Message-ID: <200106301041.f5UAfCVM012803@morgoth.mit.edu> (raw)
Hi,
There was a discussion in October, 2000, about the Granger and McKusick paper
on soft updates for the BSD FFS. Reading the thread, nothing conclusive seemed
to come out of it.
The paper is available at http://www.pdos.lcs.mit.edu/~ganger/papers/CSE-TR-25
4-95/
The code for the BSD implementation is available there as well.
The general idea of the paper is to prevent filesystem corruption due to
interrupted writes of circular dependencies. The general principle is, that if
there is a circular metadata dependency between two blocks A, and B, caused
by operations C and D, where C requires A to be changed before B, and D,
which comes after C, requires B to be changed after A. This occurs in many
metadata operations. To do this, soft updates undo the operation D in-memory,
making block A' and B', which only have operation C applied to them. Then
A' is written to disk, and then B' is written do disk. The operation is then
redone in memory. Thus, the disk is still consistent, and the in-memory image
is still the same. If the system is interrupted before B is written, there are
minor inconsistencies, like allocated data blocks not belonging to a file, and
an incorrect file size, but no inconsistencies that can cause further
corruption
if untreated. These problems can be fixed quickly without a long fsck.
Soft updates offer a viable alternative to journaling, and require no changes
to the physical filesystem layout.
A soft-update ext2 filesystem can keep more metadata in memory without having
to sync for fear of errors.
This is not intended to replace journaling filesystems, like reiserfs, because
those have optimizations like B-trees, which cannot be implemented on ext2.
However, this would significantly improve the reliability and speed of ext2.
-Alex Khripin
next reply other threads:[~2001-06-30 20:29 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-06-30 10:41 Alex Khripin [this message]
2001-07-02 2:33 ` Rik van Riel
2001-07-02 2:58 ` Michael Rothwell
2001-07-02 3:17 ` Daniel Phillips
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=200106301041.f5UAfCVM012803@morgoth.mit.edu \
--to=akhripin@morgoth.mit.edu \
--cc=linux-kernel@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
all inboxes | Powered by JetHome®