Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

Al Viro dd549927 32955c54

+4 -8
+1 -2
fs/ufs/ialloc.c
··· 343 343 fail_remove_inode: 344 344 mutex_unlock(&sbi->s_lock); 345 345 clear_nlink(inode); 346 - unlock_new_inode(inode); 347 - iput(inode); 346 + discard_new_inode(inode); 348 347 UFSD("EXIT (FAILED): err %d\n", err); 349 348 return ERR_PTR(err); 350 349 failed:
+3 -6
fs/ufs/namei.c
··· 43 43 return 0; 44 44 } 45 45 inode_dec_link_count(inode); 46 - unlock_new_inode(inode); 47 - iput(inode); 46 + discard_new_inode(inode); 48 47 return err; 49 48 } 50 49 ··· 141 142 142 143 out_fail: 143 144 inode_dec_link_count(inode); 144 - unlock_new_inode(inode); 145 - iput(inode); 145 + discard_new_inode(inode); 146 146 return err; 147 147 } 148 148 ··· 196 198 out_fail: 197 199 inode_dec_link_count(inode); 198 200 inode_dec_link_count(inode); 199 - unlock_new_inode(inode); 200 - iput (inode); 201 + discard_new_inode(inode); 201 202 out_dir: 202 203 inode_dec_link_count(dir); 203 204 return err;