Document revision date: 9 May 2001

## OpenVMS Version 7.3 Release Notes

Previous | Contents | Index

## 5.18 Volume Shadowing for OpenVMS

The following release notes pertain to Volume Shadowing for OpenVMS.

### 5.18.1 Minicopy Version Required on All Nodes

7.3

OpenVMS Alpha Version 7.3 introduces minicopy support in Compaq Volume Shadowing for OpenVMS.

To use this new feature of volume shadowing in an OpenVMS Cluster system, OpenVMS Version 7.3, or an upgrade to OpenVMS Version 7.2--xx that will contain this support, must be installed on every node. This restriction also pertains to all storage controllers, such as the HS121, that use OpenVMS to serve disks.

The upgrade to OpenVMS Version 7.2--xx that will include minicopy support is expected to be available soon after the release of OpenVMS Version 7.3.

### 5.18.2 Multipath HSG/HSZ Disk Partitions and Volume Shadowing Restriction

V7.3

A partition of a multipath disk on an HSG80, HSG60, HSZ80, or HSZ70 controller can be used as a member of a host-based volume shadow set (HBVS) if and only if that disk is used exclusively for that partition. Specifically, the remaining space on the partitioned disk cannot be used for another logical unit that is accessed concurrently with the partition that is an HBVS member.

Failure to adhere to this restriction can result in:

- Problems mounting the shadow set
- Reduced data availability due to the unexpected removal of shadow set members

Compaq expects to remove this restriction in the future.

### 5.18.3 Dismount of Client Using /MINICOPY; First Dismount Might Fail

V7.3

In an OpenVMS Cluster configuration, when a member of a shadow set is dismounted on a client and the minicopy qualifier is specified, the first DISMOUNT command might fail.

Workaround

If the first DISMOUNT command fails, repeat the command, as shown in the following example:

    $SHOW DEVICE DSA5555
    Device                  Device           Error    Volume         Free  Trans Mnt
     Name                   Status           Count     Label        Blocks Count Cnt
    DSA5555:                Mounted              0  $80$DKA107:    7994646     1  18
    $80$DKA107:    (WILD3)  ShadowSetMember      0  (member of DSA5555:)
    $80$DKA302:    (WILD3)  ShadowSetMember      0  (member of DSA5555:)
    $80$DKA303:    (WILD3)  ShadowSetMember      0  (member of DSA5555:)
    $
    $
    $DISMOUNT/POLICY=MINICOPY $80$DKA302:
    %DISM-W-CANNOTDMT, $80$DKA302: cannot be dismounted
    %DISM-F-SRCMEM, only source member of shadow set cannot be dismounted
    $
    $
    $DISMOUNT/POLICY=MINICOPY $80$DKA302:
    $

This problem will be corrected in a future release.

### 5.18.4 SHADOW_MAX_UNIT Settings

V7.3

OpenVMS Alpha Version 7.3 introduces minicopy support in Volume Shadowing for OpenVMS.

As part of the minicopy functionality, a new volume shadowing system parameter, SHADOW_MAX_UNIT, is provided for specifying the maximum number of shadow sets that can exist on a node. The default value on OpenVMS Alpha systems is 500; on OpenVMS VAX systems, the default is 100. This system parameter is not dynamic; a reboot is required to make the change take effect.

Caution Review carefully the default settings of SHADOW_MAX_UNIT for your configuration. Dismounted shadow sets, unused shadow sets, and shadow sets with no write bitmaps allocated to them are included in this total. The setting must be equal to or greater than the number of shadow sets you plan to have on a system. Any MOUNT command that attempts to create more than the maximum specified by SHADOW_MAX_UNIT fails.

Note that this parameter does not affect the naming of shadow sets. For example, with the default value of 100, a device name such as DSA999 is still valid.

### 5.18.5 SHADOW_MAX_COPY VAX Setting for Using Minicopy in Mixed-Architecture Cluster

V7.3

OpenVMS Version 7.3 supports minicopy on standalone Alpha systems, in an OpenVMS Cluster system consisting entirely of Alpha systems, and in a mixed-architecture OpenVMS Cluster system consisting of Alpha and VAX systems. It is possible, although highly unlikely, in a mixed-architecture cluster that a VAX system could be assigned the task of adding a member to a shadow set. Because a VAX system cannot perform a minicopy, it would perform a full copy.

