ocfs2: simplify deallocation locking
authorMark Fasheh <mark.fasheh@oracle.com>
Fri, 22 Jun 2007 22:45:27 +0000 (15:45 -0700)
committerMark Fasheh <mark.fasheh@oracle.com>
Wed, 11 Jul 2007 00:31:54 +0000 (17:31 -0700)
commit2b604351bc99b4e4504758cbac369b660b71de0b
tree293fa51f1ae9d19db0d09c721cc8433303cc8974
parentbce997682fe3121516f5a20cf7bad2e6029ba018
ocfs2: simplify deallocation locking

Deallocation of suballocator blocks, most notably extent blocks, might
involve multiple suballocator inodes.

The locking for this can get extremely complicated, especially when the
suballocator inodes to delete from aren't known until deep within an
unrelated codepath.

Implement a simple scheme for recording the blocks to be unlinked so that
the actual deallocation can be done in a context which won't deadlock.

Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
fs/ocfs2/alloc.c
fs/ocfs2/alloc.h
fs/ocfs2/suballoc.c
fs/ocfs2/suballoc.h