raid5: fix broken async operation chain
ops_run_reconstruct6() doesn't correctly chain asyn operations. The tx returned
by async_gen_syndrome should be added as the dependent tx of next stripe.
The issue is introduced by commit 59fc630b8b
RAID5: batch adjacent full stripe write
Reported-and-tested-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
Родитель
bb27051f9f
Коммит
487696957e
|
@ -1822,7 +1822,7 @@ again:
|
|||
} else
|
||||
init_async_submit(&submit, 0, tx, NULL, NULL,
|
||||
to_addr_conv(sh, percpu, j));
|
||||
async_gen_syndrome(blocks, 0, count+2, STRIPE_SIZE, &submit);
|
||||
tx = async_gen_syndrome(blocks, 0, count+2, STRIPE_SIZE, &submit);
|
||||
if (!last_stripe) {
|
||||
j++;
|
||||
sh = list_first_entry(&sh->batch_list, struct stripe_head,
|
||||
|
|
Загрузка…
Ссылка в новой задаче