ocfs2: Add metadata ECC - almost there.
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest4 of 18 patches 0 repliesNew
4 of 18 patches are in this archive. The cover letter announces 18.
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 2/18 | ocfs2: Add the on-disk structures for metadata checksums. | +0 | 1 reply | |
| 8/18 | ocfs2: Use metadata-specific ocfs2_journal_access_*() functions. | +0 | 1 reply | |
| 8/18 | ocfs2: Use metadata-specific ocfs2_journal_access_*() functions. | +0 | 1 reply | |
| 8/18 | ocfs2: Use metadata-specific ocfs2_journal_access_*() functions. | +0 | 0 replies |
Reviews trailers per patch
None of the 4 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Tao Ma |
|---|---|
| Series | A-b |
| 2/18 | |
| 8/18 | |
| 8/18 | |
| 8/18 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [Ocfs2-devel] [PATCH 0/18] ocfs2: Add metadata ECC - almost there.
Quoted 43 lines · Joel Becker
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 inblockcheck.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.gitmetaeccJoel 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: Addjournal_accessfunctions with jbd2 triggers.
ocfs2: Wrap up the common use cases ofocfs2_new_path().
ocfs2: Use metadata-specific ocfs2_journal_access_*() functions.
ocfs2: Add ecc and checksums to ocfs2 xattr buckets.
ocfs2: Createocfs2_xattr_value_buf.
Quoted 8 lines
ocfs2: Pull
ocfs2_xattr_value_bufup from__ocfs2_remove_xattr_range().
ocfs2: Pullocfs2_xattr_value_bufup intoocfs2_xattr_value_truncate().
ocfs2: Passocfs2_xattr_value_bufintoocfs2_xattr_value_truncate().
ocfs2: Pass value buf toocfs2_xattr_update_entry().
ocfs2: Useocfs2_xattr_value_bufinocfs2_xattr_set_entry().
ocfs2: Pass value buf toocfs2_remove_value_outside().
ocfs2: Use properjournal_accessfunction inxattr.c
ocfs2: Enable metadata checksums.