>From 0163328efa67da1d63e504c86e323db5affa378f Mon Sep 17 00:00:00 2001 From: Wang Yufei <james.wangyufei@xxxxxxxxxx> Date: Thu, 20 Mar 2014 07:14:01 +0000 Subject: [PATCH] cgroup: Fix start VMs coincidently failed When I start multi VMs coincidently and any of the cgroup directories named machine doesn't exist. There's a chance that VM start failed because of creating directory failed: Unable to initialize /machine cgroup: File exists When the errno returned by mkdir in virCgroupMakeGroup is EEXIST, we should pass it through and continue to start the VM. Signed-off-by: Wang Yufei <james.wangyufei@xxxxxxxxxx> --- src/util/vircgroup.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c index c5925b1..a10d6f6 100644 --- a/src/util/vircgroup.c +++ b/src/util/vircgroup.c @@ -924,6 +924,10 @@ virCgroupMakeGroup(virCgroupPtr parent, if (!virFileExists(path)) { if (!create || mkdir(path, 0755) < 0) { + if (errno == EEXIST) { + VIR_FREE(path); + continue; + } /* With a kernel that doesn't support multi-level directory * for blkio controller, libvirt will fail and disable all * other controllers even though they are available. So -- 1.7.12.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list