… | |
… | |
740 | C<$mode> is usually C<0> or C<IO::AIO::FALLOC_FL_KEEP_SIZE> to allocate |
740 | C<$mode> is usually C<0> or C<IO::AIO::FALLOC_FL_KEEP_SIZE> to allocate |
741 | space, or C<IO::AIO::FALLOC_FL_PUNCH_HOLE | IO::AIO::FALLOC_FL_KEEP_SIZE>, |
741 | space, or C<IO::AIO::FALLOC_FL_PUNCH_HOLE | IO::AIO::FALLOC_FL_KEEP_SIZE>, |
742 | to deallocate a file range. |
742 | to deallocate a file range. |
743 | |
743 | |
744 | IO::AIO also supports C<FALLOC_FL_COLLAPSE_RANGE>, to remove a range |
744 | IO::AIO also supports C<FALLOC_FL_COLLAPSE_RANGE>, to remove a range |
745 | (without leaving a hole) and C<FALLOC_FL_ZERO_RANGE>, to zero a range (see |
745 | (without leaving a hole), C<FALLOC_FL_ZERO_RANGE>, to zero a range, |
746 | your L<fallocate(2)> manpage). |
746 | C<FALLOC_FL_INSERT_RANGE> to insert a range and C<FALLOC_FL_UNSHARE_RANGE> |
|
|
747 | to unshare shared blocks (see your L<fallocate(2)> manpage). |
747 | |
748 | |
748 | The file system block size used by C<fallocate> is presumably the |
749 | The file system block size used by C<fallocate> is presumably the |
749 | C<f_bsize> returned by C<statvfs>. |
750 | C<f_bsize> returned by C<statvfs>, but different filesystems and filetypes |
|
|
751 | can dictate other limitations. |
750 | |
752 | |
751 | If C<fallocate> isn't available or cannot be emulated (currently no |
753 | If C<fallocate> isn't available or cannot be emulated (currently no |
752 | emulation will be attempted), passes C<-1> and sets C<$!> to C<ENOSYS>. |
754 | emulation will be attempted), passes C<-1> and sets C<$!> to C<ENOSYS>. |
753 | |
755 | |
754 | |
756 | |