On Fri Mar 21, 2008 at 07:01:43PM -0400, Bill Davidsen wrote: > Peter Rabbitson wrote: >> I was actually specifically advocating that md must _not_ do anything on >> its own. Just provide the hooks to get information (what is the current >> stripe state) and update information (the described repair extension). The >> logic that you are describing can live only in an external app, it has no >> place in-kernel. > > So you advocate the current code being in the kernel, which absent a > hardware error makes blind assumptions about which data is valid and which > is not and in all cases hides the problem, instead of the code I proposed, > which in some cases will be able to avoid action which is provably wrong > and never be less likely to do the wrong thing than the current code? > I would certainly advocate that the current (entirely automatic) code belongs in the kernel whereas any code requiring user intervention/decision making belongs in a user process, yes. That's not to say that the former should be preferred over the latter though, but there's really no reason to remove the in-kernel automated process until (or even after) a user-side repair process has been coded. > Currently the "repair" action (which *is* in the kernel now) takes no > advantage of the additional information available in these cases I noted. > By what logic do you conclude that the user meant "hide the error" when > using the "repair" action? What I propose is never less likely to be > correct than what the current code does, why would you not want to improve > the chances of getting the repair correct? > That is, of course, a separate issue to whether it should be in-kernel. I would entirely agree that user-level processes should be able to access and manipulate the low-level RAID data/metadata (via the md layer) in order to facilitate more advanced repair functions, but this should be separate from, and in addition to, the "ignorant" parity-updating repair process currently in place. Just my 2p, Robin -- ___ ( ' } | Robin Hill <robin@xxxxxxxxxxxxxxx> | / / ) | Little Jim says .... | // !! | "He fallen in de water !!" |
Attachment:
pgpMmavddAxg0.pgp
Description: PGP signature