1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
=head1 NAME
nbdkit-pattern-plugin - plugin to serve a fixed pattern of data for testing
=head1 SYNOPSIS
nbdkit pattern [size=]SIZE
=head1 DESCRIPTION
C<nbdkit-pattern-plugin> is a plugin for L<nbdkit(1)> which serves a
fixed pattern of data, read only. This is used for testing nbdkit
filters and NBD clients. To create test disks filled with other
repeated patterns use L<nbdkit-data-plugin(1)> or
L<nbdkit-ones-plugin(1)> instead.
The fixed pattern is the offset, as a 64 bit big endian integer, every
8 bytes. In hexadecimal this looks like:
offset data
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08
0010: 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 18
0020: 00 00 00 00 00 00 00 20 00 00 00 00 00 00 00 28
↗ └──────────┬──────────┘
byte at offset 0x28 │
│
64 bit big endian int
encoding offset 0x28
The size of the virtual disk must be specified using the C<size>
parameter. If the size is not a multiple of 8 then the last 8 byte
offset in the pattern is truncated.
=head2 Largest possible size
nbdkit itself limits plugins to S<2⁶³-1> bytes
(S<decimal: 9223372036854775807>,
S<hexadecimal: 0x7fff_ffff_ffff_ffff>).
To test if NBD clients are free of bugs (not to mention nbdkit itself)
you can use:
nbdkit pattern 9223372036854775807
Note this is too large for qemu to open.
=head2 Little endian pattern
To get a little endian pattern instead of big endian apply
L<nbdkit-swab-filter(1)> on top of this plugin:
nbdkit pattern 1G --filter=swab swab-bits=64
=head1 PARAMETERS
=over 4
=item [B<size=>]SIZE
Specify the virtual size of the disk image.
This parameter is required.
C<size=> __IS_MAGIC__
=back
=head1 FILES
=over 4
=item F<$plugindir/nbdkit-pattern-plugin.so>
The plugin.
Use C<nbdkit --dump-config> to find the location of C<$plugindir>.
=back
=head1 VERSION
C<nbdkit-pattern-plugin> first appeared in nbdkit 1.6.
=head1 SEE ALSO
L<nbdkit(1)>,
L<nbdkit-plugin(3)>,
L<nbdkit-data-plugin(1)>,
L<nbdkit-full-plugin(1)>,
L<nbdkit-null-plugin(1)>,
L<nbdkit-ones-plugin(1)>,
L<nbdkit-offset-filter(1)>,
L<nbdkit-random-plugin(1)>,
L<nbdkit-sparse-random-plugin(1)>,
L<nbdkit-swab-filter(1)>,
L<nbdkit-zero-plugin(1)>.
=head1 AUTHORS
Richard W.M. Jones
=head1 COPYRIGHT
Copyright Red Hat
|