From 81c598cc059f0d5dea643231c2c95be49c9adbdb Mon Sep 17 00:00:00 2001 From: Cyrill Gorcunov Date: Thu, 16 Oct 2014 14:27:23 +0400 Subject: [PATCH] files: Add file_desc_init helper To use it in tty code even when file descriptor is not added into files chain. Signed-off-by: Cyrill Gorcunov Acked-by: Tycho Andersen Signed-off-by: Pavel Emelyanov --- files.c | 15 ++++++++++----- include/files.h | 1 + 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/files.c b/files.c index 04f6a0127..3bd5830f1 100644 --- a/files.c +++ b/files.c @@ -60,14 +60,19 @@ int prepare_shared_fdinfo(void) return 0; } +void file_desc_init(struct file_desc *d, u32 id, struct file_desc_ops *ops) +{ + INIT_LIST_HEAD(&d->fd_info_head); + INIT_HLIST_NODE(&d->hash); + + d->id = id; + d->ops = ops; +} + int file_desc_add(struct file_desc *d, u32 id, struct file_desc_ops *ops) { - d->id = id; - d->ops = ops; - INIT_LIST_HEAD(&d->fd_info_head); - + file_desc_init(d, id, ops); hlist_add_head(&d->hash, &file_desc_hash[id % FDESC_HASH_SIZE]); - return 0; /* this is to make tail-calls in collect_one_foo look nice */ } diff --git a/include/files.h b/include/files.h index 07167cbc0..4c9300d7d 100644 --- a/include/files.h +++ b/include/files.h @@ -135,6 +135,7 @@ int dump_task_files_seized(struct parasite_ctl *ctl, struct pstree_item *item, struct parasite_drain_fd *dfds); int predump_task_files(int pid); +extern void file_desc_init(struct file_desc *d, u32 id, struct file_desc_ops *ops); extern int file_desc_add(struct file_desc *d, u32 id, struct file_desc_ops *ops); extern struct fdinfo_list_entry *file_master(struct file_desc *d); extern struct file_desc *find_file_desc_raw(int type, u32 id);