func readMounts()

in image/resources/knfsd-agent/mounts.go [47:72]


func readMounts(proc procfs.Proc, nfsRoot string) (*client.MountResponse, error) {
	info, err := proc.MountInfo()
	if err != nil {
		return nil, err
	}

	var mounts []client.Mount
	for _, e := range info {
		if !isNFS(e.FSType) {
			continue
		}
		if !strings.HasPrefix(e.MountPoint, nfsRoot) {
			continue
		}

		m := client.Mount{
			Device:  e.Source,
			Mount:   e.MountPoint,
			Export:  e.MountPoint[len(nfsRoot)-1:],
			Options: combineMountOptions(e.Options, e.SuperOptions),
		}
		mounts = append(mounts, m)
	}

	return &client.MountResponse{Mounts: mounts}, nil
}