mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
a1fec1dbbc
This patch introduces the first stage of RAID5 support mainly the skip-over-raid-units when reading. For writes it inserts BLANK units, into where XOR blocks should be calculated and written to. It introduces the new "general raid maths", and the main additional parameters and components needed for raid5. Since at this stage it could corrupt future version that actually do support raid5. The enablement of raid5 mounting and setting of parity-count > 0 is disabled. So the raid5 code will never be used. Mounting of raid5 is only enabled later once the basic XOR write is also in. But if the patch "enable RAID5" is applied this code has been tested to be able to properly read raid5 volumes and is according to standard. Also it has been tested that the new maths still properly supports RAID0 and grouping code just as before. (BTW: I have found more bugs in the pnfs-obj RAID math fixed here) The ore.c file is getting too big, so new ore_raid.[hc] files are added that will include the special raid stuff that are not used in striping and mirrors. In future write support these will get bigger. When adding the ore_raid.c to Kbuild file I was forced to rename ore.ko to libore.ko. Is it possible to keep source file, say ore.c and module file ore.ko the same even if there are multiple files inside ore.ko? Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
20 lines
527 B
Makefile
20 lines
527 B
Makefile
#
|
|
# Kbuild for the EXOFS module
|
|
#
|
|
# Copyright (C) 2008 Panasas Inc. All rights reserved.
|
|
#
|
|
# Authors:
|
|
# Boaz Harrosh <bharrosh@panasas.com>
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License version 2
|
|
#
|
|
# Kbuild - Gets included from the Kernels Makefile and build system
|
|
#
|
|
|
|
# ore module library
|
|
libore-y := ore.o ore_raid.o
|
|
obj-$(CONFIG_ORE) += libore.o
|
|
|
|
exofs-y := inode.o file.o symlink.o namei.o dir.o super.o
|
|
obj-$(CONFIG_EXOFS_FS) += exofs.o
|