提交 bda0233b 编写于 作者: S Sunil Mushran 提交者: Mark Fasheh

ocfs2: Unlock mutex in local alloc failure case

The fs was not unlocking the local alloc inode mutex in the code path in
which it failed to find a window of free bits in the global bitmap.
Signed-off-by: NSunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
上级 f778089c
...@@ -514,8 +514,10 @@ int ocfs2_reserve_local_alloc_bits(struct ocfs2_super *osb, ...@@ -514,8 +514,10 @@ int ocfs2_reserve_local_alloc_bits(struct ocfs2_super *osb,
ac->ac_bh = osb->local_alloc_bh; ac->ac_bh = osb->local_alloc_bh;
status = 0; status = 0;
bail: bail:
if (status < 0 && local_alloc_inode) if (status < 0 && local_alloc_inode) {
mutex_unlock(&local_alloc_inode->i_mutex);
iput(local_alloc_inode); iput(local_alloc_inode);
}
mlog_exit(status); mlog_exit(status);
return status; return status;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册