diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2010-10-23 11:11:40 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2010-10-25 21:26:11 -0400 |
commit | 7de9c6ee3ecffd99e1628e81a5ea5468f7581a1f (patch) | |
tree | 88787e77ba8a253d0a26aeda4bd5e58532d592e0 /fs/xfs | |
parent | 646ec4615cd05972581c9c5342ed7a1e77df17bb (diff) |
new helper: ihold()
Clones an existing reference to inode; caller must already hold one.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/xfs')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_iops.c | 2 | ||||
-rw-r--r-- | fs/xfs/xfs_inode.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/fs/xfs/linux-2.6/xfs_iops.c b/fs/xfs/linux-2.6/xfs_iops.c index 71d83c93621c..96107efc0c61 100644 --- a/fs/xfs/linux-2.6/xfs_iops.c +++ b/fs/xfs/linux-2.6/xfs_iops.c | |||
@@ -317,7 +317,7 @@ xfs_vn_link( | |||
317 | if (unlikely(error)) | 317 | if (unlikely(error)) |
318 | return -error; | 318 | return -error; |
319 | 319 | ||
320 | atomic_inc(&inode->i_count); | 320 | ihold(inode); |
321 | d_instantiate(dentry, inode); | 321 | d_instantiate(dentry, inode); |
322 | return 0; | 322 | return 0; |
323 | } | 323 | } |
diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h index fac52290de90..fb2ca2e4cdc9 100644 --- a/fs/xfs/xfs_inode.h +++ b/fs/xfs/xfs_inode.h | |||
@@ -500,7 +500,7 @@ void xfs_mark_inode_dirty_sync(xfs_inode_t *); | |||
500 | #define IHOLD(ip) \ | 500 | #define IHOLD(ip) \ |
501 | do { \ | 501 | do { \ |
502 | ASSERT(atomic_read(&VFS_I(ip)->i_count) > 0) ; \ | 502 | ASSERT(atomic_read(&VFS_I(ip)->i_count) > 0) ; \ |
503 | atomic_inc(&(VFS_I(ip)->i_count)); \ | 503 | ihold(VFS_I(ip)); \ |
504 | trace_xfs_ihold(ip, _THIS_IP_); \ | 504 | trace_xfs_ihold(ip, _THIS_IP_); \ |
505 | } while (0) | 505 | } while (0) |
506 | 506 | ||