linux/fs/ext4
Aneesh Kumar K.V b7be019e80 ext4: Fix lockdep recursive locking warning
In ext4_mb_init_group(), if the filesystem block size is less than
PAGE_SIZE/2, the code tries to grab alloc_sem for multiple block
groups in a loop.  We need to allow for this by using
down_write_nested() and passing in the loop index as a lock subclass
number.  This works because no other code path needs to take multiple
alloc_sem's.  Note that lockdep will fail for filesystem blocksize
smaller than to PAGE_SIZE/16k.  (e.g., a 1k filesystem blocksize with
a 32k page size, or a 2k filesystem blocksize with a 64k blocksize,
etc.)

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-11-23 23:51:53 -05:00
..
acl.c [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
acl.h ext4: Rename ext4dev to ext4 2008-10-10 20:02:48 -04:00
balloc.c ext4: Use EXT4_GROUP_INFO_NEED_INIT_BIT during resize 2009-01-05 21:36:19 -05:00
bitmap.c ext4: Change unsigned long to unsigned int 2008-11-05 00:14:04 -05:00
dir.c ext4: Change unsigned long to unsigned int 2008-11-05 00:14:04 -05:00
ext4_extents.h ext4: Remove i_ext_generation from ext4_inode_info structure 2008-11-04 18:46:03 -05:00
ext4_i.h ext4: Make ext4_group_t be an unsigned int 2009-01-05 22:18:16 -05:00
ext4_jbd2.c ext4: Allow ext4 to run without a journal 2009-01-07 00:06:22 -05:00
ext4_jbd2.h ext4: Allow ext4 to run without a journal 2009-01-07 00:06:22 -05:00
ext4_sb.h ext4: add fsync batch tuning knobs 2009-01-03 20:27:38 -05:00
ext4.h ext4: Use EXT4_GROUP_INFO_NEED_INIT_BIT during resize 2009-01-05 21:36:19 -05:00
extents.c ext4: sparse fixes 2008-11-22 15:04:59 -05:00
file.c ext4: sparse fixes 2008-11-22 15:04:59 -05:00
fsync.c ext4: Add debugging markers that can be used by systemtap 2008-10-05 20:50:06 -04:00
group.h ext4: Rename read_block_bitmap() to ext4_read_block_bitmap() 2008-07-11 19:27:31 -04:00
hash.c ext4: Add support for non-native signed/unsigned htree hash algorithms 2008-10-28 13:21:44 -04:00
ialloc.c ext4: Make ext4_group_t be an unsigned int 2009-01-05 22:18:16 -05:00
inode.c ext4: sparse fixes 2008-11-22 15:04:59 -05:00
ioctl.c ext4: Allow ext4 to run without a journal 2009-01-07 00:06:22 -05:00
Kconfig fs/Kconfig: move ext2, ext3, ext4, JBD, JBD2 out 2008-10-20 11:43:59 -07:00
Makefile ext4: Rename ext4dev to ext4 2008-10-10 20:02:48 -04:00
mballoc.c ext4: Fix lockdep recursive locking warning 2008-11-23 23:51:53 -05:00
mballoc.h ext4: Use EXT4_GROUP_INFO_NEED_INIT_BIT during resize 2009-01-05 21:36:19 -05:00
migrate.c ext4: Allow ext4 to run without a journal 2009-01-07 00:06:22 -05:00
namei.c ext4: Allow ext4 to run without a journal 2009-01-07 00:06:22 -05:00
namei.h
resize.c ext4: Use EXT4_GROUP_INFO_NEED_INIT_BIT during resize 2009-01-05 21:36:19 -05:00
super.c ext4: sparse fixes 2008-11-22 15:04:59 -05:00
symlink.c ext4: Rename ext4dev to ext4 2008-10-10 20:02:48 -04:00
xattr_security.c ext4: move headers out of include/linux 2008-04-29 18:13:32 -04:00
xattr_trusted.c ext4: remove double definitions of xattr macros 2008-07-11 19:27:31 -04:00
xattr_user.c ext4: remove double definitions of xattr macros 2008-07-11 19:27:31 -04:00
xattr.c ext4: Allow ext4 to run without a journal 2009-01-07 00:06:22 -05:00
xattr.h ext4: Rename ext4dev to ext4 2008-10-10 20:02:48 -04:00