Messages in this thread | | | Date | Sat, 15 Jan 2000 23:46:13 +0200 (EET) | From | Kai Makisara <> | Subject | Re: SCSI tape problems. |
| |
On Fri, 14 Jan 2000, Sebastian Andersson wrote:
> I've managed to lock the scsi tape driver by doing this: > mt status & mt status & mt status & > > Combinations of tar & mt or tar & mtx does the same thing... > > This is on Pentium single processor machines. It happened with kernels > 2.0.36, 2.2.5 and with red hat's 2.2.12-20 kernel. > On a SMP machine with red hat's 2.2.12-20 SMP kernel, it works correctly. > They all have Adaptec 21?? cards with the aic7xxx driver. > > ps axl | grep mt gives (kernel: RH's 2.2.12-20): > 0 0 341 323 0 0 1064 292 down_failed D ? 0:00 mt status > 0 0 342 323 0 0 1064 292 down_failed D ? 0:00 mt status > 0 0 362 361 0 0 1064 292 scsi_alloca D ? 0:00 mt status > 0 0 391 377 0 0 1064 292 scsi_alloca D ? 0:00 mt status > ...
The reason for this is that several processes can get into the scsi_tape_open function in the driver simultaneously and this is not allowed. There is an in_use flag which is set before the function returns. However, the process may sleep before that when executing SCSI commands ... Setting the flag must be moved earlier.
I will do patches for 2.2 and 2.3 tomorrow (the bug is also in the earlier kernels). Before that I will try to find a brow paper bag ;-(
Kai
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |