]> git.pld-linux.org Git - packages/mysql.git/blobdiff - innodb_separate_doublewrite.patch
- %_lib==lib handling bugfix
[packages/mysql.git] / innodb_separate_doublewrite.patch
index c1f258164bbe9420fc31c718c778934814ee6124..c7d098fa2a8ea97029dff099dc4d25d169dd150d 100644 (file)
@@ -7,7 +7,7 @@
 # should be done or reviewed by the maintainer!
 --- a/storage/innobase/buf/buf0buf.c
 +++ b/storage/innobase/buf/buf0buf.c
-@@ -3868,7 +3868,8 @@
+@@ -3807,7 +3807,8 @@
                read_space_id = mach_read_from_4(
                        frame + FIL_PAGE_ARCH_LOG_NO_OR_SPACE_ID);
  
                                if (err != DB_SUCCESS) {
  
                                        return(err);
-@@ -4159,7 +4169,7 @@
+@@ -4176,7 +4186,7 @@
        }
  
  #ifndef UNIV_HOTBACKUP
                fprintf(stderr,
                        "InnoDB: Error: tablespace id %lu in file %s"
                        " is not sensible\n",
-@@ -4168,7 +4178,7 @@
+@@ -4185,7 +4195,7 @@
                goto func_exit;
        }
  #else
                char*   new_path;
  
                fprintf(stderr,
-@@ -4989,7 +4999,7 @@
+@@ -5006,7 +5016,7 @@
        }
  
        if (node->n_pending == 0 && space->purpose == FIL_TABLESPACE
                /* The node is in the LRU list, remove it */
  
                ut_a(UT_LIST_GET_LEN(system->LRU) > 0);
-@@ -5035,7 +5045,7 @@
+@@ -5052,7 +5062,7 @@
        }
  
        if (node->n_pending == 0 && node->space->purpose == FIL_TABLESPACE
                /* The node must be put back to the LRU list */
                UT_LIST_ADD_FIRST(LRU, system->LRU, node);
        }
-@@ -5646,7 +5656,7 @@
+@@ -5663,7 +5673,7 @@
                ut_a(fil_node->n_pending == 0);
                ut_a(fil_node->open);
                ut_a(fil_node->space->purpose == FIL_TABLESPACE);
 -
 +#include "trx0sys.h"
  
- #define FSP_HEADER_OFFSET     FIL_PAGE_DATA   /* Offset of the space header
-                                               within a file page */
-@@ -999,10 +999,10 @@
+ /*                    FILE SEGMENT INODE
+                       ==================
+@@ -938,10 +938,10 @@
        flst_init(header + FSP_SEG_INODES_FREE, mtr);
  
        mlog_write_ull(header + FSP_SEG_ID, 1, mtr);
        srv_use_sys_stats_table = (ibool) innobase_use_sys_stats_table;
  
        /* -------------- Log files ---------------------------*/
-@@ -11763,6 +11766,11 @@
+@@ -11771,6 +11774,11 @@
    "Path to individual files and their sizes.",
    NULL, NULL, NULL);
  
  static MYSQL_SYSVAR_LONG(autoinc_lock_mode, innobase_autoinc_lock_mode,
    PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
    "The AUTOINC lock modes supported by InnoDB:               "
-@@ -11942,6 +11950,7 @@
+@@ -11990,6 +11998,7 @@
    MYSQL_SYSVAR(commit_concurrency),
    MYSQL_SYSVAR(concurrency_tickets),
    MYSQL_SYSVAR(data_file_path),
  #ifdef UNIV_LOG_ARCHIVE
        ulint*          min_arch_log_no,/*!< out: min of archived log
                                        numbers in data files */
-@@ -747,6 +748,7 @@
+@@ -748,6 +749,7 @@
        *sum_of_new_sizes = 0;
  
        *create_new_db = FALSE;
  
        srv_normalize_path_for_win(srv_data_home);
  
-@@ -984,6 +986,142 @@
+@@ -1004,6 +1006,142 @@
                                srv_data_file_is_raw_partition[i] != 0);
        }
  
 +                                      (ulong) TRX_SYS_DOUBLEWRITE_BLOCK_SIZE * 9);
 +                      }
 +
-+                      fil_read_flushed_lsn_and_arch_log_no(
-+                              files[i], one_opened,
++                      fil_read_first_page(
++                              files[i], one_opened, &flags,
 +#ifdef UNIV_LOG_ARCHIVE
 +                              min_arch_log_no, max_arch_log_no,
 +#endif /* UNIV_LOG_ARCHIVE */
        return(DB_SUCCESS);
  }
  
-@@ -997,6 +1135,7 @@
+@@ -1017,6 +1155,7 @@
  /*====================================*/
  {
        ibool           create_new_db;
        ibool           log_file_created;
        ibool           log_created     = FALSE;
        ibool           log_opened      = FALSE;
-@@ -1462,6 +1601,7 @@
+@@ -1482,6 +1621,7 @@
        }
  
        err = open_or_create_data_files(&create_new_db,
  #ifdef UNIV_LOG_ARCHIVE
                                        &min_arch_log_no, &max_arch_log_no,
  #endif /* UNIV_LOG_ARCHIVE */
-@@ -1629,6 +1769,14 @@
+@@ -1649,6 +1789,14 @@
                after the double write buffer has been created. */
                trx_sys_create();
  
                dict_create();
  
                srv_startup_is_before_trx_rollback_phase = FALSE;
-@@ -1662,6 +1810,13 @@
+@@ -1682,6 +1830,13 @@
                recv_recovery_from_archive_finish();
  #endif /* UNIV_LOG_ARCHIVE */
        } else {
  
                /* Check if we support the max format that is stamped
                on the system tablespace. 
-@@ -1748,6 +1903,17 @@
+@@ -1768,6 +1923,17 @@
                we have finished the recovery process so that the
                image of TRX_SYS_PAGE_NO is not stale. */
                trx_sys_file_format_tag_init();
This page took 0.072664 seconds and 4 git commands to generate.