To prevent this from happening, Compaq advises you to set the SHADOW_MAX_COPY system parameter to 0 on any VAX systems in the cluster if you intend to use this new minicopy feature.

### 5.18.6 HSD10 Virtual Disks

V7.1

The HSD10 controller supports a virtual disk capability by partitioning physical disks. To prevent data corruption, do not use OpenVMS Volume Shadowing to create shadow sets using HSD10 virtual disks.

## Chapter 6
Programming Release Notes

This chapter provides release notes about both application and system programming on OpenVMS systems.

For information about new programming features included in OpenVMS Version 7.3, refer to the OpenVMS Version 7.3 New Features and Documentation Overview.

## 6.1 Backup API

This section contains release notes pertaining to the Backup application programming interface (API).

### 6.1.1 Unexpected Informational Message

V7.2

The Backup API may return an incorrect exit status, BACKUP-I-INCONQUALS, and display an informational message after the backup completes. The backup will, however, proceed as normal.

The following BCK_OPT_K_BEFORE_TYPE and BCK_OPT_K_SINCE_TYPE flags have been removed. If one or more of these flags is used, the informational message may be displayed.

> BCK_OPTYP_BEFORE_K_CREATED
> BCK_OPTYP_BEFORE_K_EXPIRED
> BCK_OPTYP_BEFORE_K_MODIFIED
> BCK_OPTYP_BEFORE_K_SPECIFIED
> BCK_OPTYP_SINCE_K_CREATED
> BCK_OPTYP_SINCE_K_EXPIRED
> BCK_OPTYP_SINCE_K_MODIFIED
> BCK_OPTYP_SINCE_K_SPECIFIED

### 6.1.2 Journaling Callback Events Restriction

V7.1

If an application registers a callback routine for any of the journaling events, it must register a callback routine for all the journaling callback events. The following is a list of the journaling callback events:

> BCK_EVENT_K_JOURNAL_OPEN
> BCK_EVENT_K_JOURNAL_WRITE
> BCK_EVENT_K_JOURNAL_CLOSE

This is a permanent restriction.

See the Backup API chapter in the OpenVMS Utility Routines Manual for more information on registering callback routines.

### 6.1.3 Repetitive Calls to BACKUP$START Can Cause an Error

V7.1

Repetitive calls to BACKUP$START can cause the following error:

    %BACKUP-F-INSBUFSPACE, insufficient buffer space

The number of repetitive calls completed before receiving this error varies, depending on the previous backup operations performed.

The workaround for an application that receives this error is to exit the operation and restart.

## 6.2 Batch and Print Queues---Terminating Executing Batch Jobs

V6.2

Under the following conditions, the DELETE/ENTRY command may fail to stop an executing batch job:

- The batch job is a DCL command procedure.
- There is an ON ERROR CONTINUE command (or SET NOON command) within the command procedure.

The DELETE/ENTRY command causes the job to terminate in phases. A delete_process AST routine is given in user mode, supervisor mode, and then executive mode. Because there is a small delay between each mode, it is possible that, in a batch job, a user-mode image may terminate, and the command procedure may continue to execute until the supervisor-mode delete_process AST routine is executed.

The return status of the SYNCHRONIZE command is assumed to contain the termination status of the target batch job. In addition, command procedures would normally execute a command such as $ON ERROR THEN CONTINUE or $SET NOON before issuing the SYNCHRONIZE command. If a DELETE/ENTRY command is issued to the job executing the SYNCHRONIZE command, the JBC$_JOBABORT is interpreted as being the termination status of the target batch job rather than a return status of the SYNCHRONIZE command. The command procedure then continues to execute for a short period with this incorrect assumption and performs an operation such as requeuing the target batch job or incorrectly reporting a failure of the target batch job.

This problem has been corrected for the SYNCHRONIZE command by detecting this situation and waiting in an exit handler for longer than the delay between the user-mode and supervisor-mode termination delay.

