mirror of
https://github.com/containers/podman.git
synced 2025-06-18 07:28:57 +08:00

* Added support for system service * Enabled linting on the varlinkapi source, needed to support V2 service command * Added support for PODMAN_SOCKET Skip linting deprecated code Rather than introduce bugs by correcting deprecated code, linting the code is being skipped. Code that is being ported into V2 is being checked. Signed-off-by: Jhon Honce <jhonce@redhat.com>
50 lines
1.3 KiB
Go
50 lines
1.3 KiB
Go
// +build varlink
|
|
|
|
package varlinkapi
|
|
|
|
import iopodman "github.com/containers/libpod/pkg/varlink"
|
|
|
|
// ListContainerMounts ...
|
|
func (i *VarlinkAPI) ListContainerMounts(call iopodman.VarlinkCall) error {
|
|
mounts := make(map[string]string)
|
|
allContainers, err := i.Runtime.GetAllContainers()
|
|
if err != nil {
|
|
return call.ReplyErrorOccurred(err.Error())
|
|
}
|
|
for _, container := range allContainers {
|
|
mounted, mountPoint, err := container.Mounted()
|
|
if err != nil {
|
|
return call.ReplyErrorOccurred(err.Error())
|
|
}
|
|
if mounted {
|
|
mounts[container.ID()] = mountPoint
|
|
}
|
|
}
|
|
return call.ReplyListContainerMounts(mounts)
|
|
}
|
|
|
|
// MountContainer ...
|
|
func (i *VarlinkAPI) MountContainer(call iopodman.VarlinkCall, name string) error {
|
|
container, err := i.Runtime.LookupContainer(name)
|
|
if err != nil {
|
|
return call.ReplyErrorOccurred(err.Error())
|
|
}
|
|
path, err := container.Mount()
|
|
if err != nil {
|
|
return call.ReplyErrorOccurred(err.Error())
|
|
}
|
|
return call.ReplyMountContainer(path)
|
|
}
|
|
|
|
// UnmountContainer ...
|
|
func (i *VarlinkAPI) UnmountContainer(call iopodman.VarlinkCall, name string, force bool) error {
|
|
container, err := i.Runtime.LookupContainer(name)
|
|
if err != nil {
|
|
return call.ReplyErrorOccurred(err.Error())
|
|
}
|
|
if err := container.Unmount(force); err != nil {
|
|
return call.ReplyErrorOccurred(err.Error())
|
|
}
|
|
return call.ReplyUnmountContainer()
|
|
}
|