1
0
mirror of https://github.com/rancher/os.git synced 2025-05-10 17:16:21 +00:00

Check user-docker backingFS

This commit is contained in:
Jason-ZW 2019-03-04 13:03:45 +08:00 committed by niusmallnan
parent 18b2fe50af
commit bfd9baa280
2 changed files with 28 additions and 0 deletions

View File

@ -95,6 +95,11 @@ func dockerInitAction(c *cli.Context) error {
}
}
err = checkZfsBackingFS(cfg.Rancher.Docker.StorageDriver, cfg.Rancher.Docker.Graph)
if err != nil {
log.Fatal(err)
}
args := []string{
"bash",
"-c",

View File

@ -3,11 +3,15 @@ package control
import (
"bufio"
"fmt"
"io/ioutil"
"os"
"strings"
"time"
"github.com/rancher/os/config"
"github.com/rancher/os/pkg/log"
"github.com/pkg/errors"
)
func yes(question string) bool {
@ -56,6 +60,25 @@ func symLinkEngineBinary(version string) []symlink {
return baseSymlink
}
func checkZfsBackingFS(driver, dir string) error {
if driver != "zfs" {
return nil
}
for i := 0; i < 4; i++ {
mountInfo, err := ioutil.ReadFile("/proc/self/mountinfo")
if err != nil {
continue
}
for _, mount := range strings.Split(string(mountInfo), "\n") {
if strings.Contains(mount, dir) && strings.Contains(mount, driver) {
return nil
}
}
time.Sleep(1 * time.Second)
}
return errors.Errorf("BackingFS: %s not match storage-driver: %s", dir, driver)
}
func checkGlobalCfg() bool {
_, err := os.Stat("/proc/1/root/boot/global.cfg")
if err == nil || os.IsExist(err) {