Bug 91236

Summary: /dev/nsa0 generates an error on write of second tape file
Product: Base System Reporter: Steve Davidson <stevedav>
Component: i386Assignee: freebsd-i386 (Nobody) <i386>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description Steve Davidson 2006-01-02 20:10:04 UTC
If you try to write a second tape file to the tape no-rewind device after you have completed the first write, you will get the error messages listed below and you will not get a second tape file.

% tar cvf /dev/nsa0 file             ...works
% tar cvf /dev/nsa0 file             ...error, as below

% tail -f /var/log/messages

Jan  1 17:46:09 bayside kernel: (sa0:umass-sim0:0:0:0): WRITE FILEMARKS. CDB: 10 0 0 0 2 0
Jan  1 17:46:09 bayside kernel: (sa0:umass-sim0:0:0:0): CAM Status: SCSI Status Error
Jan  1 17:46:09 bayside kernel: (sa0:umass-sim0:0:0:0): SCSI Status: Check Condition
Jan  1 17:46:09 bayside kernel: (sa0:umass-sim0:0:0:0): ILLEGAL REQUEST asc:50,0
Jan  1 17:46:09 bayside kernel: (sa0:umass-sim0:0:0:0): Write append error
Jan  1 17:46:09 bayside kernel: (sa0:umass-sim0:0:0:0): Retries Exhausted
Jan  1 17:46:09 bayside kernel: (sa0:umass-sim0:0:0:0): failed to write terminating filemark(s)
Jan  1 17:46:09 bayside kernel: (sa0:umass-sim0:0:0:0): tape is now frozen- use an OFFLINE, REWIND or MTEOM command to clear this state.




An 'mt -f /dev/nsa0 rewind' command "unfreezes" the tape for future operations.

Also, an 'mt -f /dev/nsa0 weof' does not create an EOF mark on the tape.

Fix: 

Probably, this is a device driver problem.  It could be in the tape unit implementation.  Check it out.
How-To-Repeat: Issue two write commands to the '/dev/nsa0' device.  E.g. two tar commands to the tape no-rewind device.
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2006-01-02 21:37:43 UTC
State Changed
From-To: open->closed

Duplicated by usb/91238.