Version 620.09 introduced a bug which would cause an invalid index if the number of volumes in the stats file exceeded 2047
Supports mergetape's new method of merging cdimages.
Patch 620.07 increased the maximum size of the return in :FL to 519 wds. OBI sets all bits and Flex Inquiry passed an array of 512 wds. Flex Library will now resize the array is if the return overflows
Files with a FORMID no longer have corrupted COPYSRC atts in :FLAT.
Gives the correct error message if an attempt is made to store a permanent variable > 393209 characters. Supports the new Myself(MYFAM) attribute.
Supports reporting of Family in Flex Listvl reports.
MYSELF(COUNTRY) Returns the country identifier associated with the Flex task, which is normally the same as SYSOPS COUNTRY.
PERMDIR files will no longer be excluded from Familymanager backups. Although not very useful for reloads in normal use, they may be restored to a relacement volume if a volume has been destroyed.
The command RULES SAVE ALL as ... Caused a read of the first record of the Rules file which was not protected by a Lock. Generally this was not a problem except if it was done at the same time as Familymanager was creating METALOGIC/FLEX/RULES/BACKUP. The generated copy would hang waiting for METALOGIC/FLEX/RULES.
The BACKUPINVALID attribute now works correctly for KEYED file searches and :LIN searches with an Archive.
5.3 changed the SYSTEM/ARCHIVE file formats to closely resemble rows in the SYSTEM/CATALOG. They can be distinguished by different values in the header NEXTROW word. Flex can now correctly handle files created in the new format.
OBJECT/FLEX can now process archived files using the FILES IN ... syntax.
The Rules File is only required for Full Flex but if the config variable FLEX_RULESFAM was missing then the following mesages could be displayed on installations where Full Flex was not enabled:
FLEXLIB:OPEN ERROR:Cannot open Rules File exclusive FLEXLIB:Please run OBJECT/META/INSTALL from the Metalogic release FLEXLIB:Missing Config variable 'FLEX_RULESFAM'
The missing config variable will now be logged but will no longer be displayed.
On VSS3 disks, the flat directory has different attributes, which are dealt with in this patch.
Version 580.03 Fixed the INUSE attribute for calls from Supervisor but unfortunately broke it for normal Flex Files commands.
If a simple keyed multi-file search only had the InUse and a Title att, the InUse attribute was always false. The problem was most likely to occur in Supervisor when Flex was not invoked.
If a dynamic variable key was > 17 characters for a non .perm variable the internal variable tables would be corrupted and unexpected values could be returned. In particular if a long name was used for a global variable then a SHOW GLOBAL command would fault. This change will kill any ODTS using a dynamic variable > 17 chars with the error: Function variable key cannot be > 17 chars in REPORT. This restriction does not apply to .perm variables.
Ex. REP DO BEGIN $S:="123456789012345678";$$S:="TEST";END would get the new error
REP DO BEGIN $S:="123456789012345678";$$S.PERM:="TEST";END would be OK
It was possible that corruption in the flat directory could cause a FILES ...:Flat to report non-existent files with invalid ON parts. This change will cause Flex to log a warning to the flex log for such files but otherwise ignore them.
FamilyManager will now recognise LT05 and LT06 tapes as valid for LibMaintDir.
Version 560.03 introduced a problem where thawing Flex Library without thawing Magus would cause subsequent calls to Flex Library to fail with a 'requires privilege' error.
This change supports OBJECT/FLEX in respecting Granulated Privileges
Files:cat in Flex Inquiry will now correctly display resident time stamps when the resident entry is not Generation 0.
Full header requests now work when non-Cataloging.
Information about the RULESMANAGER from RULES_MANAGER_GET was restricted to SECADMIN and PU. Now it isn't.
A FAMILY name of 17 characters was rejected by LOAD_FAMILY_GET.
Flex Inquiry sorting changes. Fix Maint Merge vs Long File Names.
Internal change to allow SUPERVISOR to access non-local Flex STATISTICS files (using the VL context) and MERGETAPE to create them from a non-live SYSTEM/CATALOG file. See SUPERVISOR DNote 541.76 and FLEX MERGETAPE DNote 540.07 for more information.
Previously, if more than 256 pack families existed in the system configuration, FAMILYMANAGER would have faulted with an INVALID INDEX at 21164000. This problem has been fixed.
This change marks FILEKIND=FTAUDIT as DONTBACKUP so that FAMILYMANAGER knows to exclude such SYSTEM files from Library Maintenance copy operations. Similarly, FILEKIND=PRINTFILE has had its DONTBACKUP status removed so that FAMILYMANAGER can now copy such files.
The change described by DNote 540.21 did not resolve all issues with the multiple use of RULES TEST from FLEX utility. These issues have been resolved.
When reading a Libmaint Dir, FLEX was not allowing for non-copied files that were still retained in the directory but not present on the tape. Because FLEX was counting the File Number in the LMD itself, this caused WFL actions such as 'COPY #N FROM TAPE' (where #N has been provided by FLEX) and 'PDT IN <LibMaint Dir Name>' to provide inaccurate File Number for entries later than the not-copied file. This offsetting of File Number, due to one or more missing files, caused Mergetape to potentially load wrong files from its source tapes.
This problem is now fixed: the File Number if now retrieved from the LibMaint Dir entry for the file and not counted by FLEx.
A RULES TEST FA <familyname> where the <familyname> was greater than 10 characters resulted in a STRING PROTECT fault in FAMILYMANAGER.
FLEX Library will now write run-time information into the Flex log file system and includes BOT/EOT, errors and warnings encountered during its life. FLEX Library entries in the log file have an identity of 'Flib(12345)' where 12345 is the mix number of the caller: note that this will often not be the mixnumber of the Library stack.
12:54:44 Job:Flib(22714):BOJ Flex LIBRARY [Version 54.999.20] initiated
Please FLEX DNote 540.32 for more information.
This change addresses a problem with the maintenance of tree file lists, used by various components of Metalogic software, which caused files to be inserted incorrectly into the list or duplicate check to fail. The most noticeable side-effect of this problem was the presence of various duplicate files in the Metalogic release container, particularly METANOTES files. Also, EXCLUDE file handling by MERGETAPE and FAMILYMANAGER were affected.
Various disk file header attributes such as DFHLOCATION, DFHCATALOGED etc. now return consistent values for a all disk files when used in a FLAT search.
:REO will now be respected for NR files if Cat info is not asked for.
Previously, the FILEID function did not quote file name nodes that should have been i.e. the level "ABC.TXT" would have been returned as ABC.TXT by FILEID. This behaviour has been corrected.
In FLEX usage, expressions such as FILEID("A/B/C",0) and FILEID(FILENAMEID,0), where the target did not have a usercode, would have always returned the usercode of the caller. FLEX now returns an empty string in such circumstances and is compatible with SUPERVISOR behaviour.
Preliminary support for ZIP and UNZIP functions, ZIPFILE and UNZIPFILE methods in both SUPERVISOR and FLEX.
Processor loop detection within the OPAL machine now provides extra information for determining the causes of unusual loop detection.
MYSELF(INPUTPARAM) returns the text of the FILES command.
Previously, if a FILES request was handled for a CD image file but no matching files were returned, FLEX would correctly display a 'No files' found message but also a confusing 'Invalid container or Image' display even though the image was valid. This error message has been removed.
If a non privileged user used the :Flat option , a security violation was logged. A non privileged user can scan their own directory using :flat. An attempt to scan a directory other than their own will return an error but no security violation will be logged.
A new lookup function, #[NOLOOK], was recently added to Supervisor and has now been added to Flex. It allows text strings that have embedded lookups to be displayed to the screen or printed without FLEX performing substitution. This is particularly useful for displaying or printing lines of Opal read from files using the .Read method.
For example:
SHOW("#[NOLOOK] #[SUB] #[CAN]") would show #[SUB] #[CAN] instead of the highlight characters.
INPUTPARAM Returns the text of the most recent command.
Ex REP HEAD INPUTPARAM Followed by FILES =BoB= ON DEV:FL Would return FILES =BoB= ON DEV:FL followed by the list of files
Previously a command like FILES (*)= IN CONT would return an error like:
#8103 FLEXLIB:CATALOG/DIR not available
The more informative message like:
#8103 FLEXLIB:Container/LibMaintDir not available
is now returned.
Support for Opal version 530.62
Load AT <hostname> did not set the Kind correctly in it was not a request for a specific unit number.
The handling of the RULES MASTER or RULES MANAGER command in FLEX Inquiry has been improved. Please refer to FLEX DNote 530.36 for more information.
Previously, for FLEX sites that did not use the RULES system, there was no obvious mechanism to apply a system-wide setting for the USDATES option held in FLEXSOPTIONSFORME files.
For FLEX use where no valid FLEXSOPTIONSFORME files exist, as long as the Magus SYS_USDATES configuration variable has been set to the value TRUE, any new options file will automatically set the OP USDATES option to TRUE. Note that SYS_USDATES may be set via the 'System' screen from a CONFIG run of the INSTALL utility.
Further, if a RULES CREATE is subsequently performed, the Full Flex setting of USDATES (as seen from the DEFAULTS menu) will be automatically use the SYS_USDATES setting.
Fixes minor niggles with searches for BL/PACK or Conditioned Key tapes.
FetchTapeDirectory is used if a :FAST search is done on MT, CD. It is simulated for containers, allowing use of CopyWrite exotica, hybrid CDs, CD images, Zip and Tar archives.
MLFlatReader now supports returning Backup information on non-Library/ Maintenance CDs, looking at the FAST in an unknown container, and forcing the use of CopyWrite to access containers or CDs.
An abbreviated header will be used in a sorted FLAT search. This means that the DFHIMAGE attribute will not return the full header if used in the report parts of FamilyManager rules or in reports with :FL,-UNSO.
MLFlatReader will return a dummy backup entry if in an MT/CD or LibMaintDir search. This allows Flex to do e.g.
F (*) MT 27:CAT LOAD (*)= on FLEX=(MT)
If a BACKUP of a large number of files which exceeded the LIBRARY/MAINTENANCE list limits was done, it would fail in MCP code, possibly with a Memory Dump, instead of returning an error indication.
Previously, the Magus config variable COPYWRITE_COPYCATSN was used to control the allocation of Disk Farm volume serial numbers for FLEX. This variable has now been renamed to FLEX_DFSERIALNO for clarity reasons and COPYWRITE_COPYCATSN is not used by FLEX.
Version 530.09 introduced a bug in the Rules text reported by Familymanager. If the Rules were created with a version of Opal older than 52033 then the rules text reported would be nul or corrupted. Old code now works correctly.
The change described in DNote 530.06 had the side-effect of causing FLEX to randomly return incorrect values for attributes such as SECURIYGUARD,NOTE and RELEASEID. This problem was only observed with GETSTATUS-only requests and is now fixed.
A new attribute called DFHIMAGE has been implemented for both FLEX and SUPERVISOR (PD context). DFHIMAGE returns an image of the Disk File Header of the selected file. By default, this is returned in JavaScript array format with each header word in hexadecimal format delimited by commas. For example:
[128,'3F3F0A4003E8','801000000000','000000000052',...]
The first entity in the array indicates the size of the header in words.
Usage of the USERMIXLIST attribute for both FLEX and SUPERVISOR's PD context caused what should have been a list of value mix numbers to be returned as '0,0,0...' or cause the calling OPAL to fault with an INVALID INDEX. This problem is now fixed; the attribute PDUSERMIXLIST was unaffected by this fault.
This DNote supports the change described in FLEX DNote 530.05 for the control of the WFL function.
FLEX will no longer change the USETIME attribute of files that it searches when the CONTAINER attribute is being checked.
Previously, the FLEX LOAD command would show corrupt and incorrect information messages if an individual requested file was already resident. FLEX would also show inconsistent behaviour when attempting to load generation 0 of a file with generation 1 already resident. These problems have been resolved.
The container file specified in the Flex Inquiry syntax F x IN <title> can now be a directory. The search will be chosen according to the file found: SYSTEMDIRFILE :FLAT Catalog, Archive :LIN Access :FAST
This is an alternative to the MAINT ALT syntax in Flex, but can be used from Supervisor. Note that the :LIN and :FAST options do not change the default handling.
When a Flex Inquiry Files command used a Library/Maintenance interface, such as FetchTapeHeaders, it would only return files in the specified directory, but not the root file. For example, F ABC MT 33 would return ABC/D but not the file ABC.
This is consistent with Library/Maintenance, but not with the usual file search convention in the MCP and Flex.
Flex will now return both, but some searches may be a little slower as a result. Searches affected are: F x IN <CD Image> F x IN <Disk Farm> F x .. AT <hostname> F x CD <unitno> and F x ON y (CD) where the CD is in Lib/Maint format F x MT <unitno> and F x ON y (MT)
Handling of AT <hostname> and some error message handling have been integrated with other searches, saving 110 source records.
Backup atts from the Vol. Lib. can now be requested independently of Catalog Block atts.
A spurious value is no longer reported in some cases for BACKUPKIND of a non-existant backup.
Support for The Lasdivir mnemonic of the Myself attribute as described in Opals/GSTableGen note 520.52
A length word has been added to the PD object. This fixes 3 low probability bugs and slightly reduces CPU and memory requirements. For now, the format is being kept compatible in case an older program links to a newer Library.
Single file PD Context requests passed from Supervisor will no longer wait for the end of the Flex task to display the results.
FILES requests from FLEX Inquiry will now not terminate unexpectedly early for certain kind of SELECT conditions with FILES:FLAT requests.
Flex assumed that a FileKind = DATA file with FileStructure = STREAM was a Wrapped Container, when it could be a CD Image. Flex now tries to process the container, and if an error occurs, it then calls CopyWrite.
The change applied in FLEX LIBRARY DNote 520.15 had the unfortunate side-effect of causing all FLEX SELECT conditions to always return TRUE. This problem has now been fixed.
This change supports the fix discussed in SUPERVISOR DNote 520.99 to better handle SUPERVISOR PD context requests that used EVAL or DO limits. Please refer to the above not for more information.
:LIN in FLEX and MergeTape could get a null FileKind after 520.11
When an OPAL referenced the UseDay or UseDate attributes of a Non- Resident file without the UseTS or UseTime attributes, the value returned would be NULL, even if CATALOGUSETS was valid. These attributes now return the correct values. Non-Resident Archived files did not have the problem. Note that the CATALOGUSETS and related attributes are not valid if the file is resident because their values are not updated until the file is removed.
Handling of the properties that FLex assigned to different FILEKINDs was implemented when Flex was first starting out and has hardly changed since. As a result many 'new' FILEKINDs were treated inappropriately. The implementation was also quite inefficient, and posed problems for the Supervisor PD context.
It has now been re-written, saving about 250 cards in a full Flex compile, and reducing the average working set of Flex programs by 300 words.
This change supports the new WRITE method for OPAL string variables as described in DNote 520.64. Please refer to this note for more details.
Support for Flex/Familymanager version 520.08
The version of the Opal compiler used to compile Rules is now stored in the Rules block. This will make it easier in future to determine which Rules may need to be recompiled in respones to changes in Opal.
Some preparation for Rules reporting by email has been done.
RULES OP MANAGEREMAIL will change reporting mode to be email to
the rules manager.
RULES OP USEREMAIL will change reporting mode to be email to
the User.
Full details will be described in Familymanager DNote 520.01.
FLEX scripts will now gracefully abort after any OPAL failure is detected whilst executing a REPORT or SELECT. Previously, FLEX would have continued to process the next selected file which would then caused the same fault to potentially appear many times. Such errors would include CONCATENATED STRING TOO LONG, DIVIDE BY ZERO etc.
SUPERVISOR and FLEX will now both support OPAL strings up to a maximum size of 2,000,000 characters; previously this limit was 393,209. All string operations are supported by this change except for storage into PERM and CONFIG variables and this limit remains at the previous value.
The USAGE report without :BRIEF is now fixed on non-Cataloging systems.
Previously, using special disk file header attributes, such as DFHCATALOGED, DFHBLOCKLENGTH and PROTECTION, inside a SELECT would cause FLEX to fault with 'FAULT TERMINATION in SELECT@82024000'. This change also protects a SEG ARRAY ERROR @ (10766690) fault when handling the same subset of attributes for files with a large number of rows.
This change supports the extension to lookup functions, described in Opal Dnote 520.34
This change supports the changes described in Opal Dnote 520.30.
':FAST' can now be used with Archive files, either :ARC or when an Archive is a MAINT ALT CAT. As with :ARC, if '=' is given for the title family to search, all *SYSTEM/ARCHIVE files on the DL CATALOG family will be searched.
A family with more than 300,000 files led to the FLAT SORT disk sizes being too small. All the Sort parameters in FLEX have been increased and Option(SortLimits) is now set to allow operator intervention if necessary.
A resident entry with a non-matching Archive block, will no longer return TRUE in the Archived attribute.
Some minor Archive fixes for keyed searches, and a procedure used in LOAD is now in FLEX Inquiry.
Archive PGs are skipped if no SYSTEM/ARCHIVE is valid for that family.
A ZAP or PURGE on a non-Cataloging system is now treated as an ARCHIVE PURGE.
If MLCatReader is called without an explicit name on a non-Cataloging system, it will now search the *SYSTEM/ARCHIVE/= files.
This deletes the old LINEARCAT report, which is not needed as the CAT report works with :LINEAR.
CATALOGBLOCK now works with ARCHIVE records. If the search is :LINEAR it returns the record number just as with the Catalog. If the search is keyed, it returns the files-to-dat counter.
Cycle and Version now work correctly with linear Archive searches.
Flex Library now supports :LIN searches on SYSTEM/ARCHIVE files specified using the MAINT ALT command.
To support the new Flex Format and LF, FLEX uses the changed SameIds format and fixes a bug in the USAGE command. In :FLAT, problems with the LicenseKey and MP= attributes are resolved.
The RECORD statement is now available for FLEX's REPORT BEGIN blocks and is currently only available for those FLEX customers who are also licensed for SUPERVISOR. The latest *METALOGIC/SUPERVISOR/RECORDER must be installed and SL-ed to the RECORDERLIB function.
RECORD usage is identical to that of SUPERVISOR allowing the use of a numeric subfile or REC mnemonic; the semantics are shown below:
---- RECORD -- [ -+- <integer> -+- ] -- ( -- <string> -- ) ----| +- <mnemonic> +
The RECORD mnemonics are validated at compile-time and also run-time and must appear in the list returned by SUPERVISOR's TT REC NAMES command. FLEX's RECORD statement allows users to send file information or messages to SUPERVISOR's alert mechanisms (such as HOTLINE) and SUPERVISOR RECORD files.
For example:
REP BEGIN RECORD [META_FILE] ("TITLE: ",TITLE); END;
Scripts that use RECORD must be running from sessions active under a usercode that has PU, SECDAMIN or SYSTEMUSERS status. FLEX will abort any script that attempts RECORDs from other usercodes.
Support for new format Directory object and simplify What conventions for the search entry points. Calls of File_Search no longer force Volume Library searches if only Backup Attributes that do not need them are requested. Reduces source by about 500 lines.
The MAINT MERGE FILES command, used to merge catalog information from an external catalog into the current catalog, could fail.
Either an entry with Cycle=0 or which had a backup reference of type TAPEPE could cause problems.
The command can now handle either of these cases correctly.
This change supports the WAIT statement now available in FLEX; please refer to OPAL DNote 520.15 for more information.
This change supports the new FLEX OPAL statements discussed in OPAL DNote 520.12.
This changes supports the new OPAL REPORT BEGIN capability described in detail in FLEX DNote 510.13. Key words such as BEGIN, END, CASE, WHILE and DO are now permitted from FLEX REPORTS and the MAIL and KEYIN functions have also been made available. New OPAL statements for FLEX include ODT, WFL, SHOW and DISPLAY.
Version 510.15 introduced a problem when handling long filenames with single levels shorter than 80 characters. This change corrects the problem.
This change fixes a bug in Familymanager. A filename with a single level longer than 80 characters would cause a syntax error in the Familymanager generated job. Such filenames are now handled correctly.
If a :FAST search was initiated using a wildcard family specification that returned more than 9 families, FLEX would die with an INVALID INDEX at 20578400. This problem is now fixed.
If Catalog info is not available, MLCatSearch will try and get it from the Archive. File_Search will now look up Archive info if Catalog info is requested on a :FAST call. This is quite slow because a separate GetStatus is needed for every Title.
File_Search now has a "FAST" option which reads the FAST from the ACCESS/CATALOG, and implements FILE:FAST in Flex Inquiry.
This change support the enhancement to the variable .FILE method to allow access to symbolic and data files. Please see OPAL DNote 510.24 for more information.
This change will cause Flex to return -0 for any variants of the MYSELF attribute which only apply to Supervisor. Ex Myself(CodeVersion)
Small change to Load_Default_Reports to remove Files_Report etc.
This change addresses an inconsistency in the way MCP handles missing files in a LIBMAINTDIR. In tape-tape merging, MERGETAPE uses the COPY #<fileno> syntax to LOAD targeted files from a source tape; <fileno> is used directly from the appropriate file record in the LIBMAINTDIR file, if present.
Unfortunately, MCP does not use this same file number value held in the LIBMAINTDIR file and 'calculates' its own file number. When missing file records are present in a LIBMAINDIR, the MCP will not include these in the file number counting. The result of this means that, for a LIBMAINDIR with missing records, MERGETAPE loads may not actually copy the correct files.
MERGETAPE now uses the MCP numbering mechanism to specify the correct file number for loads instead of using the file number specified in the LIBMAINTDIR.
Corrects further problems selecting CD Image or Disk Farm serial numbers. Unusual combinations of pack volume serial numbers were required to cause the fault.
If volumes existed in the volume library with serial numbers similar to the serial numbers used for CD images or Disk Farms it was possible that the wrong serial number for a new image or farm would be used. Ex. If the prefix for images was CIN and a volume with serial CI0001 existed then CIN000 would be used for an image, even if CIN000 was already in use.
Even when not used for debugging the Catalog, MLGETFASTBLKS was checking the FAST blocks in the first row. Now it will only do so under the DEBUGPAST compile-time option.
This change supports reporting the size of flex tapes in megabytes.
Previously, a FILES command would fail for any Unisys wrapped container whose title conformed to a long file name i.e. any file node with more than 17 characters. FLEX would have truncated the given file name and therefore fail to process the file. This problem is now fixed.
FLEX LIBRARY will now automatically delink from the SURELIB library once a FLEX run has completed. Previously, FLEX LIBRARY would remain permanently connected to SURELIB unless the FLEXLIB library was manually thawed.
If a SYSTEMDIRECTORY/001 directory file had been extended using the EXPAND command, FLEX Inquiry would fail with:
FLEXLIB: I/O error reading CATALOG/DIR
The EXPAND command allows the SYSTEMDIERCTORY file to reserve extra areas to be used for future expansion. In such circumstances, FLEX incorrectly calculated the last valid record number of the file causing it to read past EOF. This problem has now been resolved.
This change fixes several problems with the truncation of file title levels that have more than 17 characters. When handling such files, MCP WARNING 35 was being generated. The affected routines in FLEX/LIBRARY, used primarily by by FLEX Utility, will now handle such files correctly.
A PDT LD or a file search in a LIBMAINTDIR could randomly fail when encountering "NOT COPIED" records.
Supports an option for creating LIBMAINTDIR files when making tapes.
FAMILYMANAGER will now apply the SCRATCHPOOL setting, as provided in its parameter string, instead of unconditionally overriding with the default setting in the RULES file.
FLEX/LIBRARY will now automatically VOLUME DELETE any SCRATCH volumes that were scheduled for use by a FAMILYMANAGER or MERGETAPE CD, CDIMAGE or DISK FARM copy but were not subsequently used. It is not unusual for SCRATCH volumes such as these to appear in the Volume Library for a variety of reasons (e.g. program failure, operator DS) and this mechanism provides a way to keep this structure free of excessive numbers of SCRATCH entries.
The deletion occurs if the creation date of the SCRATCH volume is more than 7 days old. The following message will be seen prior to the VOLUME DELETE:
DELETING EXPIRED UNUSED SCRATCH VOLUME NNNNNN
Earlier releases of FLEX software also created SCRATCH volumes in the Volume Library but did not assign a creation date (a PV response shows the date as UNKNOWN for these entries). Now, when such volumes are detected, FLEX/LIBRARY will assign a creation date of today; this means that these old SCRATCH volumes will be deleted the following week. The message below will be seen:
UPDATING CREATION DATE FOR SCRATCH NNNNNN
Check_LMD is a lower level procedure used by Find_LMD to search for a LIBMAINTDIR. Resources for the deimplemented TAPE7 and TAPE9 tapes are longer calculated.
Several new FLEX attributes, BASEPACKUNIT and PDBASEPACKUNIT, have been implemented allowing the unit number of the base pack of the file family to be returned to the caller. The APL and PDAPL attributes have been deimplemented to support this change.
This change adds a new FLEX attribute, RELEASED, which reflects that a capsule on a PC Disk Farm has been released from that farm. This information can only be retrieved from the LIBMAINTDIR associated with the Disk Farm.
There is a limit on the length of a valid copy statement. Both Mergetape and Familymanager restrict copy statements to that limit. The limit used was six times less than required. It has now been increased to approximately one million to approximately six million characters.
Internal change only.
Previously, the FLEX Inquiry FILES command would only operate correctly for Unisys wrapped containers whose FILEKIND was CONTAINERDATA. However, valid containers with FILEKIND=DATA (e.g. for containers downloaded via the Internet) were not recognised. This behaviour has been corrected.
The CD image file residence checking performed by Flex LIBRARY routines during a FAMILYMANAGER run have been improved. Previously, if a CD image could not be found on the default image family then the associated volume would have been unconditionally marked as DESTROYED. This procedure is used prior to CD image creation during FAMILYMANAGER
operations.
This behaviour has been changed with the implementation of 'Hard Links' (please see FAMILYMANAGER Dnote 500.07 for more details) to alternate image families. FAMILYMANAGER will now mark a CD image volume as DESTROYED if the associated image file is missing AND:
1. The file does NOT have any backup references or its catalog information is invalid.
2. The file has a Hard Link but the linked file is not present on the alternate image family.
MERGETAPE, during a CD image merge, will now verify that all CD image volumes are available; a CD image volume will be omitted from any MERGE process if the associated image file is missing AND:
1. The CD image file does not have a valid Hard Link reference to an alternate image family.
2. A Hard Link reference is present but the specified family is not currently on-line or available.
When either MERGETAPE or FAMILYMANAGER check for CD image file availability, messages may be generated for any of the conditions described above:
IMAGE <Image Name> IS NON-RESIDENT BUT HAS NO HARD LINK
IMAGE <Image Name> NO RESIDENT FILE OR CATALOG ENTRY
IMAGE <Image Name> HAS HARD LINK BUT FILE NON-RESIDENT
IMAGE <Image Name> HAS HARD LINK BUT FILE IS NOT PRESENT
IMAGE <Image Name> HAS HARD LINK BUT FAMILY OFFLINE
Both CD image and Disk Farm volume average MBytes per file will now use better defaults for estimating volume sizes. Previously, these values erroneously defaulted to DLT settings.
Lastly, any output SCRATCH volume entry added by FAMILYMANAGER or MERGETAPE into the Volume Library prior to its use will now have its volume creation information updated with the current data and time. This allows any old volumes to be safely identified if they do not get subsequently used.
This change allows the FEET=0 option in Familymanager to override a non zero default tape feet value.
This change allows Email to be specified for familymanager Reports. The email address is taken from the Email node in the Userdatafile. If no Email node exists for the user then the Email node for the rules manager will be used. If it does not exist then the report type will default to 'printed'.
This change supports Global variables as described in Opal Dnote 500.06
When used in a FLEX Inquiry non-linear (i.e. normal) FILES search, the TRUEBACKUPS cataloging attribute could have returned incorrect values for resident, non-cataloged files. This problem is now fixed.
Find_LMD is used to find a LIBMAINTDIR from the Volume Library, Volume Directory or TRIM volume info.
FLEXLIB will now give better diagnostic display messages when library linkage errors are detected, especially when handling SURELIB requests. With the latter, the name of the current SURELIB will be displayed if the library linkage fails.
The last serial number in a range of available serial numbers was not being allocated. If CI0001 and CI0004 were available then only CI0002 would be reused.
The volume library is now scanned at least one per day to check for serials which might be reused. Previously it was scanned after every 2000 allocations and when Flex Library was restarted.
On systems with both cataloging and archiving entries, it was possible for Flex to return a corrupted file TITLE attribute if the following applied:
1. The file is not resident, not cataloged but has an archive reference.
2. Any catalog attributes such as BACKUPS, BACKUPSERIAL etc. were used in a SELECT or REPORT.
This problem is now fixed.
The Myself attribute now has a new parameter, OpalVersion.
Myself(OpalVersion) returns the version of the Opals compiler used to create this code.
In rare cases, MLCATSEARCH, failed to return some TimeStamp attributes when processing wildcards in the FAMILY. This is now no longer the case as this problem has now been fixed.
Flex Library will now unpack the file info from a LIBMAINTDIR in a similar way to a Wrapped container. As the header is not available, only a few attributes are valid. The new FILENO attribute is now supported for LIBMTDIR, LIBMTTAPE, LIBMTCD, and LIBMTIMAGE searches. The :ATT report has been updated and can now be used with :LIN. Some minor problems in dealing with wrapped files have been fixed.
The :FLAT search can now use an MAINT ALT FLAT directory on a Unisys format ISO CD.
The CATALOGED attribute available in FLEX was not always consistent in the way that it handled resident files. For example, if a resident file had been CATALOG ADDED but had not yet been backed up, FLEX would mistakenly return FALSE instead of TRUE. This anomaly has now been addressed.
Regarding resident files, it should be noted that the DFHCATALOGED attribute is also available to return the status of the catalog bit and may be used for normal GETSTATUS and ':FLAT' searches; however, it use is NOT possible using a ':LINEAR' file search.
This patch supports additional checking, invoked by FAMILYMANAGER and also MERGETAPE, to determine if the RULES file has been setup correctly and a Rules manager usercode is available. Please see FAMILYMANAGER Dnote 490.04 for more details.
Both the FAMILYMANAGER and MERGETAPE utilities would fault with an INVALID INDEX @ 038:008A:3 if CATALOGING was enabled on the system but there were no disks or other media in the VOLUME LIBRARY. This problem is now fixed; both these utilities will now provide informational messages in future.
Previously, it was possible for FAMILYMANAGER to fault with an INVALID INDEX @ 567735250 when building the internal table of scratch volume serial numbers for use by CD, CD image and disk farms backup. This problem, caused by the presence of an existing high-number serial number in the volume library for any of the backup types, is now fixed.
Internal change to support the new Flex CONTAINER attribute as documented in OPAL Dnote 490.04.
This patch supports the controlled removal of LOCKEDFILES loaded by MERGETAPE to a work pack during a family merge. Other file removal routines in Metalogic software are unaffected.
FLEX will now display the appropriate library function name when a call to the OPALUSERLIB, OPALTAPELIB or SURELIB libraries fail. Previously, the OPALUSERLIB library would have always been considered to be the culprit.
This change adds more support for backing up and restoring using CopyWrite disk farms.
It also adds code to allow CD/CDimage and Disk farm serial numbers to be reused.
A Files (*)= IN <container> failed with a DIVIDE BY ZERO fault if there was a file with a Long Disk File Header in the Wrapped Container.
The Copywrite image residence check discussed in Dnote 480.09 did not check if the volume had already been marked as destroyed either manually or in a prior FAMILYMANAGER run. This behaviour has been corrected.
If a Flex tape, CD or CD image was marked as DESTROYED in the Volume Library or assigned as BAD BACKUp in the Statistics files, FAMILYMANAGER is meant to re-backup any of the resident files that were present on the damaged media. Unfortunately, this mechanism was only working correctly for tape media, CD and CD image volumes would be ignored. This problem is now fixed.
Also, during FAMILYMANAGER runs that create Copywrite disk images, FAMILYMANAGER will now verify that all disk containers found in the Volume Library are present on the image family. If any containers are missing, each will be marked as DESTROYED in the Volume Library and any resident files that had been backed up on the missing image will be reprocessed. FAMILYMANAGER will generate appropriate display messages when such containers are found.
Recent changes to Familymanager meant that any value specified in the FEET parameter was ignored, the tape length being taken from the 'defaults' value. This problem has been corrected.
The FLEX LIBRARY entrypoint used to provide the FAMILYMANAGER program with backup parameters will not update the callers DENSITY value if it is already non-zero. This change enables FAMILYMANAGER better control of its backup parameters if the default backup density is overridden by the site.
This change supports Opal Version 480.19 which allows longer strings and protects against attempts to extend string beyond their limit.
This change is to support Familymanager and Mergetape copying to CopyWrite Disk Farms.
Files <pattern> MT <unit> on a non Library/Maintenance tape calls CopyWrite to return the Disk File Headers.
After the re-RC of a VSS-2 disk, it was possible for FLEX to incorrectly process the last row of the system directory using the :FLAT option. This could cause ghost entries from the old directory to be detected during a :FLAT scan. This problem was caused by FLEX miscalculating the size of the row in a VSS-2 disk and is now fixed.
This patch only changes the version to 48. version 470.13 is still valid for MCP 48.
Implement support for "Files AT <hostname>" command in Flex Inquiry.
When running the command FILES :ACT on a directory containing long file names and on a non cataloging system, errors could occur. Sometimes Flex would fault, other times corrupted file names were returned.
This problem, which was because MCP 48.1 now holds creation date as a packed integer in the volume library entry, is now resolved.
FLEX will now recognise SYSTEMDIRECTORY files on VSS2 disk packs. Previously, FLEX Inquiry would have given an error when handling file requests that used the FLAT option.
If FLEX was using the :FLAT option, the SECURITYUSE attribute would consistently return incorrect mnemonic values although non-FLAT runs would be fine. This problem is now fixed.
This patch uses the DMTIMESTAMP File Attribute to access NEXTROW info for use in :FL or :LIN. :FL searches against GETSTATUS copied directories should now work. Some old development code has been eliminated. The source for FLEX/LIBRARY is thereby reduced more than 500 cards.
This change provides support for returning the header to callers for use by GETHEADERATTRIBUTE, as detailed in GSTABLEGEN 460.07.
The FILE ... IN ... command can now be used with Wrapped containers.
FILES = IN WRAPPED/BOB Would return all files in the container with the Usercode which Flex is running from.
FILES *= IN WRAPPED/BOB would return all non Usercoded files.
FILES (*)= IN WRAPPED/BOB would return all files.
These and all other wild card patterns are valid, As is any selection expression or report.
If the Error FLEXLIB: Invalid Container or Image is displayed then running Flex with the debug option set and retrying the command will cause an additional display with more detail of the problem.
Ex U FLEX; Option Debug
The standard reports are now present in code form, not symbolic as before. On an NX4200, this change reduced the CPU Time of Library initialization from 40 seconds to 2 seconds, and core used from 55000 words to 9000. The FLEX/LIBRARY source is now 2500 lines shorter.
MYSELF(WIDTH) returns the current page width. MYSELF(PAGESIZE) returns the current number of lines per page. They return 0 if no output medium is defined.
The previous default value for Rules Threshold was 17%. This could cause problems if Familymanager was run on a new family before any shares had been assigned. The default is now 0% meaning that no limits will be applied unless specifically requested by setting RULES THRESHOLD for the family.