1nbdkit-blkio-plugin(1)              NBDKIT              nbdkit-blkio-plugin(1)
2
3
4

NAME

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

SYNOPSIS

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

DESCRIPTION

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

PARAMETERS

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

FILES

80       $plugindir/nbdkit-blkio-plugin.so
81           The plugin.
82
83           Use "nbdkit --dump-config" to find the location of $plugindir.
84

VERSION

86       "nbdkit-blkio-plugin" first appeared in nbdkit 1.34.
87

SEE ALSO

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

AUTHORS

94       Richard W.M. Jones
95
97       Copyright Red Hat
98

LICENSE

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.36.2                     2023-11-26            nbdkit-blkio-plugin(1)
Impressum