197306 Commits

Author SHA1 Message Date
tuexen
01f551f619 MFC r272404:
Fix the checksum computation for UDPLite/IPv6. This requires the
usage of a function computing the checksum only over a part of the function.
Therefore introduce in6_cksum_partial() and implement in6_cksum() based
on that.
While there, ensure that the UDPLite packet contains at least enough bytes
to contain the header.
2014-10-06 17:08:19 +00:00
tuexen
88124f9e02 MFC r272347:
The default for UDPLITE_RECV_CSCOV is zero. RFC 3828 recommend
that this means full checksum coverage for received packets.
If an application is willing to accept packets with partial
coverage, it is expected to use the socket option and provide
the minimum coverage it accepts.
2014-10-06 17:04:26 +00:00
tuexen
ce3a76b52f MFC r272326:
UDPLite requires a checksum. Therefore, discard a received packet if
the checksum is 0.
2014-10-06 16:59:25 +00:00
mav
7da2f7e9ed MFC r269472: Do not retry on set of non-transient XCOPY errors. 2014-10-06 15:24:04 +00:00
mav
fd1b7bf16c MFC r269469: Do not retry token errors.
They are not going to disappear by themselves.
2014-10-06 15:23:12 +00:00
mav
6cd0342073 MFC r272308: Fix old iSCSI initiator to work with new CAM locking.
This switches code to using xpt_rescan() routine, irrelevant to locking.
Using xpt_action() directly requires knowledge about higher level locks,
that SIM does not need to have.

This code is obsolete, but that is not a reason to crash.
2014-10-06 15:11:08 +00:00
luigi
7db7c41fe7 MFC r272108: add missing file for building netmap as a module 2014-10-06 14:39:45 +00:00
mav
3d422a235e MFC r272355: Fix couple issues with ROD tokens content. 2014-10-06 13:34:12 +00:00
mav
65c4d40e1d MFC r272247:
Do not transfer unneeded training zero bytes in INQUIRY response.

It is an addition to r269631.
2014-10-06 13:33:22 +00:00
tuexen
952b4cb5f7 MFC r272323:
If the checksum coverage field in the UDPLITE header is the length
of the complete UDPLITE packet, the packet has full checksum coverage.
So fix the condition.
2014-10-06 13:32:30 +00:00
mav
70661238f1 MFC r272224: Fix page length reported for Block Limits VPD page. 2014-10-06 13:31:44 +00:00
mav
19ba8133b4 MFC r272033:
Fix ASCQ for "Logical unit not ready, manual intervention required" error.
2014-10-06 13:30:52 +00:00
mav
d1d1b3035d MFC r271959: Pretend that we support BYTCHK=1 in WRITE AND VERIFY command.
Technically that is not true, but since we don't implement VERIFY there
at all, doing only WRITE part, this is a minor sin.
2014-10-06 13:30:06 +00:00
mav
1be3714fc8 MFC r271954:
Deny ANCHOR flag set without UNMAP flag set in WRITE SAME commands.
2014-10-06 13:29:15 +00:00
mav
bd68280c28 MFC r271951: Don't try to continue aborted commands if status was not set. 2014-10-06 13:28:17 +00:00
mav
33c92e2233 MFC r271945:
Simplify legacy reservation handling.  Drop it on I_T nexus loss.
2014-10-06 13:27:18 +00:00
mav
a4245e0a49 MFC r271942:
Don't report unsupported FUA_NV bit set in READ/WRITE commands as error.

While this bit is obsolete in SBC-3, SBC-2 allowed to silently ignore it.
2014-10-06 13:26:26 +00:00
mav
9d8f6e06a8 MFC r271941:
Report proper errors codes for unsupported SERVICE ACTION values.
2014-10-06 13:25:36 +00:00
mav
28d91d5dcf MFC r271940: Polish INQUIRY command fields validation. 2014-10-06 13:24:25 +00:00
mav
9189486c50 MFC r271930: Allow SUBPAGE CODE field in MODE SENSE commands. 2014-10-06 13:23:37 +00:00
mav
d219050090 MFC r271869:
Fix inverted expression to report block size in mode page block descriptor.
2014-10-06 13:22:53 +00:00
mav
b913091bf1 MFC r271845:
Allow more commands to pass persistent reservation according to SPC-4 r37.
2014-10-06 13:22:05 +00:00
mav
48c3bee1ac MFC r271839:
Add support for "no Data-Out Buffer" (NDOB) flag of WRITE SAME (16) command.
2014-10-06 13:21:13 +00:00
mav
116bd3882f MFC r271606:
Always report that we support REPORT TARGET PORT GROUPS command.

Without clustering support we any way have only one group of permanently
active ports, but that gives us one more supported VMWare feature. ;)

Solaris' Comstar also reports it even when only one port is present.
2014-10-06 13:20:18 +00:00
mav
36c0adf871 MFC r271507:
Implement control over command reordering via options and control mode page.

It allows to bypass range checks between UNMAP and READ/WRITE commands,
which may introduce additional delays while waiting for UNMAP parameters.
READ and WRITE commands are always processed in safe order since their
range checks are almost free.
2014-10-06 13:19:20 +00:00
mav
143513e376 MFC r271505:
Add "readcache" and "writecache" LUN options to control default behavior.

