X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-utils.git;a=blobdiff_plain;f=backup%2Fbackuplib.pl;h=f8d7349bdec683fa4db009933e3ad33db3f7670d;hp=8be8bff2cd91a889349377283ed119e6bde9884b;hb=b0462536b814ddf1e337379dac850e745f4635dc;hpb=470ba2e9de232758429e7656cfecb18edffabbfa diff --git a/backup/backuplib.pl b/backup/backuplib.pl index 8be8bff..f8d7349 100644 --- a/backup/backuplib.pl +++ b/backup/backuplib.pl @@ -51,18 +51,22 @@ sub startprocess ($$$) { exec $c; die "$c: $!"; } +sub rewind_raw () { + system "mt -f $tape rewind"; $? and die $?; +} + sub readtapeid_raw () { open T, ">>TAPEID" or die $!; close T; unlink 'TAPEID' or die $!; - system "mt -f $tape rewind"; $? and die $?; + rewind_raw(); system "mt -f $tape setblk $blocksizebytes"; $? and die $?; system "dd if=$tape bs=${blocksize}b count=10 ". "| tar -b$blocksize -vvxf - TAPEID"; } -sub writetapeid ($) { +sub writetapeid ($$) { open T, ">TAPEID" or die $!; - print T "$_[0]\n" or die $!; + print T "$_[0]\n$_[1]\n" or die $!; close T or die $!; system "tar -b$blocksize -vvcf TAPEID.tar TAPEID"; $? and die $?;