Any other images that would report the job completion status obtained by the SJC$_SYNCHRONIZE_JOB function code of the $SNDJBC system service as the return status of the program should implement logic similar to the following:

1. Declare an exit handler.
2. In the exit handler, implement the following logic:

       IF (exit status is JBC$_JOBABORT)
       THEN
           Wait 10 seconds
       ENDIF

## 6.3 COM for OpenVMS (Alpha Only)

V7.3

For release notes about COM for OpenVMS, see the OpenVMS Connectivity Developer Guide, which is installed as part of the COM for OpenVMS installation process. That document is available in PostScript, HTML, and PDF formats.

The OpenVMS Connectivity Developer Guide is also available from the OpenVMS website at the following location:

http://www.openvms.compaq.com/openvms/products/dcom/

## 6.4 Compaq Ada Run-Time Library

This section contains release notes pertaining to the Compaq Ada Run-Time Library.

### 6.4.1 OpenVMS Text Libraries Containing Ada Declarations

V7.2

The following OpenVMS text libraries are optional Ada bindings for STARLET:

> SYS$LIBRARY:STARLET_RECENT_ADA_SUBSET.TLB
> SYS$LIBRARY:LIB_ADA_SUBSET.TLB

These bindings are not supplied in the Compaq Ada V3.5A Predefined Library (which was last updated for OpenVMS V7.1).

These bindings are not supported by Compaq Ada.

### 6.4.2 Unexpected Storage Errors (Alpha Only)

V7.0

In OpenVMS Alpha Version 7.0 and later, binary compatibility fails for some Compaq Ada programs that make incorrect assumptions about the amount of task space used by Compaq Ada tasks. If a task receives a storage error that it did not previously receive, you may need to add a length clause specifying the storage size for the task. If you already use a length clause, you may need to increase the amount of storage specified. This is necessary only in cases where the specified size (or default size) is not large enough for the task's execution.

### 6.4.3 AST Procedures No Longer Receive Access Violations

V7.2

Compaq Ada written AST procedures used to receive access violations if the AST that invoked them occurred when the null thread or a non-Compaq Ada thread was running.

The workaround (rewrite the program to use a task entry point that has pragma AST_ENTRY on it) is no longer necessary.

## 6.5 Compaq C Run-Time Library

The following sections contain release notes pertaining to the Compaq C Run-Time Library (RTL).

### 6.5.1 The strptime Function Is Now XPG5 Compliant

V7.3

The `strptime` function has been modified to be compliant with X/Open CAE Specification System Interfaces and Headers Issue 5 (commonly known as XPG5). The change for XPG5 is in how the `strptime` function processes the "%y" directive for a two-digit year within the century if no century is specified.

When a century is not specified, XPG5 requires that values for the "%y" directive in the range of 69 through 99 refer to years in the twentieth century (1969 through 1999), while values in the range of 00 through 68 refer to years in the twenty-first century (2000 through 2068). Essentially, for the "%y" directive, `strptime` became a "pivoting" function, with 69 being a pivoting year.

Before this change, the `strptime` function interpreted a two-digit year with no century specified as a year in the twentieth century.

With OpenVMS Version 7.3, XPG5-compliant `strptime` becomes a default `strptime` function in the Compaq C RTL. However, the previous nonpivoting XPG4-compliant `strptime` function is retained for compatibility.

The pivoting is controlled by the DECC$XPG4_STRPTIME logical name. To use the nonpivoting version of `strptime` , do either of the following:

- Define DECC$XPG4_STRPTIME to any value before invoking the application.
- Call the nonpivoting `strptime` directly as the function `decc$strptime_xpg4` .

### 6.5.2 The times and clock Functions Are Now AST Reentrant

V7.3

The `times` and `clock` functions are now AST reentrant.

Before this change, the `times` and `clock` functions belonged to the class of functions that are threadsafe but not AST reentrant. (See the section about multithread restrictions in the Compaq C Run-Time Library Reference Manual for OpenVMS Systems.)

### 6.5.3 Limitation of Eight Nested Directory Levels Is Lifted (Alpha Only)

V7.3

The Compaq C RTL I/O subsystem is enhanced to remove the restriction of eight nested directory levels for an ODS-5 device. This affects Compaq C RTL functions such as `access` , `mkdir` , `opendir` , `rmdir` , and `stat` .

