~ubuntu-branches/ubuntu/precise/mysql-5.1/precise

« back to all changes in this revision

Viewing changes to storage/innodb_plugin/buf/buf0lru.c

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2010-06-21 15:31:05 UTC
  • mfrom: (1.1.3 upstream)
  • mto: This revision was merged to the branch mainline in revision 6.
  • Revision ID: james.westby@ubuntu.com-20100621153105-pbbz3t6nyrf9t2zq
Tags: upstream-5.1.48
ImportĀ upstreamĀ versionĀ 5.1.48

Show diffs side-by-side

added added

removed removed

Lines of Context:
1364
1364
Try to free a block.  If bpage is a descriptor of a compressed-only
1365
1365
page, the descriptor object will be freed as well.
1366
1366
 
1367
 
NOTE: If this function returns BUF_LRU_FREED, it will not temporarily
 
1367
NOTE: If this function returns BUF_LRU_FREED, it will temporarily
1368
1368
release buf_pool_mutex.  Furthermore, the page frame will no longer be
1369
1369
accessible via bpage.
1370
1370
 
1393
1393
        ut_ad(buf_page_in_file(bpage));
1394
1394
        ut_ad(bpage->in_LRU_list);
1395
1395
        ut_ad(!bpage->in_flush_list == !bpage->oldest_modification);
 
1396
#if UNIV_WORD_SIZE == 4
 
1397
        /* On 32-bit systems, there is no padding in buf_page_t.  On
 
1398
        other systems, Valgrind could complain about uninitialized pad
 
1399
        bytes. */
1396
1400
        UNIV_MEM_ASSERT_RW(bpage, sizeof *bpage);
 
1401
#endif
1397
1402
 
1398
1403
        if (!buf_page_can_relocate(bpage)) {
1399
1404
 
1489
1494
 
1490
1495
                                ut_ad(prev_b->in_LRU_list);
1491
1496
                                ut_ad(buf_page_in_file(prev_b));
 
1497
#if UNIV_WORD_SIZE == 4
 
1498
                                /* On 32-bit systems, there is no
 
1499
                                padding in buf_page_t.  On other
 
1500
                                systems, Valgrind could complain about
 
1501
                                uninitialized pad bytes. */
1492
1502
                                UNIV_MEM_ASSERT_RW(prev_b, sizeof *prev_b);
1493
 
 
 
1503
#endif
1494
1504
                                UT_LIST_INSERT_AFTER(LRU, buf_pool->LRU,
1495
1505
                                                     prev_b, b);
1496
1506
 
1688
1698
        ut_a(buf_page_get_io_fix(bpage) == BUF_IO_NONE);
1689
1699
        ut_a(bpage->buf_fix_count == 0);
1690
1700
 
 
1701
#if UNIV_WORD_SIZE == 4
 
1702
        /* On 32-bit systems, there is no padding in
 
1703
        buf_page_t.  On other systems, Valgrind could complain
 
1704
        about uninitialized pad bytes. */
1691
1705
        UNIV_MEM_ASSERT_RW(bpage, sizeof *bpage);
 
1706
#endif
1692
1707
 
1693
1708
        buf_LRU_remove_block(bpage);
1694
1709