md/raid5: Factor out helper from raid5_make_request() loop
authorLogan Gunthorpe <logang@deltatee.com>
Thu, 16 Jun 2022 19:19:36 +0000 (13:19 -0600)
committerSong Liu <song@kernel.org>
Sun, 3 Jul 2022 14:55:41 +0000 (07:55 -0700)
commit09cf533457791bf2ee15e7e370f44032ca64101a
tree127c5ff4928e7a8c36bb960955ee3a761e9b098e
parent6ce9728905c2760c5de37b75338ce23ad4b3bd13
md/raid5: Factor out helper from raid5_make_request() loop

Factor out the inner loop of raid5_make_request() into it's own helper
called make_stripe_request().

The helper returns a number of statuses: SUCCESS, RETRY,
SCHEDULE_AND_RETRY and FAIL. This makes the code a bit easier to
understand and allows the SCHEDULE_AND_RETRY path to be made common.

A context structure is added to contain do_flush. It will be used
more in subsequent patches for state that needs to be kept
outside the loop.

No functional changes intended. This will be cleaned up further in
subsequent patches to untangle the gen_lock and do_prepare logic
further.

Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Signed-off-by: Song Liu <song@kernel.org>
drivers/md/raid5.c