kernel-fxtec-pro1x/drivers/md
Dan Williams e89f89629b md: handle_stripe5 - add request/completion logic for async check ops
Check operations are scheduled when the array is being resynced or an
explicit 'check/repair' command was sent to the array.  Previously check
operations would destroy the parity block in the cache such that even if
parity turned out to be correct the parity block would be marked
!R5_UPTODATE at the completion of the check.  When the operation can be
carried out by a dma engine the assumption is that it can check parity as a
read-only operation.  If raid5_run_ops notices that the check was handled
by hardware it will preserve the R5_UPTODATE status of the parity disk.

When a check operation determines that the parity needs to be repaired we
reuse the existing compute block infrastructure to carry out the operation.
Repair operations imply an immediate write back of the data, so to
differentiate a repair from a normal compute operation the
STRIPE_OP_MOD_REPAIR_PD flag is added.

Changelog:
* remove test_and_set/test_and_clear BUG_ONs, Neil Brown

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Acked-By: NeilBrown <neilb@suse.de>
2007-07-13 08:06:17 -07:00
..
raid6test [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
.gitignore gitignore: misc files 2006-01-01 22:21:50 +01:00
bitmap.c md: don't write more than is required of the last page of a bitmap 2007-05-23 20:14:14 -07:00
dm-bio-list.h dm: bio list helpers 2007-05-09 12:30:47 -07:00
dm-bio-record.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-crypt.c dm crypt: add null iv 2007-05-09 12:30:46 -07:00
dm-delay.c dm: delay target 2007-05-09 12:30:47 -07:00
dm-emc.c [PATCH] struct path: rename DM's struct path 2006-12-08 08:28:40 -08:00
dm-exception-store.c dm exception store: update dm io interface 2007-05-09 12:30:47 -07:00
dm-hw-handler.c BUG_ON() Conversion in md/dm-hw-handler.c 2006-03-24 18:36:27 +01:00
dm-hw-handler.h dm mpath: log device name 2007-05-09 12:30:46 -07:00
dm-io.c dm io: remove old interface 2007-05-09 12:30:47 -07:00
dm-io.h dm io: remove old interface 2007-05-09 12:30:47 -07:00
dm-ioctl.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
dm-linear.c [PATCH] dm: map and endio symbolic return codes 2006-12-08 08:29:09 -08:00
dm-log.c dm log: fix resume failed log device 2007-05-09 12:30:48 -07:00
dm-log.h [PATCH] dm: log: rename complete_resync_work 2006-12-08 08:29:09 -08:00
dm-mpath.c dm mpath: log device name 2007-05-09 12:30:46 -07:00
dm-mpath.h [PATCH] struct path: rename DM's struct path 2006-12-08 08:28:40 -08:00
dm-path-selector.c BUG_ON() Conversion in md/dm-path-selector.c 2006-03-26 18:21:58 +02: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 raid1: switch rh_in_sync to blocking in do_reads 2007-05-09 12:30:48 -07:00
dm-round-robin.c [PATCH] struct path: rename DM's struct path 2006-12-08 08:28:40 -08:00
dm-snap.c [PATCH] make drivers/md/dm-snap.c:ksnapd static 2006-12-08 08:29:09 -08:00
dm-snap.h [PATCH] dm snapshot: add workqueue 2006-10-03 08:04:14 -07:00
dm-stripe.c [PATCH] dm: map and endio symbolic return codes 2006-12-08 08:29:09 -08:00
dm-table.c dm: allow offline devices 2007-05-09 12:30:47 -07:00
dm-target.c [PATCH] dm: improve error message consistency 2006-06-26 09:58:36 -07:00
dm-zero.c [PATCH] dm: map and endio symbolic return codes 2006-12-08 08:29:09 -08:00
dm.c dm mpath: log device name 2007-05-09 12:30:46 -07:00
dm.h [PATCH] dm: suspend: add noflush pushback 2006-12-08 08:29:09 -08:00
faulty.c [PATCH] md: Don't assume that READ==0 and WRITE==1 - use the names explicitly 2006-12-13 09:05:48 -08:00
Kconfig async_tx: add the async_tx api 2007-07-13 08:06:14 -07:00
kcopyd.c dm kcopyd: update dm io interface 2007-05-09 12:30:47 -07:00
kcopyd.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
linear.c md: fix bug with linear hot-add and elsewhere 2007-05-23 20:14:14 -07:00
Makefile xor: make 'xor_blocks' a library routine for use with async_tx 2007-07-13 08:06:14 -07:00
md.c xor: make 'xor_blocks' a library routine for use with async_tx 2007-07-13 08:06:14 -07:00
mktables.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
multipath.c [PATCH] md: fix up maintenance of ->degraded in multipath 2006-10-28 11:30:51 -07:00
raid0.c md: avoid overflow in raid0 calculation with large components 2007-05-23 20:14:14 -07:00
raid1.c md: fix bug in error handling during raid1 repair 2007-06-16 13:16:15 -07:00
raid5.c md: handle_stripe5 - add request/completion logic for async check ops 2007-07-13 08:06:17 -07:00
raid6.h [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
raid6algos.c [PATCH] drivers/md/raid6algos.c: fix a NULL dereference 2006-06-23 07:43:08 -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 [PATCH] md: RAID6: clean up CPUID and FPU enter/exit code 2007-03-01 14:53:36 -08:00
raid6recov.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6sse1.c [PATCH] md: RAID6: clean up CPUID and FPU enter/exit code 2007-03-01 14:53:36 -08:00
raid6sse2.c [PATCH] md: RAID6: clean up CPUID and FPU enter/exit code 2007-03-01 14:53:36 -08:00
raid6x86.h [PATCH] md: RAID6: clean up CPUID and FPU enter/exit code 2007-03-01 14:53:36 -08:00
raid10.c md: fix two raid10 bugs 2007-06-16 13:16:15 -07:00
unroll.pl Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00