[libvirt] [PATCH] cgroup: preserve correct errno on failure
Daniel Veillard
veillard at redhat.com
Wed Feb 16 03:34:38 UTC 2011
On Tue, Feb 15, 2011 at 05:01:18PM -0700, Eric Blake wrote:
> * src/util/cgroup.c (virCgroupSetValueStr, virCgroupGetValueStr)
> (virCgroupRemoveRecursively): VIR_DEBUG can clobber errno.
> (virCgroupRemove): Use VIR_DEBUG rather than DEBUG.
> ---
> src/util/cgroup.c | 12 ++++++------
> 1 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/src/util/cgroup.c b/src/util/cgroup.c
> index 47c4633..b71eef9 100644
> --- a/src/util/cgroup.c
> +++ b/src/util/cgroup.c
> @@ -290,8 +290,8 @@ static int virCgroupSetValueStr(virCgroupPtr group,
> VIR_DEBUG("Set value '%s' to '%s'", keypath, value);
> rc = virFileWriteStr(keypath, value, 0);
> if (rc < 0) {
> - DEBUG("Failed to write value '%s': %m", value);
> rc = -errno;
> + VIR_DEBUG("Failed to write value '%s': %m", value);
> } else {
> rc = 0;
> }
> @@ -313,7 +313,7 @@ static int virCgroupGetValueStr(virCgroupPtr group,
>
> rc = virCgroupPathOfController(group, controller, key, &keypath);
> if (rc != 0) {
> - DEBUG("No path of %s, %s", group->path, key);
> + VIR_DEBUG("No path of %s, %s", group->path, key);
> return rc;
> }
>
> @@ -321,8 +321,8 @@ static int virCgroupGetValueStr(virCgroupPtr group,
>
> rc = virFileReadAll(keypath, 1024, value);
> if (rc < 0) {
> - DEBUG("Failed to read %s: %m\n", keypath);
> rc = -errno;
> + VIR_DEBUG("Failed to read %s: %m\n", keypath);
> } else {
> /* Terminated with '\n' has sometimes harmful effects to the caller */
> char *p = strchr(*value, '\n');
> @@ -635,8 +635,8 @@ static int virCgroupRemoveRecursively(char *grppath)
> if (grpdir == NULL) {
> if (errno == ENOENT)
> return 0;
> - VIR_ERROR(_("Unable to open %s (%d)"), grppath, errno);
> rc = -errno;
> + VIR_ERROR(_("Unable to open %s (%d)"), grppath, errno);
> return rc;
> }
>
> @@ -665,7 +665,7 @@ static int virCgroupRemoveRecursively(char *grppath)
> }
> closedir(grpdir);
>
> - DEBUG("Removing cgroup %s", grppath);
> + VIR_DEBUG("Removing cgroup %s", grppath);
> if (rmdir(grppath) != 0 && errno != ENOENT) {
> rc = -errno;
> VIR_ERROR(_("Unable to remove %s (%d)"), grppath, errno);
> @@ -710,7 +710,7 @@ int virCgroupRemove(virCgroupPtr group)
> &grppath) != 0)
> continue;
>
> - DEBUG("Removing cgroup %s and all child cgroups", grppath);
> + VIR_DEBUG("Removing cgroup %s and all child cgroups", grppath);
> rc = virCgroupRemoveRecursively(grppath);
> VIR_FREE(grppath);
> }
ACK,
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list