scsi

package
v3.0.0-beta13 Latest Latest
Warning

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

Go to latest
Published: Jan 20, 2026 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 ListHostDirs

func ListHostDirs() ([]string, error)

func LockedScanAll

func LockedScanAll(timeout time.Duration) error

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

func StripPRKey

func StripPRKey(s string) string

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
	Force          bool
	Log            *plog.Logger
	StatusLogger   statusLogger

	CurrentStatus PersistentReservationStatus
	// 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 PersistentReservationStatus

type PersistentReservationStatus struct {
	ReservedBy *string
}

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