NAMEgrio_avail - query remaining bandwidth on a GRIO managed filesystem
C SYNOPSIS
#include <grio2.h>
int grio_avail(
const char *fs,
grio_off_t *bytes, grio_msecs_t *msecs);
cc ... -lgrio2
PARAMETERS
fs A path identifying the target filesystem.
bytes, msecs
The available bandwidth expressed as the ratio bytes per msecs.
DESCRIPTIONgrio_avail returns the amount of guaranteed rate bandwidth still
available on the specified filesystem.
The returned bandwidth is the qualified bandwidth of the filesystem minus
bandwidth reserved for active GRIO streams and any bandwidth statically
allocated for non-GRIO I/O using the -m option to ggd2. Refer to ggd2(1M)
While ggd2 temporarily allows unreserved bandwidth to be used for
servicing non-GRIO I/O, this bandwidth is reclaimed when a GRIO
reservation is received, and is therefore considered to be available.
fs must be either the mount point of the filesystem, or the device
special file on which it is located.
The available bandwidth is returned in the parameters bytes and msecs.
msecs is referred to as the reservation interval. The GRIO implementation
may use this parameter to provide a hint to user applications about the
performance characteristics of the GRIO scheduler. Applications must not
rely on msecs being any particular value, and should always normalize the
returned bandwidth by computing the ratio bytes per msecs.
DIAGNOSTICS
On success, 0 is returned and bytes and msecs contain the bandwidth
currently available from the filesystem. Otherwise -1 is returned and
errno is set to indicate the error. The following error codes are
defined:
EIO The library could not communicate with ggd2.
EINVAL An argument was invalid.
EPERM The process does not have root permissions or CAP_DEVICE_MGMT
privilege.
Page 1
grio_avail(3X)grio_avail(3X)FILES
/etc/griotab
SEE ALSOgrio2(5), grio_bind(3X), grio_get_stream(3X)grio_modify(3X),
grio_release(3X), grio_reserve(3X), grio_unbind(3X)
Page 2