fs: ext4: fix writing zero-length files
authorStephen Warren <swarren@nvidia.com>
Wed, 11 Jun 2014 18:46:16 +0000 (12:46 -0600)
committerTom Rini <trini@ti.com>
Thu, 19 Jun 2014 15:18:53 +0000 (11:18 -0400)
commitd018028055a21a28adef16b7f95422c426b46d60
tree24546aa499a82610c0af24849a6239fc7cd09130
parent50babaf852e3b48680f7ea782a756043f64f8fe2
fs: ext4: fix writing zero-length files

ext4fs_allocate_blocks() always allocates at least one block for a file.
If the file size is zero, this causes total_remaining_blocks to
underflow, which then causes an apparent hang while 2^32 blocks are
allocated.

To solve this, check that total_remaining_blocks is non-zero as part of
the loop condition (i.e. before each loop) rather than at the end of
the loop.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
fs/ext4/ext4_common.c