View | Details | Raw Unified | Return to bug 144041
Collapse All | Expand All

(-)file_not_specified_in_diff (-4 / +8 lines)
Line  Link Here
--
1
fs/sysfs/dir.c   |    1 +
fs/sysfs/dir.c   |    1 +
2
fs/sysfs/inode.c |    6 +++++-
1
fs/sysfs/inode.c |    6 +++++-
3
2 files changed, 6 insertions(+), 1 deletion(-)
2
2 files changed, 6 insertions(+), 1 deletion(-)
4
-- gregkh-2.6.orig/fs/sysfs/dir.c
3
++ gregkh-2.6/fs/sysfs/dir.c
Lines 333-338 void sysfs_remove_dir(struct kobject * k Link Here
333
	 * Drop reference from dget() on entrance.
333
	 * Drop reference from dget() on entrance.
334
	 */
334
	 */
335
	dput(dentry);
335
	dput(dentry);
336
	kobj->dentry = NULL;
336
}
337
}
337
338
338
int sysfs_rename_dir(struct kobject * kobj, const char *new_name)
339
int sysfs_rename_dir(struct kobject * kobj, const char *new_name)
339
-- gregkh-2.6.orig/fs/sysfs/inode.c
340
++ gregkh-2.6/fs/sysfs/inode.c
Lines 226-237 void sysfs_drop_dentry(struct sysfs_dire Link Here
226
void sysfs_hash_and_remove(struct dentry * dir, const char * name)
226
void sysfs_hash_and_remove(struct dentry * dir, const char * name)
227
{
227
{
228
	struct sysfs_dirent * sd;
228
	struct sysfs_dirent * sd;
229
	struct sysfs_dirent * parent_sd = dir->d_fsdata;
229
	struct sysfs_dirent * parent_sd;
230
231
	if (!dir)
232
		return;
230
233
231
	if (dir->d_inode == NULL)
234
	if (dir->d_inode == NULL)
232
		/* no inode means this hasn't been made visible yet */
235
		/* no inode means this hasn't been made visible yet */
233
		return;
236
		return;
234
237
238
	parent_sd = dir->d_fsdata;
235
	mutex_lock(&dir->d_inode->i_mutex);
239
	mutex_lock(&dir->d_inode->i_mutex);
236
	list_for_each_entry(sd, &parent_sd->s_children, s_sibling) {
240
	list_for_each_entry(sd, &parent_sd->s_children, s_sibling) {
237
		if (!sd->s_element)
241
		if (!sd->s_element)

Return to bug 144041