ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/IO-AIO/AIO.pm
(Generate patch)

Comparing IO-AIO/AIO.pm (file contents):
Revision 1.231 by root, Fri Jul 27 19:03:18 2012 UTC vs.
Revision 1.232 by root, Mon Jul 30 16:46:30 2012 UTC

1292C<IO::AIO::FIEMAP_FLAG_XATTR> - C<IO::AIO::FIEMAP_FLAGS_COMPAT> is also 1292C<IO::AIO::FIEMAP_FLAG_XATTR> - C<IO::AIO::FIEMAP_FLAGS_COMPAT> is also
1293exported), and is normally C<0> or C<IO::AIO::FIEMAP_FLAG_SYNC> to query 1293exported), and is normally C<0> or C<IO::AIO::FIEMAP_FLAG_SYNC> to query
1294the data portion. 1294the data portion.
1295 1295
1296C<$count> is the maximum number of extent records to return. If it is 1296C<$count> is the maximum number of extent records to return. If it is
1297C<undef>, then IO::AIO queries all extents of the file. As a very special 1297C<undef>, then IO::AIO queries all extents of the range. As a very special
1298case, if it is C<0>, then the callback receives the number of extents 1298case, if it is C<0>, then the callback receives the number of extents
1299instead of the extents themselves. 1299instead of the extents themselves (which is unreliable, see below).
1300 1300
1301If an error occurs, the callback receives no arguments. The special 1301If an error occurs, the callback receives no arguments. The special
1302C<errno> value C<IO::AIO::EBADR> is available to test for flag errors. 1302C<errno> value C<IO::AIO::EBADR> is available to test for flag errors.
1303 1303
1304Otherwise, the callback receives an array reference with extent 1304Otherwise, the callback receives an array reference with extent
1314C<IO::AIO::FIEMAP_EXTENT_DELALLOC>, C<IO::AIO::FIEMAP_EXTENT_ENCODED>, 1314C<IO::AIO::FIEMAP_EXTENT_DELALLOC>, C<IO::AIO::FIEMAP_EXTENT_ENCODED>,
1315C<IO::AIO::FIEMAP_EXTENT_DATA_ENCRYPTED>, C<IO::AIO::FIEMAP_EXTENT_NOT_ALIGNED>, 1315C<IO::AIO::FIEMAP_EXTENT_DATA_ENCRYPTED>, C<IO::AIO::FIEMAP_EXTENT_NOT_ALIGNED>,
1316C<IO::AIO::FIEMAP_EXTENT_DATA_INLINE>, C<IO::AIO::FIEMAP_EXTENT_DATA_TAIL>, 1316C<IO::AIO::FIEMAP_EXTENT_DATA_INLINE>, C<IO::AIO::FIEMAP_EXTENT_DATA_TAIL>,
1317C<IO::AIO::FIEMAP_EXTENT_UNWRITTEN>, C<IO::AIO::FIEMAP_EXTENT_MERGED> or 1317C<IO::AIO::FIEMAP_EXTENT_UNWRITTEN>, C<IO::AIO::FIEMAP_EXTENT_MERGED> or
1318C<IO::AIO::FIEMAP_EXTENT_SHARED>. 1318C<IO::AIO::FIEMAP_EXTENT_SHARED>.
1319
1320At the time of this writing (Linux 3.2), this requets is unreliable unless
1321C<$count> is C<undef>, as the kernel has all sorts of bugs preventing
1322it to return all extents of a range for files with large number of
1323extents. The code works around all these issues if C<$count> is undef.
1319 1324
1320=item aio_group $callback->(...) 1325=item aio_group $callback->(...)
1321 1326
1322This is a very special aio request: Instead of doing something, it is a 1327This is a very special aio request: Instead of doing something, it is a
1323container for other aio requests, which is useful if you want to bundle 1328container for other aio requests, which is useful if you want to bundle

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines