Documentation
¶
Index ¶
- Constants
- Variables
- func LvThinCreate(name string, vg, pool interface{}, size float64) error
- func Lvcreate(name string, vg interface{}, lvType LVType, size interface{}) error
- func Lvremove(lv interface{}) error
- func MakeThinPool(poolMetadata, pool interface{}) error
- func Pvcreate(diskLabel string) error
- func Pvremove(pv interface{}) error
- func Pvresize(pv interface{}, setPvSize ...float64) error
- func RunCommand(command string, args ...interface{}) (string, error)
- func Vgcreate(name string, pvs ...interface{}) error
- func Vgextend(vg interface{}, pvs ...interface{}) error
- func Vgreduce(vg interface{}, pvs ...interface{}) error
- func Vgremove(vg interface{}) error
- type LVResizeMode
- type LVType
- type Lv
- type Pv
- type Vg
- func (v *Vg) Extend(pvs ...interface{}) error
- func (v *Vg) IsAnywhere() bool
- func (v *Vg) IsCling() bool
- func (v *Vg) IsClustered() bool
- func (v *Vg) IsContiguous() bool
- func (v *Vg) IsExported() bool
- func (v *Vg) IsNormal() bool
- func (v *Vg) IsPartial() bool
- func (v *Vg) IsReadonly() bool
- func (v *Vg) IsResizable() bool
- func (v *Vg) IsShared() bool
- func (v *Vg) IsWritable() bool
- func (v *Vg) Reduce(pvs ...interface{}) error
- func (v *Vg) Remove() error
- func (v *Vg) Rename(newName string) error
Constants ¶
View Source
const ( LV_TYPE_LINEAR = "linear" LV_TYPE_STRIPED = "striped" LV_TYPE_SNAPSHOT = "snapshot" LV_TYPE_RAID = "raid" LV_TYPE_MIRROR = "mirror" LV_TYPE_THIN = "thin" LV_TYPE_THIN_POOL = "thin-pool" LV_TYPE_VDO = "vdo" LV_TYPE_VDO_POOL = "vdo-pool" LV_TYPE_CACHE = "cache" LV_TYPE_CACHE_POOL = "cache-pool" LV_TYPE_WRITECACHE = "writecache" )
View Source
const ( LV_RESIZE_EXTEND = iota LV_RESIZE_SHRINK = iota )
View Source
const ( LV_ATTR_VOL_TYPE_CACHE = 1 << iota LV_ATTR_VOL_TYPE_MIRRORED = 1 << iota LV_ATTR_VOL_TYPE_MIRRORED_NO_INITIAL_SYNC = 1 << iota LV_ATTR_VOL_TYPE_ORIGIN = 1 << iota LV_ATTR_VOL_TYPE_ORIGIN_MERGING_SNAPSHOT = 1 << iota LV_ATTR_VOL_TYPE_RAID = 1 << iota LV_ATTR_VOL_TYPE_RAID_NO_INITIAL_SYNC = 1 << iota LV_ATTR_VOL_TYPE_SNAPSHOT = 1 << iota LV_ATTR_VOL_TYPE_MERGING_SNAPSHOT = 1 << iota LV_ATTR_VOL_TYPE_PVMOVE = 1 << iota LV_ATTR_VOL_TYPE_VIRTUAL = 1 << iota LV_ATTR_VOL_TYPE_IMAGE = 1 << iota LV_ATTR_VOL_TYPE_IMAGE_OUT_OF_SYNC = 1 << iota LV_ATTR_VOL_TYPE_MIRROR_LOG_DEVICE = 1 << iota LV_ATTR_VOL_TYPE_UNDER_CONVERSION = 1 << iota LV_ATTR_VOL_TYPE_THIN_VOLUME = 1 << iota LV_ATTR_VOL_TYPE_THIN_POOL = 1 << iota LV_ATTR_VOL_TYPE_THIN_POOL_DATA = 1 << iota LV_ATTR_VOL_TYPE_VDO_POOL = 1 << iota LV_ATTR_VOL_TYPE_VDO_POOL_DATA = 1 << iota LV_ATTR_VOL_TYPE_METADATA = 1 << iota )
View Source
const ( LV_ATTR_PERMISSIONS_WRITEABLE = 1 << iota LV_ATTR_PERMISSIONS_READONLY = 1 << iota LV_ATTR_PERMISSIONS_READONLY_NON_RO_VOLUME = 1 << iota )
View Source
const ( LV_ATTR_ALLOC_POLICY_ANYWHERE = 1 << iota LV_ATTR_ALLOC_POLICY_CONTIGUOUS = 1 << iota LV_ATTR_ALLOC_POLICY_INHERITED = 1 << iota LV_ATTR_ALLOC_POLICY_CLING = 1 << iota LV_ATTR_ALLOC_POLICY_NORMAL = 1 << iota )
View Source
const ( LV_ATTR_STATE_ACTIVE = 1 << iota LV_ATTR_STATE_HISTORICAL = 1 << iota LV_ATTR_STATE_SUSPENDED = 1 << iota LV_ATTR_STATE_INVALID_SNAPSHOT = 1 << iota LV_ATTR_STATE_INVALID_SUSPENDED_SNAPSHOT = 1 << iota LV_ATTR_STATE_SNAPSHOT_MERGE_FAILED = 1 << iota LV_ATTR_STATE_SUSPENDED_SNAPSHOT_MERGE_FAILED = 1 << iota LV_ATTR_STATE_MAPPED_DEVICE_PRESENT_WITHOUT_TABLES = 1 << iota LV_ATTR_STATE_MAPPED_DEVICE_PRESENT_WITH_INACTIVE_TABLE = 1 << iota LV_ATTR_STATE_THIN_POOL_CHECK_NEEDED = 1 << iota LV_ATTR_STATE_SUSPENDED_THIN_POOL_CHECK_NEEDED = 1 << iota LV_ATTR_STATE_UNKNOWN = 1 << iota )
View Source
const ( LV_ATTR_DEVICE_OPEN = 1 << iota LV_ATTR_DEVICE_UNKNOWN = 1 << iota )
View Source
const ( LV_ATTR_TARGET_TYPE_CACHE = 1 << iota LV_ATTR_TARGET_TYPE_MIRROR = 1 << iota LV_ATTR_TARGET_TYPE_RAID = 1 << iota LV_ATTR_TARGET_TYPE_SNAPSHOT = 1 << iota LV_ATTR_TARGET_TYPE_THIN = 1 << iota LV_ATTR_TARGET_TYPE_UNKNOWN = 1 << iota LV_ATTR_TARGET_TYPE_VIRTUAL = 1 << iota )
View Source
const ( LV_ATTR_HEALTH_PARTIAL = 1 << iota LV_ATTR_HEALTH_UNKNOWN = 1 << iota LV_ATTR_HEALTH_RAID_REFRESH_NEEDED = 1 << iota LV_ATTR_HEALTH_RAID_MISMATCHES_EXIST = 1 << iota LV_ATTR_HEALTH_RAID_WRITEMOSTLY = 1 << iota LV_ATTR_HEALTH_THIN_FAILED = 1 << iota LV_ATTR_HEALTH_THIN_POOL_OUT_OF_DATA_SPACE = 1 << iota LV_ATTR_HEALTH_THIN_POOL_METADATA_READ_ONLY = 1 << iota LV_ATTR_HEALTH_WRITECACHE_ERROR = 1 << iota )
View Source
const ( ECMD_PROCESSED = iota + 1 ENO_SUCH_CMD = iota + 1 EINVALID_CMD_LINE = iota + 1 EINIT_FAILED = iota + 1 ECMD_FAILED = iota + 1 )
LVM command return codes
View Source
const ( PV_ATTR_MISSING = 1 << iota PV_ATTR_EXPORTED = 1 << iota PV_ATTR_DUPLICATE = 1 << iota PV_ATTR_ALLOCATABLE = 1 << iota PV_ATTR_USED = 1 << iota )
PV attributes
View Source
const ( VG_ATTR_WRITABLE = 1 << iota VG_ATTR_READONLY = 1 << iota VG_ATTR_RESIZABLE = 1 << iota VG_ATTR_EXPORTED = 1 << iota VG_ATTR_PARTIAL = 1 << iota VG_ATTR_CONTIGUOUS = 1 << iota VG_ATTR_CLING = 1 << iota VG_ATTR_NORMAL = 1 << iota VG_ATTR_ANYWHERE = 1 << iota VG_ATTR_CLUSTERED = 1 << iota VG_ATTR_SHARED = 1 << iota )
VG attributes
View Source
const (
LV_ATTR_BLOCKS_ARE_OVERWRITTEN_WITH_ZEROES_BEFORE_USE = 1 << iota
)
View Source
const (
LV_ATTR_FIXED_MINOR = 1 << iota
)
View Source
const (
LV_ATTR_SKIP_ACTIVATION = 1 << iota
)
Variables ¶
View Source
var ( AttrVolTypeMap = map[byte]int{ 'C': LV_ATTR_VOL_TYPE_CACHE, 'm': LV_ATTR_VOL_TYPE_MIRRORED, 'M': LV_ATTR_VOL_TYPE_MIRRORED_NO_INITIAL_SYNC, 'o': LV_ATTR_VOL_TYPE_ORIGIN, 'O': LV_ATTR_VOL_TYPE_ORIGIN_MERGING_SNAPSHOT, 'r': LV_ATTR_VOL_TYPE_RAID, 'R': LV_ATTR_VOL_TYPE_RAID_NO_INITIAL_SYNC, 's': LV_ATTR_VOL_TYPE_SNAPSHOT, 'S': LV_ATTR_VOL_TYPE_MERGING_SNAPSHOT, 'p': LV_ATTR_VOL_TYPE_PVMOVE, 'v': LV_ATTR_VOL_TYPE_VIRTUAL, 'i': LV_ATTR_VOL_TYPE_IMAGE, 'I': LV_ATTR_VOL_TYPE_IMAGE_OUT_OF_SYNC, 'l': LV_ATTR_VOL_TYPE_MIRROR_LOG_DEVICE, 'c': LV_ATTR_VOL_TYPE_UNDER_CONVERSION, 'V': LV_ATTR_VOL_TYPE_THIN_VOLUME, 't': LV_ATTR_VOL_TYPE_THIN_POOL, 'T': LV_ATTR_VOL_TYPE_THIN_POOL_DATA, 'd': LV_ATTR_VOL_TYPE_VDO_POOL, 'D': LV_ATTR_VOL_TYPE_VDO_POOL_DATA, 'e': LV_ATTR_VOL_TYPE_METADATA, '-': 0, } AttrPermissionsMap = map[byte]int{ 'w': LV_ATTR_PERMISSIONS_WRITEABLE, 'r': LV_ATTR_PERMISSIONS_READONLY, 'R': LV_ATTR_PERMISSIONS_READONLY_NON_RO_VOLUME, '-': 0, } AttrAllocPolicyMap = map[byte]int{ 'a': LV_ATTR_ALLOC_POLICY_ANYWHERE, 'c': LV_ATTR_ALLOC_POLICY_CONTIGUOUS, 'i': LV_ATTR_ALLOC_POLICY_INHERITED, 'l': LV_ATTR_ALLOC_POLICY_CLING, 'n': LV_ATTR_ALLOC_POLICY_NORMAL, '-': 0, } AttrStateMap = map[byte]int{ 'a': LV_ATTR_STATE_ACTIVE, 'h': LV_ATTR_STATE_HISTORICAL, 's': LV_ATTR_STATE_SUSPENDED, 'I': LV_ATTR_STATE_INVALID_SNAPSHOT, 'S': LV_ATTR_STATE_INVALID_SUSPENDED_SNAPSHOT, 'm': LV_ATTR_STATE_SNAPSHOT_MERGE_FAILED, 'M': LV_ATTR_STATE_SUSPENDED_SNAPSHOT_MERGE_FAILED, 'd': LV_ATTR_STATE_MAPPED_DEVICE_PRESENT_WITHOUT_TABLES, 'i': LV_ATTR_STATE_MAPPED_DEVICE_PRESENT_WITH_INACTIVE_TABLE, 'c': LV_ATTR_STATE_THIN_POOL_CHECK_NEEDED, 'C': LV_ATTR_STATE_SUSPENDED_THIN_POOL_CHECK_NEEDED, 'X': LV_ATTR_STATE_UNKNOWN, '-': 0, } AttrDeviceMap = map[byte]int{ 'o': LV_ATTR_DEVICE_OPEN, 'X': LV_ATTR_DEVICE_UNKNOWN, '-': 0, } AttrTargetTypeMap = map[byte]int{ 'C': LV_ATTR_TARGET_TYPE_CACHE, 'm': LV_ATTR_TARGET_TYPE_MIRROR, 'r': LV_ATTR_TARGET_TYPE_RAID, 's': LV_ATTR_TARGET_TYPE_SNAPSHOT, 't': LV_ATTR_TARGET_TYPE_THIN, 'u': LV_ATTR_TARGET_TYPE_UNKNOWN, 'v': LV_ATTR_TARGET_TYPE_VIRTUAL, '-': 0, } AttrHealthMap = map[byte]int{ 'p': LV_ATTR_HEALTH_PARTIAL, 'X': LV_ATTR_HEALTH_UNKNOWN, 'r': LV_ATTR_HEALTH_RAID_REFRESH_NEEDED, 'm': LV_ATTR_HEALTH_RAID_MISMATCHES_EXIST, 'w': LV_ATTR_HEALTH_RAID_WRITEMOSTLY, 'F': LV_ATTR_HEALTH_THIN_FAILED, 'D': LV_ATTR_HEALTH_THIN_POOL_OUT_OF_DATA_SPACE, 'M': LV_ATTR_HEALTH_THIN_POOL_METADATA_READ_ONLY, 'E': LV_ATTR_HEALTH_WRITECACHE_ERROR, '-': 0, } )
Functions ¶
func LvThinCreate ¶
func MakeThinPool ¶
func MakeThinPool(poolMetadata, pool interface{}) error
func RunCommand ¶
Types ¶
type LVResizeMode ¶
type LVResizeMode int
type Lv ¶
type Lv struct {
Name, VgName, Pool string
AttrVolType int
AttrPermissions int
AttrAllocPolicy int
AttrFixed int
AttrState int
AttrDevice int
AttrTargetType int
AttrBlocks int
AttrHealth int
AttrSkip int
Size float64
}
func FindLv ¶
FindLv fetches an LVM logical volume by its name. You can pass the name either as a single string (as in `vg_name/lv_name`) or as two separate variables, where the first is the VG name and, the second, the LV name.
type Vg ¶
func (*Vg) IsAnywhere ¶
func (*Vg) IsClustered ¶
func (*Vg) IsContiguous ¶
func (*Vg) IsExported ¶
func (*Vg) IsReadonly ¶
func (*Vg) IsResizable ¶
func (*Vg) IsWritable ¶
Click to show internal directories.
Click to hide internal directories.