Subject: Problems with cpio and rmt between 1.1 and 1.0
To: None <netbsd-users@NetBSD.ORG>
From: Curt Sampson <curt@portal.ca>
List: netbsd-users
Date: 04/23/1997 20:52:14
I've got a handful of NetBSD/i386 systems here, and I've been doing
some backups of various machines to a tape drive on one machine by
using cpio. Unfortunately, it seems not to work between my brand
new NetBSD 1.1 machine and my older NetBSD 1.0 machine with the tape
drive on it. For example, if I try:

    cpio -itv -H crc -C 65536 -F tape@kefron:/dev/nrst0

I get back

    cpio: tape@kefron:/dev/nrst0: Input/output error

The odd thing about this is that it never actually sends anything
across the network to the remote host.

I can manually invoke rmt on the remote machine with

	/usr/bin/rsh kefron -l tape /etc/rmt

Which seems to work all right (at least it sets up communication
between the two systems).

The problem seems to be happening just after the fork() in
rtapelib.c:__rmt_open. I've stepped though to this point with gdb,
but, unfortunately, being young and innocent in these matters, I
can't figure out how to debug the child process that's produced at
this point, and that's where the problem seems to be happening. (I
don't know yet whether it's in cpio or the copy of rsh that the
child execs.) 

As soon as I get past the fork there's a subprocess with an argument
list of `(cpio)' shown in the output of ps, but it's a zombie. It
never prints `cannot execute remote shell,' as it would if it
couldn't actually do the rsh, so I can't figure out why it's exiting.

Does anyone know what's wrong with cpio here? If not, would someone
let me know how I can step through the child process so I can attempt
to figure out what's going on?

cjs

Curt Sampson    curt@portal.ca		Info at http://www.portal.ca/
Internet Portal Services, Inc.	
Vancouver, BC   (604) 257-9400		De gustibus, aut bene aut nihil.