z/OS UNIX System Services latch identities

This section describes the latch identity strings for z/OS® UNIX System Services latches that can be displayed by using the D GRS,ANALYZE,LATCH command.

z/OS UNIX System Services uses GRS latches to serialize resources and operations. GRS console commands display information about the identities of the latches, waiters, blockers and so on. For more information, see z/OS MVS System Commands.

The following example is the output of the D GRS,ANALYZE,LATCH,WAITER command. In Figure 1, the latch set name (LSETNAME) is SYS.BPX.A000.FSLIT.FILESYS.LSN, the latch identity string (LATCHID) is FS: HOST12.AJAX.DIRECTORY, and the latch number is “20”.
Figure 1. Example: D GRS,ANALYZE,LATCH,WAITER command output
SY2  D GRS,ANALYZE,LATCH,WAITER                               
SY2  ISG374I 16.15.24 GRS ANALYSIS 734                        
LONG WAITER ANALYSIS: ENTIRE SYSTEM                           
----- LONG WAITER #1                                          
WAITTIME  JOBNAME  E/S  CASID LSETNAME/LATCHID                
00:01:01  TC0      *E*  000E  SYS.BPX.A000.FSLIT.FILESYS.LSN  
                              20:FS: HOST12.AJAX.DIRECTORY
BLOCKER   TC0       E
In the output of the D GRS,ANALYZE,LATCH command, the latch identity strings (LATCHID) are displayed along with the latch number and latch set name. Table 1 lists the latch identity strings for the latches used by z/OS UNIX System Services.
Table 1. Latch identity strings for the latches used by z/OS UNIX System Services
Latch Identity String (LATCHID) Explanation
Logical File System This latch is used to serialize PFS termination and restart.
MOUNT This latch is used by the file system to serialize operations such as file system mount, unmount, move, and automount and others.
PIPE Global This latch is used when the system is traversing or modifying structures that are related to PIPES.
OSI Sleep and Wakeup This latch is used when the system is traversing or modifying structures that are related to the osi_sleep() and osi_wakeup() services.
Byte Range Lock Manager Global This latch is used when the system is traversing or modifying structures that are related to the byte range lock management.
Register File Interest Global This latch is used when the system is traversing or modifying structures that are dealing with files, for which an interest has been registered through w_ioctl().
Mount/Move Failure Data Block This latch is used when the system is traversing or modifying structures that are related to the data when the system is reporting a mount or move failure.
FS: <fs name> If the LSETNAME is SYS.BPX.A000.FSLIT.FILESYS.LSN, the latch is used to serialize operations on the file system named in the latch identity string. If the LSETNAME is SYS.BPX.A000.FSLIT.QUIESCES.LSN, the latch is used to quiesce the file system named in the latch identity string.
NW: <domain_name> This latch is used for operations on the local or network socket domain whose name is shown in the latch identity string.
Automount Global This latch is used to serialize pfsctl() calls during automount processing.
AM: <fs name> This latch is used for any automount operations on the file system named in the latch identity string.
LFS Process ID=<pid in decimal> This latch is used to serialize searches and updates to the file system structures associated with the process whose PID is shown in the latch identity string.
Name=<resource name>,Dev=<devno# in decimal>,Ino=<inode# in decimal> This latch is used for operations on a file system resource such as file, directory and FIFO. The resource name, device number and inode number are listed in the latch identity string. The resource name will be truncated to the first 15 characters if it has more than 16 characters. Note that the <resource name> can be a dot (.) which indicates the current directory in a relative path name or a dot dot (..) which indicates the parent directory in a relative path name.
Dev=<devno# in decimal>,Ino=<inode# in decimal> This latch is used for operations on a file system resource such as file, directory and FIFO. The name of the resource is not available, but the device number and inode number are listed in the latch identity string.
MessageQ ID=<msg-ID in decimal> This latch is used when the system is traversing or modifying structures related to the message queue whose identifier is shown in the latch identity string.
Shared Memory ID=<shm-ID in decimal> This latch is used when the system is traversing or modifying structures related to the shared memory segment whose identifier is shown in the latch identity string.
Semaphore ID=<sem-ID in decimal> This latch is used when the system is traversing or modifying structures related to the semaphore whose identifier is shown in the latch identity string.
Process ID=<pid in decimal> If the LSETNAME is SYS.BPX.AP00.PRTB1.PPRA.LSN, the latch is used when the system is traversing or modifying structures related to managing the process whose PID is shown in the latch identity string. If the LSETNAME is SYS.BPX.AP00.PRTB1.SIGNALS.LSN, the latch is used when the system is traversing or modifying structures related to signal processing for the process whose PID is shown in the latch identity string.
MessageQ Global This latch is used to search and add elements to the message queue mechanism.
Shared Memory Global This latch is used to search and add elements to the shared memory mechanism.
Semaphore Global This latch is used to search and add elements to the semaphore mechanism.
Process Global This latch is used for process management operations that are not limited to a single process.