In z/OS V2R2, zFS caches were moved above the 2 GB bar into 64-bit storage. This alleviated some storage constraints and allowed zFS to be able to execute in the OMVS address space, which is used by z/OS UNIX. In z/OS V2R2, you can choose to execute zFS in a colony or in the z/OS UNIX address space.
In our sysplex, we configured some z/OS V2R2 LPARs to execute zFS in the z/OS UNIX address space. The following are the modifications we implemented. Note that there may be other ways to implement this ability.
If zFS is executed in the OMVS address space it is not started via its own PROC. When zFS parameters are provided via the IOEZPRM DD statement, this DD statement will have to reside in the OMVS PROC. Another method that can be used is to provide the zFS parameters using the parmlib search and the IOEPRMxx members. This parmlib search requires the PARM('PRM=xx,xx,xx') specification on the BPXPRMxx member FILESYSTYPE statement for TYPE(ZFS).
We chose to use the parmlib search method using the system symbol &SYSCLONE, which will resolve to IOEPRM and two characters identifying the system, and 01 resolving to IOEPRM01, which will be used as a base default parameter member. A set of common zFS parameters were placed in parmlib member IOEPRM01, and any system specific parameters or overrides of the common set were placed in parmlib member IOEPRMxx (xx=&SYSCLONE resolved).
In order to tell z/OS UNIX to start zFS in the OMVS address space, you have to remove any ASNAME() parameter on the FILESYSTYPE statement in the parmlib BPXPRMxx member used to start zFS.
One way we accomplished this was to provide the ‘PRM=()’ parameter and comment out the ASNAME parameter in the parmlib BPXPRM00 member. The following is an example of the statement.
/* V2R2 - for zFS in OMVS, remove the ASNAME */
FILESYSTYPE TYPE(ZFS) ENTRYPOINT(IOEFSCM)
PARM('PRM=(&SYSCLONE.,01)')
/* ASNAME(ZFS,'SUB=MSTR') */
To ensure the statements in parmlib member BPXPRM00 were valid, we issued the syntax checker on the system.
SETOMVS SYNTAXCHECK=(00)
BPXO039I SETOMVS SYNTAXCHECK COMMAND SUCCESSFUL.
Note: On some LPARs we started OMVS with parameters like ‘OMVS=(xx,00)’, where xx would be the last two characters of a BPXPRMxx parmlib member. For systems where we wanted zFS in the OMVS address space, the BPXPRMxx member would contain the FILESYSTYPE TYPE(ZFS) statement without the ASNAME() parameter, thus will override the FILESYSTYPE TYPE(ZFS) statement with the ASNAME() parameter in BPXPRM00. This way we did not have to make modifications to the BPXPRM00 member each time we IPLed to either start zFS in OMVS (without the ASNAME() parameter) or in a colony (with the ASNAME() parameter).
When the system was IPLed, and OMVS and zFS were initialized, a zFS message displayed indicating the address space id (ASID) it is executing in. In the case where zFS is started in the OMVS address space it is the same ASID as the OMVS address space. It also indicated that the parmlib search is being used for zFS parameters. The following is an example.
IOEZ00559I zFS kernel: Initializing z/OS zFS
Version 02.02.00 Service Level FA49051 - HZFS420.
Created on Thu Oct 8 10:52:03 EDT 2015.
Address space asid x12
IOEZ00374I No IOEZPRM DD specified in OMVS proc. Parmlib search being
used.
You can use the OMVS display PFS command to display that zFS is executing in the OMVS address space. In the display notice that the ASID for OMVS is the same as the zFS ASID indicated at initialization time. Also, the ZFS line in the display does not include an entry in the ASNAME field. This display also indicates any parameters used for the physical file systems (PFS). The following is an example of the display.
D OMVS,PFS
BPXO068I 15.01.25 DISPLAY OMVS
OMVS 0012 ACTIVE OMVS=(ZO,00,Z1)
PFS CONFIGURATION INFORMATION
PFS TYPE ENTRY ASNAME DESC ST START/EXIT TIME
AUTOMNT BPXTAMD LOCAL A 2015/10/20 03.42.20
NFS GFSCINIT NFSOECLI REMOTE A 2015/10/20 03.42.19
CINET BPXTCINT SOCKETS A 2015/10/20 03.42.19
UDS BPXTUINT SOCKETS A 2015/10/20 03.42.19
TFS BPXTFS TFS LOCAL A 2015/10/20 03.42.19
HFS GFUAINIT LOCAL A 2015/10/20 03.42.18
ZFS IOEFSCM LOCAL A 2015/10/20 03.42.14
PFS TYPE DOMAIN MAXSOCK OPNSOCK HIGHUSED
CINET AF_INET6 64000 768 857
AF_INET 64000 468 475
UDS AF_UNIX 10000 138 140
SUBTYPES OF COMMON INET
PFS NAME ENTRY START/EXIT TIME STATUS FLAGS
TCPIP EZBPFINI 2015/10/20 03.43.23 ACT CD
TCPIP34 EZBPFINI INACT
TCPDOM1 EZBPFINI INACT
TCPDOM2 EZBPFINI INACT
TCPDOM3 EZBPFINI INACT
PFS TYPE FILESYSTYPE PARAMETER INFORMATION
NFS INITD,biod(6)
HFS SYNCDEFAULT(60) FIXED(256) VIRTUAL(2560)
CURRENT VALUES: FIXED(256) VIRTUAL(2560)
ZFS PRM=(Z1,01)
PFS TYPE STATUS INFORMATION
AUTOMNT TIME=2015/10/20 13:32:25 SYSTEM=Z4 USER=OMVSKERN
POLICY=/etc/auto.master
TFS GLOBAL SETTINGS: fsfull(99,5) ea 0 em 0
Since zFS is executing inside the OMVS address space, you have to communicate with zFS via OMVS. The commands need to be entered via a modify OMVS command. To accommodate this, the MODIFY OMVS command has a ‘PFS=’ parameter.
Note: On z/OS V2R2, you can use the new MODIFY OMVS ‘PFS=’ parameter to communicate to a zFS that is started in a colony, also.
The following is an example using the new parameter, ‘PFS=ZFS’.
F OMVS,PFS=ZFS,QUERY,LEVEL
IOEZ00639I zFS kernel: z/OS zFS
Version 02.02.00 Service Level FA49051 - HZFS420.
Created on Thu Oct 8 10:52:03 EDT 2015.
sysplex(filesys,rwshare) interface(4)
IOEZ00025I zFS kernel: MODIFY command - QUERY,LEVEL completed successfully.
On z/OS V2R2, if you try to execute a zFS modify command when zFS is executing in the OMVS address space, you will receive a message like the following.
F ZFS,QUERY,LEVEL
IEE341I ZFS NOT ACTIVE
Any automation or operator commands used to communicate with zFS while it is executing in the OMVS address space will have to be modified to accommodate the new format.
We automate commands to zFS upon certain times, events, or messages. Automation was modified to check for the z/OS release of the system. If the release is z/OS V2R2, then it issued the command via ‘F OMVS,PFS=ZFS,…’. If the release was prior to z/OS V2R2 (e.g. z/OS V2R1), then the command was issued using the ‘F ZFS,….’ Format.
Author: Alfred Lease