aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/extent_io.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index b82d244a2ef5..8c37cb64be7a 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -2751,12 +2751,15 @@ static int __extent_read_full_page(struct extent_io_tree *tree,
2751 end_bio_extent_readpage, mirror_num, 2751 end_bio_extent_readpage, mirror_num,
2752 *bio_flags, 2752 *bio_flags,
2753 this_bio_flag); 2753 this_bio_flag);
2754 BUG_ON(ret == -ENOMEM); 2754 if (!ret) {
2755 nr++; 2755 nr++;
2756 *bio_flags = this_bio_flag; 2756 *bio_flags = this_bio_flag;
2757 }
2757 } 2758 }
2758 if (ret) 2759 if (ret) {
2759 SetPageError(page); 2760 SetPageError(page);
2761 unlock_extent(tree, cur, cur + iosize - 1);
2762 }
2760 cur = cur + iosize; 2763 cur = cur + iosize;
2761 pg_offset += iosize; 2764 pg_offset += iosize;
2762 } 2765 }