freebsd-skq/sys/fs/cd9660
Kenneth D. Merry 94a0557ad7 Fix mounting root from a ISO9660 filesystem on a SCSI CDROM.
The problem was that the ISO9660 code wasn't opening the device prior to
issuing ioctl calls.  In particular, the device must be open before
iso_get_ssector() is called in iso_mountroot().

If the device isn't opened first, the disk layer blows up due to an
uninitialized variable.

The solution was to open the device, call iso_get_ssector() and then close
it again.

The ATAPI CDROM driver doesn't have this problem because it doesn't use the
disk layer, and evidently doesn't mind if someone issues an ioctl without
first issuing an open call.

Thanks to phk for pointing me at the source of this problem.

Tested by:	dirk
MFC after:	1 week
2001-11-27 03:55:43 +00:00
..
cd9660_bmap.c Revert consequences of changes to mount.h, part 2. 2001-04-29 02:45:39 +00:00
cd9660_lookup.c Fix the fix. BIO_ERROR must be set in b_ioflags, not b_flags 2001-11-04 23:52:49 +00:00
cd9660_mount.h Add a mount time option which slightly relaxes checks for valid Joilet 2001-03-11 10:05:08 +00:00
cd9660_node.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
cd9660_node.h Make cd9660 filesystem PDIRUNLOCK aware. Now it can be used in vnode stacks 2000-10-03 04:39:50 +00:00
cd9660_rrip.c Revert consequences of changes to mount.h, part 2. 2001-04-29 02:45:39 +00:00
cd9660_rrip.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
cd9660_util.c Revert consequences of changes to mount.h, part 2. 2001-04-29 02:45:39 +00:00
cd9660_vfsops.c Fix mounting root from a ISO9660 filesystem on a SCSI CDROM. 2001-11-27 03:55:43 +00:00
cd9660_vnops.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
iso_rrip.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
iso.h Move the netexport structure from the fs-specific mountstructure 2001-04-25 07:07:52 +00:00
TODO $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
TODO.hibler Fix typo: seperate -> separate. 2001-02-06 11:21:58 +00:00