diff --git a/storage/innobase/buf/buf0buf.cc b/storage/innobase/buf/buf0buf.cc index 2f40ea28e0c..2923c6d4790 100644 --- a/storage/innobase/buf/buf0buf.cc +++ b/storage/innobase/buf/buf0buf.cc @@ -3324,7 +3324,8 @@ re_evict: buf_flush_lists(ULINT_UNDEFINED, LSN_MAX); buf_flush_wait_batch_end_acquiring_mutex(false); - if (!fix_block->page.oldest_modification()) { + if (fix_block->page.buf_fix_count() == 1 + && !fix_block->page.oldest_modification()) { goto re_evict; }