Specifying the IODF suffix

You can optionally specify an IODF suffix and operating system configuration ID in the IODF statement in LOADxx, or you can let z/OS® find the correct IODF automatically. This automatic search saves you from having to change the LOADxx member every time you switch IODFs. However you might have to rename the suffix of the IODF so that z/OS will find it first in its search sequence.

The IODF search options (++, --, ==, **, and ␢␢(blank blank)) provide flexibility in IODF management. You can set up LOADxx so that you do not have to change it, following every dynamic configuration and IOCDS update, for use at the next IPL. Users, who want to maintain a back up IODF on a second volume in case of device failure, can use the flexible searching algorithm. This allows the backup IODF name to have the next larger or lower sequential number as a suffix.

Table 1 describes the options you can use when identifying the IODF and operating system configuration ID for IPLing the system.

When you specify asterisks, pluses, minuses, or equals as the IODF suffix, z/OS uses the IODF name in the hardware configuration token in the HSA. If you override the descriptor fields (when building a production IODF using HCD panels) and specify an invalid IODF name, the IODF portion in the hardware token in the HSA is unusable. In this situation, z/OS searches for a valid production IODF as follows:
  • For '**' and '++', z/OS searches suffixes X'00' to X'FF' for a valid IODF
  • For '--', z/OS searches suffixes X'FF' to X'00' for a valid IODF
  • For '==', z/OS loads wait state X'0B1', with reason code X'00B'
Attention: If you are specifying asterisks, equals, pluses, or minuses for the IODF suffix in LOADxx, never change the default descriptor field values on the HCD panel when you create a production IODF because z/OS uses this information to find the current IODF. Also, make it a policy to always write a new IOCDS after a dynamic configuration change.
Table 1. Specifying an IODF for IPL
What you can specify in the IODF statement How z/OS finds the IODF at IPL How to make sure z/OS finds a new IODF at IPL
Asterisks '**' for IODF suffix z/OS uses the IODF that you were running with. If you are IPLing initially or z/OS cannot find a current IODF, z/OS will behave as if you left the IODF suffix blank. When you activate a different IODF, you do not have to change LOADxx or rename IODF suffixes.
Pluses '++' for IODF suffix z/OS uses the IODF that you were running with. If you are IPLing initially or there is no current IODF, z/OS behaves as if you left the IODF suffix blank.

If the current IODF is not available, z/OS searches for the next available IODF starting with the current IODF suffix number plus one and searches to X'FF'. If none is found, the search continues from X'00' up to the current IODF number.

When you activate a different IODF, you do not have to change LOADxx or rename IODF suffixes.
Minuses '--' for IODF suffix z/OS uses the IODF that you were running with. If you are IPLing initially or there is no current IODF, z/OS behaves as if you left the IODF suffix blank.

If the current IODF is not available, z/OS searches for the next available IODF starting with the current IODF suffix number minus one and searches to X'00'. If none is found, the search continues from X'FF' down to the current IODF number.

When you activate a different IODF, you do not have to change LOADxx or rename IODF suffixes.
Equals '==' for IODF suffix z/OS uses the IODF that you were running with. If you are IPLing initially or there is no current IODF, z/OS loads wait state X'0B1', with reason code X'00B'. When you activate a different IODF, you do not have to change LOADxx or rename IODF suffixes.
Both operating system configuration ID and IODF suffix. z/OS uses the IODF with the specified suffix for the IPL. The IODF may contain multiple operating system configurations, z/OS uses the specified one for the IPL.

If an IODF with the specified suffix does not exist or does not contain the specified operating system configuration ID, z/OS enters a wait state.

When you activate a different IODF or operating system configuration, you must:
  • Change the suffix and configuration ID in the LOADxx member
  • Name the new IODF with the specified suffix and the operating system configuration with the specified ID.
Operating system configuration ID and no IODF suffix. z/OS searches the IODFs in numerically ascending order starting with IODF00 and continuing through IODFFF until z/OS finds an IODF that contains the specified operating system configuration ID.

If an IODF with the specified operating system configuration does not exist, z/OS enters a wait state.

You need to make sure that the IODF that you want z/OS to find is the first one in the sequence that has that operating system configuration ID. If you activate a different IODF, you might have to change IODF suffixes so that IODF is the first one found.
An IODF suffix and no operating system configuration ID. z/OS uses the IODF with the specified suffix as long as that IODF only contains a single OS configuration.

If that IODF contains more than one operating system configuration, z/OS enters a wait state.

When you activate a different IODF, you must do one of the following:
  • Change the suffix in the LOADxx member
  • Name the new IODF with that suffix.
Both the operating system configuration ID and IODF suffix are left blank. z/OS uses the IODF that it finds by searching in numerically ascending order starting with IODF00 for the first IODF that contains a single operating system configuration ID. If you activate a different IODF, you do not have to change the LOADxx member but you do have to make sure that the new IODF will be the first one that z/OS finds by renaming the IODFs.
Note: If you specify asterisks, pluses, minuses, or equals, for the IODF suffix, do not change the default values for the descriptor fields when you create a production IODF. z/OS uses the default information to find the IODF.

When z/OS finds the IODF, it checks whether the IODF contains a hardware I/O configuration definition that matches the representation used by the channel subsystem. Whether it matches determines the kind of configuration changes you can make. If it does match, you can change both hardware and software definitions. If it does not match, you can make only software configuration changes. To enable changes to the hardware configuration definition, you can make a software-only dynamic change that activates an IODF containing the correct hardware I/O configuration definition.