summaryrefslogtreecommitdiffstats
path: root/include/linux/kernfs.h
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2013-12-11 16:02:55 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-12-17 08:59:15 -0800
commitbb8b9d095c5c56cce99576cfef0cf9b989f7120d (patch)
tree9cc1ae8c8954de2d0dbb0b0f4c29a411d4716809 /include/linux/kernfs.h
parentc637b8acbe079edb477d887041755b489036f146 (diff)
kernfs: add @mode to kernfs_create_dir[_ns]()
sysfs assumed 0755 for all newly created directories and kernfs inherited it. This assumption is unnecessarily restrictive and inconsistent with kernfs_create_file[_ns](). This patch adds @mode parameter to kernfs_create_dir[_ns]() and update uses in sysfs accordingly. Among others, this will be useful for implementations of the planned ->mkdir() method. This patch doesn't introduce any behavior differences. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/kernfs.h')
-rw-r--r--include/linux/kernfs.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h
index e9c4e3a0396..0ca2aedfd31 100644
--- a/include/linux/kernfs.h
+++ b/include/linux/kernfs.h
@@ -210,8 +210,8 @@ struct kernfs_root *kernfs_create_root(void *priv);
void kernfs_destroy_root(struct kernfs_root *root);
struct kernfs_node *kernfs_create_dir_ns(struct kernfs_node *parent,
- const char *name, void *priv,
- const void *ns);
+ const char *name, umode_t mode,
+ void *priv, const void *ns);
struct kernfs_node *kernfs_create_file_ns_key(struct kernfs_node *parent,
const char *name,
umode_t mode, loff_t size,
@@ -260,8 +260,8 @@ static inline struct kernfs_root *kernfs_create_root(void *priv)
static inline void kernfs_destroy_root(struct kernfs_root *root) { }
static inline struct kernfs_node *
-kernfs_create_dir_ns(struct kernfs_node *parent, const char *name, void *priv,
- const void *ns)
+kernfs_create_dir_ns(struct kernfs_node *parent, const char *name,
+ umode_t mode, void *priv, const void *ns)
{ return ERR_PTR(-ENOSYS); }
static inline struct kernfs_node *
@@ -314,9 +314,10 @@ kernfs_find_and_get(struct kernfs_node *kn, const char *name)
}
static inline struct kernfs_node *
-kernfs_create_dir(struct kernfs_node *parent, const char *name, void *priv)
+kernfs_create_dir(struct kernfs_node *parent, const char *name, umode_t mode,
+ void *priv)
{
- return kernfs_create_dir_ns(parent, name, priv, NULL);
+ return kernfs_create_dir_ns(parent, name, mode, priv, NULL);
}
static inline struct kernfs_node *