Abstract ismountpoint and use platform mounter for NFS volume

This commit is contained in:
Deyuan Deng
2015-03-31 22:08:33 -04:00
committed by Deyuan Deng
parent 2de37624e8
commit d62afa85ff
12 changed files with 70 additions and 92 deletions

View File

@@ -39,11 +39,19 @@ func (f *FakeMounter) ResetLog() {
}
func (f *FakeMounter) Mount(source string, target string, fstype string, flags uintptr, data string) error {
f.MountPoints = append(f.MountPoints, MountPoint{Device: source, Path: target, Type: fstype})
f.Log = append(f.Log, FakeAction{Action: FakeActionMount, Target: target, Source: source, FSType: fstype})
return nil
}
func (f *FakeMounter) Unmount(target string, flags int) error {
newMountpoints := []MountPoint{}
for _, mp := range f.MountPoints {
if mp.Path != target {
newMountpoints = append(newMountpoints, MountPoint{Device: mp.Device, Path: mp.Path, Type: mp.Type})
}
}
f.MountPoints = newMountpoints
f.Log = append(f.Log, FakeAction{Action: FakeActionUnmount, Target: target})
return nil
}
@@ -51,3 +59,12 @@ func (f *FakeMounter) Unmount(target string, flags int) error {
func (f *FakeMounter) List() ([]MountPoint, error) {
return f.MountPoints, nil
}
func (f *FakeMounter) IsMountPoint(file string) (bool, error) {
for _, mp := range f.MountPoints {
if mp.Path == file {
return true, nil
}
}
return false, nil
}