History log of /freebsd/sys/cam/scsi/scsi_da.c (Results 51 – 75 of 518)
Revision Date Author Comments
# dc1c1769 11-Nov-2019 Warner Losh <imp@FreeBSD.org>

Update the softc state of the da driver before releasing the CCB.

There are contexts where releasing the ccb triggers dastart() to be run
inline. When da was written, there was always a deferral, so

Update the softc state of the da driver before releasing the CCB.

There are contexts where releasing the ccb triggers dastart() to be run
inline. When da was written, there was always a deferral, so it didn't matter
much. Now, with direct dispatch, we can call dastart from the dadone*
routines. If the probe state isn't updated, then dastart will redo things with
stale information. This normally isn't a problem, because we run the probe state
machine once at boot... Except that we also run it for each open of the device,
which means we can have multiple threads racing each other to try to kick off
the probe. However, if we update the state before we release the CCB, we can
avoid the race. While it's needed only for the probewp and proberc* states, do
it everywhere because it won't hurt the other places.

The race here happens because we reprobe dozens of times on boot when drives
have lots of partitions. We should consider caching this info for 1-2 seconds
to avoid this thundering hurd.

Reviewed by: scottl, ken
Differential Revision: https://reviews.freebsd.org/D22295

show more ...


# fe95666b 11-Nov-2019 Warner Losh <imp@FreeBSD.org>

Require and enforce that dareprobe() has to be called with the periph lock held.

Reviewed by: scottl, ken
Differential Revision: https://reviews.freebsd.org/D22295


# fb6ea34a 11-Nov-2019 Warner Losh <imp@FreeBSD.org>

Fix panic message to indicate right action that was improper.

Reviewed by: scottl, ken
Differential Revision: https://reviews.freebsd.org/D22295


# b5961be1 09-Nov-2019 Edward Tomasz Napierala <trasz@FreeBSD.org>

Add GEOM attribute to report physical device name, and report it
via 'diskinfo -v'. This avoids the need to track it down via CAM,
and should also work for disks that don't use CAM. And since it's

Add GEOM attribute to report physical device name, and report it
via 'diskinfo -v'. This avoids the need to track it down via CAM,
and should also work for disks that don't use CAM. And since it's
inherited thru the GEOM hierarchy, in most cases one doesn't need
to walk the GEOM graph either, eg you can use it on a partition
instead of disk itself.

Reviewed by: allanjude, imp
Sponsored by: Klara Inc
Differential Revision: https://reviews.freebsd.org/D22249

show more ...


# 34a5c41c 26-Sep-2019 Alexander Motin <mav@FreeBSD.org>

Add kern.cam.da.X.quirks tunable, similar existing for ada.

Submitted by: Michael Lass
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D20677


# a9154c1c 25-Jun-2019 Warner Losh <imp@FreeBSD.org>

Replay r349342 by imp accidentally reverted by r349352

Use the cam_ed copy of ata_params rather than malloc and freeing
memory for it. This reaches into internal bits of xpt a little, and
I'll clean

Replay r349342 by imp accidentally reverted by r349352

Use the cam_ed copy of ata_params rather than malloc and freeing
memory for it. This reaches into internal bits of xpt a little, and
I'll clean that up later.

show more ...


# 296218d4 25-Jun-2019 Warner Losh <imp@FreeBSD.org>

Replay r349340 by imp accidentally reverted by r349352

Create ata_param_fixup

Create a common fixup routine to do the canonical fixup of the
ata_param fixup. Call it from both the ATA and the ATA o

Replay r349340 by imp accidentally reverted by r349352

Create ata_param_fixup

Create a common fixup routine to do the canonical fixup of the
ata_param fixup. Call it from both the ATA and the ATA over SCSI
paths.

show more ...


# f5a95d9a 25-Jun-2019 Warner Losh <imp@FreeBSD.org>

Remove NAND and NANDFS support

NANDFS has been broken for years. Remove it. The NAND drivers that
remain are for ancient parts that are no longer relevant. They are
polled, have terrible performance

Remove NAND and NANDFS support

