~tsarev/percona-server/bug721176

« back to all changes in this revision

Viewing changes to patches/innodb_files_extend.patch

  • Committer: Stewart Smith
  • Date: 2011-08-16 02:52:57 UTC
  • mfrom: (148.1.5 5.5.15-porting)
  • Revision ID: stewart@flamingspork.com-20110816025257-0e7elba7i8tlrf50
merge 5.5.15 rebase

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
#!!! notice !!!
6
6
# Any small change to this file in the main branch
7
7
# should be done or reviewed by the maintainer!
8
 
diff -ruN a/storage/innobase/fil/fil0fil.c b/storage/innobase/fil/fil0fil.c
9
 
--- a/storage/innobase/fil/fil0fil.c    2010-12-04 15:55:21.358513751 +0900
10
 
+++ b/storage/innobase/fil/fil0fil.c    2010-12-04 15:55:58.243481131 +0900
 
8
--- a/storage/innobase/fil/fil0fil.c
 
9
+++ b/storage/innobase/fil/fil0fil.c
11
10
@@ -731,7 +731,7 @@
12
11
                ut_a(space->purpose != FIL_LOG);
13
12
                ut_a(!trx_sys_sys_space(space->id));
48
47
        ut_ad(fil_validate_skip());
49
48
 #ifndef UNIV_HOTBACKUP
50
49
 # ifndef UNIV_LOG_DEBUG
51
 
diff -ruN a/storage/innobase/fsp/fsp0fsp.c b/storage/innobase/fsp/fsp0fsp.c
52
 
--- a/storage/innobase/fsp/fsp0fsp.c    2010-12-04 15:52:23.411513754 +0900
53
 
+++ b/storage/innobase/fsp/fsp0fsp.c    2010-12-04 15:55:58.244514273 +0900
 
50
--- a/storage/innobase/fsp/fsp0fsp.c
 
51
+++ b/storage/innobase/fsp/fsp0fsp.c
54
52
@@ -656,16 +656,18 @@
55
53
                                0 for uncompressed pages */
56
54
        ulint   offset)         /*!< in: page offset */
99
97
 
100
98
                if (UNIV_UNLIKELY(init_xdes)) {
101
99
 
102
 
diff -ruN a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
103
 
--- a/storage/innobase/handler/ha_innodb.cc     2010-12-04 15:55:21.367482924 +0900
104
 
+++ b/storage/innobase/handler/ha_innodb.cc     2010-12-04 15:55:58.248549631 +0900
 
100
--- a/storage/innobase/handler/ha_innodb.cc
 
101
+++ b/storage/innobase/handler/ha_innodb.cc
105
102
@@ -148,6 +148,9 @@
106
103
 static ulong innobase_write_io_threads;
107
104
 static long innobase_buffer_pool_instances = 1;
112
109
 static my_bool innobase_thread_concurrency_timer_based;
113
110
 static long long innobase_buffer_pool_size, innobase_log_file_size;
114
111
 
115
 
@@ -2322,6 +2325,65 @@
 
112
@@ -2321,6 +2324,65 @@
116
113
        }
117
114
 #endif /* DBUG_OFF */
118
115
 
178
175
 #ifndef MYSQL_SERVER
179
176
        innodb_overwrite_relay_log_info = FALSE;
180
177
 #endif
181
 
@@ -7253,9 +7315,9 @@
 
178
@@ -7252,9 +7314,9 @@
182
179
                                | DICT_TF_COMPACT
183
180
                                | DICT_TF_FORMAT_ZIP
184
181
                                << DICT_TF_FORMAT_SHIFT;
191
188
                }
192
189
        }
193
190
 
194
 
@@ -11444,6 +11506,16 @@
 
191
@@ -11443,6 +11505,16 @@
195
192
   "#### Attention: The checksum is not compatible for normal or disabled version! ####",
196
193
   NULL, NULL, FALSE);
197
194
 
208
205
 static MYSQL_SYSVAR_STR(data_home_dir, innobase_data_home_dir,
209
206
   PLUGIN_VAR_READONLY,
210
207
   "The common part for InnoDB table spaces.",
211
 
@@ -11953,6 +12025,8 @@
 
208
@@ -11952,6 +12024,8 @@
212
209
   NULL, NULL, 0, &corrupt_table_action_typelib);
213
210
 
