IBM Support

Receiving ENOSPC errno=133 (x'85') when writing to a HFS; dealing with a full HFS file system

Question & Answer


Question

How can I correct an out of space condition on an HFS file system?

Answer

The size of HFS data sets and their proximity to being full need to be monitored to prevent ENOSPC. When no more space can be obtained an ABEND0F4 can occur or you might see various error codes in messages or returned from shell processing. Each of these codes and messages mean essentially the same thing: no more disk space can be obtained. Possible causes for this error include:
  • No space available,
  • All extents are used, or
  • No secondary space was specified at allocation time.
An errno code of 133 (x'85') means ENOSPC, while an errno code of 157 (x'9D') means EMVSERROR. Either one can be accompanied by a second errnojr value or reason code of:

5Bxx0E37
5BxxC005
5B27011B data set has greater than 250 extents

If the out of space situation occurs during sync processing, HFS can issue the following messages :

IGW022S HFS DATA SET: HFS.B06B.ETC 051                          
Out of Space during Sync   Loc=EXTEND  RC=00000014  RSN=5B27C005
*IGW027E HFS HFS.B06B.ETC 052                                    
  SYNC INTERNAL ERROR. RC=00000014 RSN=5B27C005                  

Sometimes, another product issues its own descriptive message without an errno or reason code. An example is the following Language Environment message:

EDC5133I  No space left on device.  

Explanation: During a write() function to a file, there was no free space left in the z/OS UNIX file system. This error may also occur when extending a directory. This message is equivalent to the POSIX.1 ENOSPC errno.


Resolution:

To control the space usage of an HFS data set you defined your HFS data set with no secondary allocation value, which will prevent it from automatically extending. Otherwise an HFS will  automatically extend if space is available and the HFS has not met the z/OS data set limits.

Here is a synopsis of the limits for an HFS data set:

- A maximum of 123 extents per volume (see Note below)
- A multivolume HFS must be SMS-managed
- A multivolume HFS can span up to a maximum of 59 volumes
- A multivolume HFS can have up to a maximum of 255 total extents for all volumes (see Note below).

Note: To extend an HFS, DADSM is called to obtain additional extents. Since DADSM may return the requested secondary space amount in up to 5 extents, HFS will only call DADSM if the total extents are less than 119 for a single volume and less than 251 for a multivolume data set. This prevents any data set from potentially exceeding the data set limits.

Actions:
  • Gather allocation and extent information for the HFS using ISPF 3.4 i or s options.
  • Check that there is space available on the volume or, if SMS-managed, space available on other volumes in the storage group
  • Use the table below to find the actions specific to the details of your space issue:
 
Current Space Usage Status of the HFS: Action(s):
  • No secondary allocation defined but space is available on the volume.
  • Volume was full, preventing secondary allocation, but data was moved or deleted to make room.
  • Data set is not over the extent or volume limits above.
Use confighfs to add space to the HFS. See the HFS IBM Redbook link below for syntax options.

General format:
"/usr/lpp/dfsms/bin/confighfs -x 100C /directory_within_this_HFS "
- where '-x' means extend and '100C' is the amount to extend, in this case 100 cylinders.

If the space specified is not sufficient for the pending updates, you will receive a message to that effect. Issue the confighfs with a larger extend amount if possible.
  • HFS data set with 250 or more extents.
  • non-SMS HFS with 119 or more extents.
  • non-SMS HFS and volume is full (no more space can be made available).
Unmount the file system, then dump and restore to a larger allocation. See the HFS IBM Redbook link below if you need sample JCL.
  • SMS-managed HFS that is below the general extent and volume limits for data sets and
  • is single volume
or
  • is multivolume but existing volumes are full and no more candidate volumes are available.
  1. Use the IDCAMS ALTER command to add at least one candidate volume to the data set entry. See the HFS IBM Redbook link below for a syntax example.
  2. At release 1.11 and above, use the REMOUNT SAMEMODE option from Ishell. This is found in the Filesystems - Mount Table - Modify pull-down. In earlier releases you may either opt to move the file system ownership to another system (if using shared file system) or change the mount mode to R/O and back to R/W.
  3. If the remount changes do not resolve the problem, you may still need to use the confighfs utility to manually extend the HFS and clear any out of space error flags set for the file system. Please refer to the example above or the HFS IBM Redbook link below for syntax.


Additional References:
  • The IBM Redbook titled "Hierarchical File System Usage Guide (SG24-5482-01)" includes sections and examples of extending an HFS using confighfs, IDCAMS ALTER (for adding candidate volumes), and DFSMSdss DUMP and RESTORE JCL.
.

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG90","label":"z\/OS"},"Component":"5695DF185 - DFSMS\/MVS HPFS OPEN EDITION","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"2.2;2.3;2.4","Edition":"","Line of Business":{"code":"LOB56","label":"Z HW"}}]

Document Information

Modified date:
03 September 2021

UID

isg3T1012743