mav
7da4fecded
Don't try to replicate mode pages not present on this device.
...
MFC after: 3 days
2015-10-26 14:14:56 +00:00
mav
f82829966f
Give CTL support for PIM_EXTLUNS when talking to CAM.
...
CTL itself still lives in flat LUN space, but it can generate extended
numbers if CAM SIM reports such capability.
2015-10-24 17:24:19 +00:00
mav
9545bdb164
Add partial support for QUERY TMF to CAM and isp(4).
...
This change allows to decode respective functions in isp(4) in target mode
and pass them through CAM to CTL. Unfortunately neither CAM nor isp(4)
support returning response info for those task management functions now.
On the other side I just have no initiator to test this functionality.
2015-10-23 18:34:18 +00:00
mav
52c58ca4ec
Fix LUN disable in CAM broken at r285155.
...
MFC after: 1 week
2015-10-23 10:39:43 +00:00
mav
1a70c15562
Make some panic strings mode informative.
2015-10-21 15:31:26 +00:00
mav
1fd9c17d05
Remove lock upgrade attempt from ctl_be_block_open_file().
...
I am not sure what for it was done. Now open routine should automatically
fall back to read-only if open for writing is impossible. In such case
attempt to upgrade to write sounds strange.
MFC after: 1 week
2015-10-11 08:28:49 +00:00
mav
ba153888c0
Add missing vnode lock in case of file modify request.
...
Submitted by: Richard Kojedzinszky
MFC after: 1 week
2015-10-08 07:34:30 +00:00
mav
ebebc98996
More aggressively fill WUT read pipeline.
...
On some tests I've measured 5% copy speedup from this.
2015-10-01 19:07:15 +00:00
mav
547cc1d0b5
Make zero WUT use WRITE SAME with recently allowed NDOB flag.
2015-10-01 16:30:20 +00:00
mav
8111cd0fbf
Implement SPC-3 exceptions to SPC-2 RESERVE and RELEASE behavior.
2015-10-01 12:57:37 +00:00
mav
14e7a5f18f
Unify PR variable names to reduce confusion.
2015-10-01 12:15:36 +00:00
mav
71ccc7181f
Use proper STAILQ_* macros where possible.
2015-09-30 20:38:35 +00:00
mav
e0c0584312
Really implement PREVENT ALLOW MEDIUM REMOVAL command.
2015-09-29 15:12:40 +00:00
mav
40c97f8765
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-09-29 13:58:27 +00:00
mav
85c07e2f66
Fix arguments order.
2015-09-29 12:53:41 +00:00
mav
9aafc68811
Report that we can read all flavours of DVD. Why not?
2015-09-29 10:44:37 +00:00
mav
a9dd74ee84
Add CD/DVD Capabilities and Mechanical Status Page.
...
This page is obsolete since MMC-4, but still used by some software.
2015-09-29 09:09:37 +00:00
mav
fb08575948
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-09-28 20:54:18 +00:00
mav
ba6084f689
Add to CTL initial support for CDROMs and removable devices.
...
Relnotes: yes
2015-09-27 13:47:28 +00:00
mav
9a25467988
Allow LOG SENSE command on non-disk devices.
2015-09-26 13:51:29 +00:00
mav
7903c2e5c3
Remove concept of control device.
2015-09-26 12:53:55 +00:00
mav
9bb4838c10
Move ioctl frontend defines where they belong.
2015-09-26 11:56:28 +00:00
mav
4fe0be11b5
Remove few more unused variables.
2015-09-26 11:39:54 +00:00
mav
70f018005e
Remove some duplicate, legacy, dead and questionable code.
2015-09-26 11:28:45 +00:00
mav
da3031ba34
Pass to sobind() copy of the address, not the original.
2015-09-26 01:23:29 +00:00
mav
68c4bb4bd1
Properly lock LUN in ctl_failover_lun().
2015-09-25 22:45:23 +00:00
mav
666e15d04a
Fix bit masks changed for the wrong commands in r288221.
2015-09-25 19:46:34 +00:00
mav
c46f2e1439
Constify ctl_serialize_table.
2015-09-25 18:49:25 +00:00
mav
048c6e7723
Remove some dead code found by Clang analyzer.
2015-09-25 18:15:34 +00:00
mav
4d45b292aa
Remove stale comments and some excessive empty lines.
2015-09-25 16:34:59 +00:00
mav
dc7c5180b5
Switch I/O time accounting from system time to uptime.
...
While there, make num_dmas accounted independently of CTL_TIME_IO.
2015-09-25 10:14:39 +00:00
mav
87240643a5
Collect DMA statistics on secondary HA node.
2015-09-25 09:55:51 +00:00
mav
e36a0596e3
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-09-25 09:14:29 +00:00
mav
ba2d211568
Remove some control_softc references.
2015-09-25 07:27:23 +00:00
mav
f83f810204
Allow WRITE SAME with NDOB bit set but without UNMAP.
...
This combination was originally forbidden, but allowed at spc4r3.
2015-09-24 15:59:08 +00:00
mav
661d29ba49
Add new report types to REPORT LUNS command.
...
This is only for completeness, since we have nothing new to report there.
2015-09-24 12:22:47 +00:00
mav
9e5012814b
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-09-24 08:04:47 +00:00
mav
09cbc1126e
Add support for READ BUFFER(16) command.
2015-09-24 07:16:34 +00:00
mav
4c00714c1f
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-09-23 18:33:00 +00:00
mav
6711ffe0ce
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-09-23 15:49:27 +00:00
mav
35d91751bd
Add support for Control extension mode page.
2015-09-22 14:55:46 +00:00
mav
04e2dfaaea
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-09-22 10:45:50 +00:00
mav
6fb47d3576
Log iSCSI session reinstatements.
...
False session reinstatements can be result of misconfiguration, when
several initiators use the same initiator name and ISID.
2015-09-21 13:25:29 +00:00
mav
089bfb2bd5
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-09-20 11:39:19 +00:00
mav
6e8a812631
Remove couple excess SGLIST I/O flags.
...
Those flags duplicated respective (sg_entries > 0) values.
2015-09-20 10:40:30 +00:00
mav
ce8faf1ce9
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-09-19 19:30:55 +00:00
mav
5c7a1c36c1
Split two command flags with different meaning.
...
This is only a cosmetical change.
2015-09-19 19:11:59 +00:00
mav
9435d43b5b
Pack struct ctl_ha_msg_hdr by 8 bytes.
2015-09-19 18:23:06 +00:00
mav
b5750fe77b
Fix memory corruption when >128K transferred through HA link.
...
While there, do some cleaning.
2015-09-19 13:12:09 +00:00
mav
02db1cf02c
Mark I/Os with DMA flag while moving data through the HA link.
2015-09-18 20:11:10 +00:00