scsi

package
v0.0.0-...-63b02d4 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2024 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MpathPersistCapability = "node.x.scsi.mpathpersist"
	SGPersistCapability    = "node.x.scsi.sg_persist"
)

Variables

View Source
var (
	DefaultPersistentReservationType = "5" // Write-Exclusive Registrants-Only
	ErrNotSupported                  = errors.New("the SCSI PR is not supported on this node: no usable mpathpersist or sg_persist")
)

Functions

func CapabilitiesScanner

func CapabilitiesScanner() ([]string, error)

CapabilitiesScanner is the capabilities scanner for scsi

func ListHostDirs

func ListHostDirs() ([]string, error)

func LockedScanAll

func LockedScanAll(timeout time.Duration) error

func MakePRKey

func MakePRKey() []byte

func ScanAll

func ScanAll() error

func ScanAllBusTargetLun

func ScanAllBusTargetLun(b, t, l string) error

func ScanHostBusTargetLun

func ScanHostBusTargetLun(h, b, t, l string) error

func ScanHostDirBusTargetLun

func ScanHostDirBusTargetLun(h, b, t, l string) error

Types

type MpathPersistDriver

type MpathPersistDriver struct {
	Log *plog.Logger
}

func (MpathPersistDriver) Clear

func (t MpathPersistDriver) Clear(dev device.T, key string) error

func (MpathPersistDriver) Preempt

func (t MpathPersistDriver) Preempt(dev device.T, oldKey, newKey string) error

func (MpathPersistDriver) PreemptAbort

func (t MpathPersistDriver) PreemptAbort(dev device.T, oldKey, newKey string) error

func (MpathPersistDriver) ReadRegistrations

func (t MpathPersistDriver) ReadRegistrations(dev device.T) ([]string, error)

func (MpathPersistDriver) ReadReservation

func (t MpathPersistDriver) ReadReservation(dev device.T) (string, error)

func (MpathPersistDriver) Register

func (t MpathPersistDriver) Register(dev device.T, key string) error

func (MpathPersistDriver) Release

func (t MpathPersistDriver) Release(dev device.T, key string) error

func (MpathPersistDriver) Reserve

func (t MpathPersistDriver) Reserve(dev device.T, key string) error

func (MpathPersistDriver) Unregister

func (t MpathPersistDriver) Unregister(dev device.T, key string) error

type PersistentReservationDriver

type PersistentReservationDriver interface {
	ReadRegistrations(dev device.T) ([]string, error)
	Register(dev device.T, key string) error
	Unregister(dev device.T, key string) error
	ReadReservation(dev device.T) (string, error)
	Reserve(dev device.T, key string) error
	Release(dev device.T, key string) error
	Clear(dev device.T, key string) error
	Preempt(dev device.T, oldKey, newKey string) error
	PreemptAbort(dev device.T, oldKey, newKey string) error
}

type PersistentReservationHandle

type PersistentReservationHandle struct {
	Key            string
	Devices        device.L
	NoPreemptAbort bool
	Log            *plog.Logger
	StatusLogger   statusLogger
	// contains filtered or unexported fields
}

func (*PersistentReservationHandle) DeviceExpectedRegistrationCount

func (t *PersistentReservationHandle) DeviceExpectedRegistrationCount(dev device.T) (int, error)

func (*PersistentReservationHandle) DeviceStatus

func (t *PersistentReservationHandle) DeviceStatus(dev device.T) status.T

func (*PersistentReservationHandle) Start

func (*PersistentReservationHandle) Status

func (t *PersistentReservationHandle) Status() status.T

func (*PersistentReservationHandle) Stop

type SGPersistDriver

type SGPersistDriver struct {
	Log *plog.Logger
}

func (SGPersistDriver) Clear

func (t SGPersistDriver) Clear(dev device.T, key string) error

func (SGPersistDriver) Preempt

func (t SGPersistDriver) Preempt(dev device.T, oldKey, newKey string) error

func (SGPersistDriver) PreemptAbort

func (t SGPersistDriver) PreemptAbort(dev device.T, oldKey, newKey string) error

func (SGPersistDriver) ReadRegistrations

func (t SGPersistDriver) ReadRegistrations(dev device.T) ([]string, error)

ReadRegistrations read the reservation from any operating path

func (SGPersistDriver) ReadReservation

func (t SGPersistDriver) ReadReservation(dev device.T) (string, error)

func (SGPersistDriver) Register

func (t SGPersistDriver) Register(dev device.T, key string) error

func (SGPersistDriver) Release

func (t SGPersistDriver) Release(dev device.T, key string) error

func (SGPersistDriver) Reserve

func (t SGPersistDriver) Reserve(dev device.T, key string) error

func (SGPersistDriver) Unregister

func (t SGPersistDriver) Unregister(dev device.T, key string) error

Jump to

Keyboard shortcuts

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