• Mike Hibler's avatar
    Partial support for disk-zeroing on experiment termination. · 60e7adb8
    Mike Hibler authored
    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.