History log of /freebsd/sys/cam/scsi/scsi_da.c (Results 201 – 225 of 3858)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: vendor/tnftp/20130505, vendor/zlib/1.2.8
# d067905f 03-May-2013 Alexander Motin <mav@FreeBSD.org>

Tune support for removable media in da driver:
- remove DA_FLAG_SAW_MEDIA flag, almost opposite to DA_FLAG_PACK_INVALID,
using the last instead.
- allow opening device with no media present, report

Tune support for removable media in da driver:
- remove DA_FLAG_SAW_MEDIA flag, almost opposite to DA_FLAG_PACK_INVALID,
using the last instead.
- allow opening device with no media present, reporting zero media size
and non-zero sector size, as geom/notes suggests. That allow to read
device attributes and potentially do other things, not related to media.

show more ...


Revision tags: vendor/hyperv/20130502
# 7e6b858f 02-May-2013 Steven Hartland <smh@FreeBSD.org>

Enable CAM SCSI to choice ATA TRIM during autodetection and correct method
names after increasing the priority of ATA TRIM.

Reviewed by: mav
Approved by: pjd (mentor)
MFC after: 1 week


# a4289090 02-May-2013 Steven Hartland <smh@FreeBSD.org>

Use the existence of ATA Information VPD to determine if we should attempt
to query ATA functionality via ATA Pass-Through (16) as this page is defined
as "must" for SATL devices, hence indicating th

Use the existence of ATA Information VPD to determine if we should attempt
to query ATA functionality via ATA Pass-Through (16) as this page is defined
as "must" for SATL devices, hence indicating that the device is at least
likely to support Pass-Through (16).

This eliminates errors produced by CTL when ATA Pass-Through (16) fails.

Switch ATA probe daerror call to SF_NO_PRINT to avoid errors printing out
for devices which return invalid errors.

Output details about supported and choosen delete method when verbose booted.

Reviewed by: mav
Approved by: pjd (mentor)
MFC after: 1 week

show more ...


# dcf0e9d1 02-May-2013 Steven Hartland <smh@FreeBSD.org>

Fix probe in progress check in dareprobe

Reviewed by: mav
Approved by: pjd (mentor)
MFC after: 1 week


# f6800859 02-May-2013 Steven Hartland <smh@FreeBSD.org>

Update probe flow so that devices with lbp can also disable disksort.

Ensure that delete_available is reset so re-probes after a media change,
to one with different delete characteristics, will resu

Update probe flow so that devices with lbp can also disable disksort.

Ensure that delete_available is reset so re-probes after a media change,
to one with different delete characteristics, will result in the correct
methods being flagged as available.

Make all ccb state changes use a consistent flow:
* free()
* xpt_release_ccb()
* softc->state = <new state>
* xpt_schedule()

Reviewed by: mav
Approved by: pjd (mentor)
MFC after: 1 week

show more ...


Revision tags: vendor/flex/2.5.37
# 62cc3a63 28-Apr-2013 Steven Hartland <smh@FreeBSD.org>

Correct comment typo's
Add missing comment

Reviewed by: pjd (mentor)
Approved by: pjd (mentor)
MFC after: 2 weeks


Revision tags: vendor/qcamain_open_hal/60390a9f9ac6a20db168fbbc01a4ad4e01c395ce, vendor/libc++/r180598, vendor/libcxxrt/2013-04-22-c812a07cd2f95c1403baf0bbe0366e7618d1d6d3
# 7338ef1a 27-Apr-2013 Alexander Motin <mav@FreeBSD.org>

MFprojects/camlock r249542:
Remove ADA_FLAG_PACK_INVALID flag. Since ATA disks have no concept of media
change it only duplicates CAM_PERIPH_INVALID flag, so we can use last one.

Slightly cleanup DA

MFprojects/camlock r249542:
Remove ADA_FLAG_PACK_INVALID flag. Since ATA disks have no concept of media
change it only duplicates CAM_PERIPH_INVALID flag, so we can use last one.

Slightly cleanup DA_FLAG_PACK_INVALID use.

show more ...


# 90edda31 26-Apr-2013 Steven Hartland <smh@FreeBSD.org>

Added automatic detection of non-rotating media which disables the
use of BIO queue sorting, hence optimising performance for devices
such as SSD's

Reviewed by: scottl
Approved by: pjd (mentor)
MFC

