[71] in Athena_Backup_System
Tape Slave outline
daemon@ATHENA.MIT.EDU (Jonathon Weiss)
Mon Feb 6 12:29:50 1995
From: Jonathon Weiss <jweiss@MIT.EDU>
To: athena-backup@MIT.EDU
Date: Mon, 06 Feb 1995 12:29:30 EST
Mostly for the record, here is the outline I had for the tape slave,
as of the meeting last Thurs.
Jonathon
Backup
check_auth*
mount_tape*
validate_label*
confirm_blank_tape
get_tape_label
ask master if it is blank
if not go back to mount tape (after ejecting)
write_tape_label
write label to tape
unacked RPC with state to master
tape foo mounted processed n vols
write_vols
get vol from disk and dump it to tape
busy/lock vol
dump vol
unlock vol
unacked RPC with state to master
tape foo mounted processed n vols
iterate
return_results
Restore
check_auth*
mount_tape*
validate_label*
confirm_tape_label
get_tape_label
compare it to what we're supposed to have
if wrong go back to mount tape (after ejecting)
read_vols
seek to appropriate file mark
read vol, and store it to disk
iterate
return_results
Label
check_auth*
mount_tape*
!validate_label*
(we need validate_label to fail, if it succeeds
we should eject the tape)
write_label
return_results
Scan
check_auth*
mount_tape*
validate_label*
get_tape_label
scan_vols
read vol label
process vol label
seek to filemark
iterate
return_results
common procs:
check_auth
Is this master who it says it is
is it allowed to assign jobs to us
mount_tape
validate_label
Is it a valid ABS label