On 10/15/2010 10:46 PM, Paul Gilmartin wrote:
On Fri, 15 Oct 2010 15:54:15 -0400, David Kreiss wrote:
Determine what track the dataset was allocated to then run this utility
specifying the first track of the dataset.
<snip!>
... which can give a false positive if the extent allocated begins,
by happenstance, with a residual EOF from prior use.
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of
Starr, Alan
Sent: Friday, October 15, 2010 12:41 PM
John McKown's response to Ron's S013-64 issue interested me. I had not realized
that SMS automatically wrote an EOF to newly-allocated datasets.
Depending.
John pointed me to
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dgt2i650/8.1
which states "For sequential data sets, SMS writes a hardware EOF at the beginning
of the data set at initial allocation. This prevents data integrity problems when
applications try to read the data before data is written in the data set."
Jim Mulder properly stated this assertion ought not mention security.
It doesn't. Regardless, "data integrity" has misleading connotations.
I'd replace "prevents data integrity problems" with "prevents unexpected
program behavior".
...
Prior to SMS and an auto-EOF at allocation we (Technical Services) would
periodically have to help Applications programmers diagnose bizarre
failures caused by an upstream program that didn't bother to open an
output data set because there was no output (i.e. null data) for that
particular run.
If you were lucky (99% of the time) the DASD extents allocated for the
dataset would contain residual blocks that were incompatible with the
intended records, later attempts to read the data would immediately blow
with a wrong-length record, the problem would become evident, and the
damage would be contained.
If you were very unlucky, the allocated extents could contain data with
compatible block structure and possibly even records that could pass
application integrity checks. Subsequent programs could use the "bogus"
records to perform unintended updates and other unintended actions. I
can remember at least one or two instances where records were
successfully read from an "empty" file.
"Unexpected program behavior" is too benign a description, because in
the latter case a missing EOF could lead to data loss, data corruption,
or other incorrect program results and there might not even be any
obvious program failure to make it evident you had a data integrity issue.
--
Joel C. Ewing, Fort Smith, AR [email protected]
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html