dragonfly.git
12 years agoTry to automatically scan and attach luns for modern storage
Peter Avalos [Wed, 28 Nov 2007 22:37:05 +0000 (22:37 +0000)]
Try to automatically scan and attach luns for modern storage
which has luns in the 0..1000 range, not 0..7.

Obtained-from: FreeBSD

12 years agoAgain, use offsetof() instead of a constant to enhance readability.
Peter Avalos [Wed, 28 Nov 2007 22:27:57 +0000 (22:27 +0000)]
Again, use offsetof() instead of a constant to enhance readability.

Obtained-from: FreeBSD

12 years agoUse offsetof() instead of a hard-coded constant for readability.
Peter Avalos [Wed, 28 Nov 2007 22:21:48 +0000 (22:21 +0000)]
Use offsetof() instead of a hard-coded constant for readability.

Round odd long inquiry lengths up so as to avoid tickling ignore
wide residue bugs in broken parallel SCSI devices running with a
wide transfer negotiation.

Obtained-from: FreeBSD

12 years agoAdd necessary data structures and definitions for the 12-byte SCSI
Peter Avalos [Wed, 28 Nov 2007 22:16:09 +0000 (22:16 +0000)]
Add necessary data structures and definitions for the 12-byte SCSI
commands READ_FORMAT_CAPACITIES, WRITE_AND_VERIFY, and VERIFY.

Obtained-from: FreeBSD

12 years agoRemove the camnet swi and CAM_PERIPH_NET. It has never been used, and
Peter Avalos [Wed, 28 Nov 2007 22:11:02 +0000 (22:11 +0000)]
Remove the camnet swi and CAM_PERIPH_NET.  It has never been used, and
given that network-over-scsi never really took off, there is little chance
that it will ever be needed.

Obtained-from: FreeBSD

12 years agoFix typo in comment.
Peter Avalos [Wed, 28 Nov 2007 21:55:59 +0000 (21:55 +0000)]
Fix typo in comment.

Obtained-from: FreeBSD

12 years agoWhen printing out an unknown sense code we should print it in hex, not
Peter Avalos [Wed, 28 Nov 2007 21:45:02 +0000 (21:45 +0000)]
When printing out an unknown sense code we should print it in hex, not
decimal.

Obtained-from: FreeBSD

12 years agoSync error messages w/ FreeBSD.
Peter Avalos [Wed, 28 Nov 2007 21:41:41 +0000 (21:41 +0000)]
Sync error messages w/ FreeBSD.

Obtained-from: FreeBSD

12 years agoMake the module return EOPNOTSUPP for unknown events.
Peter Avalos [Wed, 28 Nov 2007 21:29:18 +0000 (21:29 +0000)]
Make the module return EOPNOTSUPP for unknown events.

Obtained-from: FreeBSD

12 years agoWhitespace to make comments more legible.
Peter Avalos [Wed, 28 Nov 2007 21:20:25 +0000 (21:20 +0000)]
Whitespace to make comments more legible.

Obtained-from: FreeBSD

12 years agobzero the CCB header in getdevtree() and set the path properly, to
Peter Avalos [Wed, 28 Nov 2007 21:12:11 +0000 (21:12 +0000)]
bzero the CCB header in getdevtree() and set the path properly, to
avoid having random garbage in the CCB header.

if the lun isn't specified in a device specifier, it should default to
0, not whatever random data happens to be in the lun variable.

Obtained-from: FreeBSD

12 years agoCompare the *number* of patterns to zero, not the pointer to the patterns.
Peter Avalos [Wed, 28 Nov 2007 21:05:00 +0000 (21:05 +0000)]
Compare the *number* of patterns to zero, not the pointer to the patterns.

Obtained-from: FreeBSD

12 years agoSpelling fix in comment.
Peter Avalos [Wed, 28 Nov 2007 20:56:55 +0000 (20:56 +0000)]
Spelling fix in comment.

Obtained-from: FreeBSD

12 years agoSS_FATAL|ENXIO rather than SS_RDEF for illegal track mode.
Peter Avalos [Wed, 28 Nov 2007 20:55:37 +0000 (20:55 +0000)]
SS_FATAL|ENXIO rather than SS_RDEF for illegal track mode.

