<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/ips/ips_disk.c, branch releng/6.2</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>Add crashdump support to the ips driver.  It only works for the more modern</title>
<updated>2005-01-30T17:45:45+00:00</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2005-01-30T17:45:45+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7765040ebc0bf6d7c9a27cdd4da04636f4cbb2eb'/>
<id>7765040ebc0bf6d7c9a27cdd4da04636f4cbb2eb</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Lock the IPS driver and bring it out from under Giant.  Also do some</title>
<updated>2005-01-28T05:02:13+00:00</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2005-01-28T05:02:13+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=03a908f2ce4394b8fd8ec8e4734938c002989d0f'/>
<id>03a908f2ce4394b8fd8ec8e4734938c002989d0f</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Switch from using mutexes to using semaphores to protect against early</title>
<updated>2004-02-28T19:14:41+00:00</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2004-02-28T19:14:41+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b234a120c867ff3291e66666644af78f7a894095'/>
<id>b234a120c867ff3291e66666644af78f7a894095</id>
<content type='text'>
completion of synchronous commands.  Also switch to a per-array bioq as it
appears to improve performance.

Submitted by:	mbr, imp.ch (bioq change)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
completion of synchronous commands.  Also switch to a per-array bioq as it
appears to improve performance.

Submitted by:	mbr, imp.ch (bioq change)
</pre>
</div>
</content>
</entry>
<entry>
<title>Change the disk(9) API in order to make device removal more robust.</title>
<updated>2004-02-18T21:36:53+00:00</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2004-02-18T21:36:53+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0b7ed341e106c1583e873116529015d2ae042fd0'/>
<id>0b7ed341e106c1583e873116529015d2ae042fd0</id>
<content type='text'>
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/\./-&gt;/" 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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/\./-&gt;/" 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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add an off_t cast to prevent overflow on media size.  This should</title>
<updated>2003-09-22T04:59:07+00:00</updated>
<author>
<name>Nate Lawson</name>
<email>njl@FreeBSD.org</email>
</author>
<published>2003-09-22T04:59:07+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0588717032c6c5a9138f13b593aa7fb2934f3dc2'/>
<id>0588717032c6c5a9138f13b593aa7fb2934f3dc2</id>
<content type='text'>
fix issues with geometry not matching drive size.

Submitted by:	Clive Lin &lt;clive@tongi.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fix issues with geometry not matching drive size.

Submitted by:	Clive Lin &lt;clive@tongi.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Use __FBSDID().</title>
<updated>2003-08-24T17:55:58+00:00</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2003-08-24T17:55:58+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=aad970f1fee9a2a3e5a0f880be9b87c6193b3bd1'/>
<id>aad970f1fee9a2a3e5a0f880be9b87c6193b3bd1</id>
<content type='text'>
Also some minor style cleanups.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also some minor style cleanups.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix pointer/int warnings so this compiles on amd64.  The driver wants</title>
<updated>2003-06-27T23:10:58+00:00</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2003-06-27T23:10:58+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f472527c953a27c8f5657c0c6f5ca42dc7785b77'/>
<id>f472527c953a27c8f5657c0c6f5ca42dc7785b77</id>
<content type='text'>
to store an int in the bio-&gt;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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to store an int in the bio-&gt;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
</pre>
</div>
</content>
</entry>
<entry>
<title>Add the 'ips' driver for the IBM (now Adaptec) ServeRAID controller</title>
<updated>2003-05-11T06:36:49+00:00</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2003-05-11T06:36:49+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=2aedd662d8ab5bdd421bbae90f92a79b96e64e57'/>
<id>2aedd662d8ab5bdd421bbae90f92a79b96e64e57</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
</feed>
