[libvirt] [PATCH] cgroup: Add missing errno == ENOENT check in virCgroupRemoveRecursively

Ryota Ozaki ozaki.ryota at gmail.com
Sat Jun 26 17:21:28 UTC 2010


ENOENT happens normally when a subsystem is enabled with any other
subsystems and the directory of the target group has already removed
in a prior loop. In that case, the function should just return without
leaving an error message.

NB this is the same behavior as before introducing virCgroupRemoveRecursively.
---
 src/util/cgroup.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/util/cgroup.c b/src/util/cgroup.c
index 62b1446..9fa64dc 100644
--- a/src/util/cgroup.c
+++ b/src/util/cgroup.c
@@ -616,6 +616,8 @@ static int virCgroupRemoveRecursively(char *grppath)
 
     grpdir = opendir(grppath);
     if (grpdir == NULL) {
+        if (errno == ENOENT)
+            return 0;
         VIR_ERROR(_("Unable to open %s (%d)"), grppath, errno);
         rc = -errno;
         return rc;
-- 
1.6.5.2




More information about the libvir-list mailing list