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.