[CRIU] Re: [PATCH 14/16] dump: hide cwd and exe open
Pavel Emelyanov
xemul at parallels.com
Fri Mar 2 02:07:44 EST 2012
On 03/01/2012 09:57 PM, Kinsbursky Stanislav wrote:
>
>
> Signed-off-by: Stanislav Kinsbursky <skinsbursky at openvz.org>
Всё, стоп. Начиная от патча 6 изменения уже нетривиальные, а комментарии
"hide x into y". Это, прошу прощения, говно, а не комментарии. На *мой*
*вкус* так нельзя. Плюс изменения завязаны частично на 6й патч.
До 6-го я по-ack-ал, можно комитить. Остальное -- просьба переделать.
> ---
> cr-dump.c | 29 +++++++++++++++--------------
> 1 files changed, 15 insertions(+), 14 deletions(-)
>
> diff --git a/cr-dump.c b/cr-dump.c
> index 91fba5f..299df6f 100644
> --- a/cr-dump.c
> +++ b/cr-dump.c
> @@ -155,7 +155,17 @@ static int dump_one_reg_file(struct fd_parms *p, struct cr_fdset *cr_fdset)
> int ret;
> int lfd;
>
> - snprintf(fd_str, sizeof(fd_str), "/proc/%d/fd/%ld", p->pid, p->fd_name);
> + switch ((unsigned long)p->fd_name) {
> + case FDINFO_CWD:
> + snprintf(fd_str, sizeof(fd_str), "/proc/%d/cwd", p->pid);
> + break;
> + case FDINFO_EXE:
> + snprintf(fd_str, sizeof(fd_str), "/proc/%d/exe", p->pid);
> + break;
> + default:
> + snprintf(fd_str, sizeof(fd_str), "/proc/%d/fd/%ld", p->pid, p->fd_name);
> + break;
> + }
> lfd = open(fd_str, O_RDONLY);
> if (lfd < 0) {
> pr_perror("Failed to open regular file '%s'\n", fd_str);
> @@ -175,32 +185,23 @@ static int dump_task_special_files(pid_t pid, struct cr_fdset *cr_fdset)
> params = (struct fd_parms) {
> .fd_name = FDINFO_CWD,
> .id = FD_ID_INVALID,
> - .pid = FD_PID_INVALID,
> + .pid = pid,
> .type = FDINFO_FD,
> };
>
> - fd = open_proc(pid, "cwd");
> - if (fd < 0)
> - return -1;
> - ret = dump_one_reg_file_fd(¶ms, fd, cr_fdset);
> + ret = dump_one_reg_file(¶ms, cr_fdset);
> if (ret)
> return ret;
> - close(fd);
>
> /* Dump /proc/pid/exe */
> params = (struct fd_parms) {
> .fd_name = FDINFO_EXE,
> .id = FD_ID_INVALID,
> - .pid = FD_PID_INVALID,
> + .pid = pid,
> .type = FDINFO_FD,
> };
>
> - fd = open_proc(pid, "exe");
> - if (fd < 0)
> - return -1;
> - ret = dump_one_reg_file_fd(¶ms, fd, cr_fdset);
> - close(fd);
> -
> + ret = dump_one_reg_file(¶ms, cr_fdset);
> return ret;
> }
>
>
More information about the CRIU
mailing list