ret = __lxc_get_lock(name);
if (ret < 0)
goto out_err;
-out:
+
return ret;
out_err:
switch (-ret) {
case EWOULDBLOCK:
- ret = -LXC_ERROR_EBUSY;
- goto out;
+ ERROR("container '%s' is busy", name);
+ break;
case ENOENT:
- ret = -LXC_ERROR_ENOENT;
- goto out;
+ ERROR("container '%s' is not found", name);
+ break;
case EACCES:
- ret = -LXC_ERROR_EACCES;
- goto out;
+ ERROR("not enough privilege to use container '%s'", name);
+ break;
default:
- ret = -LXC_ERROR_LOCK;
- goto out;
+ ERROR("container '%s' failed to lock : %s",
+ name, strerror(-ret));
}
+ return -1;
}
int lxc_check_lock(const char *name)
/* lxc-init --mount-procfs -- .... */
args = malloc((argc + 3)*sizeof(*args));
if (!args) {
- ERROR("failed to allocate memory for '%s'\n", name);
+ ERROR("failed to allocate memory for '%s'", name);
goto out;
}
ret = lxc_start(name, args);
if (ret) {
- ERROR("failed to start '%s': %s\n", name,
- lxc_strerror(ret));
+ ERROR("failed to start '%s'", name);
goto out;
}
out:
if (autodestroy) {
if (lxc_destroy(name)) {
- ERROR("failed to destroy '%s': %s\n",
- name, lxc_strerror(ret));
+ ERROR("failed to destroy '%s'", name);
ret = 1;
}
}
err = lxc_start(name, args);
if (err) {
- ERROR("failed to start : %s\n", lxc_strerror(err));
+ ERROR("failed to start '%s'", name);
err = 1;
}