| Front Page | News Headlines | Technical Headlines | Planning Features | Advanced Search |
  ScreenJet Sponsor Message

August 2004

net.digest tracks each month’s message traffic on the 3000-L mailing list and comp.sys.hp.mpe Internet newsgroup. Advice offered from the messages here comes without warranty; test before you implement.

Edited by John Burke

Off-topic political rants on 3000-L continued unabated through July, and probably will at least until November. But a couple of other off-topic posts caught my eye. Several celebrated July 20, the 35th anniversary of “Houston, Tranquility base here. The Eagle has landed.” And Microsoft seems to be trying to turn its security problems into an “asset.” A quote I particularly liked: “One challenge in the software business model is that once you license a piece of software, it never wears out,” Gates said.” Their solution is what is called “churning the account” in the stock industry.

I always like to hear from readers of net.digest and Hidden Value. Even negative comments are welcome. If you spot something on 3000-L and would like someone to elaborate on what was discussed, let me know. You can reach me at john@burke-consulting.com.

Limitations on Files Per Directory

This is one of those topics that appear on 3000-L periodically, mostly I suppose because there is no easy answer such as 10,000 files per directory. Instead, the answer is always “it depends.” Walt McCullough noted “the limit is based on the ability of the XM log to get a before and after image of the changes. Files can be added in a non-alphabetic order, but the amount that has to be logged increases. If a file name is added to the directory (appended) then only the last ‘record,’ directory EOF and the rest of the label table information within the transaction needs to be logged. If, on the other hand, a file name is inserted at the beginning of the directory, the whole directory image needs to be logged. The limit for Posix names within a directory varies because Posix allows for larger names, thus potentially a larger directory file.”

This logging can create a serious performance problem if you try to delete files alphabetically from a group with 10s of thousands of files. Hint: In situations where you are deleting massive amounts of files from such a group, delete in reverse alphabetical order.

Cathlene McRae added that there is a utility in the TELESUP account, called DIRLIMIT, which allows you to set directory size to something less than the system max. She noted, quoting from the MPE/iX 5.0 Communicator, that a 2-Mb directory size limit equates to the following entry limits for various directory types: 15,625 entries for the root directory; 11,628 entries per account; 50,000 entries per group; Approximately 20,833 entries per HFS directory.

Another source of limits is on HP’s “Jazz” Web site at jazz.external.hp.com/papers/limits/intro.html. It is somewhat dated, but still useful.

Hardware Survives 8 Hour Dripping Water Torture Test

Tracy Johnson reports, “It was a dark and stormy night. After water dripped on our 959 for 8 hours, it faulted at 7:30 AM just before I got to work. After an hour letting it dry, it came up to the boot prompt; but after I enter ‘Y’ to interact with the IPL, it tells me:

IPL error: bad LIF magic.

.... FAILED

Terminating selection process.

No boot device found.

“Our boot device is a Model 20 array and it shows no error on the LDEV 1 mirrored pair although the hot spare kicked in on LDEV 2.” Tracy later reported that the solution was to manually enter the boot path at the console, “what had happened, although we did not recognize it at the time, was that the Primary Boot Path DEFAULTED. As those of you with Model 20s may know, it requires a Fast and Wide SCSI card to operate. A 959 multifunction IO card is SE SCSI. When it tried to boot, it was trying to boot off the factory default Primary Boot Path. All we had to do was manually type in the Boot Path at the Console to the true location of LDEV 1. The system booted properly. This is one of those things you may want to save, need I say it, for a rainy day.”

CI Programming Redux

I do not have any statistics to prove this, but it seems as though there are a lot of newbies on 3000-L these days. For newbies, the CI can be a little daunting, especially since it is not particularly well documented, at least not in an official publication on docs.hp.com. Even old-timers may be unaware of some of the many enhancements added in recent years. Jeff Vance, who has been CI Architect for as long as I can remember, is giving an updated talk at HP World 2004, after which it will be posted on Jazz. Earlier versions are also available there.

It is amazing what people have been able to do with CI programming over the years. Many CI scripts have been contributed and are on Jazz at jazz.external.hp.com/src/scripts. The new CI user-defined functions that are being developed now (if you are on MPE/iX 7.5, request beta patches MPEMXP9 and MPEMXQ0) should increase the scope of possibilities for CI programming.

Recently, someone asked about reading a file with a CI script. Jeff replied, “A MSG file is the simplest way to read a file via CI programming (not the fastest, but also not the slowest). If you have the flexibility to make the file a MSG file you can read it as:

input pdfname <PDFFILE
## assuming the file containing the PDF filename has 1 record
setvar i finfo(‘spidfile’,’eof’)
while setvar(i,i-1) >= 0 do
input spid <spidfile
# any processing here...
endwhile

“If you cannot use a MSG file for the file containing the list of SPIDs, or if that file is large, it is faster to read the file via ‘entry points.’ I describe this in a CI Programming paper on Jazz. Read slides 19-22 and 41-47, particularly 46-47. There are also several examples at the end, which utilize entry points for reading a file.”

When All Else Fails, FSCHECK

FSCHECK is a utility that can do great things – or hose your system if not used properly. It is the option of last resort when trying to purge a file after “purge,” “rm” and “purgelink” have all failed at the task. It is just what this person needed, “I have three files on our development server that I can’t get rid of. I can ‘listf’ them, but if I attempt to ‘purge’ them, or ‘listf’ the files with ‘,2 or ,3 etc parameters’ or even ‘store/purge’ the file I generate has various errors, the most common of which is INVALID FILE LABEL (FSERR 108). ‘Purgegroup’ also fails to work. What can I do?” After establishing that “purgelink” and “rm” also failed to do the job, Nigel Skeet was the first to suggest running FSCHECK with the “CD ALL; FIX” command, choosing option #2 (Delete File) on the problem files discovered. FSCHECK is documented in the MPE/iX System Utilities Reference Manual (docs.hp.com/mpeix/pdf/32650-90908.pdf).

Creating a Storage Bin Multiple Users Can Use

A poster wanted to know how to create some storage space on the system that multiple users could save files into. He found that MPE/iX does not allow for the saving of files across account boundaries unless you have SM capability, something that, by the way, should be VERY rare on any system that values even a modicum of security. So, what can you do?

Three solutions were offered, a low-tech MPE solution, a Posix solution and a reasonably high-tech MPE solution. Carol Darnell offered the low-tech solution. It basically involves setting up the files to be saved with read access, then signing on to the target account and “pulling” the files to the central storage area. Lars Appel offered the Posix solution, “You could use an HFS subdirectory and assign an appropriate ACD to that via ALTSEC or use Posix chmod. The ACD will probably be more flexible, allowing you to restrict access, for example, only to users of the DEVELOP account.”

Paul Christidis suggested a “server-type” MPE solution, “since only users with SM capability can ‘save’ files across MPE accounts, you could set up a batch job, running under MANAGER.SYS, that would perform the copying. You could develop a ‘custom copy’ command, implemented with a UDC or a command file that interfaces with said batch job and moves the file into the desired account. The batch process would receive requests through a message file, perform the file transfer, optionally assign ACDs, and report back to the command file (using another message file) the results.”

All three approaches will work. I’ve used the Posix approach. Which approach is best for you, depends upon the number of, and sophistication of, the users, and the robustness of solution needed.


Copyright The 3000 NewsWire. All rights reserved.