Add generic per-node state triggers to stated. You can put a trigger
on any node on any state, in any specific mode, or without any mode restriction. The imediate use of this is the FREENODE trigger. Now RELOADDONE adds a FREENODE trigger on the ISUP state, if the node is in the reloading expt. Then next time the node hits ISUP, it gets freed from the reloading expt. This fix solves the race where recently freed (and still rebooting) nodes get grabbed by an expt and get rebooted in a way that may hoze their FS's. Also fixed a problem that was making it load the db twice on startup.
Showing with 135 additions and 12 deletions