I cannot find information in the manuals that explains what the fields 'ALLOC' 'FREE' and '%FR' generated on a dataset with FDReport.
On the surface seems pretty straight forward, ALLOC is how much space is allocated, and FREE and %FR are the amount of free space and the same as a %. However I cannot figure out how this value is generated, as the number doesn't seem to match up with any of the information generated by LISTDSI, my best guess is that it is a multiple of the space allocation, but i cant for the life of me work out what it is.
As an example:
If i generate a report with the following:
REPORT FIELD=(DSN,VOL,SIZEINFO)
XS XDSN=(MY.DATA.SET.**)
PRINT ONLINE,PAGEWIDTH=133,SUM=YES
Gives me the following about my dataset:
DATA SET NAME VOLSER ALLOC FREE %FR
------------- ------ ----- ---- ---
MY.DATA.SET.ONE ABCD1234 150 148 98
MY.DATA.SET.TWO EFGH5678 165 160 96
MY.DATA.SET.THREE IJKL9012 17 14 82
I have no idea where these numbers come from but the info from 3.4 for these datasets is as follows:
DS UNIT ORG RECFM RECL BLKSZE 1stEXT 2ndEXT TYPE ALLOC ext MAXDB
-- ---- --- ----- ---- ------ ------ ------ ---- ------ --- -----
MY.DATA.SET.ONE CYLS PO FB 80 6160 10 3 PDS 10(cyl) 1 50
MY.DATA.SET.TWO CYLS PO FB 4096 28672 11 10 PDS 11(cyl) 1 200
MY.DATA.SET.THREE BLOCK PO VB 1028 2056 357 2769 PDS 357(blk) 1 100
This is a very niche area of mainframe, i have no experience with FDR and am getting a bit desperate, spent hours in the manuals trying to work it out and cant for the life of me find a solid explination of SIZEINFO or ALLOC, FREE and %FR. any help would be much appreciated!
I have used LISTDSI to get the SYSALLOC information which in about 99% of cases equals the ALLOC field from FDreport when multiplied by 15, not sure whats so special about 15, maybe number of extents, but thats seems like grasping at straws and is not a concrete answer.
15 is the number of tracks in a cylinder. Its based on the physical geometry of older disk drives. Unit will give you a clue as cylinders = 15 tracks. Tracks is straight forward and blocks are the number of blocks based on blocksize.
This reference will give you the historical geometries. Today most devices are 3390 of various models that basically are larger numbers of cylinders per device.
The extents I presume are the primary and seconday allocations specified on the SPACE= parameter when the dataset was originally allocated. See here for more information.
ALLOC is the number of allocation units currently allocated (CYLS, TRKS or BLKS)
In your report all datasets only have a primary allocation and not all of that has been used so there is no secondary allocation yet.
The output for ALLOC is in tracks. Divide the tracks by 15 to get the number of cylinders.
For the dataset allocated in blocks lets assume your device is a 3390. The number of bytes per track is 56,664. This divided by your block size of 2056 gives you 27 blocks per track or about 14 tracks. Since its VB you may not get full blocks so calculation is more of an art. In your case you have allocated 17 tracks but have only used 3 and 14 are free.
Also, since the datasets are partitioned (PO) there is some space used for directory blocks in all cases.
Hope this helps.