[LTP] [PATCH v1 1/4] lib: add new cgroup test API
Jan Stancek
jstancek@redhat.com
Wed May 27 09:47:21 CEST 2020
----- Original Message -----
> +
> +static void tst_cgroup1_umount(const char *mnt_path, const char *new_path)
> +{
> + FILE *fp;
> + int fd;
> + char s_new[BUFSIZ], s[BUFSIZ], value[BUFSIZ];
> +
> + if (!tst_is_mounted(mnt_path))
> + return;
> +
> + /* Move all processes in task to its parent node. */
> + sprintf(s, "%s/tasks", mnt_path);
> + fd = open(s, O_WRONLY);
> + if (fd == -1)
> + tst_res(TWARN | TERRNO, "open %s", s);
> +
> + snprintf(s_new, BUFSIZ, "%s/tasks", new_path);
> + fp = fopen(s_new, "r");
> + if (fp == NULL)
> + tst_res(TWARN | TERRNO, "fopen %s", s_new);
> + if ((fd != -1) && (fp != NULL)) {
> + while (fgets(value, BUFSIZ, fp) != NULL)
> + if (write(fd, value, strlen(value) - 1)
> + != (ssize_t)strlen(value) - 1)
> + tst_res(TWARN | TERRNO, "write %s", s);
> + }
> + if (fd != -1)
> + close(fd);
> + if (fp != NULL)
> + fclose(fp);
> + if (rmdir(new_path) == -1)
> + tst_res(TWARN | TERRNO, "rmdir %s", new_path);
> + if (umount(mnt_path) == -1)
> + tst_res(TWARN | TERRNO, "umount %s", mnt_path);
> + if (rmdir(mnt_path) == -1)
> + tst_res(TWARN | TERRNO, "rmdir %s", mnt_path);
This sequence looks almost identical to tst_cgroup2_umount(),
would be nice if code could be shared in some way.
More information about the ltp
mailing list