02.12.2012 Views

OpenVMS Cluster Systems - OpenVMS Systems - HP

OpenVMS Cluster Systems - OpenVMS Systems - HP

OpenVMS Cluster Systems - OpenVMS Systems - HP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Preparing a Shared Environment<br />

5.4 <strong>Cluster</strong>wide Logical Names<br />

As soon as consistency is reestablished, the processing of clusterwide logical<br />

name operations resumes.<br />

5.4.7 Using <strong>Cluster</strong>wide Logical Names in Applications<br />

The $TRNLNM system service and the $GETSYI system service provide<br />

attributes that are specific to clusterwide logical names. This section describes<br />

those attributes. It also describes the use of $CRELNT as it pertains to<br />

creating a clusterwide table. For more information about using logical names in<br />

applications, refer to the <strong>OpenVMS</strong> Programming Concepts Manual.<br />

5.4.7.1 <strong>Cluster</strong>wide Attributes for $TRNLNM System Service<br />

Two clusterwide attributes are available in the $TRNLNM system service:<br />

• LNM$V_CLUSTERWIDE<br />

• LNM$M_INTERLOCKED<br />

LNM$V_CLUSTERWIDE is an output attribute to be returned in the itemlist<br />

if you asked for the LNM$_ATTRIBUTES item for a logical name that is<br />

clusterwide.<br />

LNM$M_INTERLOCKED is an attr argument bit that can be set to ensure<br />

that any clusterwide logical name modifications in progress are completed before<br />

the name is translated. LNM$M_INTERLOCKED is not set by default. If your<br />

application requires translation using the most recent definition of a clusterwide<br />

logical name, use this attribute to ensure that the translation is stalled until all<br />

pending modifications have been made.<br />

On a single system, when one process modifies the shareable part of the logical<br />

name database, the change is visible immediately to other processes on that node.<br />

Moreover, while the modification is in progress, no other process can translate or<br />

modify shareable logical names.<br />

In contrast, when one process modifies the clusterwide logical name database,<br />

the change is visible immediately on that node, but it takes a short time for the<br />

change to be propagated to other nodes. By default, translations of clusterwide<br />

logical names are not stalled. Therefore, it is possible for processes on different<br />

nodes to translate a logical name and get different equivalence names when<br />

modifications are in progress.<br />

The use of LNM$M_INTERLOCKED guarantees that your application will<br />

receive the most recent definition of a clusterwide logical name.<br />

5.4.7.2 <strong>Cluster</strong>wide Attribute for $GETSYI System Service<br />

The clusterwide attribute, SYI$_CWLOGICALS, has been added to the $GETSYI<br />

system service. When you specify SYI$_CWLOGICALS, $GETSYI returns the<br />

value 1 if the clusterwide logical name database has been initialized on the CPU,<br />

or the value 0 if it has not been initialized. Because this number is a Boolean<br />

value (1 or 0), the buffer length field in the item descriptor should specify 1 (byte).<br />

On a nonclustered system, the value of SYI$_CWLOGICALS is always 0.<br />

5.4.7.3 Creating <strong>Cluster</strong>wide Tables with the $CRELNT System Service<br />

When creating a clusterwide table, the $CRELNT requester must supply a table<br />

name. <strong>OpenVMS</strong> does not supply a default name for clusterwide tables because<br />

the use of default names enables a process without the SYSPRV privilege to<br />

create a shareable table.<br />

Preparing a Shared Environment 5–11

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!