kernel-ark/fs/ocfs2
Joel Becker ee19a77956 ocfs2: Wrap access of directory allocations with ip_alloc_sem.
OCFS2_I(inode)->ip_alloc_sem is a read-write semaphore protecting
local concurrent access of ocfs2 inodes.  However, ocfs2 directories were
not taking the semaphore while they accessed or modified the allocation
tree.

ocfs2_extend_dir() needs to take the semaphore in a write mode when it
adds to the allocation.  All other directory users get there via
ocfs2_bread(), which takes the semaphore in read mode.

Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
2007-05-02 15:07:42 -07:00
..
cluster ocfs2: Remove delete inode vote 2007-04-26 14:39:48 -07:00
dlm ocfs2: Silence compiler warnings 2007-04-26 13:38:55 -07:00
alloc.c ocfs2: Cache extent records 2007-04-26 15:10:40 -07:00
alloc.h ocfs2: make room for unwritten extents flag 2007-04-26 15:02:37 -07:00
aops.c [PATCH] fs/ocfs2/: make 3 functions static 2007-05-02 15:07:27 -07:00
aops.h ocfs2: Remember rw lock level during direct io 2007-04-26 15:07:45 -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] fs/ocfs2/: make 3 functions static 2007-05-02 15:07:27 -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: cleanup ocfs2_iget() errors 2007-01-21 16:19:12 -08:00
export.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
extent_map.c ocfs2: Cache extent records 2007-04-26 15:10:40 -07:00
extent_map.h ocfs2: Cache extent records 2007-04-26 15:10:40 -07:00
file.c [PATCH] fs/ocfs2/: make 3 functions static 2007-05-02 15:07:27 -07:00
file.h [PATCH] fs/ocfs2/: make 3 functions static 2007-05-02 15:07:27 -07:00
heartbeat.c ocfs2: Proper cleanup in case of error in ocfs2_register_hb_callbacks() 2007-03-14 14:37:09 -07:00
heartbeat.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
inode.c ocfs2: Wrap access of directory allocations with ip_alloc_sem. 2007-05-02 15:07:42 -07:00
inode.h ocfs2: Cache extent records 2007-04-26 15:10:40 -07:00
ioctl.c ocfs2: Implement compat_ioctl() 2007-05-02 15:07:16 -07:00
ioctl.h ocfs2: Implement compat_ioctl() 2007-05-02 15:07:16 -07:00
journal.c ocfs2: Fix up i_blocks calculation to know about holes 2007-04-26 15:07:40 -07:00
journal.h ocfs2: make room for unwritten extents flag 2007-04-26 15:02:37 -07:00
localalloc.c [PATCH] Fix numerous kcalloc() calls, convert to kzalloc() 2006-12-13 09:05:52 -08: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: Turn off shared writeable mmap for local files systems with holes. 2007-04-26 15:02:01 -07:00
mmap.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
namei.c ocfs2: Fix up i_blocks calculation to know about holes 2007-04-26 15:07:40 -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: zero tail of sparse files on truncate 2007-04-26 15:02:20 -07:00
slot_map.c ocfs2: Read from an unwritten extent returns zeros 2007-04-26 15:02:41 -07:00
slot_map.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
suballoc.c ocfs2: Fix up i_blocks calculation to know about holes 2007-04-26 15:07:40 -07:00
suballoc.h ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t 2006-12-01 18:28:28 -08:00
super.c ocfs2: Cache extent records 2007-04-26 15:10:40 -07:00
super.h ocfs2: use __attribute__ format 2006-03-24 14:58:24 -08:00
symlink.c [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08: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 ocfs2: remove unused code 2007-04-26 14:40:16 -07:00
vote.h ocfs2: remove unused code 2007-04-26 14:40:16 -07:00