Commit Graph

6 Commits

Author SHA1 Message Date
scottl
8337abed61 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)
2004-02-28 19:14:41 +00:00
phk
49c92e5706 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.
2004-02-18 21:36:53 +00:00
njl
a3b953a825 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>
2003-09-22 04:59:07 +00:00
obrien
c63dab466c Use __FBSDID().
Also some minor style cleanups.
2003-08-24 17:55:58 +00:00
peter
c8946bbbb5 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
2003-06-27 23:10:58 +00:00
scottl
e51c9992d8 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
2003-05-11 06:36:49 +00:00