Data set lock owner

Figure 1. Data set enqueue determination flow
Lock daemon flow
Figure 1 shows a schematic overview of how the RSE daemon determines which z/OS® Explorer client owns a data set lock.
  1. RSE daemon (RSED) creates a thread pool (RSEDx). To confirm startup completion, the thread pool reports its Address Space Identifier (ASID) back to the RSE daemon, which stores it in the control block created for tracking this thread pool.
  2. The client logs on, which creates a user-specific RSE server thread (USER) inside a thread pool (RSEDx). Each thread has a unique Task Control Block (TCB) identifier.
  3. The client opens a data set in edit, which instructs RSE server to get an exclusive lock (enqueue) on the data set.
  4. The system registers the ASID, TCB and task name (RSEDx) of the requestor as part of the enqueue process. This information is stored in the Global Resource Serialization (GRS) queues.
  5. An operator queries the RSE daemon for the lock status of the data set.
  6. The RSE daemon scans the GRS queues to learn if the data set is locked and retrieves the ASID, TCB and task name of the lock owner.
  7. The retrieved ASID is compared against the ASID of the different thread pools.
  8. The RSE daemon asks the thread pool owing the ASID to determine which user owns the TCB.
  9. The related client user ID is returned to the requestor when a match is found. Otherwise, the task name retrieved from GRS is returned.

With the single-server setup of z/OS Explorer, where multiple users are assigned to a single thread pool address space, z/OS lost the ability to track who owns a lock on a data set or member with the DISPLAY GRS,RES=(*,dataset*) operator command. System commands stop at address space level, which is the thread pool.

To address this problem, z/OS Explorer provides the MODIFY rsed APPL=DISPLAY OWNER,DATASET=dataset operator command, as described in "Operator commands" in the Host Configuration Guide (SC27-8437). The operator command can resolve all data set and member locks done by RSE users, as well as locks done by other products, such as ISPF.