disk: remove unused functions
Remove functions that got obsoleted by the more generic, entity based, ones: - `FindPartitionForMountpoint` - `BootPartitionIndex` - `FindFilesystemForMountpoint` - `RootFilesystem` - `BootFilesystem` Co-Authored-By: Achilleas Koutsou <achilleas@koutsou.net>
This commit is contained in:
parent
908b62ae08
commit
beaf411628
2 changed files with 0 additions and 127 deletions
|
|
@ -122,39 +122,6 @@ var canonicalPartitionTable = PartitionTable{
|
|||
},
|
||||
}
|
||||
|
||||
func TestDisk_ForEachFilesystem(t *testing.T) {
|
||||
rootFs := canonicalPartitionTable.Partitions[3].Payload
|
||||
bootFs := canonicalPartitionTable.Partitions[2].Payload
|
||||
efiFs := canonicalPartitionTable.Partitions[1].Payload
|
||||
|
||||
// check we iterate in the correct order and throughout the whole array
|
||||
var expectedFilesystems []*Filesystem
|
||||
err := canonicalPartitionTable.ForEachFilesystem(func(fs *Filesystem) error {
|
||||
expectedFilesystems = append(expectedFilesystems, fs)
|
||||
return nil
|
||||
})
|
||||
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, []*Filesystem{efiFs, bootFs, rootFs}, expectedFilesystems)
|
||||
|
||||
// check we stop iterating when the callback returns false
|
||||
expectedFilesystems = make([]*Filesystem, 0)
|
||||
err = canonicalPartitionTable.ForEachFilesystem(func(fs *Filesystem) error {
|
||||
if fs.Mountpoint != "/boot" {
|
||||
return nil
|
||||
}
|
||||
|
||||
// we should stop at boot, never reaching root
|
||||
assert.NotEqual(t, fs.Mountpoint, "/")
|
||||
|
||||
expectedFilesystems = append(expectedFilesystems, fs)
|
||||
return StopIter
|
||||
})
|
||||
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, []*Filesystem{bootFs}, expectedFilesystems)
|
||||
}
|
||||
|
||||
func TestDisk_ForEachEntity(t *testing.T) {
|
||||
|
||||
count := 0
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package disk
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"math/rand"
|
||||
|
||||
|
|
@ -104,105 +103,12 @@ func (pt *PartitionTable) SectorsToBytes(size uint64) uint64 {
|
|||
return size * sectorSize
|
||||
}
|
||||
|
||||
func (pt *PartitionTable) FindPartitionForMountpoint(mountpoint string) *Partition {
|
||||
for idx, p := range pt.Partitions {
|
||||
if p.Payload == nil {
|
||||
continue
|
||||
}
|
||||
|
||||
if p.Payload.Mountpoint == mountpoint {
|
||||
return &pt.Partitions[idx]
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// Returns the index of the boot partition: the partition whose filesystem has
|
||||
// /boot as a mountpoint. If there is no explicit boot partition, the root
|
||||
// partition is returned.
|
||||
// If neither boot nor root partitions are found, returns -1.
|
||||
func (pt *PartitionTable) BootPartitionIndex() int {
|
||||
// find partition with '/boot' mountpoint and fallback to '/'
|
||||
rootIdx := -1
|
||||
for idx, part := range pt.Partitions {
|
||||
if part.Payload == nil {
|
||||
continue
|
||||
}
|
||||
if part.Payload.Mountpoint == "/boot" {
|
||||
return idx
|
||||
} else if part.Payload.Mountpoint == "/" {
|
||||
rootIdx = idx
|
||||
}
|
||||
}
|
||||
return rootIdx
|
||||
}
|
||||
|
||||
// StopIter is used as a return value from iterator function to indicate
|
||||
// the iteration should not continue. Not an actual error and thus not
|
||||
// returned by iterator function.
|
||||
var StopIter = errors.New("stop the iteration")
|
||||
|
||||
// ForEachFileSystemFunc is a type of function called by ForEachFilesystem
|
||||
// to iterate over every filesystem in the partition table.
|
||||
//
|
||||
// If the function returns an error, the iteration stops.
|
||||
type ForEachFileSystemFunc func(fs *Filesystem) error
|
||||
|
||||
// Iterates over all filesystems in the partition table and calls the
|
||||
// callback on each one. The iteration continues as long as the callback
|
||||
// does not return an error.
|
||||
func (pt *PartitionTable) ForEachFilesystem(cb ForEachFileSystemFunc) error {
|
||||
for _, part := range pt.Partitions {
|
||||
if part.Payload == nil {
|
||||
continue
|
||||
}
|
||||
|
||||
if err := cb(part.Payload); err != nil {
|
||||
if err == StopIter {
|
||||
return nil
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// Returns the Filesystem instance for a given mountpoint, if it exists.
|
||||
func (pt *PartitionTable) FindFilesystemForMountpoint(mountpoint string) *Filesystem {
|
||||
var res *Filesystem
|
||||
_ = pt.ForEachFilesystem(func(fs *Filesystem) error {
|
||||
if fs.Mountpoint == mountpoint {
|
||||
res = fs
|
||||
return StopIter
|
||||
}
|
||||
|
||||
return nil
|
||||
})
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
// Returns if the partition table contains a filesystem with the given
|
||||
// mount point.
|
||||
func (pt *PartitionTable) ContainsMountpoint(mountpoint string) bool {
|
||||
return len(entityPath(pt, mountpoint)) > 0
|
||||
}
|
||||
|
||||
// Returns the Filesystem instance that corresponds to the root
|
||||
// filesystem, i.e. the filesystem whose mountpoint is '/'.
|
||||
func (pt *PartitionTable) RootFilesystem() *Filesystem {
|
||||
return pt.FindFilesystemForMountpoint("/")
|
||||
}
|
||||
|
||||
// Returns the Filesystem instance that corresponds to the boot
|
||||
// filesystem, i.e. the filesystem whose mountpoint is '/boot',
|
||||
// if /boot is on a separate partition, otherwise nil
|
||||
func (pt *PartitionTable) BootFilesystem() *Filesystem {
|
||||
return pt.FindFilesystemForMountpoint("/boot")
|
||||
}
|
||||
|
||||
// Create a new filesystem within the partition table at the given mountpoint
|
||||
// with the given minimum size in bytes.
|
||||
func (pt *PartitionTable) CreateFilesystem(mountpoint string, size uint64) error {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue