dm_set_eventlist_nosync

Asynchronously sets the list of events to be enabled for an object.

Synopsis

int dm_set_eventlist_nosync(
    dm_sessid_t      sid,
    void            *hanp,
    size_t           hlen,
    dm_token_t       token,
    dm_eventset_t   *eventsetp,
    u_int            maxevent
);

Description

Use the dm_set_eventlist_nosync function to asynchronously set the list of events to be enabled for an object.

dm_set_eventlist_nosync is a GPFS-specific DMAPI function; it is not part of the open standard. It has the same purpose, parameters, and return values as the standard DMAPI dm_set_eventlist function, except that the update that it performs is not persistent until some other activity on that file (or on other files in the file system) happens to flush it to disk. To be certain that your update is made persistent, use one of the following functions:
  • Standard DMAPI dm_sync_by_handle function, which flushes the file data and attributes
  • GPFS-specific dm_sync_dmattr_by_handle function, which flushes only the attributes.

Parameters

dm_sessid_t sid (IN)
The identifier for the session of interest.
void *hanp (IN)
The handle for the object. The handle can be either the system handle or a file handle.
size_t hlen (IN)
The length of the handle in bytes.
dm_token_t *token (IN)
The token referencing the access right for the handle. The access right must be DM_RIGHT_EXCL, or the token DM_NO_TOKEN may be used and the interface acquires the appropriate rights.
dm_eventset_t *eventsetp (IN)
The list of events to be enabled for the object.
u_int maxevent (IN)
The number of events to be checked for dispositions in the event set. The events from 0 to maxevent-1 are examined.

Return values

Zero is returned on success. On error, -1 is returned, and the global errno is set to one of the following values:
[EACCES]
The access right referenced by the token for the handle is not DM_RIGHT_EXCL.
[EBADF]
The file handle does not refer to an existing or accessible object.
[EFAULT]
The system detected an invalid address in attempting to use an argument.
[EINVAL]
The argument token is not a valid token.
[EINVAL]
The session is not valid.
[EINVAL]
Tried to set event on a global handle.
[ENOMEM]
The DMAPI could not acquire the required resources to complete the call.
[ENXIO]
The implementation of the DMAPI does not support enabling event delivery on the specified handle.
[EPERM]
The caller does not hold the appropriate privilege.
[EROFS]
The operation is not allowed on a read-only file system.

See also

dm_sync_dmattr_by_handle