linux/fs/ocfs2
Mark Fasheh 2b604351bc 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>
2007-07-10 17:31:54 -07:00
..
cluster [PATCH] ocfs2: use list_for_each_entry where benefical 2007-07-10 17:19:49 -07:00
dlm [KJ PATCH] Replacing memset(<addr>,0,PAGE_SIZE) with clear_page() in fs/ocfs2/dlm/dlmrecovery.c 2007-07-10 17:19:52 -07:00
alloc.c ocfs2: simplify deallocation locking 2007-07-10 17:31:54 -07:00
alloc.h ocfs2: simplify deallocation locking 2007-07-10 17:31:54 -07:00
aops.c ocfs2: harden buffer check during mapping of page blocks 2007-07-10 17:31:52 -07:00
aops.h ocfs2: shared writeable mmap 2007-07-10 17:31:51 -07:00
buffer_head_io.c ocfs2: implement directory read-ahead 2006-09-20 15:53:40 -07:00
buffer_head_io.h ocfs2: implement directory read-ahead 2006-09-20 15:53:40 -07:00
dcache.c ocfs2: Remove special casing for inode creation in ocfs2_dentry_attach_lock() 2006-09-24 13:50:45 -07:00
dcache.h ocfs2: Remove special casing for inode creation in ocfs2_dentry_attach_lock() 2006-09-24 13:50:45 -07:00
dir.c ocfs2: Wrap access of directory allocations with ip_alloc_sem. 2007-05-02 15:07:42 -07:00
dir.h ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t 2006-12-01 18:28:28 -08:00
dlmglue.c [PATCH] ocfs2: use list_for_each_entry where benefical 2007-07-10 17:19:49 -07:00
dlmglue.h [PATCH] fs/ocfs2/: make 3 functions static 2007-05-02 15:07:27 -07:00
endian.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
export.c ocfs2: fix sparse warnings in fs/ocfs2 2007-05-02 15:08:08 -07:00
export.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
extent_map.c [PATCH] ocfs2: use list_for_each_entry where benefical 2007-07-10 17:19:49 -07:00
extent_map.h ocfs2: Cache extent records 2007-04-26 15:10:40 -07:00
file.c ocfs2: shared writeable mmap 2007-07-10 17:31:51 -07:00
file.h [PATCH] fs/ocfs2/: make 3 functions static 2007-05-02 15:07:27 -07:00
heartbeat.c ocfs2: Depend on configfs heartbeat items. 2007-07-10 17:19:40 -07:00
heartbeat.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
inode.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
inode.h [PATCH] Copy i_flags to ocfs2 inode flags on write 2007-05-02 15:07:58 -07:00
ioctl.c [PATCH] Copy i_flags to ocfs2 inode flags on write 2007-05-02 15:07:58 -07:00
ioctl.h ocfs2: Implement compat_ioctl() 2007-05-02 15:07:16 -07:00
journal.c [PATCH] ocfs2: use list_for_each_entry where benefical 2007-07-10 17:19:49 -07:00
journal.h ocfs2: make room for unwritten extents flag 2007-04-26 15:02:37 -07:00
localalloc.c ocfs2: fix inode leak 2007-05-25 11:00:46 -07:00
localalloc.h ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t 2006-12-01 18:28:28 -08:00
Makefile ocfs2: add ext2 attributes 2006-09-20 15:48:39 -07:00
mmap.c ocfs2: shared writeable mmap 2007-07-10 17:31:51 -07:00
mmap.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
namei.c ocfs2: fix sparse warnings in fs/ocfs2 2007-05-02 15:08:08 -07:00
namei.h [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
ocfs1_fs_compat.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
ocfs2_fs.h ocfs2: Implement compat_ioctl() 2007-05-02 15:07:16 -07:00
ocfs2_lockid.h ocfs2: Remove delete inode vote 2007-04-26 14:39:48 -07:00
ocfs2.h ocfs2: Add "preferred slot" mount option 2007-07-10 17:19:54 -07:00
slot_map.c ocfs2: Add "preferred slot" mount option 2007-07-10 17:19:54 -07:00
slot_map.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
suballoc.c ocfs2: simplify deallocation locking 2007-07-10 17:31:54 -07:00
suballoc.h ocfs2: simplify deallocation locking 2007-07-10 17:31:54 -07:00
super.c ocfs2: Add "preferred slot" mount option 2007-07-10 17:19:54 -07:00
super.h ocfs2: use __attribute__ format 2006-03-24 14:58:24 -08:00
symlink.c mm: make read_cache_page synchronous 2007-05-07 12:12:51 -07:00
symlink.h [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
sysfile.c ocfs2: Remove i_generation from inode lock names 2006-09-24 13:50:46 -07:00
sysfile.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
uptodate.c [PATCH] slab: remove kmem_cache_t 2006-12-07 08:39:25 -08:00
uptodate.h ocfs2: implement directory read-ahead 2006-09-20 15:53:40 -07:00
ver.c [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
ver.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
vote.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
vote.h ocfs2: remove unused code 2007-04-26 14:40:16 -07:00