Documentation
¶
Index ¶
- func New() resource.Driver
- type T
- func (t *T) CurrentSize(ctx context.Context) (int64, error)
- func (t *T) DriverID() driver.ID
- func (t *T) ExposedDevices(ctx context.Context) device.L
- func (t *T) Info(ctx context.Context) (resource.InfoKeys, error)
- func (t *T) Label(_ context.Context) string
- func (t *T) Manifest() *manifest.T
- func (t *T) ProvisionAsLeader(ctx context.Context) error
- func (t *T) Provisioned(ctx context.Context) (provisioned.T, error)
- func (t *T) ReservableDevices(ctx context.Context) device.L
- func (t *T) Resize(ctx context.Context, to int64) error
- func (t *T) ResizePlan(ctx context.Context, to int64) (int64, error)
- func (t *T) Start(ctx context.Context) error
- func (t *T) Status(ctx context.Context) status.T
- func (t *T) Stop(ctx context.Context) error
- func (t *T) SubDevices(ctx context.Context) device.L
- func (t *T) UnprovisionAsLeader(ctx context.Context) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type T ¶
type T struct {
resdisk.T
Name string `json:"name"`
Dev string `json:"dev"`
ManagePassphrase bool `json:"manage_passphrase"`
Secret string `json:"secret"`
FormatLabel string `json:"label"`
Path naming.Path `json:"path"`
}
func (*T) CurrentSize ¶
CurrentSize implements resource.Sizer.
It is what the mapped device hands out, which is less than the device under it holds: the header sits at the front of it.
func (*T) Label ¶
Label implements Label from resource.Driver interface, it returns a formatted short description of the Resource
func (*T) Provisioned ¶
func (*T) Resize ¶
Resize implements resource.Resizer.
The passphrase is handed over the same way opening it does: a luks2 volume derives its key again to resize, and asks for it on the terminal otherwise.
func (*T) ResizePlan ¶
ResizePlan implements resource.Resizer.
What it asks of the device below is the size wanted plus the header in front of it. The header offset is written when the volume is formatted and does not move, so it is read rather than measured as the gap between the two: that gap is the growth itself while a resize is in flight, and asking for it again compounds every pass.