200314 Commits

Author SHA1 Message Date
mav
5ee28f32f3 MFC r288420: Make pass, sg and targ drivers respect HBA's maxio.
Previous limitation of 64K (DFLTPHYS) is quite annoying.
2015-10-05 11:45:28 +00:00
mav
9bfaae3f56 MFC r288369: Really implement PREVENT ALLOW MEDIUM REMOVAL command. 2015-10-05 11:42:44 +00:00
mav
125fd313ca 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.
2015-10-05 11:41:52 +00:00
mav
cd2919d633 MFC r288367: Fix arguments order. 2015-10-05 11:41:05 +00:00
mav
0235a361b5 MFC r288359: Report that we can read all flavours of DVD. Why not? 2015-10-05 11:39:43 +00:00
mav
25a7517159 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:
2015-10-05 11:38:51 +00:00
mav
85b5a86dbd 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.
2015-10-05 11:31:24 +00:00
mav
3e85febb12 MFC r288310: Add to CTL initial support for CDROMs and removable devices.
Relnotes:       yes
2015-10-05 11:30:18 +00:00
mav
c019c69782 MFC r288264: Allow LOG SENSE command on non-disk devices. 2015-10-05 11:29:23 +00:00
mav
8ce1fb15db MFC r288262: Remove concept of control device. 2015-10-05 11:28:26 +00:00
mav
fd7d50642f MFC r288261: Move ioctl frontend defines where they belong. 2015-10-05 11:27:35 +00:00
mav
4a52f62800 MFC r288260: Remove few more unused variables. 2015-10-05 11:26:46 +00:00
mav
4d9db975e6 MFC r288259: Remove some duplicate, legacy, dead and questionable code. 2015-10-05 11:25:48 +00:00
mav
f0e87e63ba MFC r288247: Pass to sobind() copy of the address, not the original. 2015-10-05 11:24:51 +00:00
mav
b37b5b0e0e MFC r288239: Properly lock LUN in ctl_failover_lun(). 2015-10-05 11:05:56 +00:00
mav
b4e393c34e MFC r288224: Constify ctl_serialize_table. 2015-10-05 11:05:04 +00:00
mav
b3443415be MFC r288229: Fix bit masks changed for the wrong commands in r288221. 2015-10-05 11:04:13 +00:00
mav
46689cc315 MFC r288221: Remove some dead code found by Clang analyzer. 2015-10-05 11:03:24 +00:00
mav
c5a6a52cc6 MFC r288220: Remove stale comments and some excessive empty lines. 2015-10-05 11:02:17 +00:00
mav
06a6d5a7e3 MFC r288215: Switch I/O time accounting from system time to uptime.
While there, make num_dmas accounted independently of CTL_TIME_IO.
2015-10-05 11:01:18 +00:00
mav
c6145a3941 MFC r288214: Collect DMA statistics on secondary HA node. 2015-10-05 11:00:25 +00:00
mav
7142bdaab7 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.
2015-10-05 10:59:37 +00:00
mav
7f0834440e MFC r288211: Remove some control_softc references. 2015-10-05 10:58:41 +00:00
mav
44b21c856f MFC r288175: Allow WRITE SAME with NDOB bit set but without UNMAP.
This combination was originally forbidden, but allowed at spc4r3.
2015-10-05 10:57:50 +00:00
mav
a7d49f5cb9 MFC r288170: Add new report types to REPORT LUNS command.
This is only for completeness, since we have nothing new to report there.
2015-10-05 10:56:57 +00:00
mav
aa30e0e8ef 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.
2015-10-05 10:56:04 +00:00
mav
06e368a3c3 MFC r288165: Add support for READ BUFFER(16) command. 2015-10-05 10:55:08 +00:00
mav
8aeebc5737 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.
2015-10-05 10:54:06 +00:00
mav
0cb5093951 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.
2015-10-05 10:53:13 +00:00
mav
7d1cbe473c MFC r288110: Add support for Control extension mode page. 2015-10-05 10:52:22 +00:00
mav
2d1f539f44 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.
2015-10-05 10:51:24 +00:00
mav
dbea20fc6b MFC r288067: Log iSCSI session reinstatements.
False session reinstatements can be result of misconfiguration, when
several initiators use the same initiator name and ISID.
2015-10-05 10:50:35 +00:00
mav
cb104e59be MFC r288061: Make cltd ignore HA ports. 2015-10-05 10:49:47 +00:00
mav
4a2038e9a9 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.
2015-10-05 10:49:01 +00:00
mav
4add53bf36 MFC r288043:
Output times as normal microseconds, rather then in bintime format.
2015-10-05 10:48:14 +00:00
mav
12a42fc40c 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.
2015-10-05 10:47:18 +00:00
mav
69c008272b MFC r288020: Remove couple excess SGLIST I/O flags.
Those flags duplicated respective (sg_entries > 0) values.
2015-10-05 10:46:24 +00:00
mav
2e8698ae40 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.
2015-10-05 10:45:33 +00:00
mav
61035b65c0 MFC r287993: Split two command flags with different meaning.
This is only a cosmetical change.
2015-10-05 10:44:36 +00:00
mav
d26501783f MFC r287991: Pack struct ctl_ha_msg_hdr by 8 bytes. 2015-10-05 10:43:45 +00:00
mav
3765f5189d MFC r287986: Fix memory corruption when >128K transferred through HA link.
While there, do some cleaning.
2015-10-05 10:42:58 +00:00
mav
d3ccd879b5 MFC r287968: Mark I/Os with DMA flag while moving data through the HA link. 2015-10-05 10:42:07 +00:00
mav
e6730078eb 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.
2015-10-05 10:41:08 +00:00
mav
cfbb7640a7 MFC r287957: Kill HA link and shutdown the threads on shutdown. 2015-10-05 10:40:15 +00:00
mav
22dafed9f7 MFC r287956: Update list of opcodes to 5/26/15. 2015-10-05 10:39:21 +00:00
mav
09af7026ef MFC r287955: Update list of ASC/ASCQ codes from 5/20/12 to 8/12/15. 2015-10-05 10:38:32 +00:00
mav
b89b02cbef MFC r287940: Replicate initiators WWPNs and names between HA peers. 2015-10-05 10:37:20 +00:00
mav
2da4219a54 MFC r287933: Replicate port->init_devid to HA peer. 2015-10-05 10:36:28 +00:00
mav
142a2e48fe MFC r287921: When reporting TPT UA, report which of thresholds was reached. 2015-10-05 10:35:36 +00:00
mav
583b7bc393 MFC r287913: Report number of failed XCOPY segment. 2015-10-05 10:34:40 +00:00