diff options
Diffstat (limited to 'fs/btrfs/extent_io.c')
| -rw-r--r-- | fs/btrfs/extent_io.c | 17 | 
1 files changed, 2 insertions, 15 deletions
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 45c81bb4ac8..4c878476bb9 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -2330,23 +2330,10 @@ static void end_bio_extent_readpage(struct bio *bio, int err)  		if (uptodate && tree->ops && tree->ops->readpage_end_io_hook) {  			ret = tree->ops->readpage_end_io_hook(page, start, end,  							      state, mirror); -			if (ret) { -				/* no IO indicated but software detected errors -				 * in the block, either checksum errors or -				 * issues with the contents */ -				struct btrfs_root *root = -					BTRFS_I(page->mapping->host)->root; -				struct btrfs_device *device; - +			if (ret)  				uptodate = 0; -				device = btrfs_find_device_for_logical( -						root, start, mirror); -				if (device) -					btrfs_dev_stat_inc_and_print(device, -						BTRFS_DEV_STAT_CORRUPTION_ERRS); -			} else { +			else  				clean_io_failure(start, page); -			}  		}  		if (!uptodate && tree->ops && tree->ops->readpage_io_failed_hook) {  |