]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitd346cbb9a1f431c0e741cc6c1f9b925661ccb913
tree45677902196a26d12a9eb56a663e0a9787cc2cae
parent7a5f0e304407f1da0dcab5c4e3309632d38c6bfe
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