Obtained-from: FreeBSD

12 years ago- Factor out pcie_slotimpl() to check whether PCI Express slot is implemented.
Sepherosa Ziehau [Wed, 28 Nov 2007 11:35:40 +0000 (11:35 +0000)]
- Factor out pcie_slotimpl() to check whether PCI Express slot is implemented.
- Add external function to test whether PCI Express slot is implemented; this
  external function is sheer wrapper of pcie_slotimpl().
- Rename port type macros.
- Add some comment.
- Disable all hot-plug related interrupts on PCI Express root/downstream port.
  Add XXX comment about it.
Reminded-by: joerg@
12 years agoM_MCAST and M_BCAST are set before bridge_input() is executed, so use these
Sepherosa Ziehau [Tue, 27 Nov 2007 11:15:30 +0000 (11:15 +0000)]
M_MCAST and M_BCAST are set before bridge_input() is executed, so use these
two flags instead of conducting tests for them again.

12 years ago- Move IFF_UP checking to the beginning of ether_input().
Sepherosa Ziehau [Tue, 27 Nov 2007 11:06:31 +0000 (11:06 +0000)]
- Move IFF_UP checking to the beginning of ether_input().
- Move ethernet multicast/broadcast destination testing to ether_input(),
  before IFF_MONITOR testing.
- Use ETHER_IS_MULTICAST macro to test ethernet multicast/broadcast address.

Obtained-from: FreeBSD

- Nuke no longer needed 'pre_stats' label.
- In ether_input(), assert that the input mbuf contains pkthdr.

12 years agoHAMMER 8/many - A-list, B-Tree fixes. As-of queries
Matthew Dillon [Tue, 27 Nov 2007 07:48:52 +0000 (07:48 +0000)]
HAMMER 8/many - A-list, B-Tree fixes.  As-of queries

Fix numerous bugs in the A-list and B-Tree code, and a few other
calculations.  The maximum volume size had to be reduced to 8192 TB due
to an overflow in the A-list radix calculation.

Implement as-of name lookups using an @@<delta_seconds_old> name extension.
This is temporary.  Implelment as-of mounts.

12 years agoMake fixes to the A-list initialization and properly allocate records
Matthew Dillon [Tue, 27 Nov 2007 07:44:38 +0000 (07:44 +0000)]
Make fixes to the A-list initialization and properly allocate records
from the end of the cluster backwards.

12 years agoInitialize idx_ldata - a forward iterator for allocating large (16K) data
Matthew Dillon [Mon, 26 Nov 2007 21:39:09 +0000 (21:39 +0000)]
Initialize idx_ldata - a forward iterator for allocating large (16K) data
blocks.

12 years agoHAMMER 7/many - deletions, overwrites, B-Tree work.
Matthew Dillon [Mon, 26 Nov 2007 21:38:37 +0000 (21:38 +0000)]
HAMMER 7/many - deletions, overwrites, B-Tree work.

Fix numerous tag-ends related to file deletions and overwrites and get the
B-Tree insertion algorithm working properly.  Also get the memory cache
squared away, particularly when dealing with temporary files.

12 years agoFor ip_lengthcheck():
Sepherosa Ziehau [Mon, 26 Nov 2007 11:43:09 +0000 (11:43 +0000)]
For ip_lengthcheck():
- Centralize check failure processing.
- Set the passed in mbuf pointer to NULL, if check fails, so that callers won't
  need to do that.

12 years agoUse m_freem() instead of m_free()
Sepherosa Ziehau [Mon, 26 Nov 2007 11:05:58 +0000 (11:05 +0000)]
Use m_freem() instead of m_free()

12 years agoUse m_freem() to free the whole mbuf chain.
Sepherosa Ziehau [Mon, 26 Nov 2007 10:55:42 +0000 (10:55 +0000)]
Use m_freem() to free the whole mbuf chain.

Confirmed-by: hsu@
12 years agoAllow for any baud rate within a range rather than having a fixed list of
Hasso Tepper [Mon, 26 Nov 2007 10:52:33 +0000 (10:52 +0000)]
Allow for any baud rate within a range rather than having a fixed list of
rates.

Obtained-from: OpenBSD

