ocfs2: Resolve deadlock in ocfs2_xattr_free_block.
authorTao Ma <tao.ma@oracle.com>
Fri, 29 Aug 2008 01:00:19 +0000 (09:00 +0800)
committerMark Fasheh <mfasheh@suse.com>
Mon, 13 Oct 2008 23:57:06 +0000 (16:57 -0700)
commit08413899db89d8d636c2a2d4ba5c356ab587d7ef
tree82e65ffa9b0b30d0206259ae99e0fbc8db667936
parent28b8ca0b7f70b1b048d03dc0b9d87f58619e9791
ocfs2: Resolve deadlock in ocfs2_xattr_free_block.

In ocfs2_xattr_free_block, we take a cluster lock on xb_alloc_inode while we
have a transaction open. This will deadlock the downconvert thread, so fix
it.

We can clean up how xattr blocks are removed while here - this patch also
moves the mechanism of releasing xattr block (including both value, xattr
tree and xattr block) into this function.

Signed-off-by: Tao Ma <tao.ma@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
fs/ocfs2/xattr.c