1 Star 1 Fork 0

孙磊/runtime

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
rootlessfs.go 1.22 KB
一键复制 编辑 原始数据 按行查看 历史
// Copyright (c) 2020 Intel Corporation
//
// SPDX-License-Identifier: Apache-2.0
//
package fs
import (
"fmt"
"os"
"path/filepath"
persistapi "github.com/kata-containers/runtime/virtcontainers/persist/api"
)
// default xdg runtime directory just in case XDG_RUNTIME_DIR is not set
var defaultXdgRuntimeDir = fmt.Sprintf("/run/user/%d", os.Getuid())
type RootlessFS struct {
// inherit from FS. Overwrite if needed.
*FS
}
func RootlessInit() (persistapi.PersistDriver, error) {
driver, err := Init()
if err != nil {
return nil, fmt.Errorf("Could not create Rootless FS driver: %v", err)
}
fsDriver, ok := driver.(*FS)
if !ok {
return nil, fmt.Errorf("Could not create Rootless FS driver")
}
// XDG_RUNTIME_DIR defines the base directory relative to
// which user-specific non-essential runtime files are stored.
rootlessDir := os.Getenv("XDG_RUNTIME_DIR")
if rootlessDir == "" {
rootlessDir = defaultXdgRuntimeDir
fsLog.WithField("default-runtime-dir", defaultXdgRuntimeDir).
Warnf("XDG_RUNTIME_DIR variable is not set. Using default runtime directory")
}
fsDriver.storageRootPath = filepath.Join(rootlessDir, fsDriver.storageRootPath)
fsDriver.driverName = "rootlessfs"
return &RootlessFS{fsDriver}, nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/leisunstar/runtime.git
git@gitee.com:leisunstar/runtime.git
leisunstar
runtime
runtime
5cef3e7b53f9

搜索帮助