packages (MYSQL_5_1): mysql/mysql-innodb_extend_slow.patch, mysql/mysql-inn...
glen
glen at pld-linux.org
Fri Dec 17 12:41:55 CET 2010
Author: glen Date: Fri Dec 17 11:41:55 2010 GMT
Module: packages Tag: MYSQL_5_1
---- Log message:
- add percona patches (release-5.1.53-11)
---- Files affected:
packages/mysql:
mysql-innodb_extend_slow.patch (1.1 -> 1.2) , mysql-innodb_split_buf_pool_mutex.patch (1.2 -> 1.3) , mysql-microsec_process.patch (1.2 -> 1.3) , mysql-userstat.patch (1.1 -> 1.2) , mysql.spec (1.496.2.1 -> 1.496.2.2) , mysql-bug580324.patch (NONE -> 1.1.2.1) (NEW), mysql-bug677407.patch (NONE -> 1.1.2.1) (NEW), mysql-error_pad.patch (NONE -> 1.1.2.1) (NEW), mysql-i_s_innodb_buffer_pool_pages.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_adjust_defaults.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_admin_command_base.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_deadlock_count.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_dict_size_limit.patch (NONE -> 1.2.2.1) (NEW), mysql-innodb_expand_import.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_expand_undo_slots.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_extra_rseg.patch (NONE -> 1.2.2.1) (NEW), mysql-innodb_fast_checksum.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_files_extend.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_fix
_misc.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_io_patches.patch (NONE -> 1.1.4.1) (NEW), mysql-innodb_lru_dump_restore.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_opt_lru_count.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_overwrite_relay_log_info.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_pass_corrupt_table.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_purge_thread.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_recovery_patches.patch (NONE -> 1.1.4.1) (NEW), mysql-innodb_separate_doublewrite.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_show_enhancements.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_show_lock_name.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_show_status.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_show_sys_tables.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_stats.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_swap_builtin_plugin.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_thread_concurrency_timer_based.patch (NONE -> 1.2.2.1) (NEW), mysql-mysql_dump_igno
re_ct.patch (NONE -> 1.1.2.1) (NEW), mysql-optimizer_fix.patch (NONE -> 1.1.2.1) (NEW), mysql-profiling_slow.patch (NONE -> 1.2.2.1) (NEW), mysql-query_cache_enhance.patch (NONE -> 1.1.2.1) (NEW), mysql-show_patches.patch (NONE -> 1.1.4.1) (NEW), mysql-show_temp_51.patch (NONE -> 1.1.2.1) (NEW), mysql-slow_extended.patch (NONE -> 1.1.2.1) (NEW), mysql-suppress_log_warning_1592.patch (NONE -> 1.1.2.1) (NEW)
---- Diffs:
================================================================
Index: packages/mysql/mysql-innodb_extend_slow.patch
diff -u packages/mysql/mysql-innodb_extend_slow.patch:1.1 packages/mysql/mysql-innodb_extend_slow.patch:1.2
--- packages/mysql/mysql-innodb_extend_slow.patch:1.1 Wed Dec 15 23:22:51 2010
+++ packages/mysql/mysql-innodb_extend_slow.patch Fri Dec 17 12:41:48 2010
@@ -5,9 +5,9 @@
#!!! notice !!!
# Any small change to this file in the main branch
# should be done or reviewed by the maintainer!
-diff -ruN a/storage/innobase/buf/buf0buf.c b/storage/innobase/buf/buf0buf.c
---- a/storage/innobase/buf/buf0buf.c 2010-12-03 15:49:59.175955882 +0900
-+++ b/storage/innobase/buf/buf0buf.c 2010-12-03 17:42:42.074307123 +0900
+diff -ruN a/storage/innodb_plugin/buf/buf0buf.c b/storage/innodb_plugin/buf/buf0buf.c
+--- a/storage/innodb_plugin/buf/buf0buf.c 2010-08-27 16:13:11.061058561 +0900
++++ b/storage/innodb_plugin/buf/buf0buf.c 2010-08-27 16:30:47.341987400 +0900
@@ -51,6 +51,40 @@
#include "dict0dict.h"
#include "log0recv.h"
@@ -49,7 +49,7 @@
/*
IMPLEMENTATION OF THE BUFFER POOL
-@@ -2399,11 +2433,19 @@
+@@ -1726,10 +1760,18 @@
mutex_t* block_mutex;
ibool must_read;
unsigned access_time;
@@ -58,7 +58,6 @@
+ ulint ms;
+ ib_uint64_t start_time;
+ ib_uint64_t finish_time;
- buf_pool_t* buf_pool = buf_pool_get(space, offset);
#ifndef UNIV_LOG_DEBUG
ut_ad(!ibuf_inside());
@@ -69,16 +68,16 @@
buf_pool->stat.n_page_gets++;
for (;;) {
-@@ -2421,7 +2463,7 @@
- //buf_pool_mutex_exit(buf_pool);
- rw_lock_s_unlock(&buf_pool->page_hash_latch);
+@@ -1746,7 +1788,7 @@
+ //buf_pool_mutex_exit();
+ rw_lock_s_unlock(&page_hash_latch);
- buf_read_page(space, zip_size, offset);
+ buf_read_page(space, zip_size, offset, trx);
#if defined UNIV_DEBUG || defined UNIV_BUF_DEBUG
ut_a(++buf_dbg_counter % 37 || buf_validate());
-@@ -2499,6 +2541,13 @@
+@@ -1822,6 +1864,13 @@
/* Let us wait until the read operation
completes */
@@ -92,7 +91,7 @@
for (;;) {
enum buf_io_fix io_fix;
-@@ -2513,6 +2562,12 @@
+@@ -1836,6 +1885,12 @@
break;
}
}
@@ -105,19 +104,19 @@
}
#ifdef UNIV_IBUF_COUNT_DEBUG
-@@ -2825,6 +2880,11 @@
+@@ -2092,6 +2147,11 @@
ibool must_read;
ulint retries = 0;
- mutex_t* block_mutex = NULL;
-+ trx_t* trx = NULL;
-+ ulint sec;
-+ ulint ms;
-+ ib_uint64_t start_time;
-+ ib_uint64_t finish_time;
- buf_pool_t* buf_pool = buf_pool_get(space, offset);
+ mutex_t* block_mutex;
++ trx_t* trx = NULL;
++ ulint sec;
++ ulint ms;
++ ib_uint64_t start_time;
++ ib_uint64_t finish_time;
ut_ad(mtr);
-@@ -2842,6 +2902,9 @@
+ ut_ad(mtr->state == MTR_ACTIVE);
+@@ -2106,6 +2166,9 @@
#ifndef UNIV_LOG_DEBUG
ut_ad(!ibuf_inside() || ibuf_page(space, zip_size, offset, NULL));
#endif
@@ -125,9 +124,9 @@
+ trx = innobase_get_trx();
+ }
buf_pool->stat.n_page_gets++;
- fold = buf_page_address_fold(space, offset);
loop:
-@@ -2915,7 +2978,7 @@
+ block = guess;
+@@ -2159,7 +2222,7 @@
return(NULL);
}
@@ -136,7 +135,7 @@
retries = 0;
} else if (retries < BUF_PAGE_READ_MAX_RETRIES) {
++retries;
-@@ -3178,6 +3241,13 @@
+@@ -2444,6 +2507,13 @@
/* Let us wait until the read operation
completes */
@@ -150,7 +149,7 @@
for (;;) {
enum buf_io_fix io_fix;
-@@ -3192,6 +3262,12 @@
+@@ -2458,6 +2528,12 @@
break;
}
}
@@ -163,7 +162,7 @@
}
fix_type = MTR_MEMO_BUF_FIX;
-@@ -3217,13 +3293,17 @@
+@@ -2483,13 +2559,17 @@
/* In the case of a first access, try to apply linear
read-ahead */
@@ -182,7 +181,7 @@
return(block);
}
-@@ -3247,6 +3327,7 @@
+@@ -2512,6 +2592,7 @@
unsigned access_time;
ibool success;
ulint fix_type;
@@ -190,7 +189,7 @@
ut_ad(block);
ut_ad(mtr);
-@@ -3324,13 +3405,17 @@
+@@ -2589,13 +2670,17 @@
#ifdef UNIV_DEBUG_FILE_ACCESSES
ut_a(block->page.file_page_was_freed == FALSE);
#endif
@@ -209,8 +208,8 @@
}
#ifdef UNIV_IBUF_COUNT_DEBUG
-@@ -3340,6 +3425,9 @@
- buf_pool = buf_pool_from_block(block);
+@@ -2604,6 +2689,9 @@
+ #endif
buf_pool->stat.n_page_gets++;
+ if (innobase_get_slow_log()) {
@@ -219,15 +218,15 @@
return(TRUE);
}
-@@ -3362,6 +3450,7 @@
- buf_pool_t* buf_pool;
+@@ -2625,6 +2713,7 @@
+ {
ibool success;
ulint fix_type;
+ trx_t* trx = NULL;
ut_ad(mtr);
ut_ad(mtr->state == MTR_ACTIVE);
-@@ -3448,6 +3537,11 @@
+@@ -2709,6 +2798,11 @@
#endif
buf_pool->stat.n_page_gets++;
@@ -239,10 +238,10 @@
return(TRUE);
}
-diff -ruN a/storage/innobase/buf/buf0rea.c b/storage/innobase/buf/buf0rea.c
---- a/storage/innobase/buf/buf0rea.c 2010-12-03 17:32:15.617037263 +0900
-+++ b/storage/innobase/buf/buf0rea.c 2010-12-03 17:42:42.075297193 +0900
-@@ -77,7 +77,8 @@
+diff -ruN a/storage/innodb_plugin/buf/buf0rea.c b/storage/innodb_plugin/buf/buf0rea.c
+--- a/storage/innodb_plugin/buf/buf0rea.c 2010-08-27 16:23:31.014020792 +0900
++++ b/storage/innodb_plugin/buf/buf0rea.c 2010-08-27 16:30:47.342987531 +0900
+@@ -75,7 +75,8 @@
treat the tablespace as dropped; this is a timestamp we
use to stop dangling page reads from a tablespace
which we have DISCARDed + IMPORTed back */
@@ -252,9 +251,9 @@
{
buf_page_t* bpage;
ulint wake_later;
-@@ -179,15 +180,15 @@
+@@ -176,15 +177,15 @@
+ ut_ad(buf_page_in_file(bpage));
- thd_wait_begin(NULL, THD_WAIT_DISKIO);
if (zip_size) {
- *err = fil_io(OS_FILE_READ | wake_later,
+ *err = _fil_io(OS_FILE_READ | wake_later,
@@ -270,9 +269,9 @@
- ((buf_block_t*) bpage)->frame, bpage);
+ ((buf_block_t*) bpage)->frame, bpage, trx);
}
- thd_wait_end(NULL);
ut_a(*err == DB_SUCCESS);
-@@ -213,7 +214,8 @@
+
+@@ -209,7 +210,8 @@
/*==========*/
ulint space, /*!< in: space id */
ulint zip_size,/*!< in: compressed page size in bytes, or 0 */
@@ -280,9 +279,9 @@
+ ulint offset, /*!< in: page number */
+ trx_t* trx)
{
- buf_pool_t* buf_pool = buf_pool_get(space, offset);
ib_int64_t tablespace_version;
-@@ -227,7 +229,7 @@
+ ulint count;
+@@ -222,7 +224,7 @@
count = buf_read_page_low(&err, TRUE, BUF_READ_ANY_PAGE, space,
zip_size, FALSE,
@@ -291,7 +290,7 @@
srv_buf_pool_reads += count;
if (err == DB_TABLESPACE_DELETED) {
ut_print_timestamp(stderr);
-@@ -278,8 +280,9 @@
+@@ -273,8 +275,9 @@
/*==================*/
ulint space, /*!< in: space id */
ulint zip_size,/*!< in: compressed page size in bytes, or 0 */
@@ -300,9 +299,9 @@
must want access to this page (see NOTE 3 above) */
+ trx_t* trx)
{
- buf_pool_t* buf_pool = buf_pool_get(space, offset);
ib_int64_t tablespace_version;
-@@ -500,7 +503,7 @@
+ buf_page_t* bpage;
+@@ -497,7 +500,7 @@
count += buf_read_page_low(
&err, FALSE,
ibuf_mode | OS_AIO_SIMULATED_WAKE_LATER,
@@ -311,7 +310,7 @@
if (err == DB_TABLESPACE_DELETED) {
ut_print_timestamp(stderr);
fprintf(stderr,
-@@ -594,7 +597,7 @@
+@@ -587,7 +590,7 @@
buf_read_page_low(&err, sync && (i + 1 == n_stored),
BUF_READ_ANY_PAGE, space_ids[i],
zip_size, TRUE, space_versions[i],
@@ -320,7 +319,7 @@
if (UNIV_UNLIKELY(err == DB_TABLESPACE_DELETED)) {
tablespace_deleted:
-@@ -736,12 +739,12 @@
+@@ -728,12 +731,12 @@
if ((i + 1 == n_stored) && sync) {
buf_read_page_low(&err, TRUE, BUF_READ_ANY_PAGE, space,
zip_size, TRUE, tablespace_version,
@@ -335,10 +334,10 @@
}
}
-diff -ruN a/storage/innobase/fil/fil0fil.c b/storage/innobase/fil/fil0fil.c
---- a/storage/innobase/fil/fil0fil.c 2010-12-03 15:53:54.610037199 +0900
-+++ b/storage/innobase/fil/fil0fil.c 2010-12-03 17:42:42.079064198 +0900
-@@ -4349,7 +4349,7 @@
+diff -ruN a/storage/innodb_plugin/fil/fil0fil.c b/storage/innodb_plugin/fil/fil0fil.c
+--- a/storage/innodb_plugin/fil/fil0fil.c 2010-08-27 16:15:55.187400372 +0900
++++ b/storage/innodb_plugin/fil/fil0fil.c 2010-08-27 16:30:47.346992376 +0900
+@@ -4325,7 +4325,7 @@
node->name, node->handle, buf,
offset_low, offset_high,
page_size * n_pages,
@@ -347,7 +346,7 @@
#endif
if (success) {
node->size += n_pages;
-@@ -4676,7 +4676,7 @@
+@@ -4652,7 +4652,7 @@
i/o on a tablespace which does not exist */
UNIV_INTERN
ulint
@@ -356,7 +355,7 @@
/*===*/
ulint type, /*!< in: OS_FILE_READ or OS_FILE_WRITE,
ORed to OS_FILE_LOG, if a log i/o
-@@ -4701,8 +4701,9 @@
+@@ -4677,8 +4677,9 @@
void* buf, /*!< in/out: buffer where to store read data
or from where to write; in aio this must be
appropriately aligned */
@@ -367,7 +366,7 @@
{
ulint mode;
fil_space_t* space;
-@@ -4872,7 +4873,7 @@
+@@ -4848,7 +4849,7 @@
#else
/* Queue the aio request */
ret = os_aio(type, mode | wake_later, node->name, node->handle, buf,
@@ -376,10 +375,10 @@
#endif
ut_a(ret);
-diff -ruN a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
---- a/storage/innobase/handler/ha_innodb.cc 2010-12-03 17:36:44.293955189 +0900
-+++ b/storage/innobase/handler/ha_innodb.cc 2010-12-03 17:42:42.090024586 +0900
-@@ -1528,6 +1528,16 @@
+diff -ruN a/storage/innodb_plugin/handler/ha_innodb.cc b/storage/innodb_plugin/handler/ha_innodb.cc
+--- a/storage/innodb_plugin/handler/ha_innodb.cc 2010-08-27 16:30:34.589021493 +0900
++++ b/storage/innodb_plugin/handler/ha_innodb.cc 2010-08-27 16:30:47.356987871 +0900
+@@ -1372,6 +1372,16 @@
trx->check_unique_secondary = !thd_test_options(
thd, OPTION_RELAXED_UNIQUE_CHECKS);
@@ -396,7 +395,7 @@
DBUG_VOID_RETURN;
}
-@@ -1583,6 +1593,32 @@
+@@ -1427,6 +1437,32 @@
}
@@ -429,13 +428,13 @@
/*********************************************************************//**
Construct ha_innobase handler. */
UNIV_INTERN
-@@ -9179,6 +9215,25 @@
+@@ -8940,6 +8976,25 @@
statement has ended */
if (trx->n_mysql_tables_in_use == 0) {
+#ifdef EXTENDED_SLOWLOG
+ increment_thd_innodb_stats(thd,
-+ (unsigned long long) trx->id,
++ (unsigned long long) ut_conv_dulint_to_longlong(trx->id),
+ trx->io_reads,
+ trx->io_read,
+ trx->io_reads_wait_timer,
@@ -455,19 +454,19 @@
trx->mysql_n_tables_locked = 0;
prebuilt->used_in_HANDLER = FALSE;
-diff -ruN a/storage/innobase/handler/innodb_patch_info.h b/storage/innobase/handler/innodb_patch_info.h
---- a/storage/innobase/handler/innodb_patch_info.h 2010-12-03 17:36:44.293955189 +0900
-+++ b/storage/innobase/handler/innodb_patch_info.h 2010-12-03 17:42:42.094955866 +0900
-@@ -38,5 +38,6 @@
- {"innodb_recovery_patches","Bugfixes and adjustments about recovery process","","http://www.percona.com/docs/wiki/percona-xtradb"},
+diff -ruN a/storage/innodb_plugin/handler/innodb_patch_info.h b/storage/innodb_plugin/handler/innodb_patch_info.h
+--- a/storage/innodb_plugin/handler/innodb_patch_info.h 2010-08-27 16:30:34.590004526 +0900
++++ b/storage/innodb_plugin/handler/innodb_patch_info.h 2010-08-27 16:30:47.361987777 +0900
+@@ -40,5 +40,6 @@
+ {"innodb_purge_thread","Enable to use purge devoted thread","","http://www.percona.com/docs/wiki/percona-xtradb"},
{"innodb_admin_command_base","XtraDB specific command interface through i_s","","http://www.percona.com/docs/wiki/percona-xtradb"},
{"innodb_show_lock_name","Show mutex/lock name instead of crated file/line","","http://www.percona.com/docs/wiki/percona-xtradb"},
+{"innodb_extend_slow","Extended statistics in slow.log","It is InnoDB-part only. It needs to patch also to mysqld.","http://www.percona.com/docs/wiki/percona-xtradb"},
{NULL, NULL, NULL, NULL}
};
-diff -ruN a/storage/innobase/include/buf0rea.h b/storage/innobase/include/buf0rea.h
---- a/storage/innobase/include/buf0rea.h 2010-12-03 15:18:48.891024406 +0900
-+++ b/storage/innobase/include/buf0rea.h 2010-12-03 17:42:42.096026873 +0900
+diff -ruN a/storage/innodb_plugin/include/buf0rea.h b/storage/innodb_plugin/include/buf0rea.h
+--- a/storage/innodb_plugin/include/buf0rea.h 2010-08-27 15:54:18.078987755 +0900
++++ b/storage/innodb_plugin/include/buf0rea.h 2010-08-27 16:30:47.363031394 +0900
@@ -27,6 +27,7 @@
#define buf0rea_h
@@ -497,10 +496,10 @@
/********************************************************************//**
Issues read requests for pages which the ibuf module wants to read in, in
order to contract the insert buffer tree. Technically, this function is like
-diff -ruN a/storage/innobase/include/fil0fil.h b/storage/innobase/include/fil0fil.h
---- a/storage/innobase/include/fil0fil.h 2010-12-03 15:09:51.290958543 +0900
-+++ b/storage/innobase/include/fil0fil.h 2010-12-03 17:42:42.097027548 +0900
-@@ -611,9 +611,12 @@
+diff -ruN a/storage/innodb_plugin/include/fil0fil.h b/storage/innodb_plugin/include/fil0fil.h
+--- a/storage/innodb_plugin/include/fil0fil.h 2010-08-27 15:52:14.325059269 +0900
++++ b/storage/innodb_plugin/include/fil0fil.h 2010-08-27 16:30:47.365059512 +0900
+@@ -610,9 +610,12 @@
Reads or writes data. This operation is asynchronous (aio).
@return DB_SUCCESS, or DB_TABLESPACE_DELETED if we are trying to do
i/o on a tablespace which does not exist */
@@ -514,7 +513,7 @@
/*===*/
ulint type, /*!< in: OS_FILE_READ or OS_FILE_WRITE,
ORed to OS_FILE_LOG, if a log i/o
-@@ -638,8 +641,9 @@
+@@ -637,8 +640,9 @@
void* buf, /*!< in/out: buffer where to store read data
or from where to write; in aio this must be
appropriately aligned */
@@ -525,9 +524,9 @@
/**********************************************************************//**
Waits for an aio operation to complete. This function is used to write the
handler for completed requests. The aio array of pending requests is divided
-diff -ruN a/storage/innobase/include/os0file.h b/storage/innobase/include/os0file.h
---- a/storage/innobase/include/os0file.h 2010-11-03 07:01:13.000000000 +0900
-+++ b/storage/innobase/include/os0file.h 2010-12-03 17:42:42.100023783 +0900
+diff -ruN a/storage/innodb_plugin/include/os0file.h b/storage/innodb_plugin/include/os0file.h
+--- a/storage/innodb_plugin/include/os0file.h 2010-08-04 02:24:19.000000000 +0900
++++ b/storage/innodb_plugin/include/os0file.h 2010-08-27 16:30:47.366987560 +0900
@@ -36,6 +36,7 @@
#define os0file_h
@@ -536,63 +535,21 @@
#ifndef __WIN__
#include <dirent.h>
-@@ -277,13 +278,17 @@
- pfs_os_file_close_func(file, __FILE__, __LINE__)
-
- # define os_aio(type, mode, name, file, buf, offset, offset_high, \
-- n, message1, message2) \
-+ n, message1, message2, trx) \
- pfs_os_aio_func(type, mode, name, file, buf, offset, \
-- offset_high, n, message1, message2, \
-+ offset_high, n, message1, message2, trx, \
- __FILE__, __LINE__)
-
- # define os_file_read(file, buf, offset, offset_high, n) \
-- pfs_os_file_read_func(file, buf, offset, offset_high, n, \
-+ pfs_os_file_read_func(file, buf, offset, offset_high, n, NULL, \
-+ __FILE__, __LINE__)
-+
-+# define os_file_read_trx(file, buf, offset, offset_high, n, trx) \
-+ pfs_os_file_read_func(file, buf, offset, offset_high, n, trx, \
- __FILE__, __LINE__)
-
- # define os_file_read_no_error_handling(file, buf, offset, \
-@@ -319,12 +324,15 @@
- # define os_file_close(file) os_file_close_func(file)
-
- # define os_aio(type, mode, name, file, buf, offset, offset_high, \
-- n, message1, message2) \
-+ n, message1, message2, trx) \
- os_aio_func(type, mode, name, file, buf, offset, offset_high, n,\
-- message1, message2)
-+ message1, message2, trx)
-
- # define os_file_read(file, buf, offset, offset_high, n) \
-- os_file_read_func(file, buf, offset, offset_high, n)
-+ os_file_read_func(file, buf, offset, offset_high, n, NULL)
-+
-+# define os_file_read_trx(file, buf, offset, offset_high, n, trx) \
-+ os_file_read_func(file, buf, offset, offset_high, n, trx)
-
- # define os_file_read_no_error_handling(file, buf, offset, \
- offset_high, n) \
-@@ -690,6 +698,7 @@
- ulint offset_high,/*!< in: most significant 32 bits of
- offset */
- ulint n, /*!< in: number of bytes to read */
-+ trx_t* trx,
- const char* src_file,/*!< in: file name where func invoked */
- ulint src_line);/*!< in: line where the func invoked */
-
-@@ -744,6 +753,7 @@
- (can be used to identify a completed
- aio operation); ignored if mode is
- OS_AIO_SYNC */
-+ trx_t* trx,
- const char* src_file,/*!< in: file name where func invoked */
- ulint src_line);/*!< in: line where the func invoked */
+@@ -482,9 +483,12 @@
/*******************************************************************//**
-@@ -885,7 +895,8 @@
+ Requests a synchronous read operation.
+ @return TRUE if request was successful, FALSE if fail */
++#define os_file_read(file, buf, offset, offset_high, n) \
++ _os_file_read(file, buf, offset, offset_high, n, NULL)
++
+ UNIV_INTERN
+ ibool
+-os_file_read(
++_os_file_read(
+ /*=========*/
+ os_file_t file, /*!< in: handle to a file */
+ void* buf, /*!< in: buffer where to read */
+@@ -492,7 +496,8 @@
offset where to read */
ulint offset_high,/*!< in: most significant 32 bits of
offset */
@@ -602,7 +559,7 @@
/*******************************************************************//**
Rewind file to its start, read at most size - 1 bytes from it to str, and
NUL-terminate str. All errors are silently ignored. This function is
-@@ -1044,10 +1055,11 @@
+@@ -646,10 +651,11 @@
(can be used to identify a completed
aio operation); ignored if mode is
OS_AIO_SYNC */
@@ -615,46 +572,9 @@
/************************************************************************//**
Wakes up all async i/o threads so that they know to exit themselves in
shutdown. */
-diff -ruN a/storage/innobase/include/os0file.ic b/storage/innobase/include/os0file.ic
---- a/storage/innobase/include/os0file.ic 2010-11-03 07:01:13.000000000 +0900
-+++ b/storage/innobase/include/os0file.ic 2010-12-03 17:42:42.102024458 +0900
-@@ -229,6 +229,7 @@
- (can be used to identify a completed
- aio operation); ignored if mode is
- OS_AIO_SYNC */
-+ trx_t* trx,
- const char* src_file,/*!< in: file name where func invoked */
- ulint src_line)/*!< in: line where the func invoked */
- {
-@@ -244,7 +245,7 @@
- src_file, src_line);
-
- result = os_aio_func(type, mode, name, file, buf, offset, offset_high,
-- n, message1, message2);
-+ n, message1, message2, trx);
-
- register_pfs_file_io_end(locker, n);
-
-@@ -268,6 +269,7 @@
- ulint offset_high,/*!< in: most significant 32 bits of
- offset */
- ulint n, /*!< in: number of bytes to read */
-+ trx_t* trx,
- const char* src_file,/*!< in: file name where func invoked */
- ulint src_line)/*!< in: line where the func invoked */
- {
-@@ -278,7 +280,7 @@
- register_pfs_file_io_begin(&state, locker, file, n, PSI_FILE_READ,
- src_file, src_line);
-
-- result = os_file_read_func(file, buf, offset, offset_high, n);
-+ result = os_file_read_func(file, buf, offset, offset_high, n, trx);
-
- register_pfs_file_io_end(locker, n);
-
-diff -ruN a/storage/innobase/include/srv0srv.h b/storage/innobase/include/srv0srv.h
---- a/storage/innobase/include/srv0srv.h 2010-12-03 17:32:15.634987408 +0900
-+++ b/storage/innobase/include/srv0srv.h 2010-12-03 17:42:42.104028644 +0900
+diff -ruN a/storage/innodb_plugin/include/srv0srv.h b/storage/innodb_plugin/include/srv0srv.h
+--- a/storage/innodb_plugin/include/srv0srv.h 2010-08-27 16:27:30.225055856 +0900
++++ b/storage/innodb_plugin/include/srv0srv.h 2010-08-27 16:30:47.367988259 +0900
@@ -62,6 +62,9 @@
#define SRV_AUTO_EXTEND_INCREMENT \
(srv_auto_extend_increment * ((1024 * 1024) / UNIV_PAGE_SIZE))
@@ -665,10 +585,10 @@
/* This is set to TRUE if the MySQL user has set it in MySQL */
extern ibool srv_lower_case_table_names;
-diff -ruN a/storage/innobase/include/trx0trx.h b/storage/innobase/include/trx0trx.h
---- a/storage/innobase/include/trx0trx.h 2010-12-03 15:41:52.049372966 +0900
-+++ b/storage/innobase/include/trx0trx.h 2010-12-03 17:42:42.107024532 +0900
-@@ -728,6 +728,17 @@
+diff -ruN a/storage/innodb_plugin/include/trx0trx.h b/storage/innodb_plugin/include/trx0trx.h
+--- a/storage/innodb_plugin/include/trx0trx.h 2010-08-27 16:08:45.301058614 +0900
++++ b/storage/innodb_plugin/include/trx0trx.h 2010-08-27 16:30:47.369989369 +0900
+@@ -738,6 +738,17 @@
/*------------------------------*/
char detailed_error[256]; /*!< detailed error message for last
error, or empty. */
@@ -686,10 +606,10 @@
};
#define TRX_MAX_N_THREADS 32 /* maximum number of
-diff -ruN a/storage/innobase/lock/lock0lock.c b/storage/innobase/lock/lock0lock.c
---- a/storage/innobase/lock/lock0lock.c 2010-12-03 15:09:51.297986437 +0900
-+++ b/storage/innobase/lock/lock0lock.c 2010-12-03 17:42:42.111024587 +0900
-@@ -1755,6 +1755,8 @@
+diff -ruN a/storage/innodb_plugin/lock/lock0lock.c b/storage/innodb_plugin/lock/lock0lock.c
+--- a/storage/innodb_plugin/lock/lock0lock.c 2010-08-27 15:52:14.332058513 +0900
++++ b/storage/innodb_plugin/lock/lock0lock.c 2010-08-27 16:30:47.374058285 +0900
+@@ -1757,6 +1757,8 @@
{
lock_t* lock;
trx_t* trx;
@@ -698,7 +618,7 @@
ut_ad(mutex_own(&kernel_mutex));
-@@ -1813,6 +1815,10 @@
+@@ -1815,6 +1817,10 @@
trx->que_state = TRX_QUE_LOCK_WAIT;
trx->was_chosen_as_deadlock_victim = FALSE;
trx->wait_started = time(NULL);
@@ -709,7 +629,7 @@
ut_a(que_thr_stop(thr));
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql-innodb_extend_slow.patch?r1=1.1&r2=1.2&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql-innodb_split_buf_pool_mutex.patch?r1=1.2&r2=1.3&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql-microsec_process.patch?r1=1.2&r2=1.3&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql-userstat.patch?r1=1.1&r2=1.2&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql.spec?r1=1.496.2.1&r2=1.496.2.2&f=u
More information about the pld-cvs-commit
mailing list