diff options
author | Tejun Heo <tj@kernel.org> | 2013-12-11 16:02:55 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-12-17 11:59:15 -0500 |
commit | bb8b9d095c5c56cce99576cfef0cf9b989f7120d (patch) | |
tree | 9cc1ae8c8954de2d0dbb0b0f4c29a411d4716809 /include/linux/kernfs.h | |
parent | c637b8acbe079edb477d887041755b489036f146 (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.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h index e9c4e3a03960..0ca2aedfd31b 100644 --- a/include/linux/kernfs.h +++ b/include/linux/kernfs.h | |||
@@ -210,8 +210,8 @@ struct kernfs_root *kernfs_create_root(void *priv); | |||
210 | void kernfs_destroy_root(struct kernfs_root *root); | 210 | void kernfs_destroy_root(struct kernfs_root *root); |
211 | 211 | ||
212 | struct kernfs_node *kernfs_create_dir_ns(struct kernfs_node *parent, | 212 | struct kernfs_node *kernfs_create_dir_ns(struct kernfs_node *parent, |
213 | const char *name, void *priv, | 213 | const char *name, umode_t mode, |
214 | const void *ns); | 214 | void *priv, const void *ns); |
215 | struct kernfs_node *kernfs_create_file_ns_key(struct kernfs_node *parent, | 215 | struct kernfs_node *kernfs_create_file_ns_key(struct kernfs_node *parent, |
216 | const char *name, | 216 | const char *name, |
217 | umode_t mode, loff_t size, | 217 | umode_t mode, loff_t size, |
@@ -260,8 +260,8 @@ static inline struct kernfs_root *kernfs_create_root(void *priv) | |||
260 | static inline void kernfs_destroy_root(struct kernfs_root *root) { } | 260 | static inline void kernfs_destroy_root(struct kernfs_root *root) { } |
261 | 261 | ||
262 | static inline struct kernfs_node * | 262 | static inline struct kernfs_node * |
263 | kernfs_create_dir_ns(struct kernfs_node *parent, const char *name, void *priv, | 263 | kernfs_create_dir_ns(struct kernfs_node *parent, const char *name, |
264 | const void *ns) | 264 | umode_t mode, void *priv, const void *ns) |
265 | { return ERR_PTR(-ENOSYS); } | 265 | { return ERR_PTR(-ENOSYS); } |
266 | 266 | ||
267 | static inline struct kernfs_node * | 267 | static inline struct kernfs_node * |
@@ -314,9 +314,10 @@ kernfs_find_and_get(struct kernfs_node *kn, const char *name) | |||
314 | } | 314 | } |
315 | 315 | ||
316 | static inline struct kernfs_node * | 316 | static inline struct kernfs_node * |
317 | kernfs_create_dir(struct kernfs_node *parent, const char *name, void *priv) | 317 | kernfs_create_dir(struct kernfs_node *parent, const char *name, umode_t mode, |
318 | void *priv) | ||
318 | { | 319 | { |
319 | return kernfs_create_dir_ns(parent, name, priv, NULL); | 320 | return kernfs_create_dir_ns(parent, name, mode, priv, NULL); |
320 | } | 321 | } |
321 | 322 | ||
322 | static inline struct kernfs_node * | 323 | static inline struct kernfs_node * |