diff options
Diffstat (limited to 'fs/btrfs/disk-io.c')
| -rw-r--r-- | fs/btrfs/disk-io.c | 11 | 
1 files changed, 1 insertions, 10 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 3f0b6d1936e8..6d776717d8b3 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@ -477,9 +477,9 @@ static int btree_read_extent_buffer_pages(struct btrfs_fs_info *fs_info,  	int mirror_num = 0;  	int failed_mirror = 0; -	clear_bit(EXTENT_BUFFER_CORRUPT, &eb->bflags);  	io_tree = &BTRFS_I(fs_info->btree_inode)->io_tree;  	while (1) { +		clear_bit(EXTENT_BUFFER_CORRUPT, &eb->bflags);  		ret = read_extent_buffer_pages(io_tree, eb, WAIT_COMPLETE,  					       mirror_num);  		if (!ret) { @@ -493,15 +493,6 @@ static int btree_read_extent_buffer_pages(struct btrfs_fs_info *fs_info,  				break;  		} -		/* -		 * This buffer's crc is fine, but its contents are corrupted, so -		 * there is no reason to read the other copies, they won't be -		 * any less wrong. -		 */ -		if (test_bit(EXTENT_BUFFER_CORRUPT, &eb->bflags) || -		    ret == -EUCLEAN) -			break; -  		num_copies = btrfs_num_copies(fs_info,  					      eb->start, eb->len);  		if (num_copies == 1)  | 