NANDFS has been broken for years. Remove it. The NAND drivers that
remain are for ancient parts that are no longer relevant. They are
polled, have terrible performance and just for ancient arm
hardware. NAND parts have evolved significantly from this early work
and little to none of it would be relevant should someone need to
update to support raw nand. This code has been off by default for
years and has violated the vnode protocol leading to panics since it
was committed.

Numerous posts to arch@ and other locations have found no actual users
for this software.

Relnotes: Yes
No Objection From: arch@
Differential Revision: https://reviews.freebsd.org/D20745

show more ...


# 97ad52ca 24-Jun-2019 Warner Losh <imp@FreeBSD.org>

Use the cam_ed copy of ata_params rather than malloc and freeing
memory for it. This reaches into internal bits of xpt a little, and
I'll clean that up later.


# 2afaed2d 24-Jun-2019 Warner Losh <imp@FreeBSD.org>

Create ata_param_fixup

Create a common fixup routine to do the canonical fixup of the
ata_param fixup. Call it from both the ATA and the ATA over SCSI
paths.


# 5a9170aa 22-Apr-2019 Alexander Motin <mav@FreeBSD.org>

Report DIF protection type the disk is formatted with.

Some disks formatted with protection report errors if written without
protection used. This should help to diagnose the problem.

MFC after: 2

Report DIF protection type the disk is formatted with.

Some disks formatted with protection report errors if written without
protection used. This should help to diagnose the problem.

MFC after: 2 weeks

show more ...


# 3899afd3 11-Mar-2019 Warner Losh <imp@FreeBSD.org>

Upgrade Chipfancier SLC quirk to all versions

