[CRIU] [PATCH 4/5] files: Kill autofs_create_fle() and use generic helper
Kirill Tkhai
ktkhai at virtuozzo.com
Thu Jun 1 04:08:36 PST 2017
On 01.06.2017 14:34, Kirill Tkhai wrote:
> Everything is prepared: the pair "type and id" is
> uniqul, so find_file_desc() in collect_fd() will
> work as expected and it will find the file_desc
> we just added in autofs_create_pipe()->collect_one_pipe_ops().
>
> So, the not-generic helper may be killed.
>
> Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
Returned debug print:
[PATCH 4/5 v2]files: Kill autofs_create_fle() and use generic helper
Everything is prepared: the pair "type and id" is
uniqul, so find_file_desc() in collect_fd() will
work as expected and it will find the file_desc
we just added in autofs_create_pipe()->collect_one_pipe_ops().
So, the not-generic helper may be killed.
v2: Leave debug print on the place.
Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
Acked-by: Stanislav Kinsburskiy <skinsbursky at virtuozzo.com>
---
criu/autofs.c | 26 +++-----------------------
1 file changed, 3 insertions(+), 23 deletions(-)
diff --git a/criu/autofs.c b/criu/autofs.c
index 9567b955d..bd64624e3 100644
--- a/criu/autofs.c
+++ b/criu/autofs.c
@@ -849,28 +849,6 @@ static struct fdinfo_list_entry *autofs_pipe_le(struct pstree_item *master,
return ple;
}
-static int autofs_create_fle(struct pstree_item *task, FdinfoEntry *fe,
- struct file_desc *desc)
-{
- struct fdinfo_list_entry *le;
- struct rst_info *rst_info = rsti(task);
-
- le = shmalloc(sizeof(*le));
- if (!le)
- return -1;
-
- fle_init(le, vpid(task), fe);
-
- collect_task_fd(le, rst_info);
-
- list_add_tail(&le->desc_list, &desc->fd_info_head);
- le->desc = desc;
-
- pr_info("autofs: added pipe fd %d, flags %#x to %d (with post_open)\n",
- le->fe->fd, le->fe->flags, le->pid);
- return 0;
-}
-
static int autofs_open_pipefd(struct file_desc *d, int *new_fd)
{
struct fdinfo_list_entry *fle = file_master(d);
@@ -925,7 +903,9 @@ static int autofs_create_pipe(struct pstree_item *task, autofs_info_t *i,
return -1;
fe->type = FD_TYPES__AUTOFS_PIPE;
- return autofs_create_fle(task, fe, &i->pi.d);
+ pr_info("autofs: adding pipe fd %d, flags %#x to %d (with post_open)\n",
+ fe->fd, fe->flags, vpid(task));
+ return collect_fd(vpid(task), fe, rsti(task));
}
static int autofs_add_mount_info(void *data)
More information about the CRIU
mailing list