L2 - Library record type 2

A Library Record Type 2 (L2) is created for each physical data set associated with a directory in a UNIX file system that was changed during APPLY or RESTORE processing. The purpose of the L2 record is to identify the physical data set in which a particular directory is located, how the data set is related to the directory, and the ddname that was used to allocate the directory.

The format and contents of this record type are shown in Table 1.
Table 1. Library record type 2
Field name Position (decimal) Length (decimal) Description
Record type 1 2 The characters 'L2'.
DD name 3 8 The SMP/E ddname associated with this Library Type 2 record. The data is left-justified and padded with blanks. This field contains the ddname that was used to allocate the directory in a UNIX file system that was updated. This value can be used to correlate the Library Type 2 records with the Library Type 1 records that describe the directory.
Relationship 11 8 This field describes the relationship between the updated directory and the physical data set identified in the record. Valid relationships are:
PATHHFS
The HFS data set specified in this record contains the directory that contains a file updated by SMP/E.
SYMHFS
The HFS data set specified in this record contains the directory that contains a symbolic link associated with a file updated by SMP/E.

Library Type 2 records with a type of SYMHFS are created only when the SYMHFS data set names are different than the PATHHFS data set name. In addition, records only for unique SYMHFS data set names are produced.

For example, if a file updated by SMP/E has two symbolic link values, and those symbolic link values reside in two directories that reside in the same physical data set, then only one Library Type 2 record with a type of SYMHFS is produced to describe this data set. In addition, if the data set that contains the symbolic links is the same physical data set that contains the file updated by SMP/E, then no Library Type 2 records with a type of SYMHFS are produced; a single record with a type of PATHHFS describes the physical data set that contains the file and its symbolic links.

The data is left-justified and padded with blanks.

Physical data set name 19 44 data set name of the physical data set that was updated when SMP/E updated a file in a UNIX file system. The data is left-justified and padded with blanks.
For example, suppose the following PTF is selected for APPLY processing and that the SBKSBIN library is allocated to directory /service/usr/lpp/booksrv/cgi-bin/IBM/ in a UNIX file system.
++PTF(UW12345).
++VER(Z038) FMID(HYY2900).
++HFS(BKSMAIN) SYSLIB(SBKSBIN) DISTLIB(ABKSBIN)
  PARM(PATHMODE(7,5,5))
  LINK('../bksmain')
  SYMLINK('../../../../../bin/bksmain')
  SYMPATH('../usr/lpp/booksrv/cgi-bin/bksmain').

The resulting APPLY processing replaces the BKSMAIN file in the /service/usr/lpp/booksrv/cgi-bin/IBM/ directory with the copy of the HFS element supplied in the PTF. Also, when the file's symbolic link value specified on the MCS is concatenated with the file's directory, the symbolic link value resolves to /service/bin/bksmain. This file is the symbolic link and resides in the /service/bin/ directory. In this example, the directory containing the symbolic link is in a different physical data set than the directory that contains the file BKSMAIN.

At the end of APPLY processing, SMP/E produces L1 and L2 records to summarize the updates performed. Figure 1 shows the L1 record that describes the directory that contains the file, as well as the L2 records that describe the data sets that contain the file and its symbolic links.
Figure 1. Example of library record type 2
         1         2         3         4         5         6         7         8
----+----0----+----0----+----0----+----0----+----0----+----0----+----0----+----0
L1SBKSBIN                 HFS     /service/usr/lpp/booksrv/cgi-bin/IBM/
L2SBKSBIN PATHHFS OMVS.HFS.BOOKSRV
L2SBKSBIN SYMHFS  OMVS.HFS.ROOT.ZOS130