lkml.org 
[lkml]   [2011]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
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

\
 
 \ /
  Last update: 2011-11-17 10:59    [from the cache]
©2003-2011 Jasper Spaans