mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 03:47:17 +02:00
MDEV-6246: Merge 10.0.10-FusionIO to 10.1.
This commit is contained in:
commit
d12dbe77e2
105 changed files with 8437 additions and 743 deletions
|
|
@ -1,6 +1,7 @@
|
|||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 1995, 2013, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2014, 2014, SkySQL Ab.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free Software
|
||||
|
|
@ -279,6 +280,55 @@ buf_flush_get_dirty_pages_count(
|
|||
|
||||
#endif /* !UNIV_HOTBACKUP */
|
||||
|
||||
/******************************************************************//**
|
||||
Start a buffer flush batch for LRU or flush list */
|
||||
ibool
|
||||
buf_flush_start(
|
||||
/*============*/
|
||||
buf_pool_t* buf_pool, /*!< buffer pool instance */
|
||||
buf_flush_t flush_type); /*!< in: BUF_FLUSH_LRU
|
||||
or BUF_FLUSH_LIST */
|
||||
/******************************************************************//**
|
||||
End a buffer flush batch for LRU or flush list */
|
||||
void
|
||||
buf_flush_end(
|
||||
/*==========*/
|
||||
buf_pool_t* buf_pool, /*!< buffer pool instance */
|
||||
buf_flush_t flush_type); /*!< in: BUF_FLUSH_LRU
|
||||
or BUF_FLUSH_LIST */
|
||||
/******************************************************************//**
|
||||
Gather the aggregated stats for both flush list and LRU list flushing */
|
||||
void
|
||||
buf_flush_common(
|
||||
/*=============*/
|
||||
buf_flush_t flush_type, /*!< in: type of flush */
|
||||
ulint page_count); /*!< in: number of pages flushed */
|
||||
|
||||
/*******************************************************************//**
|
||||
This utility flushes dirty blocks from the end of the LRU list or flush_list.
|
||||
NOTE 1: in the case of an LRU flush the calling thread may own latches to
|
||||
pages: to avoid deadlocks, this function must be written so that it cannot
|
||||
end up waiting for these latches! NOTE 2: in the case of a flush list flush,
|
||||
the calling thread is not allowed to own any latches on pages!
|
||||
@return number of blocks for which the write request was queued */
|
||||
ulint
|
||||
buf_flush_batch(
|
||||
/*============*/
|
||||
buf_pool_t* buf_pool, /*!< in: buffer pool instance */
|
||||
buf_flush_t flush_type, /*!< in: BUF_FLUSH_LRU or
|
||||
BUF_FLUSH_LIST; if BUF_FLUSH_LIST,
|
||||
then the caller must not own any
|
||||
latches on pages */
|
||||
ulint min_n, /*!< in: wished minimum mumber of blocks
|
||||
flushed (it is not guaranteed that the
|
||||
actual number is that big, though) */
|
||||
lsn_t lsn_limit); /*!< in: in the case of BUF_FLUSH_LIST
|
||||
all blocks whose oldest_modification is
|
||||
smaller than this should be flushed
|
||||
(if their number does not exceed
|
||||
min_n), otherwise ignored */
|
||||
|
||||
|
||||
#ifndef UNIV_NONINL
|
||||
#include "buf0flu.ic"
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue