freebsd-nq/sys/cam/scsi
Kenneth D. Merry 2906da29dc Write support for the cd(4) driver.
This allows writing to DVD-RAM, PD and similar drives that probe as CD
devices.  Note that these are randomly writeable devices, not
sequential-only devices like CD-R drives, which are supported by cdrecord.

Add a new flag value for dsopen(), DSO_COMPATLABEL.  The cd(4) driver now
uses this flag instead of the DSO_NOLABELS flag.  The DSO_NOLABELS always
used a "fake" disklabel for the entire disk, provided by the caller.

With the DSO_COMPATLABEL flag, dsopen() will first search the media for a
label, and if it finds a label, it will use that label.  Otherwise it will
use the fake disklabel provided by the caller.  This provides backwards
compatibility, since we will still have labels for ISO9660 media.

It also provides new functionality, since you can now have a regular BSD
disklabel on read-only media, or on writeable media (e.g. DVD-RAM).

Bruce and I both think that we should eventually (in a few years) get
away from using disklabels for ISO9660 media, and just use the whole disk
device (/dev/cd0).  At that point disklabel handling in the cd(4) driver
could follow the "normal" model, as used in the da(4) driver.

Also, clean up the path in a couple of places in cdregister().  (Thanks to
Nick Hibma for catching that bug.)

Reviewed by:	bde
2000-10-30 07:03:00 +00:00
..
scsi_all.c Add quirk entries from Andre Albsmeier to disable the sync cache command 2000-08-29 22:09:23 +00:00
scsi_all.h This is an overhaul of the mode page handling in camcontrol as well as 2000-08-08 06:24:17 +00:00
scsi_cd.c Write support for the cd(4) driver. 2000-10-30 07:03:00 +00:00
scsi_cd.h Add support for the DVD ioctl interface. 2000-05-12 03:36:02 +00:00
scsi_ch.c Add the use of M_ZERO to some malloc calls. 2000-10-29 15:47:16 +00:00
scsi_ch.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
scsi_da.c Add the quirk entry for the Sony Memory Stick Adapter. 2000-10-20 00:53:30 +00:00
scsi_da.h Implement a new camcontrol function, 'camcontrol format'. 2000-05-21 23:57:52 +00:00
scsi_dvcfg.h Add PC-Card/ISA SCSI host adpater drivers from NetBSD/pc98 2000-10-23 12:55:51 +00:00
scsi_low_pisa.c Changed not to use struct isa_device in the argument of scsi_low_activate(). 2000-10-29 06:47:16 +00:00
scsi_low_pisa.h Changed not to use struct isa_device in the argument of scsi_low_activate(). 2000-10-29 06:47:16 +00:00
scsi_low.c Add PC-Card/ISA SCSI host adpater drivers from NetBSD/pc98 2000-10-23 12:55:51 +00:00
scsi_low.h Add PC-Card/ISA SCSI host adpater drivers from NetBSD/pc98 2000-10-23 12:55:51 +00:00
scsi_message.h Remove duplicate FreeBSD RCSID. 2000-09-22 22:04:17 +00:00
scsi_pass.c Remove unneeded #include <sys/proc.h> lines. 2000-10-29 13:57:19 +00:00
scsi_pass.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
scsi_pt.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
scsi_pt.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
scsi_sa.c Add usage of M_ZERO to malloc calls where the result was just bzeroed. 2000-10-27 16:40:57 +00:00
scsi_sa.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
scsi_ses.c Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
scsi_ses.h Move the kernel specific stuff into scsi_ses.c. Redo the ioctls 2000-01-15 22:40:04 +00:00
scsi_targ_bh.c Convert all users of fldoff() to offsetof(). fldoff() is bad 2000-10-27 11:45:49 +00:00
scsi_target.c Convert all users of fldoff() to offsetof(). fldoff() is bad 2000-10-27 11:45:49 +00:00
scsi_targetio.h Add a TARGIODEBUG ioctl to allow for CAM_DEBUG_PERIPH tracing on 2000-07-14 19:42:47 +00:00