 |
The Question is:
For reasons too complex to go into, we have a directory which is over 21K
blocks long. Trying to delete the contents with DEL *.*;* has made little
progress in over 2 months. DECps says we have swamped our quota of
ACP_DIRCACHE and we don't want to exte
nd that parameter. A BACKUP with /EXCLUDE= of that directory requires too
much downtime. We decided to try this approach: We want to do a QIO using
ACP functions knowing the file's ID, SEQUENCE, RVN triplet, which we load to
a File Info Block (FIB). W
e intend to do the deletes by file ID, then use SET FILE/NODIR on the
directory and delete it (all at once rather than one at a time). However,
we seem to be unable to do the file access or delete without giving a
directory FID. If we give a directory F
ID, we will end up having to do a directory update on each delete, which is
exactly why the DEL *.*;* got nowhere in two months. Can't we simply access
a file by FID and then do a QIO IO$_DELETE + IO$M_DELETE with a null
FIB$W_DID value? What parameters
must I supply to the ACP function in order to make this work without
touching the directory?
The Answer is :
Consider an upgrade to OpenVMS V7.2 or later, or consider the use of
the Freeware DFU, or use one of the various available reverse-delete
tools.
Also please see topics 1234 and 3621.
|