dm_remove_dmattr_nosync

Asynchronously removes the specified attribute.

Synopsis

int dm_remove_dmattr_nosync(
    dm_sessid_t      sid,
    void            *hanp,
    size_t           hlen,
    dm_token_t       token,
    int              setdtime,
    dm_attrname_t   *attrnamep
);

Description

Use the dm_remove_dmattr_nosync function to asynchronously remove the attribute specified by attrname.

dm_remove_dmattr_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_remove_dmattr 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 file for which the attributes should be removed.
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.
int setdtime (IN)
If setdtime is non-zero, updates the file's attribute time stamp.
dm_attrname_t *attrnamep (IN)
The attribute to be removed.

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.
[EIO]
I/O error resulted in failure of operation.
[ENOSYS]
The DMAPI implementation does not support this optional function.
[EPERM]
The caller does not hold the appropriate privilege.
[EROFS]
The operation is not allowed on a read-only file system.

See also

dm_set_dmattr_nosync, dm_sync_dmattr_by_handle