### 6.5.4 Long OpenVMS Style File Names Accepted as Arguments (Alpha Only)

V7.3

For OpenVMS Alpha Version 7.2, some basic Compaq C RTL I/O functions ( `creat` , `stat` , and the functions from the open family of functions) were enhanced to accept long OpenVMS style file names for an ODS-5 device.

For OpenVMS Alpha Version 7.3, all other Compaq C RTL functions, except `chdir` and the functions from the `exec` family of functions, are also enhanced to accept long OpenVMS style file names for an ODS-5 device.

### 6.5.5 Case Preservation Supported in File Names (Alpha Only)

V7.3

The Compaq C RTL is enhanced to support case preservation in file names for an ODS-5 device. This feature must be explicitly enabled by the user. See the OpenVMS Version 7.3 New Features and Documentation Overview for more details.

### 6.5.6 Exact Case argv Arguments Supported (Alpha Only)

V7.3

The Compaq C RTL is enhanced to preserve the case of the arguments specified on the command line ( `argv` arguments). This feature must be explicitly enabled by the user. See the OpenVMS Version 7.3 New Features and Documentation Overview for more details.

### 6.5.7 Opening Files for Shared Access

V7.3

The Compaq C RTL is enhanced to open all files for shared access as if the "shr=del,get,put,upd" option was specified in the `open*` or `creat` call. This feature must be explicitly enabled by the user. See the OpenVMS Version 7.3 New Features and Documentation Overview for more details.

### 6.5.8 Alternate Way to Translate UNIX File Specifications

V7.3

The Compaq C RTL is enhanced to allow the interpretation of the leading part of a UNIX style file specification as either a subdirectory name or a device name.

If a certain feature-test logical name is set, the Compaq C RTL translates a `foo/bar` UNIX style name to the `[.foo]bar` OpenVMS style name and not to the `foo:bar` name, which was the only translation in previous versions of OpenVMS. See the OpenVMS Version 7.3 New Features and Documentation Overview for more details.

### 6.5.9 Internationalization Support

V7.3

The name of the save set for the I18N (internationalization) kit for OpenVMS Version 7.3 is VMSI18N073. To install this save set, follow the standard OpenVMS installation procedures, using the save set name as the name of the kit. See OpenVMS Version 7.3 Software Developer Toolkit CD--ROM Guide for the location and name of the save set.

### 6.5.10 New Functions

V7.3

The Compaq C RTL has added the following functions in OpenVMS Version 7.3:

    fchown         hsearch_r
    hcreate        link
    hcreate_r      utime
    hdestroy       utimes
    hdestroy_r     writev
    hsearch

### 6.5.11 New LINK Command for Linking /NOSYSSHR (VAX Only)

V7.3

The LINK command for linking /NOSYSSHR on OpenVMS VAX systems is now:

    $ LINK/NOSYSSHR PROG, SYS$LIBRARY:DECCRTL.OLB/INCLUDE=(CMA$TIS,CMA$TIS_VEC)/LIB

Previously, the LINK command was:

    $ LINK/NOSYSSHR PROG, SYS$LIBRARY:DECCRTL.OLB/INCLUDE=CMA$TIS/LIB

### 6.5.12 The select Socket Function Returns Failure for Invalid File Descriptor

V7.3

The `select` function has been corrected to return failure status if either an invalid file descriptor ( `errno` set to EBADF) or a file descriptor not associated with a socket ( `errno` set to ENOTSOCK) is found in one of the specified file descriptor sets. In either event, and in conformance with the standard, `select` now stops processing and performs no operation.

Note that failure with `errno` set to EBADF is the standard requirement for the `select` function. Failure with `errno` set to ENOTSOCK has been added as a more informative value because currently the `select` function can operate only on sockets.

In previous versions of the C RTL, `select` set `errno` to EBADF or ENOTSOCK but ignored invalid file descriptors and file descriptors not associated with sockets and continued to process the remaining valid file descriptors. You can choose this old behavior by defining the logical name DECC$SELECT_IGNORES_INVALID_FD to any value before invoking the application.

