From: NeilBrown Date: Fri, 4 Mar 2011 23:44:23 +0000 (+1100) Subject: Avoid unbalanced refcount on fs if lafs_iget fails. X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=6de902f586b12e919b4c5ff49ab2edd4771cfd98;p=LaFS.git Avoid unbalanced refcount on fs if lafs_iget fails. if lafs_iget_fs is about to fail, we don't want to gold any references, so be more careful. Signed-off-by: NeilBrown --- diff --git a/inode.c b/inode.c index e66ea28..59979b7 100644 --- a/inode.c +++ b/inode.c @@ -245,7 +245,8 @@ lafs_iget_fs(struct fs *fs, int fsnum, int inum, int async) up_write(&sb2->s_umount); } else { rv = lafs_iget(sb, inum, async); - atomic_inc(&sb->s_active); + if (!IS_ERR(rv)) + atomic_inc(&sb->s_active); } return rv; }