Messages in this thread Patch in this message | | | Date | Thu, 17 Nov 2011 13:56:37 +0400 | From | Pavel Emelyanov <> | Subject | [PATCH 2/4] proc: Show namespaces IDs in /proc/pid/ns/* files |
| |
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
--- fs/proc/namespaces.c | 12 ++++++++++++ include/linux/mm.h | 1 + 2 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/fs/proc/namespaces.c b/fs/proc/namespaces.c index be177f7..48c64ab 100644 --- a/fs/proc/namespaces.c +++ b/fs/proc/namespaces.c @@ -27,8 +27,20 @@ static const struct proc_ns_operations *ns_entries[] = { #endif }; +static ssize_t proc_ns_read(struct file *file, char __user *buf, + size_t len, loff_t *ppos) +{ + char tmp[32]; + struct proc_inode *ei = PROC_I(file->f_dentry->d_inode); + + snprintf(tmp, sizeof(tmp), "id:\t%lu\n", + gen_object_id(ei->ns, GEN_OBJ_ID_NS)); + return simple_read_from_buffer(buf, len, ppos, tmp, strlen(tmp)); +} + static const struct file_operations ns_file_operations = { .llseek = no_llseek, + .read = proc_ns_read, }; static struct dentry *proc_ns_instantiate(struct inode *dir, diff --git a/include/linux/mm.h b/include/linux/mm.h index 80ea327..cd4d727 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1628,6 +1628,7 @@ extern void copy_user_huge_page(struct page *dst, struct page *src, #endif /* CONFIG_TRANSPARENT_HUGEPAGE || CONFIG_HUGETLBFS */ enum { + GEN_OBJ_ID_NS, GEN_OBJ_ID_TYPES, }; -- 1.5.5.6
| |