diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-03-08 16:03:10 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-03-08 16:03:10 -0500 |
commit | 54d20f006ceff1f2f1e69d0e54049b6c0765c039 (patch) | |
tree | e2418ba2f9ee4830d4fc3e16599189b8e1256899 /fs/sysfs/dir.c | |
parent | 7b60a18da393ed70db043a777fd9e6d5363077c4 (diff) |
Revert "sysfs: Kill nlink counting."
This reverts commit 524b6c5b39b931311dfe5a2f5abae2f5c9731676.
It has shown to break userspace tools, which is not acceptable.
Reported-by: Jiri Slaby <jslaby@suse.cz>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/sysfs/dir.c')
-rw-r--r-- | fs/sysfs/dir.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/sysfs/dir.c b/fs/sysfs/dir.c index dd3779cf3a3b..2a7a3f5d1ca6 100644 --- a/fs/sysfs/dir.c +++ b/fs/sysfs/dir.c | |||
@@ -91,6 +91,9 @@ static int sysfs_link_sibling(struct sysfs_dirent *sd) | |||
91 | struct rb_node **node = &sd->s_parent->s_dir.children.rb_node; | 91 | struct rb_node **node = &sd->s_parent->s_dir.children.rb_node; |
92 | struct rb_node *parent = NULL; | 92 | struct rb_node *parent = NULL; |
93 | 93 | ||
94 | if (sysfs_type(sd) == SYSFS_DIR) | ||
95 | sd->s_parent->s_dir.subdirs++; | ||
96 | |||
94 | while (*node) { | 97 | while (*node) { |
95 | struct sysfs_dirent *pos; | 98 | struct sysfs_dirent *pos; |
96 | int result; | 99 | int result; |
@@ -123,6 +126,9 @@ static int sysfs_link_sibling(struct sysfs_dirent *sd) | |||
123 | */ | 126 | */ |
124 | static void sysfs_unlink_sibling(struct sysfs_dirent *sd) | 127 | static void sysfs_unlink_sibling(struct sysfs_dirent *sd) |
125 | { | 128 | { |
129 | if (sysfs_type(sd) == SYSFS_DIR) | ||
130 | sd->s_parent->s_dir.subdirs--; | ||
131 | |||
126 | rb_erase(&sd->s_rb, &sd->s_parent->s_dir.children); | 132 | rb_erase(&sd->s_rb, &sd->s_parent->s_dir.children); |
127 | } | 133 | } |
128 | 134 | ||