[libvirt PATCH v2 03/16] qemu: expand nbdkit capabilities
Peter Krempa
pkrempa at redhat.com
Mon Sep 19 14:18:20 UTC 2022
On Wed, Aug 31, 2022 at 13:40:48 -0500, Jonathon Jongsma wrote:
> In order to add caching of the nbdkit capabilities, we will need to
> compare against file modification times, etc. So look up this
> information when creating the nbdkit caps.
>
> Add a nbdkit_moddir build option to allow the builder to specify the
> location to look for nbdkit plugins and filters.
>
> Signed-off-by: Jonathon Jongsma <jjongsma at redhat.com>
> ---
> meson.build | 6 ++++++
> meson_options.txt | 1 +
> src/qemu/qemu_nbdkit.c | 39 +++++++++++++++++++++++++++++++++++++++
> 3 files changed, 46 insertions(+)
> @@ -177,9 +185,40 @@ qemuNbdkitCapsNew(const char *path)
> }
>
>
> +static time_t
> +getDirMtime(const char *moddir)
Missing file prefix in function name.
> +{
> + struct stat st;
> +
> + if (stat(moddir, &st) < 0) {
> + VIR_DEBUG("Failed to stat nbdkit module directory '%s': %s",
> + moddir,
> + g_strerror(errno));
> + return 0;
> + }
> +
> + return st.st_mtime;
> +}
> +
> +
> static void
> qemuNbdkitCapsQuery(qemuNbdkitCaps *caps)
> {
> + struct stat st;
> +
> + if (stat(caps->path, &st) < 0) {
> + VIR_DEBUG("Failed to stat nbdkit binary '%s': %s",
> + caps->path,
> + g_strerror(errno));
> + caps->ctime = 0;
So does attempting to query the capabilities make sense after this
point?
> + } else {
> + caps->ctime = st.st_ctime;
> + }
> + caps->filterDirMtime = getDirMtime(NBDKIT_FILTERDIR);
> + caps->pluginDirMtime = getDirMtime(NBDKIT_PLUGINDIR);
> + caps->libvirtCtime = virGetSelfLastChanged();
> + caps->libvirtVersion = LIBVIR_VERSION_NUMBER;
> +
> qemuNbdkitCapsQueryPlugins(caps);
> qemuNbdkitCapsQueryFilters(caps);
> qemuNbdkitCapsQueryVersion(caps);
> --
> 2.37.1
>
More information about the libvir-list
mailing list