branches/innodb+: Merge revisions 3177:3180 from branches/zip:

------------------------------------------------------------------------
  r3180 | marko | 2008-11-21 16:36:18 +0200 (Fri, 21 Nov 2008) | 3 lines

  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:37:52 +00:00
parent 7172c215ac
commit 87c9f0fcb5

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. */