aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2011-01-12 16:41:05 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2011-01-12 20:03:12 -0500
commitd463a0c4b53a8fab505fd9aa3a1a04cb9f411b78 (patch)
tree42a95add68d4fd34f17235a938e1bfa1ea905f70 /fs
parent31a203df9c109480fc6d48ba0a68763e89199acb (diff)
switch configfs
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs')
-rw-r--r--fs/configfs/configfs_internal.h1
-rw-r--r--fs/configfs/dir.c6
-rw-r--r--fs/configfs/mount.c1
3 files changed, 3 insertions, 5 deletions
diff --git a/fs/configfs/configfs_internal.h b/fs/configfs/configfs_internal.h
index 026cf68553a4..82bda8fdfc1c 100644
--- a/fs/configfs/configfs_internal.h
+++ b/fs/configfs/configfs_internal.h
@@ -90,6 +90,7 @@ extern const struct file_operations configfs_file_operations;
90extern const struct file_operations bin_fops; 90extern const struct file_operations bin_fops;
91extern const struct inode_operations configfs_dir_inode_operations; 91extern const struct inode_operations configfs_dir_inode_operations;
92extern const struct inode_operations configfs_symlink_inode_operations; 92extern const struct inode_operations configfs_symlink_inode_operations;
93extern const struct dentry_operations configfs_dentry_ops;
93 94
94extern int configfs_symlink(struct inode *dir, struct dentry *dentry, 95extern int configfs_symlink(struct inode *dir, struct dentry *dentry,
95 const char *symname); 96 const char *symname);
diff --git a/fs/configfs/dir.c b/fs/configfs/dir.c
index 36637a8c1ed3..90ff3cb10de3 100644
--- a/fs/configfs/dir.c
+++ b/fs/configfs/dir.c
@@ -72,7 +72,7 @@ static int configfs_d_delete(const struct dentry *dentry)
72 return 1; 72 return 1;
73} 73}
74 74
75static const struct dentry_operations configfs_dentry_ops = { 75const struct dentry_operations configfs_dentry_ops = {
76 .d_iput = configfs_d_iput, 76 .d_iput = configfs_d_iput,
77 /* simple_delete_dentry() isn't exported */ 77 /* simple_delete_dentry() isn't exported */
78 .d_delete = configfs_d_delete, 78 .d_delete = configfs_d_delete,
@@ -442,7 +442,6 @@ static int configfs_attach_attr(struct configfs_dirent * sd, struct dentry * den
442 return error; 442 return error;
443 } 443 }
444 444
445 d_set_d_op(dentry, &configfs_dentry_ops);
446 d_rehash(dentry); 445 d_rehash(dentry);
447 446
448 return 0; 447 return 0;
@@ -489,7 +488,6 @@ static struct dentry * configfs_lookup(struct inode *dir,
489 */ 488 */
490 if (dentry->d_name.len > NAME_MAX) 489 if (dentry->d_name.len > NAME_MAX)
491 return ERR_PTR(-ENAMETOOLONG); 490 return ERR_PTR(-ENAMETOOLONG);
492 d_set_d_op(dentry, &configfs_dentry_ops);
493 d_add(dentry, NULL); 491 d_add(dentry, NULL);
494 return NULL; 492 return NULL;
495 } 493 }
@@ -683,7 +681,6 @@ static int create_default_group(struct config_group *parent_group,
683 ret = -ENOMEM; 681 ret = -ENOMEM;
684 child = d_alloc(parent, &name); 682 child = d_alloc(parent, &name);
685 if (child) { 683 if (child) {
686 d_set_d_op(child, &configfs_dentry_ops);
687 d_add(child, NULL); 684 d_add(child, NULL);
688 685
689 ret = configfs_attach_group(&parent_group->cg_item, 686 ret = configfs_attach_group(&parent_group->cg_item,
@@ -1681,7 +1678,6 @@ int configfs_register_subsystem(struct configfs_subsystem *subsys)
1681 err = -ENOMEM; 1678 err = -ENOMEM;
1682 dentry = d_alloc(configfs_sb->s_root, &name); 1679 dentry = d_alloc(configfs_sb->s_root, &name);
1683 if (dentry) { 1680 if (dentry) {
1684 d_set_d_op(dentry, &configfs_dentry_ops);
1685 d_add(dentry, NULL); 1681 d_add(dentry, NULL);
1686 1682
1687 err = configfs_attach_group(sd->s_element, &group->cg_item, 1683 err = configfs_attach_group(sd->s_element, &group->cg_item,
diff --git a/fs/configfs/mount.c b/fs/configfs/mount.c
index 7d3607febe1c..ecc62178beda 100644
--- a/fs/configfs/mount.c
+++ b/fs/configfs/mount.c
@@ -101,6 +101,7 @@ static int configfs_fill_super(struct super_block *sb, void *data, int silent)
101 configfs_root_group.cg_item.ci_dentry = root; 101 configfs_root_group.cg_item.ci_dentry = root;
102 root->d_fsdata = &configfs_root; 102 root->d_fsdata = &configfs_root;
103 sb->s_root = root; 103 sb->s_root = root;
104 sb->s_d_op = &configfs_dentry_ops; /* the rest get that */
104 return 0; 105 return 0;
105} 106}
106 107