OpenCloudOS-Kernel/drivers/md
NeilBrown 1187cf0a3c md: Allow write-intent bitmaps to have chunksize < PAGE_SIZE
md currently insists that the chunk size used for write-intent
bitmaps (the amount of data that corresponds to one chunk)
be at least one page.

The reason for this restriction is lost in the mists of time,
but a review of the code (and a vague memory) suggests that the only
problem would be related to resync.  Resync tries very hard to
work in multiples of a page, but also needs to sync with units
of a bitmap_chunk too.

This connection comes out in the bitmap_start_sync call.

So change bitmap_start_sync to always work in multiples of a page.
If the bitmap chunk size is less that one page, we flag multiple
chunks as 'syncing' and generally make them all appear to the
resync routines like one chunk.

All other code either already works with data ranges that could
span multiple chunks, or explicitly only cares about a single chunk.

Signed-off-by: Neil Brown <neilb@suse.de>
2009-03-31 14:27:02 +11:00
..
raid6test md: raid6: clean up the style of raid6test/test.c 2008-02-06 10:41:18 -08:00
.gitignore gitignore: misc files 2006-01-01 22:21:50 +01:00
Kconfig raid, fastboot: hide RAID autodetect option if MD is compiled as a module 2008-10-12 08:25:14 -07:00
Makefile dm snapshot: split out exception store implementations 2009-01-06 03:05:17 +00:00
bitmap.c md: Allow write-intent bitmaps to have chunksize < PAGE_SIZE 2009-03-31 14:27:02 +11:00
dm-bio-list.h dm: bio_list macro renaming 2007-10-20 02:01:11 +01:00
dm-bio-record.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-crypt.c dm: consolidate target deregistration error handling 2009-01-06 03:04:58 +00:00
dm-delay.c dm: consolidate target deregistration error handling 2009-01-06 03:04:58 +00:00
dm-exception-store.c dm snapshot: extend exception store functions 2009-01-06 03:05:19 +00:00
dm-exception-store.h dm snapshot: extend exception store functions 2009-01-06 03:05:19 +00:00
dm-io.c block: fix bad definition of BIO_RW_SYNC 2009-02-18 10:32:00 +01:00
dm-ioctl.c dm table: rework reference counting 2009-01-06 03:05:10 +00:00
dm-kcopyd.c block: fix bad definition of BIO_RW_SYNC 2009-02-18 10:32:00 +01:00
dm-linear.c dm: support barriers on simple devices 2009-01-06 03:05:09 +00:00
dm-log.c dm log: ensure log bitmap fits on log device 2009-01-06 03:05:02 +00:00
dm-mpath.c dm mpath: move trigger_event to system workqueue 2009-01-06 03:05:13 +00: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: remove dm header from targets 2008-10-21 17:44:59 +01:00
dm-path-selector.h [PATCH] struct path: rename DM's struct path 2006-12-08 08:28:40 -08:00
dm-raid1.c dm log: move region_size validation 2009-01-06 03:05:01 +00:00
dm-region-hash.c dm raid1: separate region_hash interface part1 2008-10-21 17:45:06 +01:00
dm-round-robin.c dm: remove dm header from targets 2008-10-21 17:44:59 +01:00
dm-snap-persistent.c dm snapshot: extend exception store functions 2009-01-06 03:05:19 +00:00
dm-snap-transient.c dm snapshot: extend exception store functions 2009-01-06 03:05:19 +00:00
dm-snap.c dm snapshot: extend exception store functions 2009-01-06 03:05:19 +00:00
dm-snap.h dm snapshot: extend exception store functions 2009-01-06 03:05:19 +00: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 dm table: rework reference counting 2009-01-06 03:05:10 +00:00
dm-target.c dm: consolidate target deregistration error handling 2009-01-06 03:04:58 +00:00
dm-uevent.c md: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
dm-uevent.h dm: uevent generate events 2007-10-20 02:01:26 +01:00
dm-zero.c dm: consolidate target deregistration error handling 2009-01-06 03:04:58 +00:00
dm.c dm: add name and uuid to sysfs 2009-01-06 03:05:12 +00:00
dm.h dm: add name and uuid to sysfs 2009-01-06 03:05:12 +00:00
faulty.c md: use list_for_each_entry macro directly 2009-01-09 08:31:08 +11:00
linear.c md: Fix a bug in linear.c causing which_dev() to return the wrong device. 2009-02-06 15:10:52 +11:00
md.c md: Fix is_mddev_idle test (again). 2009-03-31 14:27:02 +11:00
mktables.c md: raid6: Fix mktable.c 2008-02-06 10:41:18 -08:00
multipath.c md: use list_for_each_entry macro directly 2009-01-09 08:31:08 +11:00
raid0.c md: use list_for_each_entry macro directly 2009-01-09 08:31:08 +11:00
raid1.c md: avoid races when stopping resync. 2009-02-25 13:18:47 +11:00
raid5.c md: use list_for_each_entry macro directly 2009-01-09 08:31:08 +11:00
raid6.h md: Remove unnecessary #includes, #defines, and function declarations. 2008-10-13 11:55:12 +11:00
raid6algos.c drivers/md: use time_before, time_before_eq, etc 2008-04-28 08:58:42 -07:00
raid6altivec.uc [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
raid6int.uc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6mmx.c x86 merge fallout: uml 2007-10-29 07:41:32 -07:00
raid6recov.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6sse1.c x86 merge fallout: uml 2007-10-29 07:41:32 -07:00
raid6sse2.c x86 merge fallout: uml 2007-10-29 07:41:32 -07:00
raid6x86.h x86 merge fallout: uml 2007-10-29 07:41:32 -07:00
raid10.c md: avoid races when stopping resync. 2009-02-25 13:18:47 +11:00
unroll.pl Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00