machinectl: add bind-volume / unbind-volume verbs
machinectl bind-volume MACHINE PROVIDER:VOLUME[:CONFIG][:K=V,...] machinectl unbind-volume MACHINE PROVIDER:VOLUME For bind-volume, machinectl parses the SPEC with the shared bind_volume_parse(), Acquires the storage volume from the named provider on the machinectl side, locates the target machine's io.systemd.MachineInstance control socket via machine_get_control_address(), pushes the fd across, and calls io.systemd.MachineInstance.AddStorage with name='<provider>:<volume>' and the user-supplied config string. For unbind-volume, machinectl just forwards the name string to io.systemd.MachineInstance.RemoveStorage. Volumes attached at machine startup (e.g. via systemd-vmspawn's --bind-volume=) are rejected with StorageImmutable when the user attempts to unbind them at runtime. Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
This commit is contained in:
@@ -48,7 +48,7 @@ _machinectl() {
|
||||
[MACHINES]='status show start stop login shell enable disable poweroff reboot pause resume terminate kill
|
||||
image-status show-image remove export-tar export-raw'
|
||||
[MACHINES_OR_FILES]='edit cat'
|
||||
[MACHINE_ONLY]='clone rename set-limit'
|
||||
[MACHINE_ONLY]='clone rename set-limit bind-volume unbind-volume'
|
||||
[READONLY]='read-only'
|
||||
[FILE]='import-tar import-raw'
|
||||
[MACHINES_AND_FILES]='copy-to copy-from bind'
|
||||
|
||||
Reference in New Issue
Block a user