raid5-ppl: runtime PPL enabling or disabling
authorArtur Paszkiewicz <artur.paszkiewicz@intel.com>
Thu, 9 Mar 2017 09:00:03 +0000 (10:00 +0100)
committerShaohua Li <shli@fb.com>
Thu, 16 Mar 2017 23:55:56 +0000 (16:55 -0700)
commitba903a3ea465bd2f2bb9316054b295e79a7a518e
tree9eae9199e526deaa23791d7477bffcd910dbe463
parent6358c239d88c751a9f14152a8d4ad2b69f5be48f
raid5-ppl: runtime PPL enabling or disabling

Allow writing to 'consistency_policy' attribute when the array is
active. Add a new function 'change_consistency_policy' to the
md_personality operations structure to handle the change in the
personality code. Values "ppl" and "resync" are accepted and
turn PPL on and off respectively.

When enabling PPL its location and size should first be set using
'ppl_sector' and 'ppl_size' attributes and a valid PPL header should be
written at this location on each member device.

Enabling or disabling PPL is performed under a suspended array.  The
raid5_reset_stripe_cache function frees the stripe cache and allocates
it again in order to allocate or free the ppl_pages for the stripes in
the stripe cache.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Signed-off-by: Shaohua Li <shli@fb.com>
drivers/md/md.c
drivers/md/md.h
drivers/md/raid5-ppl.c
drivers/md/raid5.c