ocfs2: Let inode be really deleted when ocfs2_mknod_locked() fails
authorJan Kara <jack@suse.cz>
Mon, 20 Oct 2008 17:23:54 +0000 (19:23 +0200)
committerMark Fasheh <mfasheh@suse.com>
Mon, 10 Nov 2008 17:51:46 +0000 (09:51 -0800)
We forgot to set i_nlink to 0 when returning due to error from ocfs2_mknod_locked()
and thus inode was not properly released via ocfs2_delete_inode() (e.g. claimed
space was not released). Fix it.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
fs/ocfs2/namei.c

index f594f300d4cd0ba80caae9b493cf4735ae4f51ce..f4967e634ffd01283e299bb6a7ee0d886048b813 100644 (file)
@@ -491,8 +491,10 @@ leave:
                        brelse(*new_fe_bh);
                        *new_fe_bh = NULL;
                }
-               if (inode)
+               if (inode) {
+                       clear_nlink(inode);
                        iput(inode);
+               }
        }
 
        mlog_exit(status);