[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <a81d74a4e19be95207d7455ec9abb4fb0b4d1736.1498666964.git.shli@fb.com>
Date: Wed, 28 Jun 2017 09:29:57 -0700
From: Shaohua Li <shli@...nel.org>
To: linux-kernel@...r.kernel.org, linux-block@...r.kernel.org
Cc: tj@...nel.org, gregkh@...uxfoundation.org, hch@....de,
axboe@...com, rostedt@...dmis.org, lizefan@...wei.com,
Kernel-team@...com, Shaohua Li <shli@...com>
Subject: [PATCH V4 07/12] cgroup: export fhandle info for a cgroup
From: Shaohua Li <shli@...com>
Add an API to export cgroup fhandle info. We don't export a full 'struct
file_handle', there are unrequired info. Sepcifically, cgroup is always
a directory, so we don't need a 'FILEID_INO32_GEN_PARENT' type fhandle,
we only need export the inode number and generation number just like
what generic_fh_to_dentry does. And we can avoid the overhead of getting
an inode too, since kernfs_node_id (ino and generation) has all the info
required.
Signed-off-by: Shaohua Li <shli@...com>
---
include/linux/cgroup.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h
index 30c6877..52ef9a6 100644
--- a/include/linux/cgroup.h
+++ b/include/linux/cgroup.h
@@ -609,6 +609,10 @@ static inline void cgroup_kthread_ready(void)
current->no_cgroup_migration = 0;
}
+static inline union kernfs_node_id *cgroup_get_kernfs_id(struct cgroup *cgrp)
+{
+ return &cgrp->kn->id;
+}
#else /* !CONFIG_CGROUPS */
struct cgroup_subsys_state;
@@ -631,6 +635,10 @@ static inline int cgroup_init_early(void) { return 0; }
static inline int cgroup_init(void) { return 0; }
static inline void cgroup_init_kthreadd(void) {}
static inline void cgroup_kthread_ready(void) {}
+static inline union kernfs_node_id *cgroup_get_kernfs_id(struct cgroup *cgrp)
+{
+ return NULL;
+}
static inline bool task_under_cgroup_hierarchy(struct task_struct *task,
struct cgroup *ancestor)
--
2.9.3
Powered by blists - more mailing lists