1=head1 NAME
2
3nbdkit-readahead-filter - prefetch data when reading sequentially
4
5=head1 SYNOPSIS
6
7 nbdkit --filter=readahead plugin
8
9=head1 DESCRIPTION
10
11C<nbdkit-readahead-filter> is a filter that prefetches data when the
12client is reading sequentially.
13
14A common use for this filter is to accelerate sequential copy
15operations (like S<C<qemu-img convert>>) when plugin requests have a
16high overhead (like L<nbdkit-curl-plugin(1)>).  For example:
17
18 nbdkit -U - --filter=readahead curl https://example.com/disk.img \
19        --run 'qemu-img convert $nbd disk.img'
20
21The filter uses a simple adaptive algorithm which accelerates
22sequential reads, but has a small penalty if the client does random
23reads.  If the client mixes reads with writes or write-like operations
24(trimming, zeroing) then it will work but there can be a large
25performance penalty.
26
27=head1 PARAMETERS
28
29There are no parameters specific to nbdkit-readahead-filter.  Any
30parameters are passed through to and processed by the underlying
31plugin in the normal way.
32
33=head1 FILES
34
35=over 4
36
37=item F<$filterdir/nbdkit-readahead-filter.so>
38
39The filter.
40
41Use C<nbdkit --dump-config> to find the location of C<$filterdir>.
42
43=back
44
45=head1 VERSION
46
47C<nbdkit-readahead-filter> first appeared in nbdkit 1.12.
48
49=head1 SEE ALSO
50
51L<nbdkit(1)>,
52L<nbdkit-cache-filter(1)>,
53L<nbdkit-curl-plugin(1)>,
54L<nbdkit-retry-filter(1)>,
55L<nbdkit-ssh-plugin(1)>,
56L<nbdkit-vddk-plugin(1)>,
57L<nbdkit-filter(3)>,
58L<qemu-img(1)>.
59
60=head1 AUTHORS
61
62Richard W.M. Jones
63
64=head1 COPYRIGHT
65
66Copyright (C) 2019 Red Hat Inc.
67