Loading fs/fuse/dir.c +13 −4 Original line number Diff line number Diff line Loading @@ -1272,10 +1272,19 @@ static int fuse_direntplus_link(struct file *file, if (!inode) goto out; alias = d_materialise_unique(dentry, inode); if (S_ISDIR(inode->i_mode)) { mutex_lock(&fc->inst_mutex); alias = fuse_d_add_directory(dentry, inode); mutex_unlock(&fc->inst_mutex); err = PTR_ERR(alias); if (IS_ERR(alias)) if (IS_ERR(alias)) { iput(inode); goto out; } } else { alias = d_splice_alias(inode, dentry); } if (alias) { dput(dentry); dentry = alias; Loading Loading
fs/fuse/dir.c +13 −4 Original line number Diff line number Diff line Loading @@ -1272,10 +1272,19 @@ static int fuse_direntplus_link(struct file *file, if (!inode) goto out; alias = d_materialise_unique(dentry, inode); if (S_ISDIR(inode->i_mode)) { mutex_lock(&fc->inst_mutex); alias = fuse_d_add_directory(dentry, inode); mutex_unlock(&fc->inst_mutex); err = PTR_ERR(alias); if (IS_ERR(alias)) if (IS_ERR(alias)) { iput(inode); goto out; } } else { alias = d_splice_alias(inode, dentry); } if (alias) { dput(dentry); dentry = alias; Loading