diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2015-05-13 17:09:29 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-07-21 13:10:00 -0400 |
commit | 80c298105bf80e33ae494eaeba51f00352b5373c (patch) | |
tree | 173d2fa47f6a58fec963d859ab6dfcd553c62ff8 /include/linux/kernfs.h | |
parent | a2020b02c1ec4fffddb77785773dff533428f814 (diff) |
kernfs: Add support for always empty directories.
commit ea015218f2f7ace2dad9cedd21ed95bdba2886d7 upstream.
Add a new function kernfs_create_empty_dir that can be used to create
directory that can not be modified.
Update the code to use make_empty_dir_inode when reporting a
permanently empty directory to the vfs.
Update the code to not allow adding to permanently empty directories.
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/kernfs.h')
-rw-r--r-- | include/linux/kernfs.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h index 71ecdab1671b..29d1896c3ba5 100644 --- a/include/linux/kernfs.h +++ b/include/linux/kernfs.h | |||
@@ -45,6 +45,7 @@ enum kernfs_node_flag { | |||
45 | KERNFS_LOCKDEP = 0x0100, | 45 | KERNFS_LOCKDEP = 0x0100, |
46 | KERNFS_SUICIDAL = 0x0400, | 46 | KERNFS_SUICIDAL = 0x0400, |
47 | KERNFS_SUICIDED = 0x0800, | 47 | KERNFS_SUICIDED = 0x0800, |
48 | KERNFS_EMPTY_DIR = 0x1000, | ||
48 | }; | 49 | }; |
49 | 50 | ||
50 | /* @flags for kernfs_create_root() */ | 51 | /* @flags for kernfs_create_root() */ |
@@ -285,6 +286,8 @@ void kernfs_destroy_root(struct kernfs_root *root); | |||
285 | struct kernfs_node *kernfs_create_dir_ns(struct kernfs_node *parent, | 286 | struct kernfs_node *kernfs_create_dir_ns(struct kernfs_node *parent, |
286 | const char *name, umode_t mode, | 287 | const char *name, umode_t mode, |
287 | void *priv, const void *ns); | 288 | void *priv, const void *ns); |
289 | struct kernfs_node *kernfs_create_empty_dir(struct kernfs_node *parent, | ||
290 | const char *name); | ||
288 | struct kernfs_node *__kernfs_create_file(struct kernfs_node *parent, | 291 | struct kernfs_node *__kernfs_create_file(struct kernfs_node *parent, |
289 | const char *name, | 292 | const char *name, |
290 | umode_t mode, loff_t size, | 293 | umode_t mode, loff_t size, |