Commit Graph

100954 Commits

Author SHA1 Message Date
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
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
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
kib
24883994ff MFC r271747:
- Use NULL instead of 0 for fpcurthread.
 - Note the quirk with the interrupt enabled state of the dna handler.
 - Use just panic() instead of printf() and panic().  Print tid instead
   of pid, the fpu state is per-thread.

MFC r271924:
Update and clarify comments.  Remove the useless counter for impossible, but
seen in wild situation (on buggy hypervisors).
2014-10-04 19:33:58 +00:00
pfg
5c298394b4 MFC r271467, r271468:
ext2fs: add ext2_getpages().

Literally copy/pasted from ffs_getpages().

Tested with:	fsx
2014-10-04 17:46:04 +00:00
gjb
86fcfc85d1 Bump __FreeBSD_version after releng/10.1 branch.
Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2014-10-03 00:58:42 +00:00
gjb
f2bccf111a Update stable/10 to -RC1 in preparation of branching releng/10.1
Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2014-10-03 00:13:10 +00:00
delphij
4fa55a08b7 MFC r271528: MFV r271512:
Illumos issue:
    5136 fix write throttle comment in dsl_pool.c

Approved by:	re (gjb)
2014-10-02 22:52:05 +00:00
sbruno
3e8c118a14 MFC r271141: Allow multiple image activators to run on the same
execution by changing imgp->interpreted to a bitmask instead of,
functionally, a bool.

Approved by:	re (gjb)
2014-10-02 21:19:13 +00:00
delphij
0bbb133a51 MFC r272389:
Diff reduction with kernel code: instruct the compiler that the data of
these types may be unaligned to their "normal" alignment and exercise
caution when accessing them.

PR:		194071
Approved by:	re (gjb)
2014-10-02 17:41:27 +00:00
hselasky
f0d6c23c18 MFC r272254:
Instead of creating the full range of possible ports, try to figure
out the actual number of so-called "embedded jacks" which are present
when a USB MIDI device is attaching.

Approved by: re, gjb
2014-10-02 16:57:44 +00:00
hselasky
45c3d8eadf MFC r272027:
Hardware driver update from Mellanox Technologies, including:
 - improved performance
 - better stability
 - new features
 - bugfixes

Supported HCAs:
 - ConnectX-2
 - ConnectX-3
 - ConnectX-3 Pro

NOTE:
  - TSO feature needs r271946, which is not yet merged.

Sponsored by:	Mellanox Technologies
Approved by:	re, glebius
2014-10-02 10:46:12 +00:00
grehan
d19a0d5cec MFC r272193
Allow the PIC's IMR register to be read before ICW initialisation.

  As of git submit e179f6914152eca9, the Linux kernel does a simple
  probe of the PIC by writing a pattern to the IMR and then reading it
  back, prior to the init sequence of ICW words.

  The bhyve PIC emulation wasn't allowing the IMR to be read until
  the ICW sequence was complete. This limitation isn't required so
  relax the test.

  With this change, Linux kernels 3.15-rc2 and later won't hang
  on boot when calibrating the local APIC.

Approved by: re (gjb)
2014-10-01 23:15:23 +00:00
delphij
4204ff4f38 MFC r271526: MFV r271510:
Enforce 4K as smallest indirect block size (previously the smallest
indirect block size was 1K but that was never used).

This makes some space estimates more accurate and uses less memory
for some data structures.

Illumos issue:
    5141 zfs minimum indirect block size is 4K

Approved by:	re (gjb)
2014-09-30 21:03:17 +00:00
delphij
ee5d204051 MFC r271493,271688-271689,271696,271854,272139-272143:
Import HyperV Key-Value Pair (KVP) driver and daemon code by Microsoft,
many thanks for their continued support of FreeBSD.

While I'm there, also implement a new build knob, WITHOUT_HYPERV to
disable building and installing of the HyperV utilities when necessary.

The HyperV utilities are only built for i386 and amd64 targets.

Approved by:	re (gjb)
2014-09-30 17:54:57 +00:00
bz
d2b170eedd MFC 271745,271834,271899,271900,271913,272022,272023:
Revert changes to shared code of the ixl and ixlv drivers to allow
  for easier long-term maintainability.

  Restrict the drivers to building on amd64 for now as it is
  only tested on that 64bit architecture.

  Just depend on PCI and neither INET nor INET6; also make sure we
  can build individual drivers and they do not depend on each other
  anymore.

  Reviewed by:	gnn, eric.joyner intel.com
PR:		193824
Approved by:	re (gjb)
2014-09-30 16:55:19 +00:00