12 years agoHAMMER 6/many - memory->disk flush, single-cluster sync to disk, more vnops.
Matthew Dillon [Mon, 26 Nov 2007 05:03:11 +0000 (05:03 +0000)]
HAMMER 6/many - memory->disk flush, single-cluster sync to disk, more vnops.

Get most operations within a single 64M cluster working.  There are still
numerous issues with the B-Tree algorithms so readbacks generate bad data at
the moment.

12 years agoCatch vkernel divide-by-0 traps a bit earlier so they are reported properly.
Matthew Dillon [Mon, 26 Nov 2007 04:14:01 +0000 (04:14 +0000)]
Catch vkernel divide-by-0 traps a bit earlier so they are reported properly.

12 years agoDrop into DDB if the vkernel hits a floting point exception (SIGFPE).
Matthew Dillon [Mon, 26 Nov 2007 03:57:58 +0000 (03:57 +0000)]
Drop into DDB if the vkernel hits a floting point exception (SIGFPE).

12 years agoDon't be so chatty when performing manual sense.
Peter Avalos [Mon, 26 Nov 2007 02:50:04 +0000 (02:50 +0000)]
Don't be so chatty when performing manual sense.

Obtained-from: FreeBSD

12 years agoIn camperiphdone(), make sure we check for fatal errors and bail out
Peter Avalos [Mon, 26 Nov 2007 02:24:49 +0000 (02:24 +0000)]
In camperiphdone(), make sure we check for fatal errors and bail out
instead of retrying them blindly.

Obtained-from: FreeBSD

12 years ago(camperiphdone): When the cam_periph layer performs sense recovery,
Peter Avalos [Mon, 26 Nov 2007 01:08:42 +0000 (01:08 +0000)]
(camperiphdone): When the cam_periph layer performs sense recovery,
 completion of recovery is indicated by positioning the CAM_AUTOSNS_VALID
 bit in the status field of the CCB, not in the flags field.
This fixes an endless loop of sense recovery actions.

Obtained-from: FreeBSD

12 years agoOnly set single initiator buffered mode if we've recorded in our softc
Peter Avalos [Mon, 26 Nov 2007 00:40:08 +0000 (00:40 +0000)]
Only set single initiator buffered mode if we've recorded in our softc
that we should set it.

Obtained-from: FreeBSD

12 years agoMinor debug output changes.
Peter Avalos [Sun, 25 Nov 2007 18:32:29 +0000 (18:32 +0000)]
Minor debug output changes.

Also, the previous fallthrough was not intentional, so move the code
around to perform correctly.

Obtained-from: FreeBSD

12 years agoRemove unused variables.
Peter Avalos [Sun, 25 Nov 2007 18:14:26 +0000 (18:14 +0000)]
Remove unused variables.
Remove break after return.
Add XXX comment where intent is unclear.

Obtained-from: FreeBSD

12 years agoFix some mis-usages of NULL.
Sascha Wildner [Sun, 25 Nov 2007 18:10:07 +0000 (18:10 +0000)]
Fix some mis-usages of NULL.

12 years agoRemove unused variable.
Peter Avalos [Sun, 25 Nov 2007 18:03:43 +0000 (18:03 +0000)]
Remove unused variable.

Obtained-from: FreeBSD

12 years agoUse symbolic constants instead of "4".
Peter Avalos [Sun, 25 Nov 2007 17:59:22 +0000 (17:59 +0000)]
Use symbolic constants instead of "4".
Use arrays instead of relying on struct packing.

Obtained-from: FreeBSD

12 years agoDon't use return(foo(...)); in a function returning void.
Peter Avalos [Sun, 25 Nov 2007 17:09:06 +0000 (17:09 +0000)]
Don't use return(foo(...)); in a function returning void.

Obtained-from: FreeBSD

12 years agoRemove unused ioctl routine.
Peter Avalos [Sun, 25 Nov 2007 16:49:48 +0000 (16:49 +0000)]
Remove unused ioctl routine.

Obtained-from: FreeBSD

12 years agoMerge from vendor branch LESS:
Peter Avalos [Sun, 25 Nov 2007 15:10:30 +0000 (15:10 +0000)]
Merge from vendor branch LESS:
Import less-416:

Fix crash when searching text with invalid UTF-8 sequences.

