| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Submitted by: Coverity Prevent analysis tool
|
|
|
|
| |
Submitted by: Coverity Prevent analysis tool
|
|
|
|
|
| |
Submitted by: Coverity Prevent analysis tool
MFC After: 3 days
|
|
|
|
|
|
| |
pointless.
Submitted by: Coverity Prevent analysis tool
|
|
|
|
|
|
|
|
|
|
|
| |
Giant held. In camisr(), move the ccb_bioq elements to a temporary local list
and then process the elements off of that list. This enables the list to be
processed by only taking the ccb_bioq_lock once and only for a very short
time.
ccb_bioq_lock is a leaf mutex, so it's fine to call xpt_done() with other
locks held. This is just a very minor step in the work to lock CAM, but
it allows us to avoid some messy locking/unlock dances in certain drivers.
|
|
|
|
|
|
|
|
|
|
| |
providing special version of CDIOCREADSUBCHANNEL ioctl(), which assumes that
result has to be placed into kernel space not user space. In the long run
more generic solution has to be designed WRT emulating various ioctl()s
that operate on userspace buffers, but right now there is only one such
ioctl() is emulated, so that it makes little sense.
MFC after: 2 weeks
|
|
|
|
|
|
|
| |
It reports itself as SCSI-3 but doesnt like getting probed on high luns
because it hangs hard after finding itself again on lun 32...
Suggested by: Kenneth Merry
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
its ability to automatically scan and attach luns for modern storage
which has luns in the 0..1000 range, not 0..7.
The correct thing would be to do REPORT LUNS for devices whose LUN0
version shows a version >= SCSI3, but lacking that we should be able
to search higher than LUN 7 if we're >= SCSI3 with no ill effects.
This change keeps all of the QUIRK_HILUNS quirks, obeys the QUIRK_NOLUNS,
and introduces a QUIRK_NOHILUNS which will keep searches above LUN 7
happening for devices that report >= SCSI3 compliance. I doubt the latter
will be needed, but you never know.
This allowed me to randomly scan and attach > 500 disks at a time in
a situation where quirking for QUIRK_HILUNS wasn't practical (the
vendor id and product id changes of the virtualization changes
constantly).
Reviewed by: ken@freebsd.org, scottl@freebsd.org, gibbs@freebsd.org
MFC after: 2 weeks
|
|
|
|
|
|
|
| |
have more than 256 units, you die. Horribly. Convert them using
unit2minor.
MFC after: 1 week
|
| |
|
|
|
|
|
|
| |
inquiry additional length field is off by one.
MFC: 3 days
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to request from devices during the "long inquiry" portion of our probe.
This same bug was fixed in the 4.x stream a few years ago, but the fix
was never propogated to -current.
This fix is slightly different than in -stable:
o Use offsetof() instead of a hard coded constant so as the make
the code more self-explainatory.
o Round odd long inquiry lengths up so as to avoid tickling ignore
wide residue bugs in broken parallel SCSI devices running with a
wide transfer negotiation.
MFC: 3 days
|
|
|
|
|
|
|
|
| |
is valid only for SCSI-2 and older devices.
Rename the second byte of the VERIFY CCB from 'lun' to 'byte2'.
Submitted by: ken
MFC after: 2 weeks
|
|
|
|
|
|
|
|
| |
commands READ_FORMAT_CAPACITIES, WRITE_AND_VERIFY, and VERIFY.
Reviewed by: ken, scottl
Source: USB Mass Storage UFI Specification v1.0
MFC after: 2 weeks
|
|
|
|
|
| |
that netowrk-over-scsi never really took off, there is little chance that
it will ever be needed.
|
|
|
|
|
|
|
|
| |
sectorsize in order to avoid a lot of checks around various divisions etc.
Enforce the sectorsize being > 0 with a KASSERT on successful open.
Fix scsi_cd.c to return 2k sectors when no media inserted.
|
|
|
|
| |
Reported by: Jens Schweikhardt <schweikh@schweikhardt.net>
|
|
|
|
| |
MFC after: 3 days
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a more complete subsystem, and removes the knowlege of how things are
implemented from the drivers. Include locking around filter ops, so a
module like aio will know when not to be unloaded if there are outstanding
knotes using it's filter ops.
Currently, it uses the MTX_DUPOK even though it is not always safe to
aquire duplicate locks. Witness currently doesn't support the ability
to discover if a dup lock is ok (in some cases).
Reviewed by: green, rwatson (both earlier versions)
|
|
|
|
|
|
| |
decimal.
Reviewed by: gibbs, nate, kdm
|
|
|
|
|
|
|
|
| |
reader/writer
PR: kern/70158
Submitted by: Bernd Strau. <no_bs@web.de>
MFC after: 1 week
|
|
|
|
|
|
|
|
| |
PR: kern/54881, i386/63941, kern/66124
Submitted by: Magnus <bsdhead.at.spray.dot.se@FreeBSD.org>,
Dmitry Dyomin <old@old.com.ua>,
Dmitry Sivachenko <mitya@demos.su>
MFC after: 1 week
|
|
|
|
|
|
| |
PR: kern/64563
Submitted by: Kunitada Kokubun <unix_grandy@yahoo.co.jp>
MFC after: 1 week
|
|
|
|
|
|
|
|
| |
for unknown events.
A number of modules return EINVAL in this instance, and I have left
those alone for now and instead taught MOD_QUIESCE to accept this
as "didn't do anything".
|
|
|
|
| |
o Call kdb_enter() instead of Debugger().
|
| |
|
|
|
|
| |
of logical volumes.
|
|
|
|
|
|
|
|
|
|
|
| |
The big lines are:
NODEV -> NULL
NOUDEV -> NODEV
udev_t -> dev_t
udev2dev() -> findcdev()
Various minor adjustments including handling of userland access to kernel
space struct cdev etc.
|
|
|
|
| |
Bump __FreeBSD_version accordingly.
|
| |
|
|
|
|
|
| |
PR: kern/63645
Submitted by: Aron Stansvik <elvstone@osdever.net>
|
|
|
|
| |
has been removed. Unbreak the build by not including it anymore.
|
|
|
|
|
|
|
|
|
| |
PR: kern/53067
PR: kern/54737
PR: kern/54786
PR: kern/57046
MFC after: 1 day
|
| |
|
|
|
|
|
|
|
| |
patterns. (These lines are correct the other two times they appear.)
Reported by: "Ted Unangst" <tedu@coverity.com>
Approved by: rwatson (mentor), ken (scsi)
|
|
|
|
|
| |
Reported by: "Ted Unangst" <tedu@coverity.com>
Approved by: rwatson (mentor), ken (scsi@)
|
|
|
|
|
|
|
|
| |
Introduce d_version field in struct cdevsw, this must always be
initialized to D_VERSION.
Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing
four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.
|
|
|
|
|
|
|
| |
Free approx 86 major numbers with a mostly automatically generated patch.
A number of strategic drivers have been left behind by caution, and a few
because they still (ab)use their major number.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the "struct disk" were owned by the device driver and this
gave us problems when the device disappared and the users of that device
were not immediately disappearing.
Now the struct disk is allocate with a new call, disk_alloc() and owned
by geom_disk and just abandonned by the device driver when disk_create()
is called.
Unfortunately, this results in a ton of "s/\./->/" changes to device
drivers.
Since I'm doing the sweep anyway, a couple of other API improvements
have been carried out at the same time:
The Giant awareness flag has been flipped from DISKFLAG_NOGIANT to
DISKFLAG_NEEDSGIANT
A version number have been added to disk_create() so that we can detect,
report and ignore binary drivers with old ABI in the future.
Manual page update to follow shortly.
|
|
|
|
|
| |
PR: 56954
Submitted by: Dan Langille <dan@langille.org>
|
|
|
|
|
| |
stating that the controllers do not support SYNC CACHE since ciss
only supports a small subset of the scsi spec.
|
| |
|
|
|
|
|
|
|
|
| |
This reduces the 90+ lines boot output of spewage GEOM does for my
Plextor SCSI burner.
Submitted by: scottl
Approved by: scottl
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
thread being waken up. The thread waken up can run at a priority as
high as after tsleep().
- Replace selwakeup()s with selwakeuppri()s and pass appropriate
priorities.
- Add cv_broadcastpri() which raises the priority of the broadcast
threads. Used by selwakeuppri() if collision occurs.
Not objected in: -arch, -current
|
|
|
|
| |
SCSI drivers.
|
|
|
|
| |
devices a lot more quiet.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead of retrying them blindly.
This should fix some of the problems people have been having with cdrom
drives taking a long time to probe. This should also eliminate the need
for the initial TUR in cdsize().
cam_periph.c: Don't keep retrying if the error we get back is a fatal
error. This should help us detect the transition from
"Logical unit not ready, cause not reportable" to "Medium
not present" in the "TUR many" handler. (The TUR many
handler gets triggered for Logical unit not ready, cause
not reportable errors.)
scsi_cd.c: Remove the initial test unit ready in cdsize(). Hopefully
it isn't necessary after the above change.
Submitted by: gibbs (mostly)
Tested by: peter
MFC After: 2 weeks
|
| |
|
|
|
|
| |
get close to DEV_STRATEGY() which is the only place it is relevant.
|
|
|
|
|
|
|
|
| |
an uninitialized sysctl_ctx, using flag DA_FLAG_SCTX_INIT. This
prevents a panic encoutered with some umass units that probe correctly
but fail to attach. Same problem, and same fix, as scsi_cd.c rev. 1.86.
Reviewed by: njl, ken
|