History log of /freebsd-current/sys/dev/ips/ips_disk.c
Revision Date Author Comments
# 685dc743 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 4d846d26 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix


# 489ba222 13-May-2022 Mitchell Horne <mhorne@FreeBSD.org>

kerneldump: remove physical argument from d_dumper

The physical address argument is essentially ignored by every dumper
method. In addition, the dump routines don't actually pass a real
address; every call to dump_append() passes a value of zero for
physical.

Reviewed by: markj
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D35173


# 3144501a 20-Apr-2022 John Baldwin <jhb@FreeBSD.org>

ips: Remove unused devclass arguments to DRIVER_MODULE.


# d176b803 07-Feb-2020 Scott Long <scottl@FreeBSD.org>

Ever since the block layer expanded its command syntax beyond just
BIO_READ and BIO_WRITE, we've handled this expanded syntax poorly in
drivers when the driver doesn't support a particular command. Do a
sweep and fix that.

Reported by: imp


# 718cf2cc 27-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

sys/dev: further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# 82d11b03 27-Dec-2009 Matt Jacob <mjacob@FreeBSD.org>

MFC of 198329: Check pointer for NULL before dereferencing it, not after.


# 022ad822 21-Oct-2009 Christian Brueffer <brueffer@FreeBSD.org>

Check pointer for NULL before dereferencing it, not after.

PR: 138384
Submitted by: Patroklos Argyroudis <argp@census-labs.com>
MFC after: 1 week


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# f94dfeb4 29-Nov-2005 Scott Long <scottl@FreeBSD.org>

Separate the hardware definitions into ipsreg.h so they can be used by
future userland tools.


# 2eea7051 25-Sep-2005 Scott Long <scottl@FreeBSD.org>

Overhaul error handling in the IPS driver. Don't use a magic value for
driver-induced errors, instead be better about propagating error status
upwards. Add more error definitions, courtesy of the linux driver. Fix
a command leak in the ioctl handler. Re-arrange some of the command handlers
to localize error handling.

MFC After: 3 days


# 7765040e 30-Jan-2005 Scott Long <scottl@FreeBSD.org>

Add crashdump support to the ips driver. It only works for the more modern
ServeRAID 4 - 7 models right now. Support for older cards is possible, but
I don't have any hardware to experiment with.

Thanks to Jack Hammer at Adaptec for providing debugging hints.

Sponsored by: ImproWare AG, Switzerland


# 03a908f2 27-Jan-2005 Scott Long <scottl@FreeBSD.org>

Lock the IPS driver and bring it out from under Giant. Also do some
significant clean up and optimizations:
- don't call bioq_disksort() on every command, the hardware will do that for
us.
- remove all of the complicated bio deferral code. bio's that can't be
serviced immediately can just wait on the bioq.
- Only reserve one command object for doing control commands to the card.
This simplifies a lot of code and significantly reduces the size of the
command struct.
- Allocate commands out of a slab instead of embedding them into the softc.
- Call the command action method directly instead of having ips_get_free_cmd()
call it indirectly.

MFC After: 1 week


# b234a120 28-Feb-2004 Scott Long <scottl@FreeBSD.org>

Switch from using mutexes to using semaphores to protect against early
completion of synchronous commands. Also switch to a per-array bioq as it
appears to improve performance.

Submitted by: mbr, imp.ch (bioq change)


# 0b7ed341 18-Feb-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Change the disk(9) API in order to make device removal more robust.

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.


# 05887170 21-Sep-2003 Nate Lawson <njl@FreeBSD.org>

Add an off_t cast to prevent overflow on media size. This should
fix issues with geometry not matching drive size.

Submitted by: Clive Lin <clive@tongi.org>


# aad970f1 24-Aug-2003 David E. O'Brien <obrien@FreeBSD.org>

Use __FBSDID().
Also some minor style cleanups.


# f472527c 27-Jun-2003 Peter Wemm <peter@FreeBSD.org>

Fix pointer/int warnings so this compiles on amd64. The driver wants
to store an int in the bio->bio_driver1 (a void *). It is big enough,
but you have to match the int sizes first before doing the cast.

Glanced at by: scottl


# 2aedd662 11-May-2003 Scott Long <scottl@FreeBSD.org>

Add the 'ips' driver for the IBM (now Adaptec) ServeRAID controller
series. This driver was generously developed and released by David
Jeffreys and Adaptec. I've updated it to work with 5.x and fixed a
few bugs.

MFC After: 1 week