12 years agoImport less-416:
Peter Avalos [Sun, 25 Nov 2007 15:10:30 +0000 (15:10 +0000)]
Import less-416:

Fix crash when searching text with invalid UTF-8 sequences.

12 years agoRemove (now) bogus prototype.
Sascha Wildner [Sun, 25 Nov 2007 14:48:30 +0000 (14:48 +0000)]
Remove (now) bogus prototype.

12 years ago* Add prototype for callrpc()
Sascha Wildner [Sun, 25 Nov 2007 14:33:02 +0000 (14:33 +0000)]
* Add prototype for callrpc()

* Fix function type for callrpc() in rpc(3)

* Raise WARNS to 2 for librpcsvc, fix warnings and ansify

12 years ago- Cache PCI-X capability PTR.
Sepherosa Ziehau [Sun, 25 Nov 2007 10:31:41 +0000 (10:31 +0000)]
- Cache PCI-X capability PTR.
- Add IVARs to read PCI Express and PCI-X capability PTR.
- Add convenient functions to test whether a device is PCI Express based
  or is PCI-X based.

12 years agoDon't use the devstat->busy_count for state decisions in the device
Peter Avalos [Sun, 25 Nov 2007 04:42:38 +0000 (04:42 +0000)]
Don't use the devstat->busy_count for state decisions in the device
drivers.  Doing so imposes atomicity and locking constraints.

Obtained-from: FreeBSD

12 years agoCache following information for PCI Express capability:
Sepherosa Ziehau [Sun, 25 Nov 2007 04:08:42 +0000 (04:08 +0000)]
Cache following information for PCI Express capability:
- Capability PTR
- PCI Express Capabilities register
- Slot Capabilities register
Print them if 'bootverbose'.

Above information should be enough for identifying PCI Express hot-plug
support, e.g. ExpressCard

12 years agoFix typo.
Peter Avalos [Sun, 25 Nov 2007 02:21:30 +0000 (02:21 +0000)]
Fix typo.

Obtained-from: FreeBSD

12 years agoFactor out a function to read power management capability
Sepherosa Ziehau [Sun, 25 Nov 2007 02:17:56 +0000 (02:17 +0000)]
Factor out a function to read power management capability

12 years agopanic() shouldn't have a \n.
Peter Avalos [Sun, 25 Nov 2007 01:30:55 +0000 (01:30 +0000)]
panic() shouldn't have a \n.

Obtained-from: FreeBSD

12 years agopanic() shouldn't have a \n.
Peter Avalos [Sun, 25 Nov 2007 01:29:57 +0000 (01:29 +0000)]
panic() shouldn't have a \n.

Obtained-from: FreeBSD

12 years agoAdd some #include's to fix 'implicit declaration of...' warnings.
Sascha Wildner [Sun, 25 Nov 2007 01:28:24 +0000 (01:28 +0000)]
Add some #include's to fix 'implicit declaration of...' warnings.

12 years agoUse parens for arguments in macro.
Peter Avalos [Sun, 25 Nov 2007 01:21:42 +0000 (01:21 +0000)]
Use parens for arguments in macro.

Obtained-from: FreeBSD

12 years agoAdjust acpi.c and bios.c to use kfreeenv()/ktestenv() and remove the
Sascha Wildner [Sun, 25 Nov 2007 00:13:28 +0000 (00:13 +0000)]
Adjust acpi.c and bios.c to use kfreeenv()/ktestenv() and remove the
freeenv/testenv compatibility defines.

12 years agoBe consistent about "static" functions: if the function is marked
Peter Avalos [Sat, 24 Nov 2007 23:12:51 +0000 (23:12 +0000)]
Be consistent about "static" functions: if the function is marked
static in its prototype, mark it static at the definition too.

Obtained-from: FreeBSD

12 years agoRemove old prototypes of consinit() (which was removed along with pcvt(4))
Sascha Wildner [Sat, 24 Nov 2007 23:12:36 +0000 (23:12 +0000)]
Remove old prototypes of consinit() (which was removed along with pcvt(4))
and usrinfoinit() (which was removed from FreeBSD before we forked).

12 years agoA SCSI_DELAY of zero is a legitimate value to have in some cases.
Peter Avalos [Sat, 24 Nov 2007 19:57:01 +0000 (19:57 +0000)]
A SCSI_DELAY of zero is a legitimate value to have in some cases.

