Directory blocks
The space at the start of a PDS that holds its list of members; it is set when the PDS is created and cannot grow.
Also written PDS directory, directory space, directory full
A partitioned dataset, or PDS, keeps a directory: a list of its members and where each one starts. The directory is stored in directory blocks at the start of the dataset, and its size is fixed when the PDS is created.
In JCL, the number of directory blocks is the third number in the SPACE parameter: SPACE=(TRK,(10,5,20)) gives 20. Each block is 256 bytes. How many members fit in one block depends on what is stored for each member. With ISPF statistics, a block holds about six members. Without them, it holds more.
When the directory is full, you cannot add any more members, even if the dataset has plenty of free space for data. Trying to add one fails, for example with abend B14. Compressing the PDS does not help, because compressing frees data space, not directory space. The fix is to create a new PDS with more directory blocks and copy the members across.
A PDSE does not have this problem: its directory grows as needed. That is one of the main reasons sites prefer PDSEs for new libraries.
Where can I learn this hands-on?
Right here, at ZedBank. You take a junior job at a simulated bank and learn each part of the work by doing it, with Zed beside you. There's nothing to install.
Start at ZedBankRelated
- Partitioned datasetA dataset that works like a library or folder, holding many separately named members inside one dataset.
- PDSEThe modern version of a partitioned dataset, which reclaims space automatically and removes the old size limits.
- Space allocationReserving disk space for a dataset up front, in tracks, cylinders or blocks, with room to grow.
- MemberOne named item inside a partitioned dataset, such as a single program, job or copybook within a library.
- IEBCOPYThe IBM utility for copying, merging and compressing libraries, and for copying members between them.