… | |
… | |
198 | |
198 | |
199 | IO::AIO::aio_open $path, O_WRONLY | O_CREAT, 0666, sub { |
199 | IO::AIO::aio_open $path, O_WRONLY | O_CREAT, 0666, sub { |
200 | my $fh = shift |
200 | my $fh = shift |
201 | or return; |
201 | or return; |
202 | |
202 | |
|
|
203 | # the truncate is 1440 extra syscalls, but saves 1439 |
|
|
204 | # slow metadata updates. |
|
|
205 | IO::AIO::aio_truncate $fh, 1440, sub { |
203 | IO::AIO::aio_write $fh, $offs, 1, $cnt, 0, sub { |
206 | IO::AIO::aio_write $fh, $offs, 1, $cnt, 0, sub { |
204 | IO::AIO::aio_close $fh; |
207 | IO::AIO::aio_close $fh; |
|
|
208 | }; |
205 | }; |
209 | }; |
206 | }; |
210 | }; |
207 | }; |
211 | }; |
208 | |
212 | |
209 | |
213 | |