Clark is correct that the ability to limit maximum dataset size is missing and needed - this facility has existed in other non-IBM operating systems for 40 years or longer. But there is another requirement:

The other essential piece is some assurance that requested dataset extensions can actual be taken, assuming there is still space in the storage pools. Most application programmers have never fully understood that there is no guarantee of getting up to 15 secondary extensions after getting the primary on a volume. Since the primary in the old days could be allocated in up to 5 extents, that could have immediately limited the secondary allocations to at most 11, but in reality since contiguous tracks were required for each secondary and successful volume allocation only depended on finding enough space for the primary, there was always the possibility that 0 secondary extensions would be available when the dataset needed them.

SMS provides a fairly effective solution to the unreliability of secondary extent availability via appropriate parameters defined to a DATACLAS, but I strongly suspect some are unaware of this. I don't have a manual available at this moment, but I believe it is "extent reduction" coupled with "extended attribute" and the ability to dynamically add additional volumes to the dataset which enables both primary and secondary allocations to be satisfied on up to 123(?) extents per volume and across multiple volumes without the user having to worry about whether primary or secondary spaces exceed what is available in free space at that moment on a single volume. The large number of extents allowed, and allowing an arbitrary number of extents across an almost arbitrary number of volumes for each allocation, almost guarantees success unless the entire storage pool is out of space.
   Joel C. Ewing

On 08/08/2011 04:38 PM, Clark Morris wrote:
On 8 Aug 2011 13:58:44 -0700, in bit.listserv.ibm-main you wrote:

On Mon, 8 Aug 2011 20:43:03 +0000, Ted MacNEIL wrote:

Does this then allow the programmer more space than initially 
requested/intended, or does it deduct 1 from the number of
extents allowed when it does this?  123...122...121...

Why would it deduct anything?
It's a single extent after consolidation.

I was thinking of the case where a programmer used SPACE() cautiously
to limit the space occupied by a data set -- he might prefer to endure  a
Sx37 rather than have a single data set written by a runaway program
devour an entire volume and  likely cause other programs to fail.

Also, the extent limits have been raised, as of 1.7.

I hope I telegraphed my awareness of this by "123..." supra.  Or is there
yet more than I'm aware of.  Regardless, the increase from 15 to 123 much
thwarted the design of my hypothetical cautious programmer.

Is the behavior of z/SO becoming more UNIXy?  Time was when a
programmer coded SPACE() he knew he was allowed that much and
no more.  Nowadays it's less determinate.

Long ago space allocation should have been changed to be initial,
increment, maximum rather than just initial and increment.  One way to
do that might be to honor the OUTLIM parameter for all data sets.

Clark Morris

-- gil



--
Joel C. Ewing,    Bentonville, AR       jcew...@acm.org 

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to