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

@ -317,7 +317,7 @@ xfs_vn_link(
if (unlikely(error))
return -error;
atomic_inc(&inode->i_count);
ihold(inode);
d_instantiate(dentry, inode);
return 0;
}

View file

@ -500,7 +500,7 @@ void xfs_mark_inode_dirty_sync(xfs_inode_t *);
#define IHOLD(ip) \
do { \
ASSERT(atomic_read(&VFS_I(ip)->i_count) > 0) ; \
atomic_inc(&(VFS_I(ip)->i_count)); \
ihold(VFS_I(ip)); \
trace_xfs_ihold(ip, _THIS_IP_); \
} while (0)