#!/usr/local/bin/perl

# $Id: tapeinchunks,v 1.10 2000-12-13 19:15:52+01 czyborra Exp $
# für /loc/share/etc/mars.nightly

# Unsere Partitionen sind inzwischen zu groß, um sich auf einem
# Magnetband sichern zu lassen und auch vorher waren sie zu groß, um
# gesicherte Dateien schnell mit random access zu restaurieren:

$total = $chunksize = $ENV{'CHUNKSIZE'} || 100 * 1024 * 1024;

sub newchunk {
    close STDOUT; open (STDOUT, '|/mach/lbin/tapeonechunk'); $total=0; 
}

while(<STDIN>)
{
    &newchunk      if $total >= $chunksize;
    chop;          $\="\n";
    lstat || next; $filesize = -f _ && -s _;

    if ($filesize > 4 * $chunksize)
    {
	warn "oversized ($filesize) $_\n";
    }
    else
    {
	print;
	$total += $filesize;
    }
}

close STDOUT; # wait() for tape to finish
