… | |
… | |
195 | |
195 | |
196 | our @AIO_REQ = qw(aio_sendfile aio_read aio_write aio_open aio_close aio_stat |
196 | our @AIO_REQ = qw(aio_sendfile aio_read aio_write aio_open aio_close aio_stat |
197 | aio_lstat aio_unlink aio_rmdir aio_readdir aio_scandir aio_symlink |
197 | aio_lstat aio_unlink aio_rmdir aio_readdir aio_scandir aio_symlink |
198 | aio_readlink aio_fsync aio_fdatasync aio_readahead aio_rename aio_link |
198 | aio_readlink aio_fsync aio_fdatasync aio_readahead aio_rename aio_link |
199 | aio_move aio_copy aio_group aio_nop aio_mknod aio_load aio_rmtree aio_mkdir |
199 | aio_move aio_copy aio_group aio_nop aio_mknod aio_load aio_rmtree aio_mkdir |
200 | aio_chown aio_chmod aio_utime); |
200 | aio_chown aio_chmod aio_utime aio_truncate); |
201 | our @EXPORT = (@AIO_REQ, qw(aioreq_pri aioreq_nice aio_block)); |
201 | our @EXPORT = (@AIO_REQ, qw(aioreq_pri aioreq_nice aio_block)); |
202 | our @EXPORT_OK = qw(poll_fileno poll_cb poll_wait flush |
202 | our @EXPORT_OK = qw(poll_fileno poll_cb poll_wait flush |
203 | min_parallel max_parallel max_idle |
203 | min_parallel max_parallel max_idle |
204 | nreqs nready npending nthreads |
204 | nreqs nready npending nthreads |
205 | max_poll_time max_poll_reqs); |
205 | max_poll_time max_poll_reqs); |
… | |
… | |
441 | |
441 | |
442 | # same as "chown root path" in the shell: |
442 | # same as "chown root path" in the shell: |
443 | aio_chown "path", 0, -1; |
443 | aio_chown "path", 0, -1; |
444 | # same as above: |
444 | # same as above: |
445 | aio_chown "path", 0, undef; |
445 | aio_chown "path", 0, undef; |
|
|
446 | |
|
|
447 | |
|
|
448 | =item aio_truncate $fh_or_path, $offset, $callback->($status) |
|
|
449 | |
|
|
450 | Works like truncate(2) or ftruncate(2). |
446 | |
451 | |
447 | |
452 | |
448 | =item aio_chmod $fh_or_path, $mode, $callback->($status) |
453 | =item aio_chmod $fh_or_path, $mode, $callback->($status) |
449 | |
454 | |
450 | Works like perl's C<chmod> function. |
455 | Works like perl's C<chmod> function. |
… | |
… | |
1290 | bytes of memory. In addition, stat requests need a stat buffer (possibly |
1295 | bytes of memory. In addition, stat requests need a stat buffer (possibly |
1291 | a few hundred bytes), readdir requires a result buffer and so on. Perl |
1296 | a few hundred bytes), readdir requires a result buffer and so on. Perl |
1292 | scalars and other data passed into aio requests will also be locked and |
1297 | scalars and other data passed into aio requests will also be locked and |
1293 | will consume memory till the request has entered the done state. |
1298 | will consume memory till the request has entered the done state. |
1294 | |
1299 | |
1295 | This is now awfully much, so queuing lots of requests is not usually a |
1300 | This is not awfully much, so queuing lots of requests is not usually a |
1296 | problem. |
1301 | problem. |
1297 | |
1302 | |
1298 | Per-thread usage: |
1303 | Per-thread usage: |
1299 | |
1304 | |
1300 | In the execution phase, some aio requests require more memory for |
1305 | In the execution phase, some aio requests require more memory for |