https://bugzilla.redhat.com/show_bug.cgi?id=502687 mentioned that the directory
was not getting created when a cgconfig start was being run.
This is was because we failed the mkdir. The mkdir for directories at depth
was not succeeding.
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
* cg_mkdir_p, emulate the mkdir -p command (recursively creating paths)
* @path: path to create
*/
-static int cg_mkdir_p(const char *path)
+int cg_mkdir_p(const char *path)
{
char *real_path = NULL;
char *wd = NULL;
}
if (errno == ENOENT) {
- ret = mkdir(curr->path,
- S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
- if (ret < 0) {
- last_errno = errno;
- return ECGOTHER;
- }
+ ret = cg_mkdir_p(curr->path);
+ if (ret)
+ return ret;
} else if (!S_ISDIR(buff.st_mode)) {
errno = ENOTDIR;
last_errno = errno;
/* Internal API */
char *cg_build_path(char *name, char *path, char *type);
int cgroup_get_uid_gid_from_procfs(pid_t pid, uid_t *euid, gid_t *egid);
+int cg_mkdir_p(const char *path);
/*