diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2022-06-26 20:32:47 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2022-06-26 20:32:47 -0600 |
commit | d49620835037c06a290715697a21b84bceeb6c1e (patch) | |
tree | 57e304cf043623ca1d80beb641985593903edea8 /pkg/btrfs/io2_fs.go | |
parent | 8db7bed06505569c1b41a338b5131cfd5c9d1f28 (diff) |
Have btrfsvol be generic
Diffstat (limited to 'pkg/btrfs/io2_fs.go')
-rw-r--r-- | pkg/btrfs/io2_fs.go | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/pkg/btrfs/io2_fs.go b/pkg/btrfs/io2_fs.go index 208ef2c..c9208b7 100644 --- a/pkg/btrfs/io2_fs.go +++ b/pkg/btrfs/io2_fs.go @@ -10,7 +10,7 @@ import ( ) type FS struct { - lv btrfsvol.LogicalVolume + lv btrfsvol.LogicalVolume[*Device] cacheSuperblocks []*util.Ref[PhysicalAddr, Superblock] cacheSuperblock *util.Ref[PhysicalAddr, Superblock] @@ -59,12 +59,7 @@ func (fs *FS) UnResolve(paddr QualifiedPhysicalAddr) LogicalAddr { } func (fs *FS) Devices() []*Device { - untyped := fs.lv.PhysicalVolumes() - typed := make([]*Device, len(untyped)) - for i := range untyped { - typed[i] = untyped[i].(*Device) - } - return typed + return fs.lv.PhysicalVolumes() } func (fs *FS) Superblocks() ([]*util.Ref[PhysicalAddr, Superblock], error) { @@ -73,7 +68,7 @@ func (fs *FS) Superblocks() ([]*util.Ref[PhysicalAddr, Superblock], error) { } var ret []*util.Ref[PhysicalAddr, Superblock] for _, dev := range fs.lv.PhysicalVolumes() { - sbs, err := dev.(*Device).Superblocks() + sbs, err := dev.Superblocks() if err != nil { return nil, fmt.Errorf("file %q: %w", dev.Name(), err) } @@ -123,7 +118,7 @@ func (fs *FS) Superblock() (*util.Ref[PhysicalAddr, Superblock], error) { func (fs *FS) Init() error { fs.lv.ClearMappings() for _, dev := range fs.lv.PhysicalVolumes() { - sbs, err := dev.(*Device).Superblocks() + sbs, err := dev.Superblocks() if err != nil { return fmt.Errorf("file %q: %w", dev.Name(), err) } |