Default values are "on".  Disabling requires backend to support IO_DIRECT
and IO_SYNC flags respectively, or some alternatives.
2014-10-06 13:18:28 +00:00
tuexen
df8c240c19 MFC r272296:
When plen != ulen, it should only be checked when this is UDP.

The commit is from kevlo and he agreed that I MFC it as part of the
UDPLite fixes.
2014-10-06 13:16:37 +00:00
tuexen
0be9f8014d MFC r272263:
Checksum coverage values larger than 65535 for UDPLite are invalid.
Check for this when the user calls setsockopt using UDPLITE_{SEND,RECV}CSCOV.
2014-10-06 13:12:04 +00:00
mav
5951623a23 MFC r271503: Implement range checks between UNMAP and READ/WRITE commands.
Before this change UNMAP completely blocked other I/Os while running.
Now it blocks only colliding ones, slowing down others only due to ZFS
locks collisions.

Sponsored by:	iXsystems, Inc.
2014-10-06 12:54:06 +00:00
mav
e2b4e0c243 MFC r271443: Add support for Extended INQUIRY Data (0x86) VPD page. 2014-10-06 12:49:07 +00:00
mav
994e3ee5d0 MFC r271313: Oops, missed piece of r271311. 2014-10-06 12:48:10 +00:00
mav
dba3e8e2f0 MFC r271360: Remove uninitialized and unused variable, reported by Coverity. 2014-10-06 12:42:06 +00:00
mav
a21c949f78 MFC r271358: Fix array overrun, reported by Coverity. 2014-10-06 12:41:07 +00:00
mav
39e205854e MFC r271354: Fix couple off-by-one range check errors, reported by Coverity. 2014-10-06 12:40:15 +00:00
mav
401b622675 MFC r271353: Fix memory leak on error, reported by Coverity. 2014-10-06 12:39:25 +00:00
mav
c963137dee MFC r271352: Fix minor buffer overflow reported by Coverity. 2014-10-06 12:38:35 +00:00
mav
89c5125dfb MFC r271316: Report that DPO and FUA bits are supported after r271311. 2014-10-06 12:37:35 +00:00
mav
cf304edcc4 MFC r271311:
Add support for Mode Page Policy (0x87) VPD page.
2014-10-06 12:36:42 +00:00
mav
f60999f291 MFC r271309:
Improve cache control support, including DPO/FUA flags and the mode page.

At this moment it works only for files and ZVOLs in device mode since BIOs
have no respective respective cache control flags (DPO/FUA).
2014-10-06 12:35:41 +00:00
mav
e13f201bd6 MFC r271308:
Make ZVOL writes in device mode support IO_SYNC flag.
2014-10-06 12:31:51 +00:00
luigi
5aadc8e180 MFC r272111
fix a panic when passing ifioctl from a netmap file descriptor to
the underlying device. This needs to be merged to 10.1
2014-10-06 09:46:21 +00:00
bapt
2014ab0354 MFC: r272398
Make sure to not skip any argument when converting from deprecated
+POS1, -POS2 to -kPOS1,POS2, so that sort +0n gets translated to sort -k1,1n
as it is expected

PR:		193994
Submitted by:	rodrigo
MFC after:	3 days
2014-10-06 09:15:09 +00:00
hselasky
c2da2fb6f1 MFC r272480:
When we fail to get a USB reference we should just return, because
there are no more references held.
2014-10-06 06:05:43 +00:00
hselasky
f5788ce956 MFC r272410:
Add new USB ID.

PR:		194091
2014-10-06 06:03:25 +00:00
hselasky
ad142a0378 MFC r272349, r272422 and r272479:
- Fix XHCI driver for devices which have more than 15 physical root HUB
  ports. The current bitmap array was too small to hold more than 16
  bits and would at some point toggle the context size, which then would
  trigger an enumeration fault and cause a fallback to the EHCI
  companion controller, if any.
- Make sure we always set the maximum number of valid contexts.
- Set default cycle state in case of early interrupts.
2014-10-06 06:01:46 +00:00
bdrewery
d4285265d1 MFC r272579:
Bump .Dd missed in r271424
2014-10-06 00:27:08 +00:00
bdrewery
65df434e1f MFC r271424:
- Add $netif_ipexpand_max to specify the upper limit for the number of
    addresses generated by an address range specification.  The default value
    is 2048.  This can be increased by setting $netif_ipexpand_max in rc.conf.

PR:	186841
2014-10-05 23:32:58 +00:00
rodrigc
42bcc4fbac MFC r272305
Fix pkill unit test.
2014-10-05 02:52:54 +00:00
alc
2d2ce84b0c MFC r271351
Fix a boundary case error in vm_reserv_alloc_contig().
2014-10-04 22:52:21 +00:00
kib
a1a38225f0 MFC r272130:
In kern_linkat() and kern_renameat(), do not call namei(9) while
holding a write reference on the filesystem.  Try to get write
reference in unblocked way after all vnodes are resolved; if failed,
drop all locks and retry after waiting for suspension end.
2014-10-04 19:37:44 +00:00