/* ocfs2_open_unlock unlock PR and EX mode open locks.  */
void ocfs2_open_unlock(struct inode *inode)
/* ocfs2_open_unlock unlock PR and EX mode open locks.  */
void ocfs2_open_unlock(struct inode *inode)
{
	struct ocfs2_lock_res *lockres = &OCFS2_I(inode)->ip_open_lockres;
	struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
	mlog_entry_void();
	mlog(0, "inode %llu drop open lock\n",
	     (unsigned long long)OCFS2_I(inode)->ip_blkno);
	if (ocfs2_mount_local(osb))
		goto out;
	if(lockres->l_ro_holders)
		ocfs2_cluster_unlock(OCFS2_SB(inode->i_sb), lockres,
				     DLM_LOCK_PR);
	if(lockres->l_ex_holders)
		ocfs2_cluster_unlock(OCFS2_SB(inode->i_sb), lockres,
				     DLM_LOCK_EX);
out:
	mlog_exit_void();
}