[CRIU] [PATCH] Fix restoring cgroup across hosts

Hui Kang hkang.sunysb at gmail.com
Mon Aug 10 08:00:42 PDT 2015


The process to be restored may not have certain cgroup dir, e.g
cpu/[PID]/cpu.shares. Currently restoring  will fail in closing
the file. If this is the case, the fileno is -1 and we can ignore
this and let the restore proceed.

Signed-off-by: Hui Kang <hkang.sunysb at gmail.com>
---
 cgroup.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cgroup.c b/cgroup.c
index a4e0146..f4e49b3 100644
--- a/cgroup.c
+++ b/cgroup.c
@@ -974,7 +974,7 @@ static int restore_cgroup_prop(const CgroupPropEntry * cg_prop_entry_p,
 		return -1;
 	}
 
-	if (fclose(f) != 0) {
+	if ((fclose(f) != 0) && (fileno(f) >= 0)) {
 		pr_perror("Failed closing %s", path);
 		return -1;
 	}
-- 
1.9.1



More information about the CRIU mailing list