linux/fs/ext4
Amir Goldstein 2de8807b25 ext4: synchronize ext4_mb_init_group() with buddy page lock
The old routines ext4_mb_[get|put]_buddy_cache_lock(), which used
to take grp->alloc_sem for all groups on the buddy page have been
replaced with the routines ext4_mb_[get|put]_buddy_page_lock().

The new routines take both buddy and bitmap page locks to protect
against concurrent init of groups on the same buddy page.

The GROUP_NEED_INIT flag is tested again under page lock to check
if the group was initialized by another caller.

Signed-off-by: Amir Goldstein <amir73il@users.sf.net>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-05-09 21:48:13 -04:00
..
acl.c userns: rename is_owner_or_cap to inode_owner_or_capable 2011-03-23 19:47:13 -07:00
acl.h fs: provide rcu-walk aware permission i_ops 2011-01-07 17:50:29 +11:00
balloc.c ext4: move ext4_add_groupblocks() to mballoc.c 2011-05-09 10:46:41 -04:00
bitmap.c
block_validity.c ext4: rename {exit,init}_ext4_*() to ext4_{exit,init}_*() 2010-10-27 21:30:14 -04:00
dir.c ext4: Use ext4_error_file() to print the pathname to the corrupted inode 2011-01-10 12:10:55 -05:00
ext4_extents.h ext4: drop ec_type from the ext4_ext_cache structure 2011-01-10 12:13:26 -05:00
ext4_jbd2.c ext4: remove unneeded ext4_journal_get_undo_access 2011-05-09 10:58:45 -04:00
ext4_jbd2.h ext4: remove unneeded ext4_journal_get_undo_access 2011-05-09 10:58:45 -04:00
ext4.h ext4: move ext4_add_groupblocks() to mballoc.c 2011-05-09 10:46:41 -04:00
extents.c ext4: reimplement convert and split_unwritten 2011-05-03 12:25:07 -04:00
file.c ext4: serialize unaligned asynchronous DIO 2011-02-12 08:17:34 -05:00
fsync.c ext4: use EXT4FS_DEBUG instead of EXT4_DEBUG in fsync.c 2011-05-09 10:25:54 -04:00
hash.c
ialloc.c Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 2011-03-25 09:57:41 -07:00
inode.c ext4: use s_inodes_per_block directly in __ext4_get_inode_loc 2011-05-09 10:26:41 -04:00
ioctl.c Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 2011-03-25 09:57:41 -07:00
Kconfig
Makefile ext4: use bio layer instead of buffer layer in mpage_da_submit_io 2010-10-27 21:30:10 -04:00
mballoc.c ext4: synchronize ext4_mb_init_group() with buddy page lock 2011-05-09 21:48:13 -04:00
mballoc.h ext4: clarify description of ac_g_ex in struct ext4_allocation_context 2011-02-24 14:10:00 -05:00
migrate.c ext4: set extents flag when migrating file to use extents 2011-05-03 09:34:42 -04:00
move_extent.c ext4: rename {ext,idx}_pblock and inline small extent functions 2010-10-27 21:30:14 -04:00
namei.c ext4: fix deadlock in ext4_symlink() in ENOSPC conditions 2011-05-03 11:12:58 -04:00
page-io.c ext4: don't set PageUptodate in ext4_end_bio() 2011-04-30 13:26:26 -04:00
resize.c ext4: unify the ext4_handle_release_buffer() api 2011-03-20 22:57:02 -04:00
super.c ext4: remove redundant #ifdef in super.c 2011-05-09 10:30:41 -04:00
symlink.c
xattr_security.c fs/vfs/security: pass last path component to LSM on inode creation 2011-02-01 11:12:29 -05:00
xattr_trusted.c ext4: constify xattr_handler 2010-05-21 18:31:19 -04:00
xattr_user.c ext4: constify xattr_handler 2010-05-21 18:31:19 -04:00
xattr.c ext4: unify the ext4_handle_release_buffer() api 2011-03-20 22:57:02 -04:00
xattr.h fs/vfs/security: pass last path component to LSM on inode creation 2011-02-01 11:12:29 -05:00