OBS-URL: https://build.opensuse.org/request/show/423993 OBS-URL: https://build.opensuse.org/package/show/Virtualization:containers/lxcfs?expand=0&rev=6
49 lines
1.3 KiB
Diff
49 lines
1.3 KiB
Diff
From 17e6e1e29fa875fbcae6e70c9580911f937d1cde Mon Sep 17 00:00:00 2001
|
|
From: Christian Brauner <cbrauner@suse.de>
|
|
Date: Sun, 21 Aug 2016 00:22:38 +0200
|
|
Subject: [PATCH 08/24] bindings: grant access to /var/lib/lxcfs
|
|
|
|
Signed-off-by: Christian Brauner <cbrauner@suse.de>
|
|
---
|
|
lxcfs.c | 12 ++++++++++++
|
|
1 file changed, 12 insertions(+)
|
|
|
|
diff --git a/lxcfs.c b/lxcfs.c
|
|
index 47afe13..98b5d91 100644
|
|
--- a/lxcfs.c
|
|
+++ b/lxcfs.c
|
|
@@ -424,11 +424,19 @@ static int do_cg_releasedir(const char *path, struct fuse_file_info *fi)
|
|
static int lxcfs_getattr(const char *path, struct stat *sb)
|
|
{
|
|
int ret;
|
|
+ struct timespec now;
|
|
+
|
|
if (strcmp(path, "/") == 0) {
|
|
+ if (clock_gettime(CLOCK_REALTIME, &now) < 0)
|
|
+ return -EINVAL;
|
|
+ sb->st_uid = sb->st_gid = 0;
|
|
+ sb->st_atim = sb->st_mtim = sb->st_ctim = now;
|
|
+ sb->st_size = 0;
|
|
sb->st_mode = S_IFDIR | 00755;
|
|
sb->st_nlink = 2;
|
|
return 0;
|
|
}
|
|
+
|
|
if (strncmp(path, "/cgroup", 7) == 0) {
|
|
up_users();
|
|
ret = do_cg_getattr(path, sb);
|
|
@@ -489,6 +497,10 @@ static int lxcfs_readdir(const char *path, void *buf, fuse_fill_dir_t filler, of
|
|
static int lxcfs_access(const char *path, int mode)
|
|
{
|
|
int ret;
|
|
+
|
|
+ if (strcmp(path, "/") == 0 && access(path, R_OK) == 0)
|
|
+ return 0;
|
|
+
|
|
if (strncmp(path, "/cgroup", 7) == 0) {
|
|
up_users();
|
|
ret = do_cg_access(path, mode);
|
|
--
|
|
2.9.3
|
|
|