summaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-exception-store.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2008-06-28 08:32:09 +1000
committerNeil Brown <neilb@notabene.brown>2008-06-28 08:32:09 +1000
commit7b3a871ed995270268a481404454ceafe1a87478 (patch)
tree1d86a84bd885f6c24213dd84b5406a38597b457e /drivers/md/dm-exception-store.c
parentd8ee0728b5b30d7a6f62c399a95e953616d31f23 (diff)
downloadtalos-op-linux-7b3a871ed995270268a481404454ceafe1a87478.tar.gz
talos-op-linux-7b3a871ed995270268a481404454ceafe1a87478.zip
md: handle operation chaining in raid5_run_ops
From: Dan Williams <dan.j.williams@intel.com> Neil said: > At the end of ops_run_compute5 you have: > /* ack now if postxor is not set to be run */ > if (tx && !test_bit(STRIPE_OP_POSTXOR, &s->ops_run)) > async_tx_ack(tx); > > It looks odd having that test there. Would it fit in raid5_run_ops > better? The intended global interpretation is that raid5_run_ops can build a chain of xor and memcpy operations. When MD registers the compute-xor it tells async_tx to keep the operation handle around so that another item in the dependency chain can be submitted. If we are just computing a block to satisfy a read then we can terminate the chain immediately. raid5_run_ops gives a better context for this test since it cares about the entire chain. Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Neil Brown <neilb@suse.de>
Diffstat (limited to 'drivers/md/dm-exception-store.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud