Events arrive on a session queue from any of the nodes in the GPFS nodeset. The source node of the event is identified by the ev_nodeid field in the header of each event message in the structure dm_eventmsg. The identification is the SDR node number (attribute node_number in the SDR).
Data Management events are generated if and only if the following two conditions hold:
A file operation will fail with the EIO error if there is no disposition for an event that is enabled and would otherwise be generated.
A list of enabled events can be associated individually with a file and globally with an entire file system. The XDSM standard leaves undefined the situation where the individual and the global event lists are in conflict. In GPFS, such conflicts are resolved by always using the individual event list, if it exists.
In GPFS, event lists are persistent.
Event dispositions are specified per file system and are not persistent. They must be set explicitly after the session is created.
Event generation mechanisms have limited capacity. In case resources are exceeded, new file operations will wait indefinitely for free resources.
File operations wait indefinitely for a response from synchronous events. The GPFS configuration option, dmapiEventTimeout, can be used to set a time-out on events that originate from DFS or NFS file operations. This is necessary since DFS and NFS have a limited number of server threads that cannot be blocked for long periods of time. Refer to "GPFS configuration options for DMAPI" and "Support for DFS and NFS".
The XDSM standard permits asynchronous events to be discarded at any time. In GPFS, asynchronous events are guaranteed when the system runs normally, but may be lost during abnormal conditions, such as failure of GPFS on the session node. Asynchronous events are delivered in a timely manner. That is, an asynchronous event is enqueued to the session before the corresponding file operation completes.
Figure 1, on page 7, shows the flow of a typical synchronous event in a multi-node GPFS environment. The numbered arrows in the figure correspond to the following steps:
Figure 1. Flow of a Typical Synchronous Event in Multinode GPFS
View figure.