[Ocfs2-devel] [PATCH 16/20] ocfs2: fix exit-while-locked bug in ocfs2_queue_orphans()

Sunil Mushran sunil.mushran at oracle.com
Wed Jan 16 11:32:53 PST 2008


Mainline commit a86370fbb65a0a2cb21d28bf25a748f6cc04385b
Author: Mark Fasheh <mark.fasheh at oracle.com>
Date: Mon, 3 Dec 2007 14:06:23 -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 at oracle.com>
---
 fs/ocfs2/journal.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/fs/ocfs2/journal.c b/fs/ocfs2/journal.c
index aafd0a3..909a344 100644
--- a/fs/ocfs2/journal.c
+++ b/fs/ocfs2/journal.c
@@ -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);
-- 
1.5.3.4




More information about the Ocfs2-devel mailing list