mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
c6e8813c97
We unmount all mounts and deactivate all device mapper devices to make sure we're left with no leftovers after the test.
70 lines
1.8 KiB
Go
70 lines
1.8 KiB
Go
package docker
|
|
|
|
type DeviceSet interface {
|
|
AddDevice(hash, baseHash string) error
|
|
SetInitialized(hash string) error
|
|
DeactivateDevice(hash string) error
|
|
RemoveDevice(hash string) error
|
|
MountDevice(hash, path string) error
|
|
UnmountDevice(hash, path string) error
|
|
HasDevice(hash string) bool
|
|
HasInitializedDevice(hash string) bool
|
|
Shutdown() error
|
|
}
|
|
|
|
type DeviceSetWrapper struct {
|
|
wrapped DeviceSet
|
|
prefix string
|
|
}
|
|
|
|
func (wrapper *DeviceSetWrapper) wrap(hash string) string {
|
|
if hash != "" {
|
|
hash = wrapper.prefix + "-" + hash
|
|
}
|
|
return hash
|
|
}
|
|
|
|
|
|
func (wrapper *DeviceSetWrapper) AddDevice(hash, baseHash string) error {
|
|
return wrapper.wrapped.AddDevice(wrapper.wrap(hash), wrapper.wrap(baseHash))
|
|
}
|
|
|
|
func (wrapper *DeviceSetWrapper) SetInitialized(hash string) error {
|
|
return wrapper.wrapped.SetInitialized(wrapper.wrap(hash))
|
|
}
|
|
|
|
func (wrapper *DeviceSetWrapper) DeactivateDevice(hash string) error {
|
|
return wrapper.wrapped.DeactivateDevice(wrapper.wrap(hash))
|
|
}
|
|
|
|
func (wrapper *DeviceSetWrapper) Shutdown() error {
|
|
return nil
|
|
}
|
|
|
|
func (wrapper *DeviceSetWrapper) RemoveDevice(hash string) error {
|
|
return wrapper.wrapped.RemoveDevice(wrapper.wrap(hash))
|
|
}
|
|
|
|
func (wrapper *DeviceSetWrapper) MountDevice(hash, path string) error {
|
|
return wrapper.wrapped.MountDevice(wrapper.wrap(hash), path)
|
|
}
|
|
|
|
func (wrapper *DeviceSetWrapper) UnmountDevice(hash, path string) error {
|
|
return wrapper.wrapped.UnmountDevice(wrapper.wrap(hash), path)
|
|
}
|
|
|
|
func (wrapper *DeviceSetWrapper) HasDevice(hash string) bool {
|
|
return wrapper.wrapped.HasDevice(wrapper.wrap(hash))
|
|
}
|
|
|
|
func (wrapper *DeviceSetWrapper) HasInitializedDevice(hash string) bool {
|
|
return wrapper.wrapped.HasInitializedDevice(wrapper.wrap(hash))
|
|
}
|
|
|
|
func NewDeviceSetWrapper(wrapped DeviceSet, prefix string) DeviceSet {
|
|
wrapper := &DeviceSetWrapper{
|
|
wrapped: wrapped,
|
|
prefix: prefix,
|
|
}
|
|
return wrapper
|
|
}
|