NAMEgrio_bind - bind an open file descriptor to a GRIO stream
C SYNOPSIS
#include <grio2.h>
int grio_bind(grio_descriptor_t fd, grio_stream_id_t *stream_id);
cc ... -lgrio2
PARAMETERS
fd An open file descriptor.
stream_id The stream ID of an active GRIO stream.
DESCRIPTIONgrio_bind binds an open file descriptor to a GRIO stream. Once bound, all
I/O to or from the file descriptor will receive the Quality-of-Service
(QoS) guarantees of the stream.
Multiple file descriptors may be bound to the same stream, in which case
the guarantees of the stream apply to the aggregate of the I/O to or from
all of the file descriptors. GRIO schedules I/O from multiple file
descriptors to the same stream in FIFO order.
Binding a file descriptor increments the reference count of a stream by
1. The file descriptor remains bound to the stream until it is either
closed or explicitly unbound with grio_unbind(3X).
The file descriptor must be capable of GRIO I/O. That is, it must refer
to an open file on an XFS or CXFS filesystem and be configured for direct
I/O.
DIAGNOSTICS
On success, 0 is returned and the file descriptor is bound to the stream.
Subsequent I/O will receive the QoS guarantees of the stream. If the file
descriptor can't be bound, -1 is returned and errno is set to indicate
the error. The following error codes are defined:
EBADF Bad file descriptor.
EIO The library could not communicate with ggd2.
ENOENT The specified stream does not exist.
EPERM The process does not have root permissions or CAP_DEVICE_MGMT
privilege.
FILES
/etc/griotab
SEE ALSOgrio2(5), grio_avail(3X), grio_get_stream(3X), grio_modify(3X),
grio_release(3X), grio_reserve(3X), grio_unbind(3X)
Page 1