aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/disk-io.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index aab7d89f3ff0..bb6cdbda4f56 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -636,10 +636,9 @@ static int btree_readpage_end_io_hook(struct page *page, u64 start, u64 end,
636 if (!ret) 636 if (!ret)
637 set_extent_buffer_uptodate(eb); 637 set_extent_buffer_uptodate(eb);
638err: 638err:
639 if (test_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags)) { 639 if (reads_done &&
640 clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags); 640 test_and_clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags))
641 btree_readahead_hook(root, eb, eb->start, ret); 641 btree_readahead_hook(root, eb, eb->start, ret);
642 }
643 642
644 if (ret) { 643 if (ret) {
645 /* 644 /*