diff --git a/fs/ocfs2/refcounttree.c b/fs/ocfs2/refcounttree.c index 1f303b1adf1a..32c0249ff253 100644 --- a/fs/ocfs2/refcounttree.c +++ b/fs/ocfs2/refcounttree.c @@ -927,8 +927,8 @@ int ocfs2_try_remove_refcount_tree(struct inode *inode, struct ocfs2_inode_info *oi = OCFS2_I(inode); struct ocfs2_dinode *di = (struct ocfs2_dinode *)di_bh->b_data; - down_write(&oi->ip_xattr_sem); down_write(&oi->ip_alloc_sem); + down_write(&oi->ip_xattr_sem); if (oi->ip_clusters) goto out; @@ -944,8 +944,8 @@ int ocfs2_try_remove_refcount_tree(struct inode *inode, if (ret) mlog_errno(ret); out: - up_write(&oi->ip_alloc_sem); up_write(&oi->ip_xattr_sem); + up_write(&oi->ip_alloc_sem); return 0; }