kernel-ark/include
Dan Williams f38e12199a md: handle_stripe5 - add request/completion logic for async compute ops
handle_stripe will compute a block when a backing disk has failed, or when
it determines it can save a disk read by computing the block from all the
other up-to-date blocks.

Previously a block would be computed under the lock and subsequent logic in
handle_stripe could use the newly up-to-date block.  With the raid5_run_ops
implementation the compute operation is carried out a later time outside
the lock.  To preserve the old functionality we take advantage of the
dependency chain feature of async_tx to flag the block as R5_Wantcompute
and then let other parts of handle_stripe operate on the block as if it
were up-to-date.  raid5_run_ops guarantees that the block will be ready
before it is used in another operation.

However, this only works in cases where the compute and the dependent
operation are scheduled at the same time.  If a previous call to
handle_stripe sets the R5_Wantcompute flag there is no facility to pass the
async_tx dependency chain across successive calls to raid5_run_ops.  The
req_compute variable protects against this case.

Changelog:
* remove the req_compute BUG_ON

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Acked-By: NeilBrown <neilb@suse.de>
2007-07-13 08:06:17 -07:00
..
acpi
asm-alpha ALPHA: misc fixes 2007-06-01 08:18:29 -07:00
asm-arm
asm-arm26
asm-avr32
asm-blackfin Blackfin arch: remove zero-sized include/asm-blackfin/macros.h 2007-07-03 08:25:50 +08:00
asm-cris
asm-frv frv: fix fallout from "remove sched.h from mm.h" patch 2007-07-01 12:29:44 -07:00
asm-generic
asm-h8300
asm-i386 i386: es7000 build breakage fix 2007-07-06 10:23:43 -07:00
asm-ia64
asm-m32r
asm-m68k
asm-m68knommu
asm-mips [MIPS] Fix scheduling latency issue on 24K, 34K and 74K cores 2007-07-06 16:17:11 +01:00
asm-parisc
asm-powerpc [POWERPC] Uninline and export virq_to_hw() for the pasemi_mac driver 2007-07-02 13:29:21 +10:00
asm-ppc
asm-s390
asm-sh
asm-sh64
asm-sparc
asm-sparc64
asm-um
asm-v850
asm-x86_64
asm-xtensa
crypto
keys
linux md: handle_stripe5 - add request/completion logic for async compute ops 2007-07-13 08:06:17 -07:00
math-emu
media
mtd
net
pcmcia
rdma
rxrpc
scsi
sound
video
Kbuild