Obtained-from: FreeBSD

12 years agoDon't call dkpart() just to print the result, it is constant.
Peter Avalos [Sat, 24 Nov 2007 19:41:39 +0000 (19:41 +0000)]
Don't call dkpart() just to print the result, it is constant.

Obtained-from: FreeBSD

12 years agoDocument camcontrol load.
Peter Avalos [Sat, 24 Nov 2007 19:22:51 +0000 (19:22 +0000)]
Document camcontrol load.

Obtained-from: FreeBSD

12 years agoMake SCSI_DELAY setable at boot time and runtime via the
Peter Avalos [Sat, 24 Nov 2007 19:19:43 +0000 (19:19 +0000)]
Make SCSI_DELAY setable at boot time and runtime via the
kern.cam.scsi_delay tunable/sysctl.

Obtained-from: FreeBSD

12 years agoAdd some \n's to kprintf()s.
Peter Avalos [Sat, 24 Nov 2007 18:55:27 +0000 (18:55 +0000)]
Add some \n's to kprintf()s.

Obtained-from: FreeBSD

12 years agos/Conatainer/Container/
Sascha Wildner [Sat, 24 Nov 2007 18:53:15 +0000 (18:53 +0000)]
s/Conatainer/Container/

Taken-from: FreeBSD

12 years agoUse .An
Sascha Wildner [Sat, 24 Nov 2007 18:47:07 +0000 (18:47 +0000)]
Use .An

12 years agoRename pci_read_extcap() to pci_read_capabilities() to avoid possible
Sepherosa Ziehau [Sat, 24 Nov 2007 13:21:32 +0000 (13:21 +0000)]
Rename pci_read_extcap() to pci_read_capabilities() to avoid possible
confusion between PCI "capability" and PCI Express "extended capability".

12 years agoWhite space
Sepherosa Ziehau [Sat, 24 Nov 2007 13:04:16 +0000 (13:04 +0000)]
White space

12 years ago- Factor out pci_fixup_nextptr().
Sepherosa Ziehau [Sat, 24 Nov 2007 06:47:37 +0000 (06:47 +0000)]
- Factor out pci_fixup_nextptr().
- The checking about whether 'data' register of power management capability
  exists or not is incorrect, according to PCI local bus spec:
    1) Next capability is not necessarily at a higher location than the
       current capability.
    2) Two capabilities are not necessarily consecutive.
  Set it to 0 for now (it is not used at all) and add comment about a possible
  way to test the existence of this register in power management capability.
- Clean up pci_read_extcap() a little bit.

12 years agoIf we boot verbose, then print out 'interesting' CAM errors that otherwise
Peter Avalos [Sat, 24 Nov 2007 05:18:35 +0000 (05:18 +0000)]
If we boot verbose, then print out 'interesting' CAM errors that otherwise
would hide problems (like Selection Timeout).

Obtained-from: FreeBSD

12 years agoAdd REPORT LUNS basic infrastructure.
Peter Avalos [Sat, 24 Nov 2007 03:48:31 +0000 (03:48 +0000)]
Add REPORT LUNS basic infrastructure.

Obtained-from: FreeBSD

12 years ago- Push PCI status "capability list bit" checking down into pci_read_extcap().
Sepherosa Ziehau [Sat, 24 Nov 2007 03:42:24 +0000 (03:42 +0000)]
- Push PCI status "capability list bit" checking down into pci_read_extcap().
- Mask bottom two bits of "next pointer", add comment about it.
- If "next pointer" is not 0 and is less than 0x40 (standard PCI configuration
  space size), then it is illegal, bark out loudly and terminate the capability
  iteration.

12 years agoDo not +1 with MAXPATHLEN.
Peter Avalos [Sat, 24 Nov 2007 03:13:03 +0000 (03:13 +0000)]
Do not +1 with MAXPATHLEN.

Obtained-from: FreeBSD

12 years agoRemove unused variable.
Peter Avalos [Sat, 24 Nov 2007 03:09:57 +0000 (03:09 +0000)]
Remove unused variable.

Obtained-from: FreeBSD

