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

Commit 529a7fac authored by Jan Kara's avatar Jan Kara Committed by Sasha Levin
Browse files

ufs: Fix warning from unlock_new_inode()



[ Upstream commit 12ecbb4b1d765a5076920999298d9625439dbe58 ]

Commit e4502c63 (ufs: deal with nfsd/iget races) introduced
unlock_new_inode() call into ufs_add_nondir(). However that function
gets called also from ufs_link() which hands it already initialized
inode and thus unlock_new_inode() complains. The problem is harmless but
annoying.

Fix the problem by opencoding necessary stuff in ufs_link()

Fixes: e4502c63
Signed-off-by: default avatarJan Kara <jack@suse.cz>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
parent e4102c42
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -174,7 +174,12 @@ static int ufs_link (struct dentry * old_dentry, struct inode * dir,
	inode_inc_link_count(inode);
	ihold(inode);

	error = ufs_add_nondir(dentry, inode);
	error = ufs_add_link(dentry, inode);
	if (error) {
		inode_dec_link_count(inode);
		iput(inode);
	} else
		d_instantiate(dentry, inode);
	unlock_ufs(dir->i_sb);
	return error;
}