Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5cf3b560 authored by Al Viro's avatar Al Viro
Browse files

configfs: move d_rehash() into configfs_create() for regular files



... and turn it into d_add in there

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent f7380af0
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -432,16 +432,11 @@ static int configfs_attach_attr(struct configfs_dirent * sd, struct dentry * den
				(sd->s_type & CONFIGFS_ITEM_BIN_ATTR) ?
					configfs_init_bin_file :
					configfs_init_file);
	if (error) {
	if (error)
		configfs_put(sd);
	return error;
}

	d_rehash(dentry);

	return 0;
}

static struct dentry * configfs_lookup(struct inode *dir,
				       struct dentry *dentry,
				       unsigned int flags)
+10 −2
Original line number Diff line number Diff line
@@ -199,9 +199,17 @@ int configfs_create(struct dentry * dentry, umode_t mode, void (*init)(struct in
	configfs_set_inode_lock_class(sd, inode);

	init(inode);
	if (S_ISDIR(mode) || S_ISLNK(mode)) {
		/*
		 * ->symlink(), ->mkdir(), configfs_register_subsystem() or
		 * create_default_group() - already hashed.
		 */
		d_instantiate(dentry, inode);
	if (S_ISDIR(mode) || S_ISLNK(mode))
		dget(dentry);  /* pin link and directory dentries in core */
	} else {
		/* ->lookup() */
		d_add(dentry, inode);
	}
	return error;
}