Parameters
The parameters are:
- MIH,class=mm:ss
- Specifies the time interval for class in the form
mm:ss, where mm is minutes and ss is seconds. The value range for mm is 00 - 99, and for ss is 00 - 59. When you set a class to 00:00, MIH or IOT no longer monitors the class.You can specify the time interval for one or more of the following device class values for class:
- CHAR
- The character reader device class.
- COMM
- The communications device class.
- CTC
- The channel-to-channel device class.
- DASD
- The DASD device class. This device class name represents the MIH.
- GRAF
- The graphics device class.
- TAPE
- The tape drive device class.
- UREC
- The unit record device class.
- USnn
- A user-specified device class, where nn can be any two-digit number from 01 through 99 that
matches a device group created by MIH or I/O timing processing. A user-specified device group is a
set of devices associated with a specific time interval. The system creates this type of group and
assigns the user class number (USnn) when either of the following is true:
- The MIH time interval is not equal to the time interval of its device class.
Note that some devices present their own MIH timeout values, using the primary/secondary MIH timing enhancement contained in the self-describing data for the device. If the primary MIH timeout value for the device does not equal the timeout value for the device class and the device's timeout value has not been altered by the user, the system creates a user-specified class to contain the timeout value for the device. The user-specified class for these devices are created at IPL (if the device is defined to be ONLINE) or at VARY ONLINE time.
- The IOT time interval is not equal to the time interval of its device class.
- The MIH time interval is not equal to the time interval of its device class.
Other time intervals that you can specify for class are:
- HALT
- Specifies the time interval for halt (HSCH) and clear (CSCH) subchannel operations. Setting this device-independent keyword affects all devices on the system.
- IOTDASD
- Specifies the I/O timing (IOT) time interval for the DASD device class. The maximum I/O timing
limit is 5,999 seconds. Note: Paging devices are not supported for I/O timing.
- IOTTAPE
- Specifies the I/O timing (IOT) time interval for the TAPE device class. The maximum I/O timing
limit is 5,999 seconds. Consult the vendor of your tape device for recommendations when using this
keyword. Note: I/O timing for TAPE requires the use of the MSGONLY=YES parameter because full I/O timing support is not available.
- MNTS
- Specifies the time interval for monitoring
mount pending
conditions for DASD and TAPE drives. - STND
- Specifies the MIH time interval for all of the following device classes: CHAR, COMM, CTC, GRAF,
TAPE, and UREC.
If you code STND following any of those class names, the value for STND overrides the values for those device classes. Similarly, if you code any of those class names following STND, the values for those device classes override the value for STND.
Note: During IOS recovery processing, the system overrides your time interval specification and may issue MIH messages and MIH logrec error records at this IOS-determined interval. - MIH,MOUNTMSG={YES or NO}
- Indicates whether the system is to display the mount pending messages. Specify YES to have the
message displayed; specify NO to suppress the message display.
Default: NO
- MIH,DEV=([/]devnum[,[/]devnum]...[,[/]lowdevnum-[/]highdevnum]...)
- The specific device identified by a device number, devnum, or all devices in the range of lowdevnum-highdevnum. A device number is 3 or 4 hexadecimal digits, optionally preceded by a slash (/).
- MIH,TIME=mm:ss
- Specifies the time interval in the form mm:ss, where mm is
minutes and ss is seconds. The value range for mm is 00-99 and
for ss is 00-59.
When you set TIME to 00:00, MIH no longer monitors the device.
If you specify TIME, you must also specify DEV. The system accepts only one pair of TIME and DEV keywords per command line.
- MIH,IOTIMING=mm:ss
- Specifies the I/O timing limit in the form mm:ss, where mm is minutes and ss is seconds. The
value range for mm is 00-99, and for ss is 00-59. The maximum I/O timing limit is 5,999 seconds.
When IOTIMING is set to 00:00, I/O timing is not in effect for that device or range of devices.
Note: Do not modify the I/O timing limits without first checking with your system programmer.
If you specify IOTIMING, you must also specify DEV. The system accepts only one pair of IOTIMING and DEV keywords per command line.
Note: If the identified device is a TAPE device, MSGONLY=YES is also required because full I/O timing support is not available. Consult the vendor of your tape device for recommended settings when using IOTIMING with TAPE devices. - MIH,MSGONLY={YES or NO}
- Specifies whether an I/O timeout condition is processed using message-only recovery
(MSGONLY=YES) or full I/O timing recovery (MSGONLY=NO).
Message-only processing allows the system to detect I/O timeout conditions while providing the user the ability to decide which I/O requests the system should terminate.
When an I/O request exceeds the I/O timing interval, the system issues a message to the operator and writes a record to SYS1.LOGREC. Then,- When MSGONLY=YES is specified, the I/O request is left in the system.
- When MSGONLY=NO is specified, the system abnormally terminates the I/O request.
The default, when you do not specify MSGONLY, is MSGONLY=NO. The system applies this only to devices it modifies as a result of this command.
If a command contains more than one MSGONLY keyword, the system uses only the last valid MSGONLY keyword.
The MSGONLY keyword is valid only when you specify the IOTDASD keyword or the DEV and IOTIMING keywords. Otherwise, the system ignores MSGONLY. That is, the MSGONLY keyword value relates only to devices affected by the IOTDASD or the DEV and IOTIMING keywords.
- MIH,IOTHSWAP={YES or NO}[,IOTTERM={YES or NO}]
- Specifies how an I/O timeout condition is handled regarding HyperSwap® processing.
IOTHSWAP indicates whether an I/O timing timeout condition is allowed to trigger a HyperSwap. IOTTERM indicates whether a timed-out I/O operation should be terminated with permanent error when a HyperSwap has been triggered for the I/O timing timeout condition.
The IOTTERM keyword is valid only when you specify the IOTHSWAP keyword on the same command.
Note: An I/O timeout does not trigger a GDPS® HyperSwap when message-only recovery is specified for the device or as the result of a timeout condition specified by an I/O driver program. - DCM={ON or OFF or REFRESH}
- Specifies that dynamic channel path management is turned on or off. If REFRESH, then a control unit model table update is initiated.
- MIDAW={YES or NO}
- Specifies whether the modified indirect addressing word (MIDAW) facility is enabled or disabled on a system. When disabling with MIDAW=NO, the MIDAW facility remains in effect for one minute to allow queued I/O using MIDAWs to finish.
- FICON®,STATS={YES or NO}
- Specifies whether FICON switch statistics are to be gathered on a system. When specifying FICON,STATS=NO, turn off FICON Director Activity Reporting in Resource Measurement Facility (RMF) to avoid the possibility of inconsistent report data.
- FICON,FABRICPRTY={YES or NO}
- Specifies whether FICON fabric I/O priority should be used within the system.
- CAPTUCB,PROTECT={YES or NO}
- Specifies whether to enable write protection on captured UCBs.
- STORAGE,IOSBLKS={24 or 31}
- Use this command to enable 24 or 31-bit storage for IOS blocks.Note: To use this command, set the IOS Address Space (IOSAS) as a TRUSTED address space.
- HYPERPAV={NO or BASEONLY or YES or XPAV}
- Specifies the use of HyperPAV mode. Use of this keyword changes the mode of operation of
HyperPAV-capable DASD control units to the requested mode.
- HYPERPAV=NO
- Specifies that HyperPAV mode is not to be used.
- HYPERPAV=BASEONLY
- Specifies that I/O is to be run only on non-PAV-alias devices in HyperPAV mode.
- HYPERPAV=YES
- Specifies that HyperPAV mode is to be used.
- HYPERPAV=XPAV
- Specifies that HyperPAV mode is to be used, and wherever possible, allow aliases to be used for
peer control units in the defining alias management group (AMG). This HyperPAV mode is also known as
SuperPAV mode.
Control units on a storage controller with the exact same paths, in order, and those that share the alias management group number, as defined by the storage controller, are eligible to share alias devices when the system is operating in SuperPAV mode.
If the HYPERPAV keyword is not specified, the current HYPERPAV setting is not altered.
Note:- Using SETIOS HYPERPAV to change the mode of operation of all DASD control units on the system can take considerable time, depending on how many control units are configured on the system. This operation, if required, should be done during periods of lower system utilization, and should be done without concurrent IODF or microcode changes affecting the control unit.
- If all devices in a logical control unit (LCU) are offline at IPL, SETIOS HYPERPAV mode changes will only take effect after a device on that LCU is varied online.
- If a dynamic ACTIVATE and a SETIOS affect the devices on the same control unit, the aliases might not be converted to the correct mode. To detect this condition, use the D M=DEV command and examine the output. To correct the problem, issue VARY bbbb ONLINE,UNCOND where bbbb is a base device on the affected control unit. For more information about the error condition and how to correct it, see Placing an I/O device or a range of I/O devices online or offline.
- SETIOS HYPERPAV is not supported when running MVS™ as a VM guest.
- EKM,PRIMARY=
- Specifies the host name or IP address and port number of the primary key manager. The primary
host is used exclusively until a failure is encountered and all attempts to retry are unsuccessful.
In subsequent requests after a failure, the primary will be retried before the use of the secondary
is attempted. When a connection to the primary is reestablished normal operation
continues.Note: In-band tape encryption requires that the IOS address space has security permission for a z/OS UNIX System Services segment. The z/OS UNIX System Services segment is only for TCP/IP connectivity. UID(0) or super user ability is not required. For example, for RACF® environments, issue:
where xxxx is a unique user ID.ADDUSER IOSAS OMVS(UID(xxxx) HOME('/'))- host_name[:port or ,PRIPORT=port]
- The host name of the encryption key manager.
- port
- The port number of the encryption key manager. If you include a port number, use a colon to separate it from the host name or IP address. Its specification is mutually exclusive with the PRIPORT= keyword. If port and PRIPORT= keyword are both not specified, a value of 3801 is the default port number.
- PRIPORT=port
- Specifies the port number for the host name or IP address for the primary key manager. PRIMARY=
must be specified for PRIPORT= to be valid.
Default: 3801 (if not specified on the PRIMARY keyword)
- ipv4_address[:port or ,PRIPORT=port]
- The IP address of the encryption key manager. IP addresses must be specified as a dotted decimal
quad
ddd.ddd.ddd.ddd.- port
- The port number of the encryption key manager. If you include a port number, use a colon to separate it from the host name or IP address. Its specification is mutually exclusive with the PRIPORT= keyword. If port and PRIPORT= keyword are both not specified, a value of 3801 is the default port number.
- PRIPORT=port
- Specifies the port number for the host name or IP address for the primary key manager. PRIMARY=
must be specified for PRIPORT= to be valid.
Default: 3801 (if not specified on the PRIMARY keyword)
- ipv6_address[,PRIPORT=port]
- The IP address of the encryption key manager in IPv6 format (for example,
::FFFF:127.0.0.1). The optional port number for an IPv6 address must be specified with the PRIPORT= keyword.- PRIPORT=port
- Specifies the port number for the host name or IP address for the primary key manager. PRIMARY=
must be specified for PRIPORT= to be valid.
Default: 3801 (if not specified on the PRIMARY keyword)
- NONE
- No encryption key manager is specified. NONE is the default option.
- EKM,SECONDARY=
- Specifies the host name or IP address and port number of the secondary key manager.
Note: In-band tape encryption requires that the IOS address space has security permission for a z/OS UNIX System Services segment. See EKM,PRIMARY= parameter description for more information.
- host_name[:port or ,SECPORT=port]
- The host name of the encryption key manager.
- port
- The port number of the encryption key manager. If you include a port number, use a colon to separate it from the host name or IP address. Its specification is mutually exclusive with the SECPORT= keyword. If port and SECPORT= keyword are both not specified, a value of 3801 is the default port number.
- SECPORT=port
- Specifies the port number for the host name or IP address for the secondary key manager.
SECONDARY= must be specified for SECPORT= to be valid.
Default: 3801 (if not specified on the SECONDARY keyword)
- ipv4_address[:port or ,SECPORT=port]
- The IP address of the encryption key manager. IP addresses must be specified as a dotted decimal
quad
ddd.ddd.ddd.ddd.- port
- The port number of the encryption key manager. If you include a port number, use a colon to separate it from the host name or IP address. Its specification is mutually exclusive with the SECPORT= keyword. If port and SECPORT= keyword are both not specified, a value of 3801 is the default port number.
- SECPORT=port
- Specifies the port number for the host name or IP address for the secondary key manager.
SECONDARY= must be specified for SECPORT= to be valid.
Default: 3801 (if not specified on the SECONDARY keyword)
- ipv6_address[,SECPORT=port]
- The IP address of the encryption key manager in IPv6 format (for example,
::FFFF:127.0.0.1). The optional port number for an IPv6 address must be specified with the SECPORT= parameter.- SECPORT=port
- Specifies the port number for the host name or IP address for the secondary key manager.
SECONDARY= must be specified for SECPORT= to be valid.
Default: 3801 (if not specified on the SECONDARY keyword)
- NONE
- No encryption key manager is specified. NONE is the default option.
- EKM,MAXCONN=dd1
- Specifies the maximum number of concurrent socket connections for encryption key management. If
in the situation of high network stress due to high socket utilization for encryption key
management, this number can be lowered.
Value range: 1-255
Default: 255
- EKM,MAXPCONN=dd2
- Specifies the maximum number of permanent concurrent socket connections for encryption key
management. The permanent connections remain open to prevent the overhead of opening and closing
socket communication.
Value range: 0- the number specified in MAXCONN
Default: 8
- RECOVERY,LIMITED_RECTIME=ss
- Specifies the time in seconds to be used for certain IOS recovery functions. Specify 0 second to
disable the recovery function. If the recovery function is disabled, IOS continues to use its
predefined value to monitor the IOS recovery I/O completion. The recovery function is disabled by
default.
Value range: 2-14 (seconds)
- RECOVERY,DEV={DASD or IOTIMING}
- Specifies the devices that use the recovery function. Valid options are DASD or IOTIMING:
- DASD
- All DASD devices.
- IOTIMING
- Only the devices that have the IOTIMING facility enabled.
- RECOVERY,DCCF={MESSAGE or WAIT_STATE}
- Specifies the action that IOS-enabled interrupt processing takes when a no paths or intervention
required condition occurs on a paging device:
- MESSAGE
- DCCF is invoked to issue the IOS115A WTOR.
- WAIT_STATE
- Non-restartable wait state X'140' is loaded.
- RECOVERY,PATH_SCOPE={CU or DEVICE}
- Specifies whether the scope of the path recovery is for all devices attached to the control unit
(CU) or on a device-by-device basis (DEVICE).
Default: DEVICE
- RECOVERY,PATH_INTERVAL=nn
- Specifies the length of time to monitor for channel path errors in minutes. This keyword can
only be used when PATH_SCOPE=CU is specified or when PATH_SCOPE=CU is the current value for the
scope of the path recovery.
Value Range: 1-10 (minutes)
Default: 10
- RECOVERY,PATH_THRESHOLD=nnn
- Specifies the minimum number of channel path-related errors that must occur every minute for the
specified period of time (PATH_INTERVAL) before IOS takes action. This keyword can only be used when
PATH_SCOPE=CU is specified or when PATH_SCOPE=CU is the current value for the scope of the path
recovery.
Value Range: 1-100 (errors)
Default: 10
- ZHPF={YES or NO}
- Specifies whether the High Performance FICON for IBM z Systems® (zHPF) facility is enabled or disabled on a
system.
Default: NO
ZHPFOPTS,MAXSIZE={nnnn|SYSTEM}
Specifies the options to be used for the High Performance FICON for IBM z Systems (zHPF) facility. ZHPF
may currently be enabled or disabled when this command is issued.- MAXSIZE={nnnn|SYSTEM}
- Specifies the maximum data transfer size for zHPF I/O requests. If nnnn is
specified, this represents the maximum transfer size in megabytes, where 1 megabyte = 1,048,576
bytes. If the value specified is larger than the maximum data transfer size supported for a device,
the device maximum will be used. If SYSTEM is specified, the maximum data
transfer size for zHPF I/O requests is determined by the system based on the maximum data transfer
size supported by the device and its online CHPIDs.Warning: The maximum data transfer size should only be set at the direction of IBM support. Otherwise, I/O performance may be affected.
Value range: 1 - 1024 (1 MB - 1 GB) or SYSTEM
Default: SYSTEM

