ocfs2: fix exit-while-locked bug in ocfs2_queue_orphans()
authorMark Fasheh <mark.fasheh@oracle.com>
Mon, 3 Dec 2007 22:06:23 +0000 (14:06 -0800)
committerMark Fasheh <mark.fasheh@oracle.com>
Mon, 17 Dec 2007 18:49:43 +0000 (10:49 -0800)
We're holding the cluster lock when a failure might happen in
ocfs2_dir_foreach() so it needs to be released.

Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
fs/ocfs2/journal.c

index f9d01e25298decaa3b24ab3e3c38ee88d3d6c55c..7e5f7ce4761bed02343d0a01c75cced9bfec28a6 100644 (file)
@@ -1277,11 +1277,12 @@ static int ocfs2_queue_orphans(struct ocfs2_super *osb,
                                   ocfs2_orphan_filldir);
        if (status) {
                mlog_errno(status);
-               goto out;
+               goto out_cluster;
        }
 
        *head = priv.head;
 
+out_cluster:
        ocfs2_meta_unlock(orphan_dir_inode, 0);
 out:
        mutex_unlock(&orphan_dir_inode->i_mutex);