All of lore.kernel.org
 help / color / mirror / Atom feed
* [Ocfs2-devel] [PATCH 0/18] ocfs2: Add metadata ECC - almost there.
@ 2008-12-10  1:09 Joel Becker
  2008-12-10  1:09   ` [Ocfs2-devel] " Joel Becker
                   ` (21 more replies)
  0 siblings, 22 replies; 46+ messages in thread
From: Joel Becker @ 2008-12-10  1:09 UTC (permalink / raw)
  To: ocfs2-devel

These patches add the metadata ECC code to ocfs2.  They have one
limitation - they do not ECC directory blocks yet.  However, that will
only take a simple insertion of the dirblock trailer.  With xattr ECC
completed, the patches are approaching a final form and are ready for
initial review.  They are atop my xattr-buckets-2 branch.

The first patch adds buffer triggers to JDB2.  This allows us to only
calculate the ECC code when JBD2 is about to write a block to disk.

Next, we add the actual blockcheck functions.  These are the functions
that compute the checksum (using the kernel's crc32_le()) and the ECC
bits (this is hamming code, implemented in blockcheck.c).

Then we create metadata-type specific ocfs2_journal_access_*() functions
to make sure each metadata type uses its own checksum field.  These are
hooked up to the regular metadata types.

We add ecc calculation to xattr buckets.  Because buckets can be
multiple blocks, they cannot use journal triggers.  However, they are
rarely updated, so the loss of efficiency isn't very important.

Last, we refactor the xattr value setting code to make sure we know
which metadata type an xattr value belongs to.  That way we can call the
appropriate ocfs2_journal_access_*() function.

The code is also available in my repository.

[View]
http://oss.oracle.com/git/?p=jlbec/linux-2.6.git;a=shortlog;h=metaecc
[Pull]
git://oss.oracle.com/git/jlbec/linux-2.6.git metaecc

Joel Becker (18):
      jbd2: Add buffer triggers
      ocfs2: Add the on-disk structures for metadata checksums.
      ocfs2: Add the underlying blockcheck code.
      ocfs2: Add a validation hook for quota block reads.
      ocfs2: block read meta ecc.
      ocfs2: Add journal_access functions with jbd2 triggers.
      ocfs2: Wrap up the common use cases of ocfs2_new_path().
      ocfs2: Use metadata-specific ocfs2_journal_access_*() functions.
      ocfs2: Add ecc and checksums to ocfs2 xattr buckets.
      ocfs2: Create ocfs2_xattr_value_buf.
      ocfs2: Pull ocfs2_xattr_value_buf up from __ocfs2_remove_xattr_range().
      ocfs2: Pull ocfs2_xattr_value_buf up into ocfs2_xattr_value_truncate().
      ocfs2: Pass ocfs2_xattr_value_buf into ocfs2_xattr_value_truncate().
      ocfs2: Pass value buf to ocfs2_xattr_update_entry().
      ocfs2: Use ocfs2_xattr_value_buf in ocfs2_xattr_set_entry().
      ocfs2: Pass value buf to ocfs2_remove_value_outside().
      ocfs2: Use proper journal_access function in xattr.c
      ocfs2: Enable metadata checksums.

^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2008-12-19  1:43 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-10  1:09 [Ocfs2-devel] [PATCH 0/18] ocfs2: Add metadata ECC - almost there Joel Becker
2008-12-10  1:09 ` [PATCH 01/18] jbd2: Add buffer triggers Joel Becker
2008-12-10  1:09   ` [Ocfs2-devel] " Joel Becker
2008-12-11 19:57   ` Andreas Dilger
2008-12-13  0:45   ` Joel Becker
2008-12-13  0:45     ` [Ocfs2-devel] " Joel Becker
2008-12-18 18:08     ` Jan Kara
2008-12-18 18:08       ` Jan Kara
2008-12-19  0:32       ` Joel Becker
2008-12-19  0:32         ` [Ocfs2-devel] " Joel Becker
2008-12-19  0:40         ` Jan Kara
2008-12-19  0:40           ` Jan Kara
2008-12-19  1:43           ` Joel Becker
2008-12-19  1:43             ` [Ocfs2-devel] " Joel Becker
2008-12-10  1:09 ` [Ocfs2-devel] [PATCH 02/18] ocfs2: Add the on-disk structures for metadata checksums Joel Becker
2008-12-10  1:32   ` Tao Ma
2008-12-10  1:40     ` Joel Becker
2008-12-10  1:09 ` [Ocfs2-devel] [PATCH 03/18] ocfs2: Add the underlying blockcheck code Joel Becker
2008-12-10  1:09 ` [Ocfs2-devel] [PATCH 04/18] ocfs2: Add a validation hook for quota block reads Joel Becker
2008-12-10  1:09 ` [Ocfs2-devel] [PATCH 05/18] ocfs2: block read meta ecc Joel Becker
2008-12-10  1:09 ` [Ocfs2-devel] [PATCH 06/18] ocfs2: Add journal_access functions with jbd2 triggers Joel Becker
2008-12-10  1:09 ` [Ocfs2-devel] [PATCH 07/18] ocfs2: Wrap up the common use cases of ocfs2_new_path() Joel Becker
2008-12-10  1:09 ` [Ocfs2-devel] [PATCH 08/18] ocfs2: Use metadata-specific ocfs2_journal_access_*() functions Joel Becker
2008-12-10  2:31   ` Tao Ma
2008-12-10 11:15     ` Joel Becker
2008-12-11  0:31       ` Tao Ma
2008-12-11  0:46         ` Joel Becker
2008-12-11  1:10           ` Tao Ma
2008-12-10  1:09 ` [Ocfs2-devel] [PATCH 09/18] ocfs2: Add ecc and checksums to ocfs2 xattr buckets Joel Becker
2008-12-10  1:09 ` [Ocfs2-devel] [PATCH 10/18] ocfs2: Create ocfs2_xattr_value_buf Joel Becker
2008-12-10  1:09 ` [Ocfs2-devel] [PATCH 11/18] ocfs2: Pull ocfs2_xattr_value_buf up from __ocfs2_remove_xattr_range() Joel Becker
2008-12-10  1:09 ` [Ocfs2-devel] [PATCH 12/18] ocfs2: Pull ocfs2_xattr_value_buf up into ocfs2_xattr_value_truncate() Joel Becker
2008-12-10  1:09 ` [Ocfs2-devel] [PATCH 13/18] ocfs2: Pass ocfs2_xattr_value_buf " Joel Becker
2008-12-10  1:09 ` [Ocfs2-devel] [PATCH 14/18] ocfs2: Pass value buf to ocfs2_xattr_update_entry() Joel Becker
2008-12-10  1:09 ` [Ocfs2-devel] [PATCH 15/18] ocfs2: Use ocfs2_xattr_value_buf in ocfs2_xattr_set_entry() Joel Becker
2008-12-10  1:09 ` [Ocfs2-devel] [PATCH 16/18] ocfs2: Pass value buf to ocfs2_remove_value_outside() Joel Becker
2008-12-10  1:09 ` [Ocfs2-devel] [PATCH 17/18] ocfs2: Use proper journal_access function in xattr.c Joel Becker
2008-12-10  1:09 ` [Ocfs2-devel] [PATCH 18/18] ocfs2: Enable metadata checksums Joel Becker
2008-12-10  1:52 ` [Ocfs2-devel] [PATCH 0/18] ocfs2: Add metadata ECC - almost there Joel Becker
2008-12-10 12:54 ` Andi Kleen
2008-12-10 18:15   ` Joel Becker
2008-12-10 19:27     ` Andi Kleen
2008-12-11  2:16 ` Joel Becker
2008-12-11  2:25   ` [Ocfs2-devel] [PATCH] ocfs2: Add directory block trailers Joel Becker
2008-12-11  2:25   ` [Ocfs2-devel] [PATCH] ocfs2: Checksum and ECC for directory blocks Joel Becker
2008-12-11  2:46 ` [Ocfs2-devel] [PATCH 0/18] ocfs2: Add metadata ECC - almost there Tao Ma

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.