X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=fs%2Fconfigfs%2Fdir.c;h=5ddd7ebd9dcd2156ce6a206fc5ba24c47c1c308a;hb=18bb1db3e7607e4a997d50991a6f9fa5b0f8722c;hp=9d17d350abc55ec3dfffca5282ba12f2d418facd;hpb=4c171acc20794af16a27da25e11ec4e9cad5d9fa;p=deliverable%2Flinux.git diff --git a/fs/configfs/dir.c b/fs/configfs/dir.c index 9d17d350abc5..5ddd7ebd9dcd 100644 --- a/fs/configfs/dir.c +++ b/fs/configfs/dir.c @@ -311,8 +311,8 @@ static int configfs_create_dir(struct config_item * item, struct dentry *dentry) if (item->ci_parent) parent = item->ci_parent->ci_dentry; - else if (configfs_mount && configfs_mount->mnt_sb) - parent = configfs_mount->mnt_sb->s_root; + else if (configfs_mount) + parent = configfs_mount->mnt_root; else return -EFAULT; @@ -1170,7 +1170,7 @@ void configfs_undepend_item(struct configfs_subsystem *subsys, } EXPORT_SYMBOL(configfs_undepend_item); -static int configfs_mkdir(struct inode *dir, struct dentry *dentry, int mode) +static int configfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) { int ret = 0; int module_got = 0; @@ -1359,8 +1359,6 @@ static int configfs_rmdir(struct inode *dir, struct dentry *dentry) struct module *subsys_owner = NULL, *dead_item_owner = NULL; int ret; - dentry_unhash(dentry); - if (dentry->d_parent == configfs_sb->s_root) return -EPERM;