Jean-Louis, That seems to have done it, for amlabel at least. I'll let you know as I try other thing if any problems remain.
Thanks again, Dick > On Wed, Jun 04, 2003 at 06:51:48AM -0000, [EMAIL PROTECTED] wrote: > > Jean-Louis, > > > > I just tried amanda-2.4.4-20030603.tar.gz > > > > With tapedev "rait:{file:/backup,file:/mirror}" > > > > I now get: > > > > $ amlabel Tapeless Tape00 > > rewinding > > amlabel: tape_rewind: rewinding tape: rait:{file:/backup,file:/mirror}: No child > > processes > > Dick, > > I did all my test with a file: and a tape: drivers, and it works, but you > are right, it doesn't work with 2 file:. > > Could you try this patch. > > apply it with 'patch -p0 < rait-with-file.diff' > > Jean-Louis > -- > Jean-Louis Martineau email: [EMAIL PROTECTED] > Departement IRO, Universite de Montreal > C.P. 6128, Succ. CENTRE-VILLE Tel: (514) 343-6111 ext. 3529 > Montreal, Canada, H3C 3J7 Fax: (514) 343-5834 > > --0OAP2g/MAC+5xKAE > Content-Type: text/plain; charset=us-ascii > Content-Disposition: attachment; filename="rait-with-file.diff" > > --- tape-src/output-rait.c.orig 2003-03-07 15:49:18.000000000 -0500 > +++ tape-src/output-rait.c 2003-06-04 09:19:47.000000000 -0400 > @@ -1118,23 +1118,26 @@ static int rait_tapefd_ioctl(int (*func0 > } else { > j = (*func1)(pr->fds[i], count); > } > - if( j != 0) > - res = j; > + if( j != 0) { > + errors++; > + } > pr->readres[i] = -1; > } > } > for( i = 0; i < pr->nfds ; i++ ) { > - rait_debug((stderr, "in parent, waiting for %d\n", pr->readres[i])); > - waitpid( pr->readres[i], &stat, 0); > - if( WEXITSTATUS(stat) != 0 ) { > - res = WEXITSTATUS(stat); > - if( res == 255 ) > - res = -1; > - } > - rait_debug((stderr, "in parent, return code was %d\n", res)); > - if ( res != 0 ) { > - errors++; > - res = 0; > + if(tapefd_can_fork(pr->fds[i])) { > + rait_debug((stderr, "in parent, waiting for %d\n", pr->readres[i])); > + waitpid( pr->readres[i], &stat, 0); > + if( WEXITSTATUS(stat) != 0 ) { > + res = WEXITSTATUS(stat); > + if( res == 255 ) > + res = -1; > + } > + rait_debug((stderr, "in parent, return code was %d\n", res)); > + if ( res != 0 ) { > + errors++; > + res = 0; > + } > } > } > if (errors > 0) { > > --0OAP2g/MAC+5xKAE-- >