From owner-cvs-all Mon Nov 26 19:55:47 2001 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 9ABFD37B405; Mon, 26 Nov 2001 19:55:43 -0800 (PST) Received: (from ken@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id fAR3thj24713; Mon, 26 Nov 2001 19:55:43 -0800 (PST) (envelope-from ken) Message-Id: <200111270355.fAR3thj24713@freefall.freebsd.org> From: "Kenneth D. Merry" Date: Mon, 26 Nov 2001 19:55:43 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/isofs/cd9660 cd9660_vfsops.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG ken 2001/11/26 19:55:43 PST Modified files: sys/isofs/cd9660 cd9660_vfsops.c Log: 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 Revision Changes Path 1.93 +11 -1 src/sys/isofs/cd9660/cd9660_vfsops.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message