diff options
| -rw-r--r-- | fs/btrfs/disk-io.c | 5 | 
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,  	if (!ret)  		set_extent_buffer_uptodate(eb);  err: -	if (test_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags)) { -		clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags); +	if (reads_done && +	    test_and_clear_bit(EXTENT_BUFFER_READAHEAD, &eb->bflags))  		btree_readahead_hook(root, eb, eb->start, ret); -	}  	if (ret) {  		/*  | 
