1nbdkit-blkio-plugin(1) NBDKIT nbdkit-blkio-plugin(1)
2
3
4
6 nbdkit-blkio-plugin - libblkio plugin for NVMe, vhost-user, vDPA, VFIO
7
9 nbdkit blkio [driver=]DRIVER [path=FILENAME] [num-queues=N] ...
10
12 nbdkit-blkio-plugin is an nbdkit(1) plugin for using libblkio to access
13 various disk sources used for high performance applications and
14 virtualization. These include: NVMe, vhost-user, vDPA and VFIO.
15
16 The first parameter after the plugin name should be the libblkio
17 driver. For example:
18
19 nbdkit blkio virtio-blk-vhost-user path=vhost.sock
20 │ │ │
21 plugin driver other parameters
22
23 Driver: "nvme-io_uring"
24 nbdkit blkio nvme-io_uring path=/dev/ng0n1
25
26 Connect to an NVMe device, issuing commands through Linux io_uring
27 (requires Linux ≥ 5.19).
28
29 Driver: "virtio-blk-vfio-pci"
30 nbdkit blkio virtio-blk-vfio-pci path=/sys/bus/pci/devices/0000:00:01.0
31
32 Connect to a PCI device which implements virtio-blk using VFIO. The
33 path is the path to the device's sysfs directory (see lspci(8)).
34
35 Driver: "virtio-blk-vhost-user"
36 nbdkit blkio virtio-blk-vhost-user path=vhost.sock
37
38 Connect to a vhost-user block device, such as one exported by
39 qemu-storage-daemon(1). The path is the vhost-user Unix domain socket.
40 For example:
41
42 qemu-storage-daemon \
43 --blockdev driver=file,node-name=file,filename=disk.qcow2 \
44 --blockdev driver=qcow2,node-name=qcow2,file=file \
45 --export type=vhost-user-blk,id=export,addr.type=unix,addr.path=vhost.sock,node-name=qcow2,writable=on
46
47 Driver: "virtio-blk-vhost-vdpa"
48 nbdkit blkio virtio-blk-vhost-vdpa path=chardev
49
50 Connect to a vDPA device which might be implemented in software (eg.
51 VDUSE) or hardware. The path is the vhost-vdpa character device.
52
53 Driver: "io_uring"
54 nbdkit blkio io_uring path=FILENAME
55
56 You can use this driver to access local files and block devices through
57 the libblkio "io_uring" driver, but it is usually faster and easier to
58 use nbdkit-file-plugin(1).
59
61 [driver=]DRIVER
62 The name of the libblkio driver to use.
63
64 This parameter is required.
65
66 "driver=" is a magic config key and may be omitted in most cases.
67 See "Magic parameters" in nbdkit(1).
68
69 PROPERTY=VALUE
70 Properties such as "path", "num-entries" etc are translated to
71 libblkio properties. Consult the libblkio documentation for a
72 complete list.
73
74 get=PROPERTY
75 Get (print) the value of a property after connecting. The property
76 is fetched and printed in nbdkit debug output, so you will need to
77 use the --verbose flag. This is useful for debugging.
78
80 $plugindir/nbdkit-blkio-plugin.so
81 The plugin.
82
83 Use "nbdkit --dump-config" to find the location of $plugindir.
84
86 "nbdkit-blkio-plugin" first appeared in nbdkit 1.34.
87
89 nbdkit-file-plugin(1), lspci(8), qemu-storage-daemon(1),
90 https://libblkio.gitlab.io/libblkio,
91 https://libblkio.gitlab.io/libblkio/blkio.html.
92
94 Richard W.M. Jones
95
97 Copyright Red Hat
98
100 Redistribution and use in source and binary forms, with or without
101 modification, are permitted provided that the following conditions are
102 met:
103
104 • Redistributions of source code must retain the above copyright
105 notice, this list of conditions and the following disclaimer.
106
107 • Redistributions in binary form must reproduce the above copyright
108 notice, this list of conditions and the following disclaimer in the
109 documentation and/or other materials provided with the
110 distribution.
111
112 • Neither the name of Red Hat nor the names of its contributors may
113 be used to endorse or promote products derived from this software
114 without specific prior written permission.
115
116 THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND ANY
117 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
118 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
119 PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS BE
120 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
121 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
122 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
123 BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
124 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
125 OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
126 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
127
128
129
130nbdkit-1.34.4 2023-09-26 nbdkit-blkio-plugin(1)