History log of /external/fio/engines/posixaio.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4c057b34dfc2554ce506f806e126db22e38488d6 06-Nov-2013 Jens Axboe <axboe@kernel.dk> posixaio: fix thread problem with using errno

If we fail queueing a read or a write, use aio_error() to
retrieve the right error value. This fixes an issue on
(at least) Solaris where we get EAGAIN due to system
shortage of resources, but treat that as a random type
of error due to using errno.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/posixaio.c
2ae0b204743d6b4048c6fffd46c6280a70f2ecd1 28-May-2013 Jens Axboe <axboe@kernel.dk> Replace list based free/busy/requeue list with FIFO + ring

Cache friendliness of the list is pretty low. This has
provably lower overhead.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/posixaio.c
f832642400a7d0f19f21b744d1b1c7dad452408a 22-Mar-2013 Jens Axboe <axboe@kernel.dk> posixaio: restart suspend list after we have used aio_suspend()

Otherwise we could both end up putting entries in there twice,
if there are still in flight, or having done entries in there too.
So restart the suspend list after aio_suspend(), so we only put
truly still-pending ios in there.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/posixaio.c
5351f564918be658b8dd98a373cd91247c1e484b 23-Jan-2013 Jens Axboe <axboe@kernel.dk> OSX: Fixup warnings and clock_gettime() bug

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/posixaio.c
67bf982340d95ca98098ea050b54b4c7adb116c0 10-Jan-2013 Jens Axboe <axboe@kernel.dk> Add configure script

Get rid of all the fragile guessing and checking of features,
and roll a configure script instead.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/posixaio.c
e97c14423a5688d7adfb342c16363c263cb741f9 21-Sep-2011 Jens Axboe <axboe@kernel.dk> Fix aiocb compile warnings on HPUX

Unlike other platforms, it seems to require aiocb64 explicitly
for long offsets. Add an os independent typedef for this.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/posixaio.c
9918be5a9bfe2819cccdb9f975f2b9d4d36f3f70 09-Jul-2011 Jens Axboe <jaxboe@fusionio.com> posixaio: fix for HP-UX

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/engines/posixaio.c
def1d8e3019d8757b8214691013880ebb414d396 08-Jul-2011 Jens Axboe <jaxboe@fusionio.com> Rewrite posixaio back off comment to be closer to actual English

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/engines/posixaio.c
afa16407813ee36e75aaa665613c469500ed07c6 07-Jul-2011 Jens Axboe <jaxboe@fusionio.com> Ensure that we honor aio_read/write() returning EAGAIN

This fixes a problem on OSX, where the number of resources for
aio is woefully small.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/engines/posixaio.c
03e20d687566753b90383571e5e152c5142bdffd 02-Jan-2011 Bruce Cran <bruce@cran.org.uk> First snapshot of FIO for Windows

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/engines/posixaio.c
a3edaf76b30880c3bf4455c30614ce88cdbbe071 26-Sep-2010 Jens Axboe <jaxboe@fusionio.com> Use log_err() in the io engines

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/engines/posixaio.c
a5f3027cb0495dfe217b2626d248fcc054e7e878 20-Jul-2010 Jens Axboe <jaxboe@fusionio.com> Initial commit for TRIM/DISCARD support

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/engines/posixaio.c
6ff42e9fca58cc6e1ab05810abaf113d77c104d1 22-Jun-2010 Jens Axboe <jaxboe@fusionio.com> posixaio: return any ready event in ->getevents()

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/engines/posixaio.c
2faf9ec84cc329304bd0dcbf928184e11e550108 11-Jun-2010 YAMAMOTO Takashi <yamamoto@valinux.co.jp> fix a weird check of the return value of aio_cancel.

i don't know what this 1 means in the first place but at least
it isn't portable. instead, check if the i/o has already
completed. (AIO_ALLDONE)

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/engines/posixaio.c
f011531e61ae750cdf82074e0dea1379b07fa239 09-Mar-2010 Jens Axboe <jens.axboe@oracle.com> Update libaio/posixaio/splice for sync updates

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
df9c26b10275a631e83e7cc92d5f7384998b2c49 05-Mar-2009 Jens Axboe <jens.axboe@oracle.com> Avoid opening files until they are used

Fio still opens and creates all files, just to check the size of them. Add
a specialized IO engine op for getting the size of a file and use that
instead.

This also cleans a lot of things up. Note that the IO engine version is now
bumped to 10, meaning that external engines will have to separate the
file open from the size checking.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
207cb0f05e689a50ffb960830f52169a1342aba7 02-Jun-2008 Jens Axboe <jens.axboe@oracle.com> posixaio: not all platforms have aio_fsync()

