AIO(4) BSD Kernel Interfaces Manual AIO(4)NAME
aio -- asynchronous I/O
SYNOPSIS
To link into the kernel:
options VFS_AIO
To load as a kernel loadable module:
kldload aio
DESCRIPTION
The aio facility provides system calls for asynchronous I/O. It is available both as a kernel option for static inclusion and as a dynamic
kernel module.
SEE ALSO aio_cancel(2), aio_error(2), aio_read(2), aio_return(2), aio_suspend(2), aio_waitcomplete(2), aio_write(2), lio_listio(2), config(8),
kldload(8), kldunload(8)HISTORY
The aio facility appeared as a kernel option in FreeBSD 3.0. The aio kernel module appeared in FreeBSD 5.0.
BSD October 24, 2002 BSD
Check Out this Related Man Page
AIO_WAITCOMPLETE(2) BSD System Calls Manual AIO_WAITCOMPLETE(2)NAME
aio_waitcomplete -- wait for the next completion of an aio request
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <aio.h>
int
aio_waitcomplete(struct aiocb **iocbp, struct timespec *timeout);
DESCRIPTION
The aio_waitcomplete() system call waits for completion of an asynchronous I/O request. Upon completion, aio_waitcomplete() returns the
result of the function and sets iocbp to point to the structure associated with the original request. If an asynchronous I/O request is com-
pleted before aio_waitcomplete() is called, it returns immediately with the completed request.
If timeout is a non-NULL pointer, it specifies a maximum interval to wait for a asynchronous I/O request to complete. If timeout is a NULL
pointer, aio_waitcomplete() waits indefinitely. To effect a poll, the timeout argument should be non-NULL, pointing to a zero-valued timeval
structure.
The aio_waitcomplete() system call also serves the function of aio_return(), thus aio_return() should not be called for the control block
returned in iocbp.
RETURN VALUES
If an asynchronous I/O request has completed, iocbp is set to point to the control block passed with the original request, and the status is
returned as described in read(2), write(2), or fsync(2). On failure, aio_waitcomplete() returns -1, sets iocbp to NULL and sets errno to
indicate the error condition.
ERRORS
The aio_waitcomplete() system call fails if:
[EINVAL] The specified time limit is invalid.
[EAGAIN] The process has not yet called aio_read() or aio_write().
[EINTR] A signal was delivered before the timeout expired and before any asynchronous I/O requests completed.
[EWOULDBLOCK]
[EINPROGRESS] The specified time limit expired before any asynchronous I/O requests completed.
SEE ALSO aio_cancel(2), aio_error(2), aio_read(2), aio_return(2), aio_suspend(2), aio_write(2), fsync(2), read(2), write(2), aio(4)STANDARDS
The aio_waitcomplete() system call is a FreeBSD-specific extension.
HISTORY
The aio_waitcomplete() system call first appeared in FreeBSD 4.0.
AUTHORS
The aio_waitcomplete() system call and this manual page were written by Christopher M Sedore <cmsedore@maxwell.syr.edu>.
BSD January 19, 2000 BSD
i really have an issue with the otherwise outstading FreeBSD Handbook when it comes to kernel building. information on the proper steps to take is really confusing. i think that chapters 9 and 21 need to be combined to give a very concise format on how best to deal with kernel building/rebuidling... (1 Reply)
Hi there,
I wonder if there is a (free) UNIX that support asynchronous I/O on sockets. The Linux 2.6 kernel has supports for aio, but not for socket I/O. Anyone has some UNIX distros with aio for me ?
Thx
Mad (2 Replies)
Hi to all,
Iam using FreeBSD 5.4. I want to write a kernel file with an option "CD9660_ROOT" in it. When i start to compile this kernel, it gives a message "unknown option CD9660_ROOT". Could anyone hellp with this as soon as possible.
Bye,
tadakamalla (3 Replies)
Hi All,
Is there a max number of slabs that can be used per kernel module? I'm having a tough time finding out that kind of information, but the array 'node_zonelists' (mmzone.h) has a size of 5. I just want to avoid buffer overruns and other bad stuff.
Cheers,
Brendan (4 Replies)
All,
I am a bit of a BSD newbie and haven't really played with it for years, but I have had a recent situation whereby someone attempted to load a custom kernel module and ended up breaking my BSD server.
I managed to fix it by doing the following:
Booting into loader mode:
unload
set... (3 Replies)
Hi All,
I need to develop a kernel module which changes the IP address of a package according to its mac address. It would be a sort of L2 Nat.
Somebody know if I can do this using netfilter??
Thanks. (2 Replies)
Hi masters,
I am using fedora 2.6.23.1-42.fc8 kernel and am trying to design a packet filtering system using netfilter. But in the above mentioned kernel I couldn't find the familiar function ip_finish_output. I have done the same project in kernel 2.4 and 2.6.9 redhat.
... (2 Replies)
My goal is to make the leanest Slackware kernel possible for my machine specifically. I'm not exactly a newbie to unix, but I'm not an expert.
I tried this tutorial Chapter*18.*Building a kernel , but I would like something in more depth to really make a lean slack machine. Where should I go? (2 Replies)
Hi. I am thinking to create an OS. I don't want to use linux kernel. I want to use BSD Kernel and this also means that because will be on UFS, I cannot use Gparted.
This are my 2 questions.
1) Where can I download BSD Kernel.
2) Witch is the tool to create the partitions. (I think is gpart but I... (1 Reply)
I understand that AIO is not something that you turn on in AIX 6.1 but I am getting a request to turn on posix aio. I am guessing a value of 0 means it's off but not sure.
root@foobar:/> ioo -a | grep active
aio_active = 1
posix_aio_active = 0
When I... (1 Reply)
I have open suse kernel kernel 3.1.0-1.2-desktop on which I used kernel source 3.1.10-1.2 downloaded from kernel.org.
The module gets built.
While loading a kernel module I am getting Invalid module format error with description "first_driver: no symbol version for module_layout"
The... (5 Replies)
Hello guys, help me out on this..
I am not so well versed in this AIO.
How do tell if AIO is running for /usr2 ? From what i see / usr2 is JFS2.
Here some information:
Name Nodename Mount Pt VFS Size Options Auto Accounting
/dev/hd4 -- / jfs 1835008 -- yes no
/dev/hd1 -- /home jfs... (3 Replies)
hello,
I was going through clustering documentation for Redhat, it says "Enable IP Aliasing support in the kernel by setting the CONFIG_IP_ALIAS kernel option to y. When specifying kernel options, under Networking Options, select IP aliasing support", I knew I should update /etc/sysctl.conf with... (1 Reply)