John writes:
> Has anyone written anything or know of anything that can calculate the number
> of sectors required by the filesets included in an indirect file for a STORE
This question has a variety of partial answers/comments:
1) no
2) yes, try doing:
:file null = $null
:STORE <your complete fileset/indirect/whatever>; *NULL; SHOW
capture the output of the STORE, add up the "sectors" column, and
presto...your answer.
Obviously, this isn't the cheapest answer ... but it is guaranteed
to produce precisely the same set of files that a real STORE would
touch :)
3) no answer you derive can 100% accurately predict the number of tapes
you'll need ... be aware that both reel tapes and DDS tapes can
sometimes require more tape because of successful tape retries.
4) LISTF (or LISTFILE) into a file might not suffice to give you
the correct *on tape* size of a file. I think STORE won't write
data past the EOF, yet LISTF report everything. Thus, a file like:
:build big; rec=128,1,f,binary; disc = 1000000,2,2
will report as 1,000,000 sectors with LISTF,2, but if the EOF is 0
then it will probably occupy a couple of sectors on the tape.
Note that I haven't tested this recently.
When I wrote STORE (for Q-MIT MPE V), I realized that there were at least
two sizes for a given file:
a) how many sectors does it take on disk;
b) how many sectors does it take on tape
A :CALC FINFO ("filename", 49) will report the size of a file in
bytes, based on the EOF. At first glance, this looks like the
answer ... but ... it doesn't take into account files with "holes"
in the middle (pages that aren't allocated on disk), which happens
for KSAM XL files, and some others.
Stan Sieler [log in to unmask]
http://www.allegro.com/sieler.html
|