]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
ext4: Fix lockdep recursive locking warning
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Mon, 24 Nov 2008 04:51:53 +0000 (23:51 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 24 Nov 2008 04:51:53 +0000 (23:51 -0500)
commitb7be019e80da4db96d283734d55366014509911c
tree86304f0c872dad5200e6015b7e7b56e53ad61ba8
parent7a2fcbf7f85737735fd44eb34b62315bccf6d6e4
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>
fs/ext4/mballoc.c