linux/drivers/md
Andre Noll 0894cc3066 md: Move check for bitmap presence to personality code.
If the superblock of a component device indicates the presence of a
bitmap but the corresponding raid personality does not support bitmaps
(raid0, linear, multipath, faulty), then something is seriously wrong
and we'd better refuse to run such an array.

Currently, this check is performed while the superblocks are examined,
i.e. before entering personality code. Therefore the generic md layer
must know which raid levels support bitmaps and which do not.

This patch avoids this layer violation without adding identical code
to various personalities. This is accomplished by introducing a new
public function to md.c, md_check_no_bitmap(), which replaces the
hard-coded checks in the superblock loading functions.

A call to md_check_no_bitmap() is added to the ->run method of each
personality which does not support bitmaps and assembly is aborted
if at least one component device contains a bitmap.

Signed-off-by: Andre Noll <maan@systemlinux.org>
Signed-off-by: NeilBrown <neilb@suse.de>
2009-06-18 08:49:23 +10:00
..
raid6test md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
.gitignore
bitmap.c Merge branch 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block 2009-06-11 11:10:35 -07:00
bitmap.h md: move headers out of include/linux/raid/ 2009-03-31 14:27:03 +11:00
dm-bio-record.h dm: preserve bi_io_vec when resubmitting bios 2009-04-02 19:55:23 +01:00
dm-crypt.c dm crypt: use kzfree 2009-04-02 19:55:28 +01:00
dm-delay.c block: move bio list helpers into bio.h 2009-04-15 08:28:09 +02:00
dm-exception-store.c block: Do away with the notion of hardsect_size 2009-05-22 23:22:54 +02:00
dm-exception-store.h dm snapshot: move status to exception store 2009-04-02 19:55:35 +01:00
dm-io.c dm io: make sync_io uninterruptible 2009-04-02 19:55:24 +01:00
dm-ioctl.c dm: add integrity support 2009-04-09 00:27:12 +01:00
dm-kcopyd.c dm kcopyd: fix callback race 2009-04-09 00:27:17 +01:00
dm-linear.c dm: remove limited barrier support 2009-04-09 00:27:13 +01:00
dm-log.c block: Do away with the notion of hardsect_size 2009-05-22 23:22:54 +02:00
dm-mpath.c block: move bio list helpers into bio.h 2009-04-15 08:28:09 +02:00
dm-mpath.h dm mpath: remove is_active from struct dm_path 2008-10-10 13:36:58 +01:00
dm-path-selector.c dm: path selector use module refcount directly 2009-04-02 19:55:27 +01:00
dm-path-selector.h
dm-raid1.c block: move bio list helpers into bio.h 2009-04-15 08:28:09 +02:00
dm-region-hash.c block: move bio list helpers into bio.h 2009-04-15 08:28:09 +02:00
dm-round-robin.c dm: remove dm header from targets 2008-10-21 17:44:59 +01:00
dm-snap-persistent.c block: Do away with the notion of hardsect_size 2009-05-22 23:22:54 +02:00
dm-snap-transient.c dm snapshot: move status to exception store 2009-04-02 19:55:35 +01:00
dm-snap.c block: move bio list helpers into bio.h 2009-04-15 08:28:09 +02:00
dm-stripe.c dm: consolidate target deregistration error handling 2009-01-06 03:04:58 +00:00
dm-sysfs.c dm: add name and uuid to sysfs 2009-01-06 03:05:12 +00:00
dm-table.c Revert "block: Fix bounce limit setting in DM" 2009-06-09 06:22:57 +02:00
dm-target.c dm target: remove struct tt_internal 2009-04-02 19:55:28 +01:00
dm-uevent.c md: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
dm-uevent.h
dm-zero.c dm: consolidate target deregistration error handling 2009-01-06 03:04:58 +00:00
dm.c tracing/events: convert block trace points to TRACE_EVENT() 2009-06-09 12:34:23 -04:00
dm.h dm: remove limited barrier support 2009-04-09 00:27:13 +01:00
faulty.c md: Move check for bitmap presence to personality code. 2009-06-18 08:49:23 +10:00
Kconfig md: remove CONFIG_MD_RAID_RESHAPE config option. 2009-03-31 15:27:05 +11:00
linear.c md: Move check for bitmap presence to personality code. 2009-06-18 08:49:23 +10:00
linear.h md: Removing num_sector and replacing start_sector with end_sector 2009-06-16 16:56:13 +10:00
Makefile md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
md.c md: Move check for bitmap presence to personality code. 2009-06-18 08:49:23 +10:00
md.h md: Move check for bitmap presence to personality code. 2009-06-18 08:49:23 +10:00
mktables.c md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
multipath.c md: Move check for bitmap presence to personality code. 2009-06-18 08:49:23 +10:00
multipath.h md: remove mddev_to_conf "helper" macro 2009-06-16 16:54:21 +10:00
raid0.c md: Move check for bitmap presence to personality code. 2009-06-18 08:49:23 +10:00
raid0.h md: remove mddev_to_conf "helper" macro 2009-06-16 16:54:21 +10:00
raid1.c md: Push down reconstruction log message to personality code. 2009-06-18 08:48:06 +10:00
raid1.h md: remove mddev_to_conf "helper" macro 2009-06-16 16:54:21 +10:00
raid5.c md: Push down reconstruction log message to personality code. 2009-06-18 08:48:06 +10:00
raid5.h md: convert conf->chunk_size and conf->prev_chunk to sectors. 2009-06-18 08:45:55 +10:00
raid6algos.c md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
raid6altivec.uc md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
raid6int.uc md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
raid6mmx.c md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
raid6recov.c md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
raid6sse1.c md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
raid6sse2.c md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
raid6x86.h md: fix typo in FSF address 2009-03-31 14:57:37 +11:00
raid10.c md: Push down reconstruction log message to personality code. 2009-06-18 08:48:06 +10:00
raid10.h md: remove mddev_to_conf "helper" macro 2009-06-16 16:54:21 +10:00
unroll.pl