aboutsummaryrefslogtreecommitdiff
path: root/pkg/driver/mount_util.go
blob: b62a9e7ef037733f1d2e89268b3f3adbf0c9ecaa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package driver

import (
	"errors"
	"time"

	"k8s.io/mount-utils"
)

var mountutil = mount.New("")

func waitForMount(path string, timeout time.Duration) error {
	var elapsed time.Duration
	var interval = 10 * time.Millisecond
	for {
		notMount, err := mountutil.IsLikelyNotMountPoint(path)
		if err != nil {
			return err
		}
		if !notMount {
			return nil
		}
		time.Sleep(interval)
		elapsed = elapsed + interval
		if elapsed >= timeout {
			return errors.New("timeout waiting for mount")
		}
	}
}