ufs: switch to discard_new_inode()
we don't want open-by-handle to pick an in-core inode that has failed setup halfway through. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
32955c5422
commit
dd54992776
|
@ -343,8 +343,7 @@ cg_found:
|
||||||
fail_remove_inode:
|
fail_remove_inode:
|
||||||
mutex_unlock(&sbi->s_lock);
|
mutex_unlock(&sbi->s_lock);
|
||||||
clear_nlink(inode);
|
clear_nlink(inode);
|
||||||
unlock_new_inode(inode);
|
discard_new_inode(inode);
|
||||||
iput(inode);
|
|
||||||
UFSD("EXIT (FAILED): err %d\n", err);
|
UFSD("EXIT (FAILED): err %d\n", err);
|
||||||
return ERR_PTR(err);
|
return ERR_PTR(err);
|
||||||
failed:
|
failed:
|
||||||
|
|
|
@ -43,8 +43,7 @@ static inline int ufs_add_nondir(struct dentry *dentry, struct inode *inode)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
inode_dec_link_count(inode);
|
inode_dec_link_count(inode);
|
||||||
unlock_new_inode(inode);
|
discard_new_inode(inode);
|
||||||
iput(inode);
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -142,8 +141,7 @@ static int ufs_symlink (struct inode * dir, struct dentry * dentry,
|
||||||
|
|
||||||
out_fail:
|
out_fail:
|
||||||
inode_dec_link_count(inode);
|
inode_dec_link_count(inode);
|
||||||
unlock_new_inode(inode);
|
discard_new_inode(inode);
|
||||||
iput(inode);
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -198,8 +196,7 @@ static int ufs_mkdir(struct inode * dir, struct dentry * dentry, umode_t mode)
|
||||||
out_fail:
|
out_fail:
|
||||||
inode_dec_link_count(inode);
|
inode_dec_link_count(inode);
|
||||||
inode_dec_link_count(inode);
|
inode_dec_link_count(inode);
|
||||||
unlock_new_inode(inode);
|
discard_new_inode(inode);
|
||||||
iput (inode);
|
|
||||||
out_dir:
|
out_dir:
|
||||||
inode_dec_link_count(dir);
|
inode_dec_link_count(dir);
|
||||||
return err;
|
return err;
|
||||||
|
|
Loading…
Reference in New Issue