nbdkit-qcow2dec-filter - decode qcow2 files
nbdkit --filter=qcow2dec PLUGIN
nbdkit-qcow2dec-filter
is a filter for nbdkit(1) that can decode some qcow2 files. You can use it on top of plugins that provide qcow2 data, such as nbdkit-file-plugin(1) or nbdkit-curl-plugin(1). For example to expose a local qcow2 file as raw format over NBD:
nbdkit -r --filter=qcow2dec file image.qcow2
This filter can only decode qcow2 files, it cannot write to them, and it has other limitations. See "LIMITATIONS" below. The NBD export will be read-only unless you use nbdkit-cow-filter(1) on top.
qemu-nbd(8) is an alternate NBD server with native support for qcow2.
This filter has several limitations, and some of them we never intend to implement. For general qcow2 access, especially creating and writing to qcow2 files, it is always better to use qemu and tools such as qemu-img(1) and qemu-nbd(8).
This filter only supports decoding qcow2 into raw format. You cannot write to the qcow2 file. The NBD export will be read-only.
Only qcow2 subversions 2 and 3 (a.k.a. compat=0.10
and compat=1.1
) are supported.
The most common types of qcow2 compression are supported if nbdkit was built with the correct libraries. To find out which types of compression are supported, use:
$ nbdkit null --filter=qcow2dec --dump-plugin
...
qcow2dec_deflate=yes # printed if Deflate (zlib) is supported
qcow2dec_zstd=yes # printed if Zstd is supported
We may add the ability to extract an internal snapshot in future.
It may be possible to support bitmaps in future.
These features are not currently supported and unlikely to be supported in future.
There are no parameters specific to this filter. Parameters are passed through to the underlying plugin.
The filter.
Use nbdkit --dump-config
to find the location of $filterdir
.
nbdkit-qcow2dec-filter
first appeared in nbdkit 1.36.
nbdkit(1), nbdkit-cow-filter(1), nbdkit-curl-plugin(1), nbdkit-file-plugin(1), nbdkit-filter(3), https://github.com/qemu/qemu/blob/master/docs/interop/qcow2.txt, https://web.archive.org/web/20201006212750/https://people.gnome.org/~markmc/qcow-image-format-version-1.html, qemu-img(1), qemu-nbd(8).
Richard W.M. Jones
Copyright Red Hat
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of Red Hat nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.