<div dir="ltr">Looks good to me.<br><br>Acked-by: Sunil Mushran <<a href="mailto:sunil.mushran@gmail.com">sunil.mushran@gmail.com</a>><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, May 6, 2013 at 7:43 AM, Joseph Qi <span dir="ltr"><<a href="mailto:joseph.qi@huawei.com" target="_blank">joseph.qi@huawei.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">In ocfs2_file_aio_write, it does ocfs2_rw_lock first and then<br>
ocfs2_inode_lock. But if ocfs2_inode_lock failed, it goes to out_sems<br>
without unlocking rw lock. This will cause a bug in ocfs2_lock_res_free<br>
when testing res->l_ex_holders, which is increased in<br>
__ocfs2_cluster_lock and decreased in __ocfs2_cluster_unlock.<br>
<br>
Signed-off-by: Joseph Qi <<a href="mailto:joseph.qi@huawei.com">joseph.qi@huawei.com</a>><br>
<br>
---<br>
fs/ocfs2/file.c | 2 +-<br>
1 file changed, 1 insertion(+), 1 deletion(-)<br>
<br>
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c<br>
index 6474cb4..e2cd7a8 100644<br>
--- a/fs/ocfs2/file.c<br>
+++ b/fs/ocfs2/file.c<br>
@@ -2290,7 +2290,7 @@ relock:<br>
ret = ocfs2_inode_lock(inode, NULL, 1);<br>
if (ret < 0) {<br>
mlog_errno(ret);<br>
- goto out_sems;<br>
+ goto out;<br>
}<br>
<br>
ocfs2_inode_unlock(inode, 1);<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.7.9.7<br>
<br>
<br>
_______________________________________________<br>
Ocfs2-devel mailing list<br>
<a href="mailto:Ocfs2-devel@oss.oracle.com">Ocfs2-devel@oss.oracle.com</a><br>
<a href="https://oss.oracle.com/mailman/listinfo/ocfs2-devel" target="_blank">https://oss.oracle.com/mailman/listinfo/ocfs2-devel</a><br>
</font></span></blockquote></div><br></div>