diff options
Diffstat (limited to 'fs/btrfs/extent_io.c')
| -rw-r--r-- | fs/btrfs/extent_io.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 3e11aab9f391..af0359dcf337 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -2532,6 +2532,7 @@ static void end_bio_extent_readpage(struct bio *bio, int err)  					test_bit(BIO_UPTODATE, &bio->bi_flags);  				if (err)  					uptodate = 0; +				offset += len;  				continue;  			}  		} @@ -4207,8 +4208,8 @@ int extent_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,  		return -ENOMEM;  	path->leave_spinning = 1; -	start = ALIGN(start, BTRFS_I(inode)->root->sectorsize); -	len = ALIGN(len, BTRFS_I(inode)->root->sectorsize); +	start = round_down(start, BTRFS_I(inode)->root->sectorsize); +	len = round_up(max, BTRFS_I(inode)->root->sectorsize) - start;  	/*  	 * lookup the last file extent.  We're not using i_size here  |