[71] in Athena_Backup_System

home help back first fref pref prev next nref lref last post

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


home help back first fref pref prev next nref lref last post