12 years agoRemove extra semicolon.
Peter Avalos [Sat, 24 Nov 2007 02:36:13 +0000 (02:36 +0000)]
Remove extra semicolon.

Obtained-from: FreeBSD

12 years agoRemove comment that doesn't seem to apply any more.
Peter Avalos [Sat, 24 Nov 2007 02:29:24 +0000 (02:29 +0000)]
Remove comment that doesn't seem to apply any more.

12 years agoStaticise a debugging variable.
Peter Avalos [Sat, 24 Nov 2007 02:08:50 +0000 (02:08 +0000)]
Staticise a debugging variable.

Obtained-from: FreeBSD

12 years agoConst'ify the CDB format string passed to the CDB parsing routines
Peter Avalos [Sat, 24 Nov 2007 01:53:50 +0000 (01:53 +0000)]
Const'ify the CDB format string passed to the CDB parsing routines
(csio_decode_visit() and family).

Obtained-from: FreeBSD

12 years agoFix breakage in 'camcontrol defects' introduced in last commit.
Peter Avalos [Sat, 24 Nov 2007 01:38:46 +0000 (01:38 +0000)]
Fix breakage in 'camcontrol defects' introduced in last commit.

Obtained-from: FreeBSD

12 years agoBe very generous with timeouts for synchronize cache. We may wait a very long
Peter Avalos [Sat, 24 Nov 2007 01:31:39 +0000 (01:31 +0000)]
Be very generous with timeouts for synchronize cache. We may wait a very long
time in the cases where it really sends the drive out to lunch, but it also
allows us to catch very weird edge cases of strange drives that might take
a very long time.

Obtained-from: FreeBSD

12 years agoAdd llabs(3).
Simon Schubert [Sat, 24 Nov 2007 00:55:10 +0000 (00:55 +0000)]
Add llabs(3).

12 years agoAdd llabs(3).
Simon Schubert [Sat, 24 Nov 2007 00:54:25 +0000 (00:54 +0000)]
Add llabs(3).

Obtained-From:  FreeBSD

12 years agoUniformly refer to RFCs as 'RFC xxxx' and not 'RFCxxxx' or 'RFC-xxxx'.
Sascha Wildner [Fri, 23 Nov 2007 23:16:37 +0000 (23:16 +0000)]
Uniformly refer to RFCs as 'RFC xxxx' and not 'RFCxxxx' or 'RFC-xxxx'.

12 years agoFix a number of typos in defined values (ioctls and others).
Sascha Wildner [Fri, 23 Nov 2007 23:03:57 +0000 (23:03 +0000)]
Fix a number of typos in defined values (ioctls and others).

12 years agoRemove debugging printfs.
Matthew Dillon [Fri, 23 Nov 2007 22:29:51 +0000 (22:29 +0000)]
Remove debugging printfs.

12 years agoProperly use .Ar
Sascha Wildner [Fri, 23 Nov 2007 20:08:35 +0000 (20:08 +0000)]
Properly use .Ar

12 years agoAdd comment about pcicfgregs.pmgt field
Sepherosa Ziehau [Fri, 23 Nov 2007 14:41:56 +0000 (14:41 +0000)]
Add comment about pcicfgregs.pmgt field

12 years agoCreate structure to group PCI power management configuration
Sepherosa Ziehau [Fri, 23 Nov 2007 14:36:17 +0000 (14:36 +0000)]
Create structure to group PCI power management configuration

Obtained-from: FreeBSD

12 years ago- Add CAP_PTR macro for type 2 devices (cardbus)
Sepherosa Ziehau [Fri, 23 Nov 2007 13:40:58 +0000 (13:40 +0000)]
- Add CAP_PTR macro for type 2 devices (cardbus)
- Less magic values in pci_read_extcap()

Obtained-from: FreeBSD

12 years agoUse .Ev
Sascha Wildner [Thu, 22 Nov 2007 21:17:55 +0000 (21:17 +0000)]
Use .Ev

12 years agoFix typos.
Hasso Tepper [Thu, 22 Nov 2007 20:19:43 +0000 (20:19 +0000)]
Fix typos.

Obtained-from: NetBSD

12 years agoRemove comments about 0x2 flags value and FDC_YE option of which there
Sascha Wildner [Thu, 22 Nov 2007 20:13:38 +0000 (20:13 +0000)]
Remove comments about 0x2 flags value and FDC_YE option of which there
are no traces in the code.

