Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6c910a78 authored by Dan Williams's avatar Dan Williams
Browse files

md/raid6: cleanup ops_run_compute6_2



Neil says:
	"It is correct as it stands, but the fact that every branch in
	 the 'if' part ends with a 'return' isn't immediately obvious,
	 so it is clearer if we are explicit about the if / then / else
	 structure."

Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent 2d6e4ecc
Loading
Loading
Loading
Loading
+15 −12
Original line number Original line Diff line number Diff line
@@ -810,7 +810,7 @@ ops_run_compute6_2(struct stripe_head *sh, struct raid5_percpu *percpu)
	BUG_ON(!test_bit(R5_Wantcompute, &tgt->flags));
	BUG_ON(!test_bit(R5_Wantcompute, &tgt->flags));
	BUG_ON(!test_bit(R5_Wantcompute, &tgt2->flags));
	BUG_ON(!test_bit(R5_Wantcompute, &tgt2->flags));


	/* we need to open-code set_syndrome_sources to handle to the
	/* we need to open-code set_syndrome_sources to handle the
	 * slot number conversion for 'faila' and 'failb'
	 * slot number conversion for 'faila' and 'failb'
	 */
	 */
	for (i = 0; i < disks ; i++)
	for (i = 0; i < disks ; i++)
@@ -879,18 +879,21 @@ ops_run_compute6_2(struct stripe_head *sh, struct raid5_percpu *percpu)
			return async_gen_syndrome(blocks, 0, count+2,
			return async_gen_syndrome(blocks, 0, count+2,
						  STRIPE_SIZE, &submit);
						  STRIPE_SIZE, &submit);
		}
		}
	}
	} else {

		init_async_submit(&submit, ASYNC_TX_FENCE, NULL,
	init_async_submit(&submit, ASYNC_TX_FENCE, NULL, ops_complete_compute,
				  ops_complete_compute, sh,
			  sh, to_addr_conv(sh, percpu));
				  to_addr_conv(sh, percpu));
		if (failb == syndrome_disks) {
		if (failb == syndrome_disks) {
			/* We're missing D+P. */
			/* We're missing D+P. */
		return async_raid6_datap_recov(syndrome_disks+2, STRIPE_SIZE,
			return async_raid6_datap_recov(syndrome_disks+2,
					       faila, blocks, &submit);
						       STRIPE_SIZE, faila,
						       blocks, &submit);
		} else {
		} else {
			/* We're missing D+D. */
			/* We're missing D+D. */
		return async_raid6_2data_recov(syndrome_disks+2, STRIPE_SIZE,
			return async_raid6_2data_recov(syndrome_disks+2,
					       faila, failb, blocks, &submit);
						       STRIPE_SIZE, faila, failb,
						       blocks, &submit);
		}
	}
	}
}
}