214
211
 static struct st_mysql_sys_var* innobase_system_variables[]= {
217
214
   MYSQL_SYSVAR(additional_mem_pool_size),
218
215
   MYSQL_SYSVAR(autoextend_increment),
219
216
   MYSQL_SYSVAR(buffer_pool_size),
220
 
diff -ruN a/storage/innobase/include/buf0buf.h b/storage/innobase/include/buf0buf.h
221
 
--- a/storage/innobase/include/buf0buf.h        2010-12-04 15:55:21.375482937 +0900
222
 
+++ b/storage/innobase/include/buf0buf.h        2010-12-04 15:55:58.258469088 +0900
223
 
@@ -1686,7 +1686,7 @@
 
217
--- a/storage/innobase/include/buf0buf.h
 
218
+++ b/storage/innobase/include/buf0buf.h
 
219
@@ -1722,7 +1722,7 @@
224
220
        time_t          last_printout_time;
225
221
                                        /*!< when buf_print_io was last time
226
222
                                        called */
229
225
                                        /*!< Statistics of buddy system,
230
226
                                        indexed by block size */
231
227
        buf_pool_stat_t stat;           /*!< current statistics */
232
 
@@ -1782,7 +1782,7 @@
233
 
        /* @{ */
 
228
@@ -1820,7 +1820,7 @@
234
229
        UT_LIST_BASE_NODE_T(buf_page_t) zip_clean;
235
230
                                        /*!< unmodified compressed pages */
 
231
 #endif /* UNIV_DEBUG || UNIV_BUF_DEBUG */
236
232
-       UT_LIST_BASE_NODE_T(buf_page_t) zip_free[BUF_BUDDY_SIZES];
237
233
+       UT_LIST_BASE_NODE_T(buf_page_t) zip_free[BUF_BUDDY_SIZES_MAX];
238
234
                                        /*!< buddy free lists */
239
235
 
240
236
        buf_page_t                      watch[BUF_POOL_WATCH_SIZE];
241
 
@@ -1790,9 +1790,9 @@
 
237
@@ -1828,9 +1828,9 @@
242
238
                                        pool watches. Protected by
243
239
                                        buf_pool->mutex. */
244
240
 
251
247
 #if BUF_BUDDY_LOW > PAGE_ZIP_MIN_SIZE
252
248
 # error "BUF_BUDDY_LOW > PAGE_ZIP_MIN_SIZE"
253
249
 #endif
254
 
diff -ruN a/storage/innobase/include/buf0types.h b/storage/innobase/include/buf0types.h
255
 
--- a/storage/innobase/include/buf0types.h      2010-11-03 07:01:13.000000000 +0900
256
 
+++ b/storage/innobase/include/buf0types.h      2010-12-04 15:55:58.259482590 +0900
257
 
@@ -72,12 +72,13 @@
258
 
                                        buddy system; must be at least
259
 
                                        sizeof(buf_page_t) */
 
250
--- a/storage/innobase/include/buf0types.h
 
251
+++ b/storage/innobase/include/buf0types.h
 
252
@@ -67,12 +67,13 @@
 
253
 #define BUF_BUDDY_LOW          (1 << BUF_BUDDY_LOW_SHIFT)
 
254
 
260
255
 #define BUF_BUDDY_SIZES                (UNIV_PAGE_SIZE_SHIFT - BUF_BUDDY_LOW_SHIFT)
261
256
+#define BUF_BUDDY_SIZES_MAX    (UNIV_PAGE_SIZE_SHIFT_MAX - BUF_BUDDY_LOW_SHIFT)
262
257
                                        /*!< number of buddy sizes */
269
264
 /* @} */
270
265
 
271
266
 #endif
272
 
diff -ruN a/storage/innobase/include/fsp0types.h b/storage/innobase/include/fsp0types.h
273
 
--- a/storage/innobase/include/fsp0types.h      2010-12-04 02:58:26.000000000 +0900
274
 
+++ b/storage/innobase/include/fsp0types.h      2011-02-03 15:14:21.000000000 +0900
 
267
--- a/storage/innobase/include/fsp0types.h
 
268
+++ b/storage/innobase/include/fsp0types.h
275
269
@@ -42,7 +42,7 @@
276
270
 /* @} */
277
271
 
281
275
 
282
276
 /** On a page of any file segment, data may be put starting from this
283
277
 offset */
284
 
diff -ruN a/storage/innobase/include/log0log.h b/storage/innobase/include/log0log.h
285
 
--- a/storage/innobase/include/log0log.h        2010-11-03 07:01:13.000000000 +0900
286
 
+++ b/storage/innobase/include/log0log.h        2010-12-09 18:16:47.737728305 +0900
 
278
--- a/storage/innobase/include/log0log.h
 
279
+++ b/storage/innobase/include/log0log.h
287
280
@@ -672,6 +672,9 @@
288
281
                                        when mysqld is first time started
289
282
                                        on the restored database, it can
294
287
 #define        LOG_FILE_ARCH_COMPLETED OS_FILE_LOG_BLOCK_SIZE
295
288
                                        /* this 4-byte field is TRUE when
296
289
                                        the writing of an archived log file
297
 
diff -ruN a/storage/innobase/include/mtr0log.ic b/storage/innobase/include/mtr0log.ic
298
 
--- a/storage/innobase/include/mtr0log.ic       2010-12-04 15:37:50.590551517 +0900
299
 
+++ b/storage/innobase/include/mtr0log.ic       2010-12-04 15:55:58.260482404 +0900
 
290
--- a/storage/innobase/include/mtr0log.ic
 
291
+++ b/storage/innobase/include/mtr0log.ic
300
292
@@ -203,7 +203,7 @@
301
293
        system tablespace */
302
294
        if ((space == TRX_SYS_SPACE
306
298
                if (trx_doublewrite_buf_is_being_created) {
307
299
                        /* Do nothing: we only come to this branch in an
308
300
                        InnoDB database creation. We do not redo log
309
 
diff -ruN a/storage/innobase/include/os0file.h b/storage/innobase/include/os0file.h
310
 
--- a/storage/innobase/include/os0file.h        2010-12-09 18:16:02.323727427 +0900
311
 
+++ b/storage/innobase/include/os0file.h        2010-12-09 18:16:47.738694194 +0900
 
301
--- a/storage/innobase/include/os0file.h
 
302
+++ b/storage/innobase/include/os0file.h
312
303
@@ -101,7 +101,7 @@
313
304
 if this fails for a log block, then it is equivalent to a media failure in the
314
305
 log. */
327
318
 #ifdef UNIV_PFS_IO
328
319
 /* Keys to register InnoDB I/O with performance schema */
329
320
 extern mysql_pfs_key_t innodb_file_data_key;
330
 
diff -ruN a/storage/innobase/include/page0types.h b/storage/innobase/include/page0types.h
331
 
--- a/storage/innobase/include/page0types.h     2010-11-03 07:01:13.000000000 +0900
332
 
+++ b/storage/innobase/include/page0types.h     2010-12-04 15:55:58.261483930 +0900
 
321
--- a/storage/innobase/include/page0types.h
 
322
+++ b/storage/innobase/include/page0types.h
333
323
@@ -56,8 +56,9 @@
334
324
 
335
325
 /** Number of supported compressed page sizes */
351
341
 
352
342
 /**********************************************************************//**
353
343
 Write the "deleted" flag of a record on a compressed page.  The flag must
354
 
diff -ruN a/storage/innobase/include/trx0sys.h b/storage/innobase/include/trx0sys.h
355
 
--- a/storage/innobase/include/trx0sys.h        2010-12-04 15:37:50.593480594 +0900
356
 
+++ b/storage/innobase/include/trx0sys.h        2010-12-04 15:55:58.262549554 +0900
357
 
@@ -515,9 +515,9 @@
 
344
--- a/storage/innobase/include/trx0sys.h
 
345
+++ b/storage/innobase/include/trx0sys.h
 
346
@@ -526,9 +526,9 @@
358
347
 /** Contents of TRX_SYS_MYSQL_LOG_MAGIC_N_FLD */
359
348
 #define TRX_SYS_MYSQL_LOG_MAGIC_N      873422344
360
349
 
367
356
 /** The offset of the MySQL replication info in the trx system header;
368
357
 this contains the same fields as TRX_SYS_MYSQL_LOG_INFO below */
369
358
 #define TRX_SYS_MYSQL_MASTER_LOG_INFO  (UNIV_PAGE_SIZE - 2000)
370
 
diff -ruN a/storage/innobase/include/univ.i b/storage/innobase/include/univ.i
371
 
--- a/storage/innobase/include/univ.i   2010-11-03 07:01:13.000000000 +0900
372
 
+++ b/storage/innobase/include/univ.i   2010-12-04 15:55:58.263549721 +0900
373
 
@@ -311,9 +311,13 @@
 
359
--- a/storage/innobase/include/univ.i
 
360
+++ b/storage/innobase/include/univ.i
 
361
@@ -310,9 +310,13 @@
374
362
 */
375
363
 
376
364
 /* The 2-logarithm of UNIV_PAGE_SIZE: */
386
374
 
387
375
 /* Maximum number of parallel threads in a parallelized operation */
388
376
 #define UNIV_MAX_PARALLELISM   32
389
 
@@ -432,7 +436,7 @@
 
377
@@ -431,7 +435,7 @@
390
378
 stored part of the field in the tablespace. The length field then
391
379
 contains the sum of the following flag and the locally stored len. */
392
380
 
395
383
 
396
384
 /* Some macros to improve branch prediction and reduce cache misses */
397
385
 #if defined(__GNUC__) && (__GNUC__ > 2) && ! defined(__INTEL_COMPILER)
398
 
@@ -535,4 +539,6 @@
 
386
@@ -534,4 +538,6 @@
399
387
        UNIV_MEM_ALLOC(addr, size);                     \
400
388
 } while (0)
401
389
 
402
390
+extern ulint   srv_page_size_shift;
403
391
+extern ulint   srv_page_size;
404
392
 #endif
405
 
diff -ruN a/storage/innobase/log/log0log.c b/storage/innobase/log/log0log.c
406
 
--- a/storage/innobase/log/log0log.c    2010-12-03 15:18:48.899986203 +0900
407
 
+++ b/storage/innobase/log/log0log.c    2010-12-04 15:55:58.266551567 +0900
 
393
--- a/storage/innobase/log/log0log.c
 
394
+++ b/storage/innobase/log/log0log.c
408
395
@@ -604,7 +604,9 @@
409
396
 
410
397
        offset = (gr_lsn_size_offset + difference) % group_size;
455
442
 #endif /* UNIV_LOG_ARCHIVE */
456
443
 
457
444
        for (i = 0; i < LOG_MAX_N_GROUPS; i++) {
458
 
diff -ruN a/storage/innobase/log/log0recv.c b/storage/innobase/log/log0recv.c
459
 
--- a/storage/innobase/log/log0recv.c   2010-12-03 17:32:15.638986405 +0900
460
 
+++ b/storage/innobase/log/log0recv.c   2010-12-04 15:55:58.269550689 +0900
 
445
--- a/storage/innobase/log/log0recv.c
 
446
+++ b/storage/innobase/log/log0recv.c
461
447
@@ -712,8 +712,22 @@
462
448
 
463
449
                        group->lsn = mach_read_from_8(
511
497
 #ifdef UNIV_LOG_ARCHIVE
512
498
        group = UT_LIST_GET_FIRST(log_sys->log_groups);
513
499
 
514
 
diff -ruN a/storage/innobase/page/page0zip.c b/storage/innobase/page/page0zip.c
515
 
--- a/storage/innobase/page/page0zip.c  2010-12-04 15:52:23.484482786 +0900
516
 
+++ b/storage/innobase/page/page0zip.c  2010-12-04 15:55:58.274551431 +0900
 
500
--- a/storage/innobase/page/page0zip.c
 
501
+++ b/storage/innobase/page/page0zip.c
517
502
@@ -49,7 +49,7 @@
518
503
 
519
504
 #ifndef UNIV_HOTBACKUP
523
508
 #endif /* !UNIV_HOTBACKUP */
524
509
 
525
510
 /* Please refer to ../include/page0zip.ic for a description of the
526
 
diff -ruN a/storage/innobase/row/row0merge.c b/storage/innobase/row/row0merge.c
527
 
--- a/storage/innobase/row/row0merge.c  2010-12-04 15:52:23.490513562 +0900
528
 
+++ b/storage/innobase/row/row0merge.c  2010-12-04 15:55:58.277550562 +0900
 
511
--- a/storage/innobase/row/row0merge.c
 
512
+++ b/storage/innobase/row/row0merge.c
529
513
@@ -97,7 +97,7 @@
530
514
 row_merge_block_t.  Thus, it must be able to hold one merge record,
531
515
 whose maximum size is the same as the minimum size of
535
519
 
536
520
 /** @brief Merge record in row_merge_block_t.
537
521
 
538
 
diff -ruN a/storage/innobase/srv/srv0srv.c b/storage/innobase/srv/srv0srv.c
539
 
--- a/storage/innobase/srv/srv0srv.c    2010-12-04 15:55:21.384486344 +0900
540
 
+++ b/storage/innobase/srv/srv0srv.c    2010-12-04 15:55:58.282550845 +0900
 
522
--- a/storage/innobase/srv/srv0srv.c
 
523
+++ b/storage/innobase/srv/srv0srv.c
541
524
@@ -234,6 +234,13 @@
542
525
 UNIV_INTERN ulint      srv_n_read_io_threads   = ULINT_MAX;
543
526
 UNIV_INTERN ulint      srv_n_write_io_threads  = ULINT_MAX;
552
535
 /* User settable value of the number of pages that must be present
553
536
 in the buffer cache and accessed sequentially for InnoDB to trigger a
554
537
 readahead request. */
555
 
diff -ruN a/storage/innobase/srv/srv0start.c b/storage/innobase/srv/srv0start.c
556
 
--- a/storage/innobase/srv/srv0start.c  2010-12-04 15:52:23.502513556 +0900
557
 
+++ b/storage/innobase/srv/srv0start.c  2010-12-04 15:55:58.285550583 +0900
 
538
--- a/storage/innobase/srv/srv0start.c
 
539
+++ b/storage/innobase/srv/srv0start.c
558
540
@@ -1561,11 +1561,13 @@
559
541
        }
560
542
 #endif /* UNIV_LOG_ARCHIVE */