diff options
author | Mark Fasheh <mark.fasheh@oracle.com> | 2007-12-03 23:06:23 +0100 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2007-12-17 19:49:43 +0100 |
commit | a86370fbb65a0a2cb21d28bf25a748f6cc04385b (patch) | |
tree | 787ec4c82c05a010c7ef38cb22b2a2ca73b2a6f3 /fs/ocfs2/journal.c | |
parent | Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb (diff) | |
download | linux-a86370fbb65a0a2cb21d28bf25a748f6cc04385b.tar.xz linux-a86370fbb65a0a2cb21d28bf25a748f6cc04385b.zip |
ocfs2: fix exit-while-locked bug in ocfs2_queue_orphans()
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>
Diffstat (limited to 'fs/ocfs2/journal.c')
-rw-r--r-- | 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 f9d01e25298d..7e5f7ce4761b 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); |