linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] Make OLCE workeable
@ 2011-03-08 13:24 Adam Kwolek
  2011-03-08 13:24 ` [PATCH 1/5] fix: array is reassembled inactive if stopped during resync Adam Kwolek
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Adam Kwolek @ 2011-03-08 13:24 UTC (permalink / raw)
  To: neilb; +Cc: linux-raid, dan.j.williams, ed.ciechanowski, wojciech.neubauer

This is first part of my comments for your latest changes on devel3-2 regarding reshape and reshape restart.
Unfortunately those changes breaks OLCE functionality. This patch series makes OLCE workable (mdadm UT suits 12 and 13 succeed).

Problems:
1. In passing in mdinfo (array.level) raid4 for transition raid0->raid0.
   This causes problems in takeover
   a.Raid0 takeover doesn't occur. array.level == reshape.level == 4
     Resolution: Decision about takeover has to be made based on real md level not info->array.level
   b.Decision about backward takeover cannot be always taken by mdadm. mdadm can think that original level is raid4
     Resolution: use level read from md as orig_level (not from metadata)

2.On the begin of reshape_array() array structure is read from md (via ioctrl). Md knows nothing about raid4 working level, so spares_needed is wrongly computed
  Resolution: use info->array.raid_disks instead array.raid_disks to compute  spares_needed.
3.Analyse_changes() delta_parity concept doesn't match information currently metadata reports. Result of this is wrongly computed reshape.after.data_disks field.
  Resolution: do not use delta_parity, base on information from metadata handle
4.Defects/potential defects
 a.delta_disks should be checked in sysfs_set_array()
 b.array assembly problem
reshape_active flag has to be evaluated. Existing second map doesn't means reshape always (rebuild, initialization)

I've tried to follow your idea in this series. Generally it seems ok (proved by UT). I like putting more array configuration in sysfs_set_array().

Now I'm going to look at patches at the reshape restart point of view.
I'll let you know results soon.

BR
Adam


---

Adam Kwolek (5):
      FIX: Compute spares_needed basing on metadata info
      FIX: Remove delta_parity concept
      FIX: Allow for takeover
      FIX: Set new raid disks when delta_disks is valid
      fix: array is reassembled inactive if stopped during resync


 Grow.c        |   22 +++++-----------------
 super-intel.c |    5 +++--
 sysfs.c       |    4 +++-
 3 files changed, 11 insertions(+), 20 deletions(-)

-- 
Signature

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2011-03-09  8:35 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-08 13:24 [PATCH 0/5] Make OLCE workeable Adam Kwolek
2011-03-08 13:24 ` [PATCH 1/5] fix: array is reassembled inactive if stopped during resync Adam Kwolek
2011-03-08 13:24 ` [PATCH 2/5] FIX: Set new raid disks when delta_disks is valid Adam Kwolek
2011-03-08 13:24 ` [PATCH 3/5] FIX: Allow for takeover Adam Kwolek
2011-03-09  7:44   ` NeilBrown
2011-03-08 13:25 ` [PATCH 4/5] FIX: Remove delta_parity concept Adam Kwolek
2011-03-08 13:25 ` [PATCH 5/5] FIX: Compute spares_needed basing on metadata info Adam Kwolek
2011-03-09  0:53 ` [PATCH 0/5] Make OLCE workeable NeilBrown
2011-03-09  7:45   ` Kwolek, Adam
2011-03-09  7:56     ` NeilBrown
2011-03-09  8:13   ` Kwolek, Adam
2011-03-09  8:35   ` Kwolek, Adam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).