- HYPERWRITE={YES or NO}
- Indicates whether IBM®
zHyperWrite data replication should be
enabled or disabled on a system-wide basis.Note: Certain using applications, such as DB2®, may also provide their own controls to enable or disable the use of this function.IBM zHyperWrite processing can be used by I/O drivers, such as Media Manager, for certain write I/O operations to perform software mirroring to peer-to-peer remote copy (PPRC) devices that are monitored for HyperSwap processing (with GDPS or TPC-R). IBM zHyperWrite data replication can be used to reduce latency in these HyperSwap environments. To have maximum benefit, IBM zHyperWrite data replication should only be used when all synchronously mirrored relationships are managed by HyperSwap. Devices support IBM zHyperWrite data replication when the following conditions are true:
- The devices support IBM zHyperWrite data replication. Both the primary and secondary devices in a synchronous PPRC relationship must support this function.
- The devices in the synchronous PPRC relationship are managed by HyperSwap (either GDPS HyperSwap or TPC-R HyperSwap).
- YES
- IBM zHyperWrite data replication is to be enabled system-wide.
- NO
- IBM zHyperWrite data replication is to be disabled.
Default: YES - SPOF,IGNORE={[(]parameter[)]|(parameter[,parameter]...)|NONE}
- Specifies which IOSSPOF service checks to ignore.
parameteris one of the following:- PCU
- Specifies that physical control unit single point of failure (SPOF) checks for devices that share the same physical control unit not be performed.
- PDRAWER
- Specifies that processor drawer SPOF checks for host chpids sharing the same processor drawer not be performed.
PCUHSWAP
Physical Control Unit SPOF checks for HyperSwap managed devices ONLY are ignored or not
performed.
- NONE
- Specifies that all SPOF checks be performed.
Default: NONENotes:- You cannot specify
NONEwith any of the otherSPOF,IGNOREparameters. If you specifyNONEwith any of the otherSPOF,IGNOREparameters, the system gives you a syntax error for theSPOF,IGNOREstatement. - On
SPOF,IGNOREstatements with a list of parameters, the parameters can appear in any order.
The PCU and PCUHSWAP operands are mutually exclusive with each other.
The PCUHSWAP option only applies for those devices that are in a HyperSwap
configuration. If a device is not part of a HyperSwap configuration, a physical control unit SPOF
message is issued. Note that a device is not part of a HyperSwap configuration immediately after IPL
or immediately after a HyperSwap.
- ZHYPERLINK,OPER={ALL|NONE|READ|WRITE}
ZHL,OPER={ALL|NONE|READ|WRITE}
- Specifies that the zHyperLink facility should be enabled for all I/O requests, read I/O
requests, write I/O requests or should be disabled for all I/O requests. This parameter is used to
enable or disable zHyperLink at a system level. Whether zHyperLink is actually used for an I/O
request depends on a number of factors including whether the storage controller supports the
zHyperLink facility and whether the I/O request meets the eligibility requirements.
- ALL
- zHyperLink is enabled for all I/O requests.
- WRITE
- zHyperLink is enabled only for write I/O requests.
- NONE
- zHyperLink is disabled for all I/O requests.
HYPERSWAP
The HYPERSWAP command operand can be used to request an unplanned HyperSwap without altering the
current state of any HyperSwap managed device.
Example 1
SETIOS MIH,CTC=01:00,STND=04:00,DASD=00:10,HALT=00:08,TAPE=05:00
- CHAR, COMM, CTC, GRAF, and UREC device classes: 4 minutes, 0 seconds
- DASD device class: 0 minutes, 10 seconds
- HSCH and CSCH I/O instructions: 0 minutes, 8 seconds for all devices in the system
- TAPE device class: 5 minutes, 0 seconds
Note that the value for the CTC device class is 4:00 because the value specified for STND overrides the value specified for CTC (STND is coded after CTC on the SETIOS MIH command). However, the value for the tape device class is 5:00, because the value specified for TAPE overrides the value specified for STND. (TAPE is coded after STND on the SETIOS MIH command.)
All other classes remain unchanged.
Example 2
SETIOS MIH,UREC=02:00,MOUNTMSG=YES
This command sets a time interval of 2 minutes, 0 seconds for unit record devices, and specifies that the system should display all mount pending messages. Time intervals for all classes other than UREC remain unchanged.
Example 3
SETIOS MIH,DEV=/4472,TIME=01:10
This command sets an MIH time interval of 1 minute, 10 seconds for device 4472. All other classes remain unchanged.
Example 4
SETIOS MIH,DEV=(431-435),TIME=00:45
This sets an MIH time interval of 45 seconds for devices 431 through 435. All other classes remain unchanged.
Example 5
SETIOS MIH,DEV=008,IOTIMING=02:30
Example 6
SETIOS MIH,IOTDASD=10:00,MSGONLY=YES
In this example, if any I/O request to any DASD device exceeds the ten minute I/O limit, the system issues a message and records the condition in SYS1.LOGREC, but does NOT abnormally terminate the request. Instead, the system retains the request. Then, if another I/O timing interval expires, the system again issues a message and record the condition in SYS1.LOGREC.
Example 7
SETIOS MIH,IOTDASD=01:00,DEV=(180-18F),IOTIMING=00:30
Note in this example that because MSGONLY is not specified, if I/O timing message-only processing had previously been active on any device this SETIOS command is processing, message-only processing is reset and full I/O timing recovery occurs.
Example 8
DISPLAY IOS,MIH produces the following display:
IOS086I 12.58.49 MIH AND IOT TIMES 988
MOUNTMSG = NO, HALT=00:05, MNTS=03:00, UREC=03:00,
DASD=00:15, TAPE=03:00, GRAF=03:00, CTC =03:00, COMM=03:00,
CHAR=03:00, IOTDASD=00:00,
US01=00:30 UDEV=0184, 02E0, 02E4, 02E5, 02E6, 02E7, 02E8, 02E9,
US02=00:31 UDEV=0411, 0412, 0413, 0414, 0415, 0416, 0417, 0710.
Change the MIH interval for device 0411 to be equal to that of the DASD class:
SETIOS MIH,DEV=0411,TIME=00:15
As a result the MIH setting for device 0411 is deleted. Issuing DISPLAY IOS,MIH produces the
following display:
IOS086I 13.07.28 MIH AND IOT TIMES 994
MOUNTMSG = NO, HALT=00:05, MNTS=03:00, UREC=03:00,
DASD=00:15, TAPE=03:00, GRAF=03:00, CTC =03:00, COMM=03:00,
CHAR=03:00, IOTDASD=00:00,
US01=00:30 UDEV=0184, 02E0, 02E4, 02E5, 02E6, 02E7, 02E8, 02E9,
US02=00:31 UDEV=0412, 0413, 0414, 0415, 0416, 0417, 0710, 0711.