new helper: ihold()

Clones an existing reference to inode; caller must already hold one.

Signed-off-by: Al Viro <[email protected]>
This commit is contained in:
Al Viro 2010-10-23 11:11:40 -04:00
commit 7de9c6ee3e
40 changed files with 57 additions and 49 deletions

View file

@ -1279,7 +1279,7 @@ int txCommit(tid_t tid, /* transaction identifier */
* lazy commit thread finishes processing
*/
if (tblk->xflag & COMMIT_DELETE) {
atomic_inc(&tblk->u.ip->i_count);
ihold(tblk->u.ip);
/*
* Avoid a rare deadlock
*

View file

@ -839,7 +839,7 @@ static int jfs_link(struct dentry *old_dentry,
ip->i_ctime = CURRENT_TIME;
dir->i_ctime = dir->i_mtime = CURRENT_TIME;
mark_inode_dirty(dir);
atomic_inc(&ip->i_count);
ihold(ip);
iplist[0] = ip;
iplist[1] = dir;