HP3000-L Archives

August 2002, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Tom Emerson <[log in to unmask]>
Reply To:
Tom Emerson <[log in to unmask]>
Date:
Wed, 28 Aug 2002 13:39:30 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (60 lines)
> -----Original Message-----
> From: John Burke
> > From: Gordon Montgomery [mailto:[log in to unmask]]
> >  I have a question regarding the build command.  [...]
> > BUILD NEWFILE;DISC=524288,1,1;REC=-384,21,F,ASCII
> > [failed with "out of disc space", yet]
> > discfree showed more than 40 million sectors free. [...]
>
> You were trying to allocate all the space in one extent
> (that's what the "1,1" means) (***); i.e. one contiguous block of storage.
> Undoubtedly, you disk is fragmented sufficiently that this was impossible.

To see the "fragmentation", the use the "DISCFREE" command -- Discfree takes
a single-character "parameter" to determine the format and amount of data to
display. (*)  The parameter is a letter between "A" and "E" (memory fading,
does it go to "G"?), with (again, memory blitz) either "A" or "C" being the
one you want -- this shows a "table" of contiguous sectors in ranges:

    1-   9 sectors (of which the count will always be zero **)
   10-  99
  100- 999
 1000-9999 and so on.

Half a million 384-byte records will require roughly 750,000 contiguous
sectors (each sector is 256 bytes; 384 bytes == 1.5 sectors, so this is 500k
* 1.5 = 750k...)

Tom

Notes:

* Technically, discfree takes 2 parameters -- one of which is the disc drive
in particular to report upon, or "all drives" if the parameter is omitted.
Unfortunately, the format of the discfree command is actually in conflict
with the fact that it is a program and the CI's parameter recognition -- you
actually have to do something like "run DISCFREE.PUB.SYS;INFO='C,1'" to get
both parameters recognized properly...

** the first range will always have a "zero" count because the page-size on
PA machines is 16 sectors -- the system simply won't allocate a "block" less
than 16 sectors; even if it did, it couldn't use it...

*** The ",<extents>,<allocated>" portion of the BUILD command are a holdover
from the CLASSIC systems.  Under MPE-V, you specified the number of extents
the file would EVER have.  On the XL systems, this "limitation" went away as
the system would dynamically increase the number of extents as needed (and
often well beyond the initial "maximum" you specified), so regardless of
what you specify in the build command, the system would build the file "as
needed" and ignore the parameters with ONE exception:  CM program files MUST
be in one physical contiguous extent [it's a bit hard to explain, but trust
me, it just makes things easier this way...], but if the BUILD command
and/or the file system in general would "ignore" the max extents parameter,
how to enfore this for CM programs?  Turns out that when BOTH the maximum
and number of extents allocated "right now" are one, then the system will
indeed make this a "contiguous" extent.  If either value is different (or
ommited) the system will allocate extents as it sees fit.

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2