--- libeio/Changes 2011/01/07 21:45:42 1.20 +++ libeio/Changes 2013/05/09 03:03:24 1.52 @@ -1,9 +1,21 @@ Revision history for libeio TODO: maybe add mincore support? available on at least darwin, solaris, linux, freebsd -TODO: openbsd requites stdint.h for intptr_t - why posix? +TODO: openbsd requires stdint.h for intptr_t - why posix? +TODO: make mtouch/readdir maybe others cancellable in-request +TODO: fadvise request +TODO: fdopendir/utimensat +TODO: maybe work around 3.996gb barrier in pread/pwrite as well, maybe readahead etc.? 1.0 + - fix a deadlock where a wakeup signal could be missed when + a timeout occured at the same time. + - use nonstandard but maybe-working-on-bsd fork technique. + - use fewer time() syscalls when waiting for new requests. + - fix a path-memory-leak in readdir when using the wrappers + (reported by Thomas L. Shinnick). + - support a max_idle value of 0. + - support setting of idle timeout value (eio_set_idle_timeout). - readdir: correctly handle malloc failures. - readdir: new flags argument, can return inode and possibly filetype, can sort in various ways. @@ -31,4 +43,35 @@ - suppoert utimes seperately from futimes, as some systems have utimes but not futimes. - use _POSIX_MEMLOCK_RANGE for mlock. + - do not (errornously) overwrite CFLAGS in configure.ac. + - mknod used int3 for dev_t (ยง2 bit), not offs (64 bit). + - fix memory corruption in eio_readdirx for the flags + combination EIO_READDIR_STAT_ORDER | EIO_READDIR_DIRS_FIRST. + - port to openbsd (another blatantly broken non-UNIX/POSIX platform). + - fix eio_custom prototype. + - work around a Linux (and likely FreeBSD and other kernels) bug + where sendfile would not transfer all the requested bytes on + large transfers, using a heuristic. + - use libecb, and apply lots of minor space optimisations. + - disable sendfile on darwin, broken as everything else. + - add realpath request and implementation. + - cancelled requests will still invoke their request callbacks. + - add fallocate. + - do not acquire any locks when forking. + - incorporated some mingw32 changes by traviscline. + - added syncfs support, using direct syscall. + - set thread name on linux (ps -L/Hcx, top, gdb). + - remove useless use of volatile variables. + - fix memory leak when reaping threads. + - use utime now uses nanosecond resolution on posix 2008 systems. + - allow taking advantage of posix 2008 xxxat functions and fdopendir + by implementing a working directory abstraction. + - make readahead emulation behave more like actual readahead by never failing. + - added EIO_LSEEK (untested). + - added EIO_FALLOC_FL_PUNCH_HOLE. + - wtf. etp_proc returned 0, and no compiler ever complained. + - remove pread/pwrite emulation, as the only system that lacked them + (cygwin) provides them for a while now. + - provide pread/pwrite implementations for win32. + - implement aio_realpath for windows.