2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-19 10:44:14 +08:00
linux-next/include/linux/raid
Dan Williams ecc65c9b3f md: replace STRIPE_OP_CHECK with 'check_states'
From: Dan Williams <dan.j.williams@intel.com>

The STRIPE_OP_* flags record the state of stripe operations which are
performed outside the stripe lock.  Their use in indicating which
operations need to be run is straightforward; however, interpolating what
the next state of the stripe should be based on a given combination of
these flags is not straightforward, and has led to bugs.  An easier to read
implementation with minimal degrees of freedom is needed.

Towards this goal, this patch introduces explicit states to replace what was
previously interpolated from the STRIPE_OP_* flags.  For now this only converts
the handle_parity_checks5 path, removing a user of the
ops.{pending,ack,complete,count} fields of struct stripe_operations.

This conversion also found a remaining issue with the current code.  There is
a small window for a drive to fail between when we schedule a repair and when
the parity calculation for that repair completes.  When this happens we will
writeback to 'failed_num' when we really want to write back to 'pd_idx'.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Neil Brown <neilb@suse.de>
2008-06-28 08:31:57 +10:00
..
bitmap.h Improve setting of "events_cleared" for write-intent bitmaps. 2008-06-28 08:31:22 +10:00
Kbuild
linear.h
md_k.h Make sure all changes to md/dev-XX/state are notified 2008-06-28 08:31:44 +10:00
md_p.h
md_u.h
md.h md: proper extern for mdp_major 2008-05-24 09:56:09 -07:00
multipath.h
raid0.h
raid1.h
raid5.h md: replace STRIPE_OP_CHECK with 'check_states' 2008-06-28 08:31:57 +10:00
raid10.h
xor.h async_tx: add the async_tx api 2007-07-13 08:06:14 -07:00