summaryrefslogtreecommitdiff
path: root/fs/aio.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2010-10-23 11:11:40 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2010-10-25 21:26:11 -0400
commit7de9c6ee3ecffd99e1628e81a5ea5468f7581a1f (patch)
tree88787e77ba8a253d0a26aeda4bd5e58532d592e0 /fs/aio.c
parent646ec4615cd05972581c9c5342ed7a1e77df17bb (diff)
downloadlwn-7de9c6ee3ecffd99e1628e81a5ea5468f7581a1f.tar.gz
lwn-7de9c6ee3ecffd99e1628e81a5ea5468f7581a1f.zip
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/aio.c')
-rw-r--r--fs/aio.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/aio.c b/fs/aio.c
index 9e319a04780e..8c8f6c5b6d79 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -1553,10 +1553,9 @@ static void aio_batch_add(struct address_space *mapping,
*
* When we're called, we always have a reference
* on the file, so we must always have a reference
- * on the inode, so igrab must always just
- * bump the count and move on.
+ * on the inode, so ihold() is safe here.
*/
- atomic_inc(&mapping->host->i_count);
+ ihold(mapping->host);
abe->mapping = mapping;
hlist_add_head(&abe->list, &batch_hash[bucket]);
return;