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