qfs_lio_read, qfs_lio_write, qfs_lio_poll, qfs_lio_wait - Issues list I∕O or waits for listio.
cc
[flag …] file …
-L∕opt∕SUNWsamfs∕lib
-R∕opt∕SUNWsamfs∕lib
-lsam [
library …]
#include "∕opt∕SUNWsamfs∕include∕listio.h"
int qfs_lio_init(qfs_lio_handle_t *
hdl);
int qfs_lio_read(int
fd,
int
mem_list_count, void *
mem_addr, size_t *
mem_count,
int
file_list_count, offset_t *
file_off, offset_t *
file_len,
qfs_lio_handle_t *
hdl);
int qfs_lio_write(int
fd,
int
mem_list_count, void *
mem_addr, size_t *
mem_count,
int
file_list_count, offset_t *
file_off, offset_t *
file_len,
qfs_lio_handle_t *
hdl);
int qfs_lio_wait(qfs_lio_handle_t *
hdl);
SUNWqfs SUNWsamfs
The qfs_lio_read()
function issues a listio read for an open file descriptor.
The qfs_lio_write()
function issues a listio write for an open file descriptor.
The qfs_lio_init()
must be used to initialize a handle object before passing it to
one of the other interfaces.
The qfs_lio_wait()
can be issued to wait until all I∕O in the listio call has completed.
These functions accept the following arguments:
issues I∕O for a file using a StorageTek QFS or Oracle HSM ioctl call.
is the number of elements in the mem_addr and mem_count arrays.
are arrays describing a list of memory regions.
is the number of elements in the file_off and file_len arrays.
are arrays describing a list of file regions.
points to an opaque value that is used to indicate the status of an asynchronous list I∕O request. If hdl is non-null, the function returns when all I∕O has issued. If hdl is NULL, the function returns when all I∕O has been completed.
Upon successful completion a value of 0 is returned.
Otherwise, a value of -1 is returned and
errno
is set to indicate the error.
The qfs_lio_read()
, qfs_lio_write()
, and
qfs_lio_wait()
fails if one or more of the following are true:
EINVAL
An invalid option was specified, or the file is not a regular file.
EPERM
Not the owner or super-user.
EFAULT
mem_addr, mem_count, file_off, or file_len points to an illegal address.
EINTR
A signal was caught during the
qfs_lio()
function.
setfa
(1),
sam_setfa
(3x),
directio
(3C),