On 07/17/2012 03:13 PM, Bill Ashton wrote:
I thought I knew this off the top of my head, but someone gave me a problem
that doesn't fit what I thought.

Let's say I hvae a PS file allocated as CYL(2500,500), and it is allocated
to VOLSR1 and VOLSR2. Can someone point me to the doc that explains this,
or can someone explain to me what happens when I need to take secondary
extents?

For instance, I thought this would be the case:
1. Allocate first extent (2500) on VOLSR1
2. 2nd extent (2500) on VOLSR2
3. 3rd (500) on VOLSR1
4 - ## (500) on VOLSR1 until 16 extents or the VOLSR1 has < 500C available
in 5 pieces, then continue on with VOLSR2.
## (500) on VOLSR2 until 16 extents or B37 abend if < 500C available.

I haven't done a lot with multi-volume files, so I might have this wrong,
and would welcome your straightening me out. Thanks!


For PS file, the primary is only used for the first allocation on first volume. When allocated space is exhausted, a secondary extent is allocated, on the current volume if enough space is available and max extents of 16 haven't been reached on that volume; otherwise, an attempt will be made to allocate a secondary extent on the next available volume, if there is one. Each volume in the volume list will be used in turn until no further secondary allocations are possible on that volume, then the next volume will be used. (VSAM allocation is slightly different in the the first extent allocated on each volume is by default the primary size and the extent limit per volume is larger, but like PS the first extent on a new volume will only be allocated when no further secondary allocations are possible on the previous volume.

For a non-extended PS file the primary "p" must be allocated with 1 to 5 extents (or the entire allocation will fail), while a secondary "s" must always be a single extent (and none are guaranteed), so depending on free-space and fragmentation the max possible allocated space on the first volume might be as small as "p", as large as "p + 15s", or anywhere in between, and the 16 extent limit could kick in as early as "p + 11s". When the dataset needs to extend to subsequent volumes, the amount of space available per volume could be as low as "0" or as high as "16s". This behavior is fairly clearly described in a manual somewhere.

For an Extended Sequential SMS dataset with Storage Constraint Relief enabled, you again have one primary, followed by many secondary allocations over one or more volumes; but the rules for number of extents are relaxed to a max of 123 per volume, and as long as the max extents per volume isn't exceeded or a max of 59 volumes isn't exceeded, both primary and secondary space allocation can have an arbitrary number of extents, and both primary and secondary allocation can spread to extents on a following volume if there isn't enough free space on an earlier volume to satisfy the request. In other words, the odds of getting the space you need in a DASD pool with significant fragmentation of free space is much better, and you no longer have to worry if your primary or secondary space exceed what can be obtained on a single volume. My recollection is that the reference manuals were too terse to make this behavior totally clear, but the above was verified by empirical evidence.
--
Joel C. Ewing,    Bentonville, AR       jcew...@acm.org 

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to