tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

raid-on-raid during shutdown

As a few of you may recall, I've been working with a machine for
$DAYJOB on which raidframe is rather important.  It's been doing its
jobs well - in almost all respects, at least; this is, unsurprisingly,
about one of the exceptions.

This machine is set up RAID-on-RAID.  It's got a RAID 5 and a RAID 1
that are each layered atop a bunch of single-member RAID 1s.  There are
two downsides to this: one is that the upper-layer RAIDs can't be
autoconfigured and the other is that shutdown doesn't close things down
properly.  (There are of course upsides as well, or I wouldn't've done
it to begin with, but these two downsides are what are of interest for
the purposes of this note.)

Thanks to Jed Davis's recent work, the former is likely to be fixed
soon.  I've backported those patches to 4.0.1, and the result seems to
work on a test machine; the production machine is busy recovering from
a hardware failure right now, but I expect to get that code running
there before the week is out.

But the other one is bothering me.  In the current case, all the
bottom-level RAIDs are one-member RAID 1s, so cleanness is not an
issue.  But on a few occasions I've had a second member in one of them,
and that one always comes out unclean upon shutdown, even a "clean"
shutdown.  I had a look at the code, but I can't see why it isn't
working.  It looks to me as though raidclose on an upper-layer raid
should close its members, inside rf_Shutdown(), which then will lead to
raidclose being called for them, cascading until either they're all
cleanly unconfigured or something is held open for other reasons.  This
doesn't happen, so clearly there's something wrong with the
understanding I sketched above.

So, I've got two questions: (1) what am I missing here? and (2) if it's
not obvious from the answer to (1), what is needed to make RAIDframe
closes cascade properly, to get clean shutdowns of RAID-on-RAID setups?
I'm willing to take a stab at doing the work, but I hesitate to charge
blindly ahead when there's obviously something important I don't grok,
and if some kind person could help, it would substantially speed up my
acquisition of that understanding.

In passing, if anyone wants my backporting of the autoconfiguration
patches to 4.0.1, just let me know.  I've probably done something
wrong, but it might save someone else some work to have a starting

/~\ The ASCII                             Mouse
\ / Ribbon Campaign
 X  Against HTML      
/ \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B

Home | Main Index | Thread Index | Old Index