ext4: Fix discard of inode prealloc space with delayed allocation.
commitffe15619ef5a2e9108d13d822a9b475afb044155
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Tue, 2 Jun 2009 12:07:49 +0000 (2 08:07 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 15 Jun 2009 16:40:31 +0000 (15 09:40 -0700)
tree20c23bfbd714d1f6897675b723b2e86d1fc9428b
parentf8d9f45f2368d85328f784c84854ca2cec8e38ea
ext4: Fix discard of inode prealloc space with delayed allocation.

(cherry picked from commit d6014301b5599fba395c42a1e96a7fe86f7d0b2d)

With delayed allocation we should not/cannot discard inode prealloc
space during file close. We would still have dirty pages for which we
haven't allocated blocks yet. With this fix after each get_blocks
request we check whether we have zero reserved blocks and if yes and
we don't have any writers on the file we discard inode prealloc space.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/ext4/file.c
fs/ext4/inode.c