freebsd-dev/sys/cam/scsi
Matt Jacob de8fa52e52 Incorporate the O_NONBLOCK open semantics of Linux and Solaris. This allows
an application to upon a tape (yea, even the non-control device) even if
it cannot establish a mount session. If the open cannot establish a mount
session and O_NONBLOCK was specified, the tape becomes 'open pending mount'.
All I/O operations that would require access to a tape thereafter until
a close attempt to initiate the mount session. If the mount session succeeds,
the tape driver transitions to full open state, else returns an appropriate
I/O error (ENXIO).

At the same time, add a change that remembers whether tape is being opened
read-only. If so, disallow 'write' operations like writing filemarks that
bypass the normal read-only filtering operations that happen in the write(2)
syscall.

Reviewed by:	ken, justin, grog
MFC after:	2 weeks
Suggested by:	The Bacula Team
2006-01-14 14:32:41 +00:00
..
scsi_all.c The divide by zero panic must have been due to a bogus 2005-04-14 03:52:50 +00:00
scsi_all.h Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00
scsi_cd.c Fix a bug that caused some /dev entries to continue to exist after 2005-11-18 02:43:49 +00:00
scsi_cd.h
scsi_ch.c Fix a place where we were referencing a pointer after it had been freed. 2005-03-26 04:21:11 +00:00
scsi_ch.h Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00
scsi_da.c Allow to use Time DPA20B 1GB MP3 Player [1] 2006-01-13 11:33:40 +00:00
scsi_da.h Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00
scsi_dvcfg.h Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00
scsi_iu.h Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00
scsi_low_pisa.c Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00
scsi_low_pisa.h Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00
scsi_low.c - Providing fine-grained malloc statistic by replacing M_DEVBUF with 2005-07-01 15:21:30 +00:00
scsi_low.h Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00
scsi_message.h Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00
scsi_pass.c Don't pass unadulterated unit numbers to make_dev and its ilk- if you 2005-01-22 07:21:25 +00:00
scsi_pass.h Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00
scsi_pt.c Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00
scsi_pt.h Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00
scsi_sa.c Incorporate the O_NONBLOCK open semantics of Linux and Solaris. This allows 2006-01-14 14:32:41 +00:00
scsi_sa.h Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00
scsi_ses.c - Providing fine-grained malloc statistic by replacing M_DEVBUF with 2005-07-01 15:21:30 +00:00
scsi_ses.h Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00
scsi_targ_bh.c - Providing fine-grained malloc statistic by replacing M_DEVBUF with 2005-07-01 15:21:30 +00:00
scsi_target.c Merge the dev_clone and dev_clone_cred event handlers into a single 2005-08-08 19:55:32 +00:00
scsi_targetio.h Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00