The 16GB, 32GB and 128GB versions of this product all have the same
problem. For some reason, the RC10 size is correct, while the RC16
size is larger (o

Upgrade Chipfancier SLC quirk to all versions

The 16GB, 32GB and 128GB versions of this product all have the same
problem. For some reason, the RC10 size is correct, while the RC16
size is larger (oddly by the capacity size / 1024 bytes). Using the
RC16 size results in illegal LBA range errors when geom tastes the
device. So, expand the quirk to cover all versions of this chip.

Ideally, we'd get both READ CAPACITY 10 and READ CAPACITY 16 sizes and
print a warnnig if they differ and use the smaller of the two numbers,
though that may be problematical as well. Furthermore, SBC-4
encourages users transition to RC16 only, which suggests that in the
future RC10 may disappear from some drives. It's unclear how to cope
with these drives generically.

PR: 234503
MFC After: 1 week

show more ...


# a49077d3 05-Feb-2019 Warner Losh <imp@FreeBSD.org>

Add quirk for Sansisk X400 drives

Certain versions of Sandisk x400 firmware can hang under extremely
heavly load of large I/Os for prolonged periods of time. Newer /
current versions work fine, and

Add quirk for Sansisk X400 drives

Certain versions of Sandisk x400 firmware can hang under extremely
heavly load of large I/Os for prolonged periods of time. Newer /
current versions work fine, and should be used where possible. Where
not possible, this quirk ensures that I/O requests are limited to 128k
to avoids the bug, even under extreme load. Since MAXPHYS is 128k,
only users with custom kernels are at risk on the older firmware.
Once all known users of the older firmware have upgraded, this quirk
will be removed.

Sponsored by: Netflix, Inc.

show more ...


# 441a6b69 30-Jan-2019 Alexander Motin <mav@FreeBSD.org>

Remove stale now comment, forgotten in r343582.

MFC after: 2 weeks


# a5fde7ef 30-Jan-2019 Alexander Motin <mav@FreeBSD.org>

Relax BIO_FLUSH ordering in da(4), respecting BIO_ORDERED.

r212160 tightened this from always using MSG_SIMPLE_Q_TAG to always
MSG_ORDERED_Q_TAG. Since it also marked all BIO_FLUSH requests with
BI

Relax BIO_FLUSH ordering in da(4), respecting BIO_ORDERED.

r212160 tightened this from always using MSG_SIMPLE_Q_TAG to always
MSG_ORDERED_Q_TAG. Since it also marked all BIO_FLUSH requests with
BIO_ORDERED, this commit changes nothing immediately, but it returns
BIO_FLUSH callers ability to actually specify ordering they really
need, alike to other request types.

MFC after: 2 weeks
Sponsored by: iXsystems, Inc.

show more ...


# 4dafe01e 27-Jan-2019 Andriy Voskoboinyk <avos@FreeBSD.org>

Add NO_6_BYTE / NO_SYNC_CACHE quirks for (C|D|E).* Olympus digital cameras

PR: 97472
Submitted by: Fabio Luis Girardi <papelhigienico@gmail.com>
Reviewed by: imp
MFC after: 3 weeks


# 3f41bec2 08-Jan-2019 Warner Losh <imp@FreeBSD.org>

Add NO_SYNC_CACHE quirk for PENTAX cameras

PR: 93389
Submitted by: Demin Alexander


# e11ed26a 31-Dec-2018 Warner Losh <imp@FreeBSD.org>

Add NO_RC16 quirk for Chipfancier 16GB USB stick...

Submitted by: osef.lar@gmail.com
PR: 234503


# 5b7f9fad 17-Dec-2018 Andriy Gapon <avg@FreeBSD.org>

add a knob that disables detection of write protected disks

It has been reported that on some systems (with real hardware passed
through to a virtual machine) the WP detection causes USB disk probin

add a knob that disables detection of write protected disks

It has been reported that on some systems (with real hardware passed
through to a virtual machine) the WP detection causes USB disk probing
failures.

While here, also fix the selection of the next state in the case
of malloc failure in DA_STATE_PROBE_WP. It was DA_STATE_PROBE_RC
unconditionally even when it should have been DA_STATE_PROBE_RC16.

PR: 225794
Reported by: David Boyd <David.Boyd49@twc.com>
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D18496

show more ...


# 2e2b365e 07-Dec-2018 Andriy Gapon <avg@FreeBSD.org>

daprobedone: announce if a disk is write-protected

MFC after: 2 weeks


# ee7eba24 14-Nov-2018 Warner Losh <imp@FreeBSD.org>

Remove trailing white space in advance of other changes.


# 74c0112f 05-Nov-2018 Warner Losh <imp@FreeBSD.org>

Only assert locked for many async events.

Many async events that we see are called for this specific path. When
calling an async callback for a targetted device, XTP will lock that
specific device's

Only assert locked for many async events.

Many async events that we see are called for this specific path. When
calling an async callback for a targetted device, XTP will lock that
specific device's path lock (same as what cam_periph_lock does). For
those AC_ events, assert we have the lock rather than trying to
recusrively take it (which causes panics since it's not recursive).

Add annotations about this and about the fact that AC_SCSI_AEN events
are generated now only in the ata stack (which cannot have a scsi_da
attachment). Leave it in place in case I've overlooked something as
the code is harmless.

This is fallout from my attempts to "fix" locking for softc->flags in
r330796 that's not been triggered often enough to get my attention
until now.

Sponsored by: Netflix
MFC After: 3 days
Differential Revision: https://reviews.freebsd.org/D17837

show more ...


# 9385e92b 01-Nov-2018 Warner Losh <imp@FreeBSD.org>

Add comments explaining what hold/unhold do

They act as a simple one-deep semaphore to keep open/close/probe from
running at the same time to avoid races that creates.


# ea657f2c 26-Oct-2018 Warner Losh <imp@FreeBSD.org>

Add statistics for TRIM comands

Add a counter for the LBAs, Ranges and hardware commands so that we
can provide additional color to the statistics we provide to vendors.

Sponsored by: Netflix, Inc


# aabac0c1 01-Oct-2018 Kenneth D. Merry <ken@FreeBSD.org>

Fix a da(4) driver memory leak for SCSI SMR devices.

In the probe case for SCSI SMR Host Aware or Most Managed drives, be sure
to free allocated memory.

sys/cam/scsi/scsi_da.c:
In dadone_probezone

Fix a da(4) driver memory leak for SCSI SMR devices.

In the probe case for SCSI SMR Host Aware or Most Managed drives, be sure
to free allocated memory.

sys/cam/scsi/scsi_da.c:
In dadone_probezone(), free the data pointer before returning.

MFC after: 3 days
Sponsored by: Spectra Logic
Approved by: re (kib)

show more ...


12345678910>>...21