Partial support for disk-zeroing on experiment termination.
I did the "back half" support. If the 'mustwipe' field is non-zero in the reserved table entry for a node then its disk must be zeroed. How the zeroing is done, depends on the value of the mustwipe field. Right now, '1' means pass the '-z' option to frisbee to have it zero all non-allocated blocks. The value '2' is reserved for enabling a "full wipe" pass of the disk before running frisbee, which Keith Sklower (DETER) wanted to be able to do. Note that 1 and 2 are effectively the same, if we are loading a full-disk image; i.e. all non-allocated blocks from the new image are zeroed. But if the disk were being loaded with a single-partition image, then "frisbee -z" would only wipe unused blocks in that partition. The reload_daemon has been modified to extract the mustwipe info and invoke os_load accordingly. os_load now takes a "-z <type>" option to enable the zeroing by setting a value in the current_reloads table. tmcd will read and return that info to its caller in the "loadinfo" command. Finally, the rc.frisbee script that runs in the frisbee MFS extracts the loadinfo info and crafts the frisbee startup command. What still needs to be done is the "front end," how the user specifies the value and how it winds up in the DB reserved table. This will probably involve addition of state to the experiments table as this will likely be a per-experiment setting.
Showing with 199 additions and 87 deletions