]> git.ipfire.org Git - thirdparty/systemd.git/commit
shared: add io.systemd.StorageProvider Varlink interface
authorLennart Poettering <lennart@amutable.com>
Thu, 23 Apr 2026 06:59:20 +0000 (08:59 +0200)
committerLennart Poettering <lennart@amutable.com>
Wed, 29 Apr 2026 10:25:46 +0000 (12:25 +0200)
commit087fa20166f0becc7b41056d48e1efb76e4c20f3
treebdea1fa7320fdfbd09a0bbad78df2ed5e3533f65
parent5948ff5fe20395859cab609e0d3648fc697385e0
shared: add io.systemd.StorageProvider Varlink interface

Generic Varlink API for services that hand out file descriptors to
storage volumes. Three methods: Acquire() returns an fd for a named
volume (optionally creating it from a template), ListVolumes()
enumerates available volumes, ListTemplates() enumerates supported
creation templates. Volume types follow kernel inode-type naming:
blk (block device), reg (regular file), dir (directory).

Intent is that multiple providers can sit behind AF_UNIX sockets in a
well-known directory and be consumed uniformly by nspawn, vmspawn,
the service manager (BindVolume=) and similar tools.
src/libsystemd/sd-varlink/test-varlink-idl.c
src/shared/meson.build
src/shared/varlink-io.systemd.StorageProvider.c [new file with mode: 0644]
src/shared/varlink-io.systemd.StorageProvider.h [new file with mode: 0644]