Added automatic detection of non-rotating media which disables the
use of BIO queue sorting, hence optimising performance for devices
such as SSD's

Reviewed by: scottl
Approved by: pjd (mentor)
MFC after: 2 weeks

show more ...


# 9fe9ba5b 26-Apr-2013 Steven Hartland <smh@FreeBSD.org>

Teach GEOM and CAM about the difference between the max "size" of r/w and delete
requests.

sys/geom/geom_disk.h:
- Added d_delmaxsize which represents the maximum size of individual

Teach GEOM and CAM about the difference between the max "size" of r/w and delete
requests.

sys/geom/geom_disk.h:
- Added d_delmaxsize which represents the maximum size of individual
device delete requests in bytes. This can be used by devices to
inform geom of their size limitations regarding delete operations
which are generally different from the read / write limits as data
is not usually transferred from the host to physical device.

sys/geom/geom_disk.c:
- Use new d_delmaxsize to calculate the size of chunks passed through to
the underlying strategy during deletes instead of using read / write
optimised values. This defaults to d_maxsize if unset (0).

- Moved d_maxsize default up so it can be used to default d_delmaxsize

sys/cam/ata/ata_da.c:
- Added d_delmaxsize calculations for TRIM and CFA

sys/cam/scsi/scsi_da.c:
- Added re-calculation of d_delmaxsize whenever delete_method is set.

- Added kern.cam.da.X.delete_max sysctl which allows the max size for
delete requests to be limited. This is useful in preventing timeouts
on devices who's delete methods are slow. It should be noted that
this limit is reset then the device delete method is changed and
that it can only be lowered not increased from the device max.

Reviewed by: mav
Approved by: pjd (mentor)

show more ...


# da98dc7f 26-Apr-2013 Steven Hartland <smh@FreeBSD.org>

Added available delete methods discovery during device probe, including the
maximum sizes for said methods, which are used when processing BIO_DELETE
requests. This includes updating UNMAP support di

Added available delete methods discovery during device probe, including the
maximum sizes for said methods, which are used when processing BIO_DELETE
requests. This includes updating UNMAP support discovery to be based on
SBC-3 T10/1799-D Revision 31 specification.

Added ATA TRIM support to cam scsi devices via ATA Pass-Through(16)

sys/cam/scsi/scsi_da.c:
- Added ATA Data Set Management TRIM support via ATA Pass-Through(16)
as a delete_method

- Added four new probe states used to identity available methods and their
limits for the processing of BIO_DELETE commands via both UNMAP and the
new ATA TRIM commands.

- Renamed Probe states to better indicate their use

- Added delete method descriptions used when informing user of issues.

- Added automatic calculation of the optimum delete mode based on which
method presents the largest maximum request size as this is most likely
to result in the best performance.

- Added WRITE SAME max block limits

- Updated UNMAP range generation to mirror that used by ATA TRIM, this
optimises the generation of ranges and fixes a potential overflow
issue in the count when combining multiple BIO_DELETE requests

- Added output of warnings about short deletes. This should only ever
be triggered on devices that fail to correctly advertise their supported
delete modes / max sizes.

- Fixed WS16 requests being incorrectly limited to 65535 in length.

Reviewed by: mav
Approved by: pjd (mentor)
MFC after: 2 weeks

show more ...


# 6225bf48 26-Apr-2013 Steven Hartland <smh@FreeBSD.org>

Removed unneeded tests in dadeletemethodset changing it to return void

Reviewed by: mav
Approved by: pjd (mentor)
MFC after: 2 weeks


Revision tags: vendor/sendmail/8.14.7, vendor/tzdata/tzdata2013c, vendor/acpica/20130418, vendor/netcat/5.3, vendor/NetBSD/mtree/20130408, vendor/clang/clang-trunk-r178860, vendor/llvm/llvm-trunk-r178860, vendor/unbound/1.4.20, vendor/acpica/20130328
# edec59d9 04-Apr-2013 Alexander Motin <mav@FreeBSD.org>

MFprojects/camlock r248931:
Replace some direct mutex operations with wrappers.

MFC after: 2 weeks


# f8614129 04-Apr-2013 Alexander Motin <mav@FreeBSD.org>

MFprojects/camlock r248930:
Remove extra NULL checks. d_drv1 can never be NULL during periph life cycle.

