summaryrefslogtreecommitdiff
path: root/disk-io.h
diff options
context:
space:
mode:
authorDavid Woodhouse <David.Woodhouse@intel.com>2009-07-11 18:12:37 +0100
committerChris Mason <chris.mason@fusionio.com>2013-02-01 14:22:07 -0500
commit4d48b96b280a76f29eb5d5f1578559932f551b2d (patch)
treec67db59d335759896fcb3c05d54f1a3232dd6471 /disk-io.h
parent6f082141d0a608c286c3f1b42ddd558e72ea1d9f (diff)
Add basic RAID[56] support
David Woodhouse originally contributed this code, and Chris Mason changed it around to reflect the current design goals for raid56. The original code expected all metadata and data writes to be full stripes. This meant metadata block size == stripe size, and had a few other restrictions. This version allows metadata blocks smaller than the stripe size. It implements both raid5 and raid6, although it does not have code to rebuild from parity if one of the drives is missing or incorrect. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Diffstat (limited to 'disk-io.h')
-rw-r--r--disk-io.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/disk-io.h b/disk-io.h
index 53e9b17a..53ef0238 100644
--- a/disk-io.h
+++ b/disk-io.h
@@ -82,3 +82,6 @@ int csum_tree_block(struct btrfs_root *root, struct extent_buffer *buf,
int verify);
int btrfs_read_buffer(struct extent_buffer *buf, u64 parent_transid);
#endif
+
+/* raid6.c */
+void raid6_gen_syndrome(int disks, size_t bytes, void **ptrs);