ext4: correctly calculate number of blocks for fiemap
authorLeonard Michlmayr <leonard.michlmayr@gmail.com>
Thu, 4 Mar 2010 22:07:28 +0000 (17:07 -0500)
committerMatt Sealey <matt@genesi-usa.com>
Mon, 29 Nov 2010 22:59:43 +0000 (16:59 -0600)
commit42155a3ec33d0a1c6f4a479b98f6c10aba157dee
treeae8758f0f3d72afc51189c36392ee1bf9d2c53d0
parentb50e2eaa9f823e25e5fa8734884271f6f1bd8876
ext4: correctly calculate number of blocks for fiemap

ext4_fiemap() rounds the length of the requested range down to
blocksize, which is is not the true number of blocks that cover the
requested region.  This problem is especially impressive if the user
requests only the first byte of a file: not a single extent will be
reported.

We fix this by calculating the last block of the region and then
subtract to find the number of blocks in the extents.

Signed-off-by: Leonard Michlmayr <leonard.michlmayr@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/extents.c