FreeBSD is (again) the odd man out...

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
bc733f3b3ae7d397a591e3616503cfb36d56166b 02-Jun-2008 Jens Axboe <jens.axboe@oracle.com> posixaio: need fcntl.h

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
01743ee1718e7ec4b16ae3e53c8f64900c6052cc 02-Jun-2008 Jens Axboe <jens.axboe@oracle.com> Rename list_* function and file to flist_ to avoid conflict with FreeBSD

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
2992b059b8f54ac91e723a8bde629b4d8fed513e 30-May-2008 Jens Axboe <jens.axboe@oracle.com> close_ioengine() clears ->data after calling engine cleanup

Then we can remove that bit from io engines.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
565cc35f1c9bfd16465c69997c7ba7a6ab0809a0 10-Mar-2008 Jens Axboe <jens.axboe@oracle.com> posixaio: Missing memset()

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
3c77037e67c4a4af29e12f760db2541bad6c5898 10-Mar-2008 Jens Axboe <jens.axboe@oracle.com> posixaio: speedup by using aio_suspend() instead of manual waiting

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
a3cc770d09992e7823879fc167057a52ecbfddef 11-Dec-2007 Jens Axboe <jens.axboe@oracle.com> unsigned vs signed warnings

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
e7d2e61694c62b90a2fb84c012b4edcc1973d72c 11-Dec-2007 Jens Axboe <jens.axboe@oracle.com> ->getevents() should take unsigned args

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
7101d9c24abec4be58a086d85d6d92ec6e6492e9 12-Sep-2007 Jens Axboe <jens.axboe@oracle.com> Full readonly check

Both in core and in engines. To the extent possible, this should catch
even fio errors.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
317b95d07d4921d2594a1be6e014c9c2d062fe75 02-Apr-2007 Jens Axboe <jens.axboe@oracle.com> Move os/arch/compiler headers into directories

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
2dc1bbeb58edc85f2829eed6729862c438ea2353 15-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Move thread options into a seperate structure

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
3f344316b3200143f413c9a4a8fd6476ca5899cf 14-Mar-2007 Jens Axboe <jens.axboe@oracle.com> posixaio engine: better handling of partial completions

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
da751ca9665bcdeca56d2eec5b629a0953c07662 14-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Update io engine comments

Some were plain wrong, mainly because they were born through
copying an existing engine.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
b5af82930ccfd7dda6a1b11794efb452eb76d8dc 08-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Revamp file open/close handling

Some IO engines need special handling for opening and closing
files, and this has complicated the fio filesetup.c file. Instead
have the io engine provide hooks for file open/close. This also
greatly cleans up the flags (we can get rid of SELFOPEN and MMAPIO)
and moves private knowledge into the engines where it belongs.

This potentially destabilizes fio somewhat, so testing is needed.
The new openfiles option that is introduced with this change isn't
verified working yet, hence it isn't documented.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
fd1ff8ed8d2b62c07c6117dfd0e53467ca71662a 02-Mar-2007 Jens Axboe <jens.axboe@oracle.com> posixaio engine: residual data count

If the io was cancelled, residual is the full data buffer length.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
e1161c325f7866bae879e686d1c673ca32ab09ae 22-Feb-2007 Jens Axboe <jens.axboe@oracle.com> Add more context to the error messages

Errors like:

fio: pid=0, err=22/file:filesetup.c:380, error=Invalid argument

do not give a lot of clue as to what is wrong, unless you
have a matching source. So add a context relevant info
message as well.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
36167d82e5f49dee91c6d2cd426068edee90e36f 18-Feb-2007 Jens Axboe <jens.axboe@oracle.com> Change IO engine queuing

Instead of always pretending to be async, let the IO engines
return FIO_Q_COMPLETED or FIO_Q_QUEUED to signal async or
sync completions regardless of their nature. This cleans up
the queuing model quite a bit.

Also fixed a verification error spotted while doing this
transformation.

The main intent of this is to allow queuing more than 1 piece
of IO at the time, that will come in a later changeset.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
95bcd815e5ce55d6cdd8eb83bda5ee411f37bdc9 11-Feb-2007 Jens Axboe <jens.axboe@oracle.com> [PATCH] Move td_verror() into io_ops->queue() hook

Shows where the error occured, not where it got noticed.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
cec6b55da1c282b5b91ad346c7804171fccf151e 06-Feb-2007 Jens Axboe <jens.axboe@oracle.com> [PATCH] Support residual io counts from io engines

We need this for requeuing support, the network engine makes this
pretty apparent (it's not unusual to see short tranfers there).

Basically we add an xfer_buf and xfer_buflen member to the io_u,
and these are the fields that the io engine MUST use. That allows
fio to increment and reset these appropriately, and simply requeue
the io_u for service of the next part of it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c
f8fe35e8c9e88dd681ea151251d75f6116a958b4 06-Feb-2007 Jens Axboe <jens.axboe@oracle.com> [PATCH] Rename io engines

Typing fio-engine-foo is annoying, just rename them to their type. They
already reside in a private directory, no point in putting the fio-engine
prefix on the files.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/posixaio.c