branches/zip: buf_LRU_free_block(): Do not assert on ibuf_count until after

it has been determined that the block is not being I/O-fixed.
This corrects the mistake that was made in r3177.
This commit is contained in:
marko 2008-11-21 14:36:18 +00:00
parent 0e613f0c92
commit a00032220f

View file

@ -1322,16 +1322,16 @@ buf_LRU_free_block(
ut_ad(!bpage->in_flush_list == !bpage->oldest_modification);
UNIV_MEM_ASSERT_RW(bpage, sizeof *bpage);
#ifdef UNIV_IBUF_COUNT_DEBUG
ut_a(ibuf_count_get(bpage->space, bpage->offset) == 0);
#endif /* UNIV_IBUF_COUNT_DEBUG */
if (!buf_page_can_relocate(bpage)) {
/* Do not free buffer-fixed or I/O-fixed blocks. */
return(BUF_LRU_NOT_FREED);
}
#ifdef UNIV_IBUF_COUNT_DEBUG
ut_a(ibuf_count_get(bpage->space, bpage->offset) == 0);
#endif /* UNIV_IBUF_COUNT_DEBUG */
if (zip || !bpage->zip.data) {
/* This would completely free the block. */
/* Do not completely free dirty blocks. */