Re: [PATCH 01/19] raid5: raid5_do_soft_block_ops

Jeff Garzik
2006-09-11T23:34:13Z

Dan Williams wrote:
> From: Dan Williams <dan.j.williams@intel.com>
>
> raid5_do_soft_block_ops consolidates all the stripe cache maintenance
> operations into a single routine. The stripe operations are:
> * copying data between the stripe cache and user application buffers
> * computing blocks to save a disk access, or to recover a missing block
> * updating the parity on a write operation (reconstruct write and
> read-modify-write)
> * checking parity correctness
>
> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
> ---
>
> drivers/md/raid5.c | 289 ++++++++++++++++++++++++++++++++++++++++++++
> include/linux/raid/raid5.h | 129 +++++++++++++++++++-
> 2 files changed, 415 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
> index 4500660..8fde62b 100644
> --- a/drivers/md/raid5.c
> +++ b/drivers/md/raid5.c
> @@ -1362,6 +1362,295 @@ static int stripe_to_pdidx(sector_t stri
> return pd_idx;
> }
>
> +/*
> + * raid5_do_soft_block_ops - perform block memory operations on stripe data
> + * outside the spin lock.
> + */
> +static void raid5_do_soft_block_ops(void *stripe_head_ref)

This function absolutely must be broken up into multiple functions,
presumably one per operation.

Jeff