svn commit: r206648 - head/sys/cam/scsi
Andriy Gapon
avg at FreeBSD.org
Thu Apr 15 08:29:14 UTC 2010
Author: avg
Date: Thu Apr 15 08:29:14 2010
New Revision: 206648
URL: http://svn.freebsd.org/changeset/base/206648
Log:
scsi_cd: CD_FLAG_VALID_MEDIA is sufficient to set d_sectorsize and
d_mediasize
CD_FLAG_VALID_TOC is not required for setting those media properties.
PR: kern/145385
Submitted by: Juergen Lock <nox at jelal.kn-bremen.de>
a slightly different version
Tested by: Pavel Sukhoy <sukhoy at ripn.net>,
Markus Wild <m.wild at cybernet.ch>,
Juergen Lock <nox at jelal.kn-bremen.de>,
uqs
MFC after: 1 week
Modified:
head/sys/cam/scsi/scsi_cd.c
Modified: head/sys/cam/scsi/scsi_cd.c
==============================================================================
--- head/sys/cam/scsi/scsi_cd.c Thu Apr 15 08:20:57 2010 (r206647)
+++ head/sys/cam/scsi/scsi_cd.c Thu Apr 15 08:29:14 2010 (r206648)
@@ -2773,8 +2773,12 @@ cdcheckmedia(struct cam_periph *periph)
softc->flags &= ~(CD_FLAG_VALID_MEDIA|CD_FLAG_VALID_TOC);
cdprevent(periph, PR_ALLOW);
return (error);
- } else
+ } else {
softc->flags |= CD_FLAG_VALID_MEDIA;
+ softc->disk->d_sectorsize = softc->params.blksize;
+ softc->disk->d_mediasize =
+ (off_t)softc->params.blksize * softc->params.disksize;
+ }
/*
* Now we check the table of contents. This (currently) is only
@@ -2863,9 +2867,6 @@ cdcheckmedia(struct cam_periph *periph)
}
softc->flags |= CD_FLAG_VALID_TOC;
- softc->disk->d_sectorsize = softc->params.blksize;
- softc->disk->d_mediasize =
- (off_t)softc->params.blksize * softc->params.disksize;
bailout:
More information about the svn-src-all
mailing list