## 6.6 Compaq COBOL Run-Time Library (Alpha Only)

The following sections contain release notes pertaining to the Compaq COBOL Run-Time Library (RTL) for OpenVMS Alpha (formerly named DEC COBOL and DIGITAL COBOL).

### 6.6.1 New Routines to Support Y2K Intrinsic Functions

V7.3

This RTL now provides support for five new intrinsic functions with four-digit year formats:

> YEAR-TO-YYYY
> DATE-TO-YYYYMMDD
> DAY-TO-YYYYDDD
> TEST-DATE-YYYYMMDD
> TEST-DAY-YYYYDDD

### 6.6.2 Performance Improvements

V7.3

The RTL performance is improved for DISPLAY redirected to a file and with programs compiled with /MATH=CIT3 and /MATH=CIT4.

### 6.6.3 RTL Compatibility with Programs Linked Against Older Version

V7.3

RTL compatibility with programs linked against the V2.4 TIMA RTL and V2.5 RTL has been restored in these areas:

> ACCEPT FROM DATE YYYYMMDD
> ACCEPT FROM DAY YYYYDDD
> /MATH=CIT3 (/SWITCH=DC_USE_CIT3 with V2.4 TIMA)

Any program that uses any of these features and has been linked against the older V2.6 RTLs (DEC$COBRTL V2.6-467 or V2.6-470) must be relinked against DEC$COBRTL V2.6-496 or higher. If you do not relink, the programs fail at run time, possibly with incorrect results. If you have not previously installed COBORTL026 and linked any programs with V2.6, you have no programs to relink. Also, programs that do not use the features previously listed do not need to be relinked.

### 6.6.4 UNSTRING with /NATIONALITY=JAPAN

V7.3

The RTL now correctly handles UNSTRING with /NATIONALITY=JAPAN and PIC N source strings. Previously, the RTL would incorrectly match a delimiter that started on an even byte offset within a source string.

### 6.6.5 ON SIZE ERROR Support

V7.3

RTL handling of ON SIZE ERROR is now more compatible with Compaq COBOL for OpenVMS VAX.

### 6.6.6 READ PRIOR Support

V7.3

The RTL now correctly handles READ PRIOR with RFAs exceeding a signed longword.

## 6.7 Compaq COBOL Run-Time Library (VAX Only)---New Routines to Support Y2K Intrinsic Functions

V7.3

This release note pertains to the Compaq COBOL Run-Time Library (RTL) for OpenVMS VAX (formerly named VAX COBOL and DIGITAL VAX COBOL). The RTL now provides support for five new intrinsic functions with four-digit year formats:

> YEAR-TO-YYYY
> DATE-TO-YYYYMMDD
> DAY-TO-YYYYDDD
> TEST-DATE-YYYYMMDD
> TEST-DAY-YYYYDDD

## 6.8 Compaq Distributed Computing Environment (DCE) for OpenVMS

This section contains important release notes for existing users of Compaq Distributed Computing Environment (DCE) for OpenVMS VAX and OpenVMS Alpha.

Remote procedure call (RPC) functionality was integrated into the operating system beginning with OpenVMS Version 7.2. As of OpenVMS Version 7.2-1, NT Lan Manager (NTLM) security has been available in RPC calls. For more information about RPC functionality, refer to the Compaq DCE for OpenVMS VAX and OpenVMS Alpha Reference Guide.

Caution Do not install Compaq DCE for OpenVMS Version 1.4 on OpenVMS Version 7.2 or higher. Doing so will overwrite the new RPC files with those from Version 1.4. This problem does not occur with Compaq DCE for OpenVMS Version 1.5 or Version 3.0.

For more information about Compaq DCE for OpenVMS, refer to the following documentation:

- Compaq DCE for OpenVMS VAX and OpenVMS Alpha Installation and Configuration Guide (order number AA-PV4CD-TE)
- Compaq DCE for OpenVMS VAX and OpenVMS Alpha Product Guide (order number AA-PV4FD-TE)
- Compaq DCE for OpenVMS VAX and OpenVMS Alpha Reference Guide (order number AA-QHLZA-TE)

Previous | Next | Contents | Index

| privacy and legal statement |
6637PRO_007.HTML