MFC after: 2 weeks


# d6794b70 03-Apr-2013 Alexander Motin <mav@FreeBSD.org>

Add xpt_release_ccb()'s missed at r248872. That made `shutdown -p` stuck
on controller with small number of queue slots and several disks connected.


Revision tags: vendor/NetBSD/bmake/20130330
# 5f83aee5 29-Mar-2013 Steven Hartland <smh@FreeBSD.org>

Adds the ability to enable / disable sorting of BIO requests queued within
CAM. This can significantly improve performance particularly for SSDs
which don't suffer from seek latencies.

The sysctl /

Adds the ability to enable / disable sorting of BIO requests queued within
CAM. This can significantly improve performance particularly for SSDs
which don't suffer from seek latencies.

The sysctl / tunable kern.cam.sort_io_queues provides the systems default
setting where:-
0 = queued BIOs are NOT sorted
1 = queued BIOs are sorted (default)

Each device gets its own sysctl kern.cam.<type>.<id>.sort_io_queue
Valid values are:-
-1 = use system default (default)
0 = queued BIOs are NOT sorted
1 = queued BIOs are sorted

Note: Additional patch will look to add automatic use of none sorted queues
for none rotating media e.g. SSD's

Reviewed by: scottl
Approved by: pjd (mentor)
MFC after: 2 weeks

show more ...


# 09cfadbe 29-Mar-2013 Alexander Motin <mav@FreeBSD.org>

Make pre-shutdown flush and spindown routines to not use xpt_polled_action(),
but execute the commands in regular way. There is no any reason to cook CPU
while the system is still fully operational.

Make pre-shutdown flush and spindown routines to not use xpt_polled_action(),
but execute the commands in regular way. There is no any reason to cook CPU
while the system is still fully operational. After this change polling in
CAM is used only for kernel dumping.

show more ...


# f371c9e2 29-Mar-2013 Alexander Motin <mav@FreeBSD.org>

Implement CAM_PERIPH_FOREACH() macro, safely iterating over the list of
driver's periphs, acquiring and releaseing periph references while doing it.

Use it to iterate over the lists of ada and da pe

Implement CAM_PERIPH_FOREACH() macro, safely iterating over the list of
driver's periphs, acquiring and releaseing periph references while doing it.

Use it to iterate over the lists of ada and da periphs when flushing caches
and putting devices to sleep on shutdown and suspend. Previous code could
panic in theory if some device disappear in the middle of the process.

show more ...


Revision tags: vendor/bind9/9.8.4-P2, zfs-0.6.1, vendor/openssh/6.2p1, vendor/libarchive/3.1.2
# abc1e60e 19-Mar-2013 Konstantin Belousov <kib@FreeBSD.org>

Support unmapped i/o for the md(4).

The vnode-backed md(4) has to map the unmapped bio because VOP_READ()
and VOP_WRITE() interfaces do not allow to pass unmapped requests to
the filesystem. Vnode-b

Support unmapped i/o for the md(4).

The vnode-backed md(4) has to map the unmapped bio because VOP_READ()
and VOP_WRITE() interfaces do not allow to pass unmapped requests to
the filesystem. Vnode-backed md(4) uses pbufs instead of relying on
the bio_transient_map, to avoid usual md deadlock.

Sponsored by: The FreeBSD Foundation
Tested by: pho, scottl

show more ...


Revision tags: vendor/tzdata/tzdata2013b, vendor/openssl/0.9.8y, vendor/libyaml/0.1.4, vendor/expat/2.1.0
# 3cd41553 22-Feb-2013 Alexander Motin <mav@FreeBSD.org>

Add DA_Q_NO_PREVENT quirk for Kingston DataTraveler G3 1.00 USB flash.

PREVENT ALLOW MEDIUM REMOVAL commands return errors on these devices
without returning sense data. In some cases unrelated foll

Add DA_Q_NO_PREVENT quirk for Kingston DataTraveler G3 1.00 USB flash.

PREVENT ALLOW MEDIUM REMOVAL commands return errors on these devices
without returning sense data. In some cases unrelated following commands
start to return errors too, that makes device to be dropped by CAM.

show more ...


