]>
CyberLeo.Net >> Repos - FreeBSD/stable/10.git/log
gjb [Mon, 5 Oct 2015 20:14:55 +0000 (20:14 +0000)]
Document r287122, NTFS support in mkimg(1).
Sponsored by: The FreeBSD Foundation
git-svn-id: svn://svn.freebsd.org/base/stable/10@288889
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
jpaetzel [Mon, 5 Oct 2015 17:15:04 +0000 (17:15 +0000)]
MFC 288272
Increase group limit for kerberized NFSv4
PR: 202659
Submitted by: matthew.l.dailey@dartmouth.edu
Reviewed by: rmacklem dfr
Sponsored by: iXsystems
git-svn-id: svn://svn.freebsd.org/base/stable/10@288827
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 13:33:02 +0000 (13:33 +0000)]
MFC r288579: Restore original array_rd_sz semantics.
Before r278702 prefetch was blocked for I/Os > 1MB, after -- >= 1MB.
1MB I/Os are used for bulk operations in CTL (XCOPY, VERIFY), and disabling
prefetch for them reduced the performance.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288825
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:51:13 +0000 (11:51 +0000)]
MFC r288486, r288488: Set default block size for CD to expected 2048 bytes.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288823
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:49:56 +0000 (11:49 +0000)]
MFC r288458: More aggressively fill WUT read pipeline.
On some tests I've measured 5% copy speedup from this.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288822
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:49:02 +0000 (11:49 +0000)]
MFC r288450: Make zero WUT use WRITE SAME with recently allowed NDOB flag.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288821
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:48:14 +0000 (11:48 +0000)]
MFC r288449:
Implement SPC-3 exceptions to SPC-2 RESERVE and RELEASE behavior.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288820
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:47:16 +0000 (11:47 +0000)]
MFC r288448: Unify PR variable names to reduce confusion.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288819
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:46:23 +0000 (11:46 +0000)]
MFC r288427: Use proper STAILQ_* macros where possible.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288818
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:45:28 +0000 (11:45 +0000)]
MFC r288420: Make pass, sg and targ drivers respect HBA's maxio.
Previous limitation of 64K (DFLTPHYS) is quite annoying.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288817
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:42:44 +0000 (11:42 +0000)]
MFC r288369: Really implement PREVENT ALLOW MEDIUM REMOVAL command.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288816
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:41:52 +0000 (11:41 +0000)]
MFC r288368: Don't report SYNC_NV bit set in SYNCHRONIZE CACHE as error.
While this bit is obsolete in SBC-3, behavior controlled by it is allowed
on device discretion.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288815
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:41:05 +0000 (11:41 +0000)]
MFC r288367: Fix arguments order.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288814
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:39:43 +0000 (11:39 +0000)]
MFC r288359: Report that we can read all flavours of DVD. Why not?
git-svn-id: svn://svn.freebsd.org/base/stable/10@288813
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:38:51 +0000 (11:38 +0000)]
MFC r288358: Add CD/DVD Capabilities and Mechanical Status Page.
This page is obsolete since MMC-4, but still used by some software.
approved by:
git-svn-id: svn://svn.freebsd.org/base/stable/10@288812
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:31:24 +0000 (11:31 +0000)]
MFC r288348: Umplement media load/eject support for removable devices.
In case of block backend eject really closes the backing store, while
load tries to open it back. Failed store open is reported as no media.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288811
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:30:18 +0000 (11:30 +0000)]
MFC r288310: Add to CTL initial support for CDROMs and removable devices.
Relnotes: yes
git-svn-id: svn://svn.freebsd.org/base/stable/10@288810
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:29:23 +0000 (11:29 +0000)]
MFC r288264: Allow LOG SENSE command on non-disk devices.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288809
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:28:26 +0000 (11:28 +0000)]
MFC r288262: Remove concept of control device.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288808
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:27:35 +0000 (11:27 +0000)]
MFC r288261: Move ioctl frontend defines where they belong.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288807
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:26:46 +0000 (11:26 +0000)]
MFC r288260: Remove few more unused variables.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288806
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:25:48 +0000 (11:25 +0000)]
MFC r288259: Remove some duplicate, legacy, dead and questionable code.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288805
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:24:51 +0000 (11:24 +0000)]
MFC r288247: Pass to sobind() copy of the address, not the original.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288804
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:05:56 +0000 (11:05 +0000)]
MFC r288239: Properly lock LUN in ctl_failover_lun().
git-svn-id: svn://svn.freebsd.org/base/stable/10@288803
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:05:04 +0000 (11:05 +0000)]
MFC r288224: Constify ctl_serialize_table.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288802
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:04:13 +0000 (11:04 +0000)]
MFC r288229: Fix bit masks changed for the wrong commands in r288221.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288801
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:03:24 +0000 (11:03 +0000)]
MFC r288221: Remove some dead code found by Clang analyzer.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288800
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:02:17 +0000 (11:02 +0000)]
MFC r288220: Remove stale comments and some excessive empty lines.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288799
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:01:18 +0000 (11:01 +0000)]
MFC r288215: Switch I/O time accounting from system time to uptime.
While there, make num_dmas accounted independently of CTL_TIME_IO.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288798
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 11:00:25 +0000 (11:00 +0000)]
MFC r288214: Collect DMA statistics on secondary HA node.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288797
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:59:37 +0000 (10:59 +0000)]
MFC r288213:
Make HA handle datamove and done in a universal way, using port methods.
Now from primary node point of view requests transferred from secondary
node should look almost normal and always have valid port.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288796
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:58:41 +0000 (10:58 +0000)]
MFC r288211: Remove some control_softc references.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288795
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:57:50 +0000 (10:57 +0000)]
MFC r288175: Allow WRITE SAME with NDOB bit set but without UNMAP.
This combination was originally forbidden, but allowed at spc4r3.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288794
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:56:57 +0000 (10:56 +0000)]
MFC r288170: Add new report types to REPORT LUNS command.
This is only for completeness, since we have nothing new to report there.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288793
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:56:04 +0000 (10:56 +0000)]
MFC r288166: Update WRITE ATOMIC(16) support to sbc4r8 draft.
This is only a cosmetic change. We still don't support atomic boundary
field in the CDB, but at least now we do it formally.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288792
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:55:08 +0000 (10:55 +0000)]
MFC r288165: Add support for READ BUFFER(16) command.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288791
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:54:06 +0000 (10:54 +0000)]
MFC r288148: Synchronize mode pages between HA peers.
We allow to modify only few fields in mode pages now, but still it is
not good if they unexpectedly change during failover. Also this fixes
reporting of "Mode parameters changed" UAs on secondary node.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288790
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:53:13 +0000 (10:53 +0000)]
MFC r288146: Make HA peers announce their parameters on connect.
HA protocol requires strict version, parameters and configuration match.
Differences there may cause full set of problems up to kernel panic.
To avoid that, validate peer parameters on connect, and abort connection
immediately if some mismatch detected.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288789
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:52:22 +0000 (10:52 +0000)]
MFC r288110: Add support for Control extension mode page.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288788
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:51:24 +0000 (10:51 +0000)]
MFC r288104: Remove duplicate and incomplete code handling LUN modify.
Instead reuse code from LUN creation. This allows most of LUN media
options to be changed live with modify request without full restart.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288787
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:50:35 +0000 (10:50 +0000)]
MFC r288067: Log iSCSI session reinstatements.
False session reinstatements can be result of misconfiguration, when
several initiators use the same initiator name and ISID.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288786
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:49:47 +0000 (10:49 +0000)]
MFC r288061: Make cltd ignore HA ports.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288785
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:49:01 +0000 (10:49 +0000)]
MFC r288059: Bunch of improvements to ctlstat.
Add -p option to allow filtering by ports.
Make -l and -p options work in all modes as filters.
Improve output formatting to better fit columns.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288784
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:48:14 +0000 (10:48 +0000)]
MFC r288043:
Output times as normal microseconds, rather then in bintime format.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288783
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:47:18 +0000 (10:47 +0000)]
MFC r288021: Mark with DMA flag I/Os waiting for iSCSI write data after R2T.
Reads and immediate writes are not blocking, so don't bother.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288782
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:46:24 +0000 (10:46 +0000)]
MFC r288020: Remove couple excess SGLIST I/O flags.
Those flags duplicated respective (sg_entries > 0) values.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288781
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:45:33 +0000 (10:45 +0000)]
MFC r287994: Always execute REPORT LUNS and REQUEST SENSE commands locally.
REPORT LUNS command is more related to target rather then specific LUN.
This node may be primary for LUNs for some reason unknown to another,
and command forwarded to another node won't be able to report them.
REQUEST SENSE is related to LUN, but in our implementation it reports
only UAs and CAs, that are stored locally rather then on primary node.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288779
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:44:36 +0000 (10:44 +0000)]
MFC r287993: Split two command flags with different meaning.
This is only a cosmetical change.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288778
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:43:45 +0000 (10:43 +0000)]
MFC r287991: Pack struct ctl_ha_msg_hdr by 8 bytes.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288777
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:42:58 +0000 (10:42 +0000)]
MFC r287986: Fix memory corruption when >128K transferred through HA link.
While there, do some cleaning.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288776
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:42:07 +0000 (10:42 +0000)]
MFC r287968: Mark I/Os with DMA flag while moving data through the HA link.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288775
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:41:08 +0000 (10:41 +0000)]
MFC r287967: Relax serseq option operation for reads.
Previously, with serseq enabled, next command was unblocked only after
previous completed. With this change, for read operations, next command
is unblocked as soon as last media read completed. This is important
for frontends that actually wait for data move completion (like camtgt),
or when data are moved through the HA link, or especially when both.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288774
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:40:15 +0000 (10:40 +0000)]
MFC r287957: Kill HA link and shutdown the threads on shutdown.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288773
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:39:21 +0000 (10:39 +0000)]
MFC r287956: Update list of opcodes to 5/26/15.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288772
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:38:32 +0000 (10:38 +0000)]
MFC r287955: Update list of ASC/ASCQ codes from 5/20/12 to 8/12/15.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288771
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:37:20 +0000 (10:37 +0000)]
MFC r287940: Replicate initiators WWPNs and names between HA peers.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288770
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:36:28 +0000 (10:36 +0000)]
MFC r287933: Replicate port->init_devid to HA peer.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288769
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:35:36 +0000 (10:35 +0000)]
MFC r287921: When reporting TPT UA, report which of thresholds was reached.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288768
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 10:34:40 +0000 (10:34 +0000)]
MFC r287913: Report number of failed XCOPY segment.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288767
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:46:23 +0000 (09:46 +0000)]
MFC r279433 (by rstone): Implement asprintf in libkern
git-svn-id: svn://svn.freebsd.org/base/stable/10@288766
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:26:52 +0000 (09:26 +0000)]
MFC r287912: Report proper medium error code for VERIFY commands.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288765
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:26:00 +0000 (09:26 +0000)]
MFC r287875: Fix reading after end of file for file-backed LUNs.
If backing file is smaller then the LUN size, we have to explicitly clear
the rest of the buffer to not leak some random data from previous I/Os.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288764
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:25:04 +0000 (09:25 +0000)]
MFC r287868: Make COMPARE AND WRITE report offset of difference.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288763
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:24:08 +0000 (09:24 +0000)]
MFC r287860: Frontends don't need to set errors themselves.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288762
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:23:20 +0000 (09:23 +0000)]
MFC r287855: Don't flap the HA link if sysctl is reset to the same value.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288761
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:22:31 +0000 (09:22 +0000)]
MFC r287823: Add ctl-lun config option for consistency in HA setups.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288760
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:21:45 +0000 (09:21 +0000)]
MFC r287818: Fix completion/error status reporting.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288759
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:20:57 +0000 (09:20 +0000)]
MFC r287816: Close potential race between datamove and HA failover.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288758
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:20:09 +0000 (09:20 +0000)]
MFC r287784: Implement data/status aggregation for secondary HA node.
For short read requests this reduces latency by 30%, reporting command
completion after two interlink roundtrips instead of full three.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288757
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:19:14 +0000 (09:19 +0000)]
MFC r287783: Implement data/status aggregation for camsim backend.
This is almost pointless for primary HA node, but useful for secondary,
where between fe_datamove and fe_done calls goes another link roundtrip.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288756
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:18:22 +0000 (09:18 +0000)]
MFC r287778: Remove CTL_PRIV_LBA_LEN from HA messages.
Previously it was used for statistics, but now just a 16 extra bytes.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288755
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:16:55 +0000 (09:16 +0000)]
MFC r287774: Implement QUERY TASK, QUERY TASK SET and QUERY ASYNC EVENT.
Now we support most of SAM-5 task management.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288754
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:16:01 +0000 (09:16 +0000)]
MFC r287766: Add negotiation of iSCSIProtocolLevel to 2 (RFC7144).
We may need to pass negotiated value to kernel level, but so far it is
not necessary, since it does not use any new features without request.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288753
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:15:11 +0000 (09:15 +0000)]
MFC r287765: Map CLEAR TASK SET and I_T NEXUS RESET for iSCSI.
The last should not be called without iSCSIProtocolLevel negotiation.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288752
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:14:20 +0000 (09:14 +0000)]
MFC r287764: Implement iSCSI TARGET COLD RESET task management function.
Implement it as CTL_TASK_TARGET_RESET plus termination of all sessions.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288751
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:13:30 +0000 (09:13 +0000)]
MFC r287760: Improve read-only support.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288750
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:12:38 +0000 (09:12 +0000)]
MFC r287758: Reannounce port to HA peer if LUN map changed after online.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288749
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:11:46 +0000 (09:11 +0000)]
MFC r287757: When updating port, apply only change of LUN map, not whole.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288748
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:10:58 +0000 (09:10 +0000)]
MFC r287756:
Report INQUIRY DATA HAS CHANGED for related LUNs on port on-/offline.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288747
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:09:48 +0000 (09:09 +0000)]
MFC r287754: Report CTL_UA_LUN_CHANGE on LUN map change.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288746
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:08:58 +0000 (09:08 +0000)]
MFC r287748: Make TARGET RESET respect LUN mapping.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288745
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:08:06 +0000 (09:08 +0000)]
MFC r287724: Check for obsolete NUL bin in CSCD descriptor.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288744
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:07:15 +0000 (09:07 +0000)]
MFC r287721: Add HA support for CTL_TASK_I_T_NEXUS_RESET.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288743
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:06:18 +0000 (09:06 +0000)]
MFC r287720: Fix false CTL_UA_RES_RELEASE on secondary HA node.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288742
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:05:23 +0000 (09:05 +0000)]
MFC r287718: Decode WRITE ATOMIC(16) command.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288741
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:04:36 +0000 (09:04 +0000)]
MFC r287715: Improve XCOPY error reporting.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288740
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:03:50 +0000 (09:03 +0000)]
MFC r287714: Report that we have no limit on POPULATE TOKEN segment size.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288739
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:03:00 +0000 (09:03 +0000)]
MFC r287712: Correct RTPG bitmask.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288738
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:02:13 +0000 (09:02 +0000)]
MFC r287711: Some HA polishing.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288737
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:01:19 +0000 (09:01 +0000)]
MFC r287707: CTL documentation update, mostly for HA.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288736
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 09:00:09 +0000 (09:00 +0000)]
MFC r287671:
Make ctld restart on primary HA node less invasive for secondary.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288735
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 08:59:18 +0000 (08:59 +0000)]
MFC r287670: Close races between device close and request processing.
All requests arriving for processing after OFFLINE flag set are rejected
with BUSY status. Races around OFFLINE flag setting are closed by calling
taskqueue_drain_all().
git-svn-id: svn://svn.freebsd.org/base/stable/10@288734
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 08:58:25 +0000 (08:58 +0000)]
MFC r287664: Reference/release devices on every I/O, rather on open/close.
While this may be slower, it allows device destruction to complete,
rather then block waiting for indefinitely long time.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288733
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 08:57:16 +0000 (08:57 +0000)]
MFC r287621: Reimplement CTL High Availability.
CTL HA functionality was originally implemented by Copan many years ago,
but large part of the sources was never published. This change includes
clean room implementation of the missing code and fixes for many bugs.
This code supports dual-node HA with ALUA in four modes:
- Active/Unavailable without interlink between nodes;
- Active/Standby with second node handling only basic LUN discovery and
reservation, synchronizing with the first node through the interlink;
- Active/Active with both nodes processing commands and accessing the
backing storage, synchronizing with the first node through the interlink;
- Active/Active with second node working as proxy, transfering all
commands to the first node for execution through the interlink.
Unlike original Copan's implementation, depending on specific hardware,
this code uses simple custom TCP-based protocol for interlink. It has
no authentication, so it should never be enabled on public interfaces.
The code may still need some polishing, but generally it is functional.
Relnotes: yes
Sponsored by: iXsystems, Inc.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288732
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 08:55:59 +0000 (08:55 +0000)]
MFC r287620: Remove unused target and initiator IDs.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288731
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 08:55:00 +0000 (08:55 +0000)]
MFC r287618: Disable CTL_IO_DELAY feature.
It is too developer-oriented to be enabled by default.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288730
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 08:54:02 +0000 (08:54 +0000)]
MFC r287534: Add two new portal group options "tag" and "foreign".
They are going to be useful in clustered setups.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288729
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 08:52:37 +0000 (08:52 +0000)]
MFC r287500: Allow LUN options modification via CTL_LUNREQ_MODIFY.
Not all changes take effect, but that is a different question.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288728
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 08:51:20 +0000 (08:51 +0000)]
MFC r287499: Move setting of media parameters inside open routines.
This is preparation for possibility to open/close media several times
per LUN life cycle. While there, rename variables to reduce confusion.
As additional bonus this allows to open read-only media, such as ZFS
snapshots.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288727
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
mav [Mon, 5 Oct 2015 08:50:15 +0000 (08:50 +0000)]
MFC r287455, r287458, r287459: Remove some dead code.
git-svn-id: svn://svn.freebsd.org/base/stable/10@288726
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f