From: Andi Kleen <ak@suse.de>
To: Andreas Dilger <adilger@clusterfs.com>
Cc: Alexandre Ratchov <alexandre.ratchov@bull.net>,
Theodore Ts'o <tytso@mit.edu>,
linux-ext4@vger.kernel.org
Subject: Re: ext4 compat flag assignments
Date: Fri, 29 Sep 2006 01:06:27 +0200 [thread overview]
Message-ID: <200609290106.27852.ak@suse.de> (raw)
In-Reply-To: <20060928224133.GM22010@schatzie.adilger.int>
> Actually, there are several plans afoot in that direction already.
> Some of them need at least some help in the "finish up and get it
> into the kernel" department, some of them are just ideas previously
> discussed..
The important part right now is to just keep enough space in all
structures that are being changed anyways.
>
> One of the reason for Alexandre pushing the 64-bit inode/block counters
> into the "large" descriptor is because the 64-bit filesystem is already
> incompatible with a 32-bit filesystem so there is no extra harm, and this
> leaves space in the "original" group descriptor for checksums of the block
> and inode bitmaps. The bitmap checksums are a critical single-point-of-
> failure, and having checksums allows the kernel to avoid cascading
> filesystem corruption even if it can't (yet) do anything about it.
> Having the checksums in the "original" group descriptor allows this
> feature to be used on both 32-bit and 64-bit filesystems.
Ok.
> No work has been done on this yet. Getting checksums to be efficient
> depends on having a generic callback mechanism from the journal code
> to avoid repeated checksums on a block while it is being modified.
You can just do incremental checksumming which is very cheap.
Or did you mean the flushing to disk of the checksum? If it's always in the same
object that would be free, but that is not possible for bitmaps at least.
But I guess the checksum write in the block descriptor
could be done very lazily at least, perhaps keeping track on disk if invalid
checksums are expected or not.
> Finally, the extents format has the capability (though no code is implemented
> for this yet) to store a checksum in each index and extent block. This
> would be done by reducing the count of allowed entries in the block and
> storing an ext3_extent_tail (checksum, inode+generation backpointer) as
> the last entry in the block. No work has been done on this, but I've
> described the ext3_extent_tail a few times previously on this list.
Old style indirect blocks will need them too. My thinking was
to use another block for those (so a indirect block would be two nearby
blocks)
Inodes need them, but with the inode extension that will be hopefully
not a problem to keep a few bytes for this.
And directories, which should be relatively easy to extend with
the current format.
-Andi
next prev parent reply other threads:[~2006-09-28 23:08 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-22 9:15 ext4 compat flag assignments Andreas Dilger
2006-09-28 8:55 ` Alexandre Ratchov
2006-09-28 20:29 ` Andi Kleen
2006-09-28 22:41 ` Andreas Dilger
2006-09-28 23:06 ` Andi Kleen [this message]
2006-10-02 4:34 ` Andreas Dilger
2006-09-28 23:06 ` Andreas Dilger
2006-10-04 20:04 ` Theodore Tso
2006-10-05 0:19 ` Andreas Dilger
2006-10-05 2:02 ` Theodore Tso
2006-10-06 13:33 ` Valerie Clement
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=200609290106.27852.ak@suse.de \
--to=ak@suse.de \
--cc=adilger@clusterfs.com \
--cc=alexandre.ratchov@bull.net \
--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