Revision tags: vendor/NetBSD/unvis/20130221, vendor/NetBSD/vis/20130221, vendor/NetBSD/libc-vis/20130221, vendor/acpica/20130214, vendor/ldns/1.6.16, vendor/openssl/1.0.1e, vendor/libc++/r174563, zfs-0.6.0-rc14, vendor/NetBSD/bmake/20130123, vendor/libcxxrt/2013-01-21-c4b68a5c1836b9027fe8784fec25b7a2e6e6aa60, vendor/compiler-rt/compiler-rt-r172839, vendor/acpica/20130117
# d287278c 11-Jan-2013 Alexander Motin <mav@FreeBSD.org>

Do not schedule periph for payload/TUR requests if reprobe is in progress
to avoid sending extra READ CAPACITY requests by dastart(). Schedule periph
again on reprobe completion, or otherwise it may

Do not schedule periph for payload/TUR requests if reprobe is in progress
to avoid sending extra READ CAPACITY requests by dastart(). Schedule periph
again on reprobe completion, or otherwise it may stuck indefinitely long.

This should fix USB explore thread hanging on device unplug, waiting for
periph destruction.

Reported by: hselasky

show more ...


Revision tags: vendor/libcxxrt/2013-01-11-b9db3a010143160624f123763025ab544b69bd9a
# 1a71c5b9 10-Jan-2013 Steven Hartland <smh@FreeBSD.org>

Changed scsi_da device requests to use the sysctl tunable value for retry_count
and da_default_timeout where their current hardcoded values matched the current
default value for said tunables.

PR:

Changed scsi_da device requests to use the sysctl tunable value for retry_count
and da_default_timeout where their current hardcoded values matched the current
default value for said tunables.

PR: kern/169976
Reviewed by: pjd (mentor)
Approved by: mav

show more ...


# fd16fbdd 10-Jan-2013 Steven Hartland <smh@FreeBSD.org>

Updates delete_method sysctl changes to always maintain disk d_flags
DISKFLAG_CANDELETE. While this change makes this layer consistent
other layers such as UFS and ZFS BIO_DELETE support may not noti

Updates delete_method sysctl changes to always maintain disk d_flags
DISKFLAG_CANDELETE. While this change makes this layer consistent
other layers such as UFS and ZFS BIO_DELETE support may not notice
any change made manually via these device sysctls until the device
is reopened via a mount.

Also corrected var order in dadeletemethodsysctl

PR: kern/169801
Reviewed by: pjd (mentor)
Approved by: mav
MFC after: 2 weeks

show more ...


# d8e8ee31 10-Jan-2013 Steven Hartland <smh@FreeBSD.org>

Removes essentially unused variables from scsi_da probe setups

PR: kern/169835
Reviewed by: pjd (mentor)
Approved by: mav
MFC after: 2 weeks


Revision tags: vendor/one-true-awk/20121220, vendor/acpica/20121220, vendor/sendmail/8.14.6, vendor/clang/clang-release_32-r170710, vendor/llvm/llvm-release_32-r170710, vendor/xz/5.0.4, vendor/NetBSD/mknod/20122112, vendor/NetBSD/mtree/20122112, zfs-0.6.0-rc13, vendor/bind9/9.6-ESV-R8, vendor/openbsm/1.2-ALPHA-3, vendor/NetBSD/libc-vis/20121214a, vendor/NetBSD/libc-vis/20121214, vendor/bind9/9.8.4-P1, vendor/bind9/9.8.4, vendor/less/v456, vendor/clang/clang-release_32-r168974, vendor/llvm/llvm-release_32-r168974, vendor/openbsm/1.2-ALPHA-2, release/9.1.0, vendor/libc++/r168853, vendor/NetBSD/bmake/20121111, vendor/acpica/20121114, zfs-0.6.0-rc12, vendor/tzdata/tzdata2012j, vendor/libc++/r167493, vendor/tzdata/tzdata2012i, vendor/less/v453, vendor/pciids/pciids-20121024
# 1af2d09b 29-Oct-2012 Edward Tomasz Napierala <trasz@FreeBSD.org>

Fix locking problem in disk_resize(); previously it would run without
topology lock, resulting in assertion when running with DIAGNOSTIC.

Reviewed by: mav (earlier version)


Revision tags: vendor/tzdata/tzdata2012h
# 15a2601b 27-Oct-2012 Alexander Motin <mav@FreeBSD.org>

Remove several uses of numeric priorities from immediate CCB setups.


12345678910>>...155