Em 20/09/2013 03:42, "nitz-...@gmx.net" <nitz-...@gmx.net> escreveu:

> Wow, this has snowballed. To summarize:
>
> I am allocating a DSORG=PO data set with an explicit zero space value for
> directory blocks. This data set *is* SMS-managed. The ACS routines don't
> interfere with any DCB attributes, and there is no ALLOCxx anywhere within
> the parmlib concatenation. (And I came across this when I set up testcases
> for our own product.)
>
> The data set allocated will not show a consistent value of zero for the
> directory information. Instead, it takes whatever is written on DASD where
> the data set is allocated as directory information. VSM
> UseZosV1R9Rules(YES) does not influence the outcome.
>
> 1. I used a valid allocation (DSORG=PO,SPACE=(TRK,(10000,0,66000))). The
> data set ended up on volume SMS003.
> 2. Delete the data set, rerun the job using
> DSORG=PO,SPACE=(TRK,(10000,0,0)). ISPF shows the data set on SMS003 as
> having 66000 directory blocks. (0 was specified, clearly an error.)
> 3. Delete the data set, rerun the job using DSORG=PO,SPACE=(TRK,(1,0,0)).
> ISPF shows the data set on SMS002 and I get "I/O error" in ISPF for the "i"
> line command.
>
> I believe that gil's hypothesis correct:
> Since the specified directory blocks is 0, allocation does not format a
> directory, and does not write the terminating EOF.  Later, allocation sees
> that DSORG=PO, and does not write an EOF (which would be real, not pseudo)
> at the beginning lest it destroy the directory had it created one.
>  Subsequent behavior depends on the residual content of the first allocated
> track.
>
> Doug found this IBM statement in SC26-7407-07 DFSMS Implementing
> System-Managed Storage:
> "The system provides data integrity for newly allocated data sets that
> have not been written to. For these data sets, whether SMS managed or
> non-SMS managed, DFSMSdfp writes a physical end-of-file character at the
> beginning of the data set when space for the data set is initially
> allocated.
> This makes it unnecessary to OPEN data sets for the sole purpose of
> writing an EOF and to avoid reading old data if the data set is read
> immediately after being allocated."
> This is clearly not true in my test case above.
>
> I agree with Gerhard on "In any case, IBM should be persuaded to either
> produce a JCL error or modify the directory build to write an EOF."
> I tend to the second solution: Write the EOF in any case. (In setting up
> my testcases, I have used IEBDG excessively, and quite a few allocations
> that succeeded nevertheless produced unusable data sets. So I don't think a
> JCL error is the way to go. But correct setting of the EOF marker should be
> required and should be aparable, since the manual clearly says that that
> should have happened.
>
> Doug also found this in SC26-7410-11 Using Data sets:
> "To allocate a PDS, specify PDS in the DSNTYPE parameter and the number of
> directory blocks in the SPACE parameter, in either the JCL or the data
> class. You must specify the number of the directory blocks, or the
> allocation fails."
> I reran the DSORG=PO,SPACE=(TRK,(10000,0,0)) job explicitly specifying
> DSNTYPE=PDS (and with VSM UseZosV1R9Rules back to NO). Note that directory
> blocks are specified! This time the data set ended up on SMS001 but still
> shows 66000 directory entries. Then I deleted and reran, the data set ended
> up on SMS004 and I got I/O error. Presumably that means we don't do erase
> on scratch.
>
> If anyone wants to report this to IBM as a bug, feel free. I would do it,
> but our contract doesn't allow me to report bugs.
>
> Barbara
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

----------------------------------------------------------------------
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