#include <linux/async_tx.h>
#include <linux/gfp.h>
#include <linux/mm.h>
#include <linux/random.h>
#include <linux/module.h>
#undef pr
#define pr(fmt, args...) …
#define NDISKS …
static struct page *dataptrs[NDISKS];
unsigned int dataoffs[NDISKS];
static addr_conv_t addr_conv[NDISKS];
static struct page *data[NDISKS+3];
static struct page *spare;
static struct page *recovi;
static struct page *recovj;
static void callback(void *param)
{ … }
static void makedata(int disks)
{ … }
static char disk_type(int d, int disks)
{ … }
static void raid6_dual_recov(int disks, size_t bytes, int faila, int failb,
struct page **ptrs, unsigned int *offs)
{ … }
static int test_disks(int i, int j, int disks)
{ … }
static int test(int disks, int *tests)
{ … }
static int __init raid6_test(void)
{ … }
static void __exit raid6_test_exit(void)
{ … }
late_initcall(raid6_test);
module_exit(raid6_test_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;