exofs: Remove inode->i_count manipulation in exofs_new_inode
authorBoaz Harrosh <bharrosh@panasas.com>
Sat, 16 Oct 2010 08:14:01 +0000 (19:14 +1100)
committerBoaz Harrosh <bharrosh@panasas.com>
Mon, 25 Oct 2010 16:03:07 +0000 (18:03 +0200)
commitfe2fd9ed5bf184f797412be8b86f4589d1b77bb8
tree45677902196a26d12a9eb56a663e0a9787cc2cae
parent571f7f46bf367b29f574ca51a9ca1db5035602bb
exofs: Remove inode->i_count manipulation in exofs_new_inode

exofs_new_inode() was incrementing the inode->i_count and
decrementing it in create_done(), in a bad attempt to make sure
the inode will still be there when the asynchronous create_done()
finally arrives. This was very stupid because iput() was not called,
and if it was actually needed, it would leak the inode.

However all this is not needed, because at exofs_evict_inode()
we already wait for create_done() by waiting for the
object_created event. Therefore remove the superfluous ref counting
and just Thicken the comment at exofs_evict_inode() a bit.

While at it change places that open coded wait_obj_created()
to call the already available wrapper.

CC: Dave Chinner <dchinner@redhat.com>
CC: Christoph Hellwig <hch@lst.de>
CC: Nick Piggin <npiggin@kernel.dk>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
fs/exofs/inode.c