summaryrefslogtreecommitdiff
path: root/kernel-lib/raid56.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel-lib/raid56.h')
-rw-r--r--kernel-lib/raid56.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/kernel-lib/raid56.h b/kernel-lib/raid56.h
index 39d43792..56d13f81 100644
--- a/kernel-lib/raid56.h
+++ b/kernel-lib/raid56.h
@@ -44,4 +44,15 @@ int raid6_recov_data2(int nr_devs, size_t stripe_len, int dest1, int dest2,
/* Recover data and P */
int raid6_recov_datap(int nr_devs, size_t stripe_len, int dest1, void **data);
+/*
+ * Recover raid56 data
+ * @dest1/2 can be -1 to indicate correct data
+ *
+ * Return >0 for unrecoverable case.
+ * Return 0 for recoverable case, And recovered data will be stored into @data
+ * Return <0 for fatal error
+ */
+int raid56_recov(int nr_devs, size_t stripe_len, u64 profile, int dest1,
+ int dest2, void **data);
+
#endif