funcs 877 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/rc
  2. # funcs - rc functions and definitions common to dump scripts
  3. fn backupinit {
  4. if (! ~ $backupinitdone yes) {
  5. disc=1
  6. tracks=0
  7. # tunable parameters
  8. set=set1
  9. fs=yoshimi
  10. trackbytes=1073741824 # twice the venti default on yoshimi
  11. rdev=/dev/sdD0
  12. discbytes=`{ls -l $rdev/data | awk '{print $6}'}
  13. #ntracks=`{ hoc -e 'int('$discbytes/$trackbytes')' }
  14. ntracks=45 # for BD dual-layer
  15. backupinitdone=yes
  16. backups=/sys/lib/backup
  17. }
  18. }
  19. # assume we're in $backups/$set
  20. fn updprog {
  21. echo 'disc='$disc 'tracks='$tracks >ndisc && mv ndisc disc
  22. }
  23. # assumes $set is set
  24. fn dumpdone { # arena-part arena-name
  25. @ {
  26. cd $backups/$set
  27. progress=yes
  28. tracks = `{hoc -e $tracks+1}
  29. updprog
  30. if (~ $debug yes)
  31. echo $2 >>fake # pretend these are sealed
  32. echo $2 >>ondisc
  33. }
  34. }
  35. fn quitonfailure { # exit-status
  36. if (! ~ $1 '' 0 '|')
  37. exit $1
  38. }
  39. backupinit