diff options
author | Ingo Molnar <mingo@elte.hu> | 2011-02-16 13:33:35 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-02-16 13:33:41 +0100 |
commit | a3ec4a603faf4244e275bf11b467aad092dfbd8a (patch) | |
tree | 1c15009716b37629070ea221a00eb9fe2303a317 /fs/ioctl.c | |
parent | 51563cd53c4b1c1790fccd2e0af0e2b756589af9 (diff) | |
parent | 85e2efbb1db9a18d218006706d6e4fbeb0216213 (diff) | |
download | linux-a3ec4a603faf4244e275bf11b467aad092dfbd8a.tar.bz2 |
Merge commit 'v2.6.38-rc5' into core/locking
Merge reason: pick up upstream fixes.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'fs/ioctl.c')
-rw-r--r-- | fs/ioctl.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/ioctl.c b/fs/ioctl.c index a59635e295fa..1eebeb72b202 100644 --- a/fs/ioctl.c +++ b/fs/ioctl.c @@ -273,6 +273,13 @@ int __generic_block_fiemap(struct inode *inode, len = isize; } + /* + * Some filesystems can't deal with being asked to map less than + * blocksize, so make sure our len is at least block length. + */ + if (logical_to_blk(inode, len) == 0) + len = blk_to_logical(inode, 1); + start_blk = logical_to_blk(inode, start); last_blk = logical_to_blk(inode, start + len - 1); |