[comp.unix.questions] Resolved tar

les@chinet.chi.il.us (Leslie Mikesell) (04/06/91)

In article <11734@dog.ee.lbl.gov> torek@elf.ee.lbl.gov (Chris Torek) writes:

> E. dd works in mysterious ways.

Thanks for explaining this.  I once fooled around trying to get a
shell script running multiple invocations of dd to split the input
from a pipe into different files and eventually gave up on it
because it wasn't paying attention to the blocksize I gave with
bs=.  I didn't realize that specifying ibs and obs would have
made it work.

Also, a solution for the original problem is to use "afio" if a cpio
style tape is acceptable.  It will construct the appropriate rsh
command internally if you give the device name in the form
host:device, running another copy of itself on the remote machine
and passing the blocking details to it.  It also supports a crude
form of double buffering where a child is forked to write each
buffer while the parent fills the next.  Running in this mode with
large buffers at both ends can overlap the network and tape i/o.
Actually it should be possible to use afio on the device end with
tar on the remote machine.  You would just have to construct the
rsh command using the (undocumented) -I or -O options to afio that
request data stream i/o and the blocking you want.

Les Mikesell
  les@chinet.chi.il.us