~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to storage/innobase/include/buf0lru.h

  • Committer: Brian Aker
  • Date: 2009-03-17 04:26:36 UTC
  • mfrom: (933.1.4 innodb-plugin-merge)
  • Revision ID: brian@tangent.org-20090317042636-oyd238h2u2bqhfy1
Merging new Innodb

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*****************************************************************************
 
2
 
 
3
Copyright (c) 1995, 2009, Innobase Oy. All Rights Reserved.
 
4
 
 
5
This program is free software; you can redistribute it and/or modify it under
 
6
the terms of the GNU General Public License as published by the Free Software
 
7
Foundation; version 2 of the License.
 
8
 
 
9
This program is distributed in the hope that it will be useful, but WITHOUT
 
10
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 
11
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
12
 
 
13
You should have received a copy of the GNU General Public License along with
 
14
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
 
15
Place, Suite 330, Boston, MA 02111-1307 USA
 
16
 
 
17
*****************************************************************************/
 
18
 
1
19
/******************************************************
2
20
The database buffer pool LRU replacement algorithm
3
21
 
4
 
(c) 1995 Innobase Oy
5
 
 
6
22
Created 11/5/1995 Heikki Tuuri
7
23
*******************************************************/
8
24
 
87
103
 
88
104
/**********************************************************************
89
105
Try to free a block.  If bpage is a descriptor of a compressed-only
90
 
page, the descriptor object will be freed as well.  If this function
91
 
returns BUF_LRU_FREED, it will not temporarily release
92
 
buf_pool_mutex. */
 
106
page, the descriptor object will be freed as well.
 
107
 
 
108
NOTE: If this function returns BUF_LRU_FREED, it will not temporarily
 
109
release buf_pool_mutex.  Furthermore, the page frame will no longer be
 
110
accessible via bpage.
 
111
 
 
112
The caller must hold buf_pool_mutex and buf_page_get_mutex(bpage) and
 
113
release these two mutexes after the call.  No other
 
114
buf_page_get_mutex() may be held when calling this function. */
93
115
UNIV_INTERN
94
116
enum buf_lru_free_block_status
95
117
buf_LRU_free_block(