diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2011-01-12 16:41:05 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2011-01-12 20:03:12 -0500 |
commit | d463a0c4b53a8fab505fd9aa3a1a04cb9f411b78 (patch) | |
tree | 42a95add68d4fd34f17235a938e1bfa1ea905f70 /fs | |
parent | 31a203df9c109480fc6d48ba0a68763e89199acb (diff) |
switch configfs
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/configfs/configfs_internal.h | 1 | ||||
-rw-r--r-- | fs/configfs/dir.c | 6 | ||||
-rw-r--r-- | fs/configfs/mount.c | 1 |
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; | |||
90 | extern const struct file_operations bin_fops; | 90 | extern const struct file_operations bin_fops; |
91 | extern const struct inode_operations configfs_dir_inode_operations; | 91 | extern const struct inode_operations configfs_dir_inode_operations; |
92 | extern const struct inode_operations configfs_symlink_inode_operations; | 92 | extern const struct inode_operations configfs_symlink_inode_operations; |
93 | extern const struct dentry_operations configfs_dentry_ops; | ||
93 | 94 | ||
94 | extern int configfs_symlink(struct inode *dir, struct dentry *dentry, | 95 | extern 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 | ||
75 | static const struct dentry_operations configfs_dentry_ops = { | 75 | const 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 | ||