--- IO-AIO/AIO.pm 2017/06/06 04:29:35 1.269 +++ IO-AIO/AIO.pm 2017/06/23 03:23:19 1.270 @@ -180,7 +180,7 @@ aio_scandir aio_symlink aio_readlink aio_realpath aio_fcntl aio_ioctl aio_sync aio_fsync aio_syncfs aio_fdatasync aio_sync_file_range aio_pathsync aio_readahead aio_fiemap aio_allocate - aio_rename aio_link aio_move aio_copy aio_group + aio_rename aio_rename2 aio_link aio_move aio_copy aio_group aio_nop aio_mknod aio_load aio_rmtree aio_mkdir aio_chown aio_chmod aio_utime aio_truncate aio_msync aio_mtouch aio_mlock aio_mlockall @@ -235,6 +235,7 @@ aio_readlink $pathname, $callback->($link) aio_realpath $pathname, $callback->($path) aio_rename $srcpath, $dstpath, $callback->($status) + aio_rename2 $srcpath, $dstpath, $flags, $callback->($status) aio_mkdir $pathname, $mode, $callback->($status) aio_rmdir $pathname, $callback->($status) aio_readdir $pathname, $callback->($entries) @@ -814,6 +815,22 @@ of failing, C is called on the absolute path of C<$wd>. +=item aio_rename2 $srcpath, $dstpath, $flags, $callback->($status) + +Basically a version of C with an additional C<$flags> +argument. Calling this with C<$flags=0> is the same as calling +C. + +Non-zero flags are currently only supported on GNU/Linux systems that +support renameat2. Other systems fail with C in this case. + +The following constants are available (missing ones are, as usual C<0>), +see renameat2(2) for details: + +C, C +and C. + + =item aio_mkdir $pathname, $mode, $callback->($status) Asynchronously mkdir (create) a directory and call the callback with