From 2c2a253354d92d71a31e6207777c3ff9b0ee42af Mon Sep 17 00:00:00 2001 From: Kirill Tkhai Date: Thu, 1 Jun 2017 14:34:42 +0300 Subject: [PATCH] autofs: Add FD_TYPES__AUTOFS_PIPE type Add a fake fd type for autofs. This allows functions like find_file_desc() work as expected, without having two different file_desc with the same type and same id. Also, later, it will allow to delete autofs_create_fle() and to use generic helper. Signed-off-by: Kirill Tkhai Signed-off-by: Andrei Vagin --- criu/autofs.c | 2 ++ images/fdinfo.proto | 3 +++ 2 files changed, 5 insertions(+) diff --git a/criu/autofs.c b/criu/autofs.c index 6432b4213..8cf5e8ec0 100644 --- a/criu/autofs.c +++ b/criu/autofs.c @@ -892,6 +892,7 @@ static int autofs_create_pipe(struct pstree_item *task, autofs_info_t *i, return -1; memcpy(ops, pi->d.ops, sizeof(*ops)); ops->open = autofs_open_pipefd; + ops->type = FD_TYPES__AUTOFS_PIPE; pe = shmalloc(sizeof(*pe)); if (!pe) @@ -910,6 +911,7 @@ static int autofs_create_pipe(struct pstree_item *task, autofs_info_t *i, fe = dup_fdinfo(ple->fe, fd, flags); if (!fe) return -1; + fe->type = FD_TYPES__AUTOFS_PIPE; pr_info("autofs: adding pipe fd %d, flags %#x to %d (with post_open)\n", fe->fd, fe->flags, vpid(task)); diff --git a/images/fdinfo.proto b/images/fdinfo.proto index 0a6f3ee74..3d4e50701 100644 --- a/images/fdinfo.proto +++ b/images/fdinfo.proto @@ -36,6 +36,9 @@ enum fd_types { TUNF = 15; EXT = 16; TIMERFD = 17; + + /* Any number above the real used. Not stored to image */ + AUTOFS_PIPE = 65535; } message fdinfo_entry {