Found-in: FreeBSD

12 years agoReplace the very predictable 'random' IP sequence number generator with
Matthew Dillon [Thu, 22 Nov 2007 19:57:14 +0000 (19:57 +0000)]
Replace the very predictable 'random' IP sequence number generator with
something far less predictable.  Use DragonFly's built-in PRNG and add a
shuffle algorithm.  We eat 128KB of ram for the shuffle array but I've
pretty much had it with roll-your-own PRNGs.  At least this way any PRNG
issues can be corrected in one place -- our system PRNG.

Turn net.inet.ip.random_id on by default.  Eat the minor loss in performance.
On the bright side, our PRNG is very fast, so this should not represent
a burden.

References: Analysis of BSD ip randomizer algorithm by "Amit Klein"
    <amit.klein@trusteer.com> showing serious vulnerabilities in
    the algorithm.

12 years agoFix bug in scsi_read_write() where it might use 6-byte commands when
Peter Avalos [Thu, 22 Nov 2007 17:35:12 +0000 (17:35 +0000)]
Fix bug in scsi_read_write() where it might use 6-byte commands when
10/12-byte-specific flags were specified.

Obtained-from: FreeBSD

12 years agoFix typo in comment.
Peter Avalos [Thu, 22 Nov 2007 17:11:43 +0000 (17:11 +0000)]
Fix typo in comment.

Obtained-from: FreeBSD

12 years agoAdd interfaces for SCSI LOG SELECT and LOG SENSE commands.
Peter Avalos [Thu, 22 Nov 2007 16:34:25 +0000 (16:34 +0000)]
Add interfaces for SCSI LOG SELECT and LOG SENSE commands.

Obtained-from: FreeBSD

12 years agoMark some functions as __printflike().
Peter Avalos [Thu, 22 Nov 2007 15:53:16 +0000 (15:53 +0000)]
Mark some functions as __printflike().

Obtained-from: FreeBSD

12 years agoUse .Ev
Sascha Wildner [Thu, 22 Nov 2007 08:40:03 +0000 (08:40 +0000)]
Use .Ev

12 years agoKill the command (don't rerun it) if we had an AUTOSENSE failure.
Peter Avalos [Thu, 22 Nov 2007 00:59:49 +0000 (00:59 +0000)]
Kill the command (don't rerun it) if we had an AUTOSENSE failure.
If we had an AUTOSENSE failure, we don't know what SENSE DATA
we had for a CHECK CONDITION. It's far better to assume failure
in this case.

Obtained-from: FreeBSD

12 years agoPropagate CAM_DIS_DISCONNECT on through:
Peter Avalos [Wed, 21 Nov 2007 22:10:16 +0000 (22:10 +0000)]
Propagate CAM_DIS_DISCONNECT on through:

1. If we get frozen, unfreeze for disable disconnects.
2. Put CAM_DIS_DISCONNECT commands at the head of the work queue
(we have a target still connected and we can't run anything else
until this command completes).

If we had an error sending the last CTIO, unfreeze the queue anyway.

Obtained-from: FreeBSD

12 years agoFix .Dv abuse and use .Li instead.
Sascha Wildner [Wed, 21 Nov 2007 22:02:32 +0000 (22:02 +0000)]
Fix .Dv abuse and use .Li instead.

12 years agoCheck the void * argument in the AC_FOUND_DEV case against NULL.
Peter Avalos [Wed, 21 Nov 2007 21:28:41 +0000 (21:28 +0000)]
Check the void * argument in the AC_FOUND_DEV case against NULL.

Obtained-from: FreeBSD

12 years agoCleanup some of the XPORT_FC code (mostly whitespace)
Peter Avalos [Wed, 21 Nov 2007 20:29:34 +0000 (20:29 +0000)]
Cleanup some of the XPORT_FC code (mostly whitespace)

Obtained-from: FreeBSD

12 years agoAdd a transport settings variant for Fibre Channel.
Peter Avalos [Wed, 21 Nov 2007 20:07:31 +0000 (20:07 +0000)]
Add a transport settings variant for Fibre Channel.

Obtained-from: FreeBSD