Re: star quitting when changing tapes
Joerg Schilling <[email protected]> Mon, 12 Jun 2006 21:16:14 +0200
| Newsgroups | gmane.comp.archivers.star.user |
|---|---|
| Message-ID | <448DBD7E.nailHM311B26A@burner> |
Dan <[email protected]> wrote: > open("/dev/nst0", O_RDWR|O_CREAT|O_LARGEFILE, 0666) = 4 > fcntl64(4, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE) > fstat64(4, {st_mode=S_IFCHR|0660, st_rdev=makedev(9, 128), ...}) = 0 > ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfa0b804) = -1 EINVAL (Invalid argument) > > Joerg, can you point me to where in the code this ioctl is sent? A kernel guy I emailed said this might be sending something that's screwing up the new st.c driver. If this is causing an error to occur (REQUEST SENSE, ASC/ASCQ kind of error), the driver won't know about it until the next I/O is done. At that point, the driver will block waiting for someone to read the additional error codes, thus causing the EBUSY. I know EBUSY should never happen on a write(2), and he agrees. I need to do more troubleshooting, and disabling this ioctl command is the first step. I would guess this is a call to isatty() from within stdio. BTW: the correct error code for a non-tty fd would be ENOTTY. Jörg -- EMail:[email protected] (home) Jörg Schilling D-13353 Berlin [email protected] (uni) [email protected] (work) Blog: http://schily.blogspot.com/ URL: http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily