linux/fs/ext4
Aneesh Kumar K.V 032115fcef ext4: Don't overwrite allocation_context ac_status
We can call ext4_mb_check_limits even after successfully allocating
the requested blocks.  In that case, make sure we don't overwrite
ac_status if it already has the status AC_STATUS_FOUND.  This fixes
the lockdep warning:

=============================================
[ INFO: possible recursive locking detected ]
2.6.28-rc6-autokern1 #1
---------------------------------------------
fsstress/11948 is trying to acquire lock:
 (&meta_group_info[i]->alloc_sem){----}, at: [<c04d9a49>] ext4_mb_load_buddy+0x9f/0x278
.....

stack backtrace:
.....
 [<c04db974>] ext4_mb_regular_allocator+0xbb5/0xd44
.....

but task is already holding lock:
 (&meta_group_info[i]->alloc_sem){----}, at: [<c04d9a49>] ext4_mb_load_buddy+0x9f/0x278

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: stable@kernel.org
2009-01-05 21:34:30 -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: remove extraneous newlines from calls to ext4_error() and ext4_warning() 2009-01-05 22:17:35 -05:00
bitmap.c ext4: Fix whitespace checkpatch warnings/errors 2008-09-08 22:25:24 -04:00
dir.c ext4: Fix duplicate entries returned from getdents() system call 2008-10-25 22:37:55 -04:00
ext4_extents.h Hook ext4 to the vfs fiemap interface. 2008-10-07 00:46:36 -04:00
ext4_i.h ext4: Rename ext4dev to ext4 2008-10-10 20:02:48 -04: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: Widen type of ext4_sb_info.s_mb_maxs[] 2008-12-17 00:48:39 -05:00
ext4.h ext4: remove ext4_new_blocks() and call ext4_mb_new_blocks() directly 2009-01-01 23:59:43 -05:00
extents.c ext4: Allow ext4 to run without a journal 2009-01-07 00:06:22 -05:00
file.c ext4: Rename ext4dev to ext4 2008-10-10 20:02:48 -04: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: remove extraneous newlines from calls to ext4_error() and ext4_warning() 2009-01-05 22:17:35 -05:00
inode.c ext4: Allow ext4 to run without a journal 2009-01-07 00:06:22 -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: Don't overwrite allocation_context ac_status 2009-01-05 21:34:30 -05:00
mballoc.h ext4: Replace hackish ext4_mb_poll_new_transaction with commit callback 2008-10-16 20:00:24 -04: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 [PATCH] ext4: rename ext4 symbols to avoid duplication of ext3 symbols 2006-10-11 11:14:15 -07:00
resize.c ext4: remove extraneous newlines from calls to ext4_error() and ext4_warning() 2009-01-05 22:17:35 -05:00
super.c ext4: remove extraneous newlines from calls to ext4_error() and ext4_warning() 2009-01-05 22:17:35 -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