File: nbdkit-blkio-plugin.pod

package info (click to toggle)
nbdkit 1.46.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 15,504 kB
  • sloc: ansic: 63,658; sh: 18,717; makefile: 6,814; python: 1,848; cpp: 1,143; perl: 504; ml: 504; tcl: 62
file content (123 lines) | stat: -rw-r--r-- 3,188 bytes parent folder | download | duplicates (2)
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
=head1 NAME

nbdkit-blkio-plugin - libblkio plugin for NVMe, vhost-user, vDPA, VFIO

=head1 SYNOPSIS

 nbdkit blkio [driver=]DRIVER [path=FILENAME] [num-queues=N] ...

=head1 DESCRIPTION

nbdkit-blkio-plugin is an L<nbdkit(1)> plugin for using
L<libblkio|https://libblkio.gitlab.io/libblkio> to access various disk
sources used for high performance applications and virtualization.
These include: NVMe, vhost-user, vDPA and VFIO.

The first parameter after the plugin name should be the L<libblkio
driver|https://libblkio.gitlab.io/libblkio/blkio.html#drivers>.  For
example:

 nbdkit blkio virtio-blk-vhost-user path=vhost.sock
          │              │               │
        plugin         driver       other parameters

=head2 Driver: C<nvme-io_uring>

 nbdkit blkio nvme-io_uring path=/dev/ng0n1

Connect to an NVMe device, issuing commands through Linux io_uring
(requires Linux E<ge> 5.19).

=head2 Driver: C<virtio-blk-vfio-pci>

 nbdkit blkio virtio-blk-vfio-pci path=/sys/bus/pci/devices/0000:00:01.0

Connect to a PCI device which implements virtio-blk using VFIO.  The
path is the path to the device's sysfs directory (see L<lspci(8)>).

=head2 Driver: C<virtio-blk-vhost-user>

 nbdkit blkio virtio-blk-vhost-user path=vhost.sock

Connect to a vhost-user block device, such as one exported by
L<qemu-storage-daemon(1)>.  The path is the vhost-user Unix domain
socket.  For example:

 qemu-storage-daemon \
    --blockdev driver=file,node-name=file,filename=disk.qcow2 \
    --blockdev driver=qcow2,node-name=qcow2,file=file \
    --export type=vhost-user-blk,id=export,addr.type=unix,addr.path=vhost.sock,node-name=qcow2,writable=on

=head2 Driver: C<virtio-blk-vhost-vdpa>

 nbdkit blkio virtio-blk-vhost-vdpa path=chardev

Connect to a vDPA device which might be implemented in software
(eg. VDUSE) or hardware.  The path is the vhost-vdpa character device.

=head2 Driver: C<io_uring>

 nbdkit blkio io_uring path=FILENAME

You can use this driver to access local files and block devices
through the libblkio C<io_uring> driver, but it is usually faster and
easier to use L<nbdkit-file-plugin(1)>.

=head1 PARAMETERS

=over 4

=item [B<driver=>]DRIVER

The name of the libblkio driver to use.

This parameter is required.

C<driver=> __IS_MAGIC__

=item PROPERTYB<=>VALUE

Properties such as C<path>, C<num-entries> etc are translated to
libblkio properties.  Consult the L<libblkio
documentation|https://libblkio.gitlab.io/libblkio/blkio.html> for a
complete list.

=item B<get=>PROPERTY

Get (print) the value of a property after connecting.  The property is
fetched and printed in nbdkit debug output, so you will need to use
the I<--verbose> flag.  This is useful for debugging.

=back

=head1 FILES

=over 4

=item F<$plugindir/nbdkit-blkio-plugin.so>

The plugin.

Use C<nbdkit --dump-config> to find the location of C<$plugindir>.

=back

=head1 VERSION

C<nbdkit-blkio-plugin> first appeared in nbdkit 1.34.

=head1 SEE ALSO

L<nbdkit-file-plugin(1)>,
L<lspci(8)>,
L<qemu-storage-daemon(1)>,
L<https://libblkio.gitlab.io/libblkio>,
L<https://libblkio.gitlab.io/libblkio/blkio.html>.

=head1 AUTHORS

Richard W.M. Jones

=head1 COPYRIGHT

Copyright Red Hat