summaryrefslogtreecommitdiff
path: root/storage/innobase/include/log0log.ic
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/include/log0log.ic')
-rw-r--r--storage/innobase/include/log0log.ic56
1 files changed, 27 insertions, 29 deletions
diff --git a/storage/innobase/include/log0log.ic b/storage/innobase/include/log0log.ic
index 58da7bacc6f..87d55f9e01d 100644
--- a/storage/innobase/include/log0log.ic
+++ b/storage/innobase/include/log0log.ic
@@ -1,7 +1,7 @@
/*****************************************************************************
Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2017, MariaDB Corporation.
+Copyright (c) 2017, 2018, MariaDB Corporation.
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
@@ -26,12 +26,12 @@ Created 12/9/1995 Heikki Tuuri
#include "mach0data.h"
#include "srv0mon.h"
-#include "srv0srv.h"
#include "ut0crc32.h"
#ifdef UNIV_LOG_LSN_DEBUG
#include "mtr0types.h"
#endif /* UNIV_LOG_LSN_DEBUG */
+extern ulong srv_log_buffer_size;
/************************************************************//**
Gets a log block flush bit.
@@ -241,12 +241,10 @@ log_block_calc_checksum_crc32(
}
/** Calculates the checksum for a log block using the "no-op" algorithm.
-@param[in] block log block
@return checksum */
UNIV_INLINE
ulint
-log_block_calc_checksum_none(
- const byte* block)
+log_block_calc_checksum_none(const byte*)
{
return(LOG_NO_CHECKSUM_MAGIC);
}
@@ -330,15 +328,15 @@ log_reserve_and_write_fast(
len - SIZE_OF_MLOG_CHECKPOINT]
? 0
: 1
- + mach_get_compressed_size(log_sys->lsn >> 32)
- + mach_get_compressed_size(log_sys->lsn & 0xFFFFFFFFUL);
+ + mach_get_compressed_size(log_sys.lsn >> 32)
+ + mach_get_compressed_size(log_sys.lsn & 0xFFFFFFFFUL);
#endif /* UNIV_LOG_LSN_DEBUG */
const ulint data_len = len
#ifdef UNIV_LOG_LSN_DEBUG
+ lsn_len
#endif /* UNIV_LOG_LSN_DEBUG */
- + log_sys->buf_free % OS_FILE_LOG_BLOCK_SIZE;
+ + log_sys.buf_free % OS_FILE_LOG_BLOCK_SIZE;
if (data_len >= OS_FILE_LOG_BLOCK_SIZE - LOG_BLOCK_TRL_SIZE) {
@@ -348,44 +346,44 @@ log_reserve_and_write_fast(
return(0);
}
- *start_lsn = log_sys->lsn;
+ *start_lsn = log_sys.lsn;
#ifdef UNIV_LOG_LSN_DEBUG
if (lsn_len) {
/* Write the LSN pseudo-record. */
- byte* b = &log_sys->buf[log_sys->buf_free];
+ byte* b = &log_sys.buf[log_sys.buf_free];
*b++ = MLOG_LSN | (MLOG_SINGLE_REC_FLAG & *(const byte*) str);
/* Write the LSN in two parts,
as a pseudo page number and space id. */
- b += mach_write_compressed(b, log_sys->lsn >> 32);
- b += mach_write_compressed(b, log_sys->lsn & 0xFFFFFFFFUL);
- ut_a(b - lsn_len == &log_sys->buf[log_sys->buf_free]);
+ b += mach_write_compressed(b, log_sys.lsn >> 32);
+ b += mach_write_compressed(b, log_sys.lsn & 0xFFFFFFFFUL);
+ ut_a(b - lsn_len == &log_sys.buf[log_sys.buf_free]);
::memcpy(b, str, len);
len += lsn_len;
} else
#endif /* UNIV_LOG_LSN_DEBUG */
- memcpy(log_sys->buf + log_sys->buf_free, str, len);
+ memcpy(log_sys.buf + log_sys.buf_free, str, len);
log_block_set_data_len(
reinterpret_cast<byte*>(ut_align_down(
- log_sys->buf + log_sys->buf_free,
+ log_sys.buf + log_sys.buf_free,
OS_FILE_LOG_BLOCK_SIZE)),
data_len);
- log_sys->buf_free += len;
+ log_sys.buf_free += ulong(len);
- ut_ad(log_sys->buf_free <= log_sys->buf_size);
+ ut_ad(log_sys.buf_free <= srv_log_buffer_size);
- log_sys->lsn += len;
+ log_sys.lsn += len;
MONITOR_SET(MONITOR_LSN_CHECKPOINT_AGE,
- log_sys->lsn - log_sys->last_checkpoint_lsn);
+ log_sys.lsn - log_sys.last_checkpoint_lsn);
- return(log_sys->lsn);
+ return(log_sys.lsn);
}
/************************************************************//**
@@ -400,7 +398,7 @@ log_get_lsn(void)
log_mutex_enter();
- lsn = log_sys->lsn;
+ lsn = log_sys.lsn;
log_mutex_exit();
@@ -418,7 +416,7 @@ log_get_flush_lsn(void)
log_mutex_enter();
- lsn = log_sys->flushed_to_disk_lsn;
+ lsn = log_sys.flushed_to_disk_lsn;
log_mutex_exit();
@@ -435,11 +433,11 @@ log_get_lsn_nowait(void)
{
lsn_t lsn=0;
- if (!mutex_enter_nowait(&(log_sys->mutex))) {
+ if (!mutex_enter_nowait(&(log_sys.mutex))) {
- lsn = log_sys->lsn;
+ lsn = log_sys.lsn;
- mutex_exit(&(log_sys->mutex));
+ mutex_exit(&(log_sys.mutex));
}
return(lsn);
@@ -447,14 +445,14 @@ log_get_lsn_nowait(void)
/****************************************************************
Gets the log group capacity. It is OK to read the value without
-holding log_sys->mutex because it is constant.
+holding log_sys.mutex because it is constant.
@return log group capacity */
UNIV_INLINE
lsn_t
log_get_capacity(void)
/*==================*/
{
- return(log_sys->log_group_capacity);
+ return(log_sys.log_group_capacity);
}
/****************************************************************
@@ -466,7 +464,7 @@ lsn_t
log_get_max_modified_age_async(void)
/*================================*/
{
- return(log_sys->max_modified_age_async);
+ return(log_sys.max_modified_age_async);
}
/***********************************************************************//**
@@ -498,7 +496,7 @@ log_free_check(void)
sync_allowed_latches(latches,
latches + UT_ARR_SIZE(latches))));
- if (log_sys->check_flush_or_checkpoint) {
+ if (log_sys.check_flush_or_checkpoint) {
log_check_margins();
}