devicemapper

package
v0.24.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 10, 2016 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Copyright 2016 Google Inc. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Package devicemapper contains code for working with devicemapper

Copyright 2016 Google Inc. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2016 Google Inc. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2016 Google Inc. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ThinLsBinaryPresent added in v0.23.4

func ThinLsBinaryPresent() (string, error)

ThinLsBinaryPresent returns the location of the thin_ls binary in the mount namespace cadvisor is running in or an error. The locations checked are:

- /bin/ - /usr/sbin/ - /usr/bin/

ThinLsBinaryPresent checks these paths relative to:

1. For non-containerized operation - `/` 2. For containerized operation - `/rootfs`

The thin_ls binary is provided by the device-mapper-persistent-data package.

Types

type DmsetupClient

type DmsetupClient interface {
	// Table runs `dmsetup table` on the given device name and returns the
	// output or an error.
	Table(deviceName string) ([]byte, error)
	// Message runs `dmsetup message` on the given device, passing the given
	// message to the given sector, and returns the output or an error.
	Message(deviceName string, sector int, message string) ([]byte, error)
	// Status runs `dmsetup status` on the given device and returns the output
	// or an error.
	Status(deviceName string) ([]byte, error)
}

DmsetupClient is a low-level client for interacting with device mapper via the `dmsetup` utility, which is provided by the `device-mapper` package.

func NewDmsetupClient

func NewDmsetupClient() DmsetupClient

NewDmSetupClient returns a new DmsetupClient.

type ThinPoolWatcher

type ThinPoolWatcher struct {
	// contains filtered or unexported fields
}

ThinPoolWatcher maintains a cache of device name -> usage stats for a devicemapper thin-pool using thin_ls.

func NewThinPoolWatcher

func NewThinPoolWatcher(poolName, metadataDevice string) (*ThinPoolWatcher, error)

NewThinPoolWatcher returns a new ThinPoolWatcher for the given devicemapper thin pool name and metadata device or an error.

func (*ThinPoolWatcher) GetUsage

func (w *ThinPoolWatcher) GetUsage(deviceId string) (uint64, error)

GetUsage gets the cached usage value of the given device.

func (*ThinPoolWatcher) Refresh

func (w *ThinPoolWatcher) Refresh() error

Refresh performs a `thin_ls` of the pool being watched and refreshes the cached data with the result.

func (*ThinPoolWatcher) Start

func (w *ThinPoolWatcher) Start()

Start starts the ThinPoolWatcher.

func (*ThinPoolWatcher) Stop

func (w *ThinPoolWatcher) Stop()

Stop stops the ThinPoolWatcher.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL