- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- number of free file headers available
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО02-05-2018 02:20 AM
тАО02-05-2018 02:20 AM
number of free file headers available
How can I see the number of free file headers available on a device?
The DCL lexical function F$GETDVI(device,"MAXFILES") gives the maximal number of file headers on a device, but there is no item for how many that are free or used, and directory/grand_total device:[*...] is so slow.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО02-05-2018 07:16 AM
тАО02-05-2018 07:16 AM
Re: number of free file headers available
DIR /GRAN [*...] will not give the answer you want anyway.
It only gives a minimum in use.
There may be more, many more, headers used notably due to multi-header files because of fragmentation or heavy ACL usage.
And the limit may be lower than MAXFILES due to INDEXF.SYS being limited to 1 header, so if it have too many small extents, then the real max may be MUCH lower. So this is reall tricky, because the current volume may have some number of free headers, but the ability to create more. How many more. will depend on the number of INDEXF.SYS extents available and the size of the extents to be made.
So in a sense the SIZE of the INDEF.SYS is a big indicator.
All of this is best visualized Jur's DFU or the DFO product.
Or you could write a (DCL) program to count the bits in the index File Bitmap.
The index file bitmap starts at virtual block v*4+1 for m blocks.
v=cluster, m=maxfiles derived.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО02-08-2018 04:58 PM
тАО02-08-2018 04:58 PM
Re: number of free file headers available
hi, I happend to stumble into a little DCL script I wrote decades ago, which display the number if INDEXF.SYS map pointers in use.
Now this is only inderectly important for the original question, in the sense that when there are only a few map pointers left, you'd better make them count (large extent) or else the ability to create files will hit a limit.
The reason for posting my headers.com is more to show how to peel information from INDEXF.SYS structure, some might label this a 'hack' and they would be correct.
Enjoy,
Hein.
$if p1.eqs."" then inquire p1 "Device name" $if p1.eqs."" then exit $p1 = p1 - ":" $ibmapsize = (f$getdvi(p1,"maxfiLes") + 4095) / 4096 $indexf_header_vbn = (f$getdvi(p1,"cluster") * 4) + ibmapsize + 1 $!write sys$output ibmapsize, " ", indexf_header_vbn $!dump/head/bloc=(count:1,star:'indexf_header_vbn') 'p1':[000000]indexf.sys $open/read/share=write indexf 'p1':[000000]indexf.sys $vbn = 0 $loop: $vbn = vbn + 1 $read/end=ooops indexf header $if vbn.lt.indexf_header_vbn then goto loop $mpoffset = 0 ! Watch for negative numbers $acoffset = 0 $map_inuse = 0 $mpoffset[0,8] = f$cvsi(1*8,8,header) $acoffset[0,8] = f$cvsi(2*8,8,header) $map_inuse[0,8] = f$cvsi(58*8,8,header) $write sys$output p1,": Indexf.sys map max = ", 2*(acoffset - mpoffset -1), - " (bytes). In use ", 2*map_inuse, " (bytes)." $oops: $stat = $status $close/nolog indexf $exit 'stat
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-09-2018 01:52 AM
тАО03-09-2018 01:52 AM
Re: number of free file headers available
These tools did provide a hint, but did not aid in calulating the amount of files that may be added.
Reviewed the number of files compared with the number of headers, and found that the ratio was about 3 headers for each file.