Merge lp:~akopytov/percona-server/bug806975-5.5 into lp:percona-server/5.5

Proposed by Alexey Kopytov
Status: Merged
Approved by: Stewart Smith
Approved revision: 138
Merged at revision: 138
Proposed branch: lp:~akopytov/percona-server/bug806975-5.5
Merge into: lp:percona-server/5.5
Diff against target: 293 lines (+48/-47)
1 file modified
innodb_io_patches.patch (+48/-47)
To merge this branch: bzr merge lp:~akopytov/percona-server/bug806975-5.5
Reviewer Review Type Date Requested Status
Stewart Smith Pending
Yasufumi Kinoshita Pending
Review via email: mp+67212@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'innodb_io_patches.patch'
2--- innodb_io_patches.patch 2011-06-29 09:32:51 +0000
3+++ innodb_io_patches.patch 2011-07-07 15:23:07 +0000
4@@ -6,8 +6,8 @@
5 # Any small change to this file in the main branch
6 # should be done or reviewed by the maintainer!
7 diff -ruN a/storage/innobase/buf/buf0buf.c b/storage/innobase/buf/buf0buf.c
8---- a/storage/innobase/buf/buf0buf.c 2010-12-03 15:09:51.273986410 +0900
9-+++ b/storage/innobase/buf/buf0buf.c 2010-12-03 15:10:08.934990091 +0900
10+--- a/storage/innobase/buf/buf0buf.c 2011-07-07 18:43:12.000000000 +0400
11++++ b/storage/innobase/buf/buf0buf.c 2011-07-07 19:01:24.000000000 +0400
12 @@ -320,6 +320,7 @@
13
14 /* When we traverse all the flush lists we don't want another
15@@ -25,8 +25,8 @@
16
17 /* The returned answer may be out of date: the flush_list can
18 diff -ruN a/storage/innobase/buf/buf0flu.c b/storage/innobase/buf/buf0flu.c
19---- a/storage/innobase/buf/buf0flu.c 2010-11-03 07:01:13.000000000 +0900
20-+++ b/storage/innobase/buf/buf0flu.c 2010-12-03 15:10:08.934990091 +0900
21+--- a/storage/innobase/buf/buf0flu.c 2011-07-07 18:43:12.000000000 +0400
22++++ b/storage/innobase/buf/buf0flu.c 2011-07-07 19:01:24.000000000 +0400
23 @@ -855,7 +855,7 @@
24 flush:
25 /* Now flush the doublewrite buffer data to disk */
26@@ -46,8 +46,8 @@
27 any block except from the end of the LRU list */
28
29 diff -ruN a/storage/innobase/buf/buf0rea.c b/storage/innobase/buf/buf0rea.c
30---- a/storage/innobase/buf/buf0rea.c 2010-11-03 07:01:13.000000000 +0900
31-+++ b/storage/innobase/buf/buf0rea.c 2010-12-03 15:10:08.937050537 +0900
32+--- a/storage/innobase/buf/buf0rea.c 2011-05-11 15:54:12.000000000 +0400
33++++ b/storage/innobase/buf/buf0rea.c 2011-07-07 19:01:24.000000000 +0400
34 @@ -260,6 +260,10 @@
35 = BUF_READ_AHEAD_LINEAR_AREA(buf_pool);
36 ulint threshold;
37@@ -60,8 +60,8 @@
38 /* No read-ahead to avoid thread deadlocks */
39 return(0);
40 diff -ruN a/storage/innobase/fil/fil0fil.c b/storage/innobase/fil/fil0fil.c
41---- a/storage/innobase/fil/fil0fil.c 2011-06-29 17:48:24.797971571 +0900
42-+++ b/storage/innobase/fil/fil0fil.c 2011-06-29 18:04:02.548053286 +0900
43+--- a/storage/innobase/fil/fil0fil.c 2011-07-07 18:43:12.000000000 +0400
44++++ b/storage/innobase/fil/fil0fil.c 2011-07-07 19:01:22.000000000 +0400
45 @@ -2600,7 +2600,7 @@
46
47 os_thread_sleep(20000);
48@@ -137,8 +137,8 @@
49
50 mem_free(space_ids);
51 diff -ruN a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
52---- a/storage/innobase/handler/ha_innodb.cc 2010-12-03 15:09:51.283956391 +0900
53-+++ b/storage/innobase/handler/ha_innodb.cc 2010-12-03 15:10:08.963980444 +0900
54+--- a/storage/innobase/handler/ha_innodb.cc 2011-07-07 18:43:12.000000000 +0400
55++++ b/storage/innobase/handler/ha_innodb.cc 2011-07-07 19:01:24.000000000 +0400
56 @@ -444,6 +444,12 @@
57 "Timeout in seconds an InnoDB transaction may wait for a lock before being rolled back. Values above 100000000 disable the timeout.",
58 NULL, NULL, 50, 1, 1024 * 1024 * 1024, 0);
59@@ -342,8 +342,8 @@
60 MYSQL_SYSVAR(use_native_aio),
61 MYSQL_SYSVAR(change_buffering),
62 diff -ruN a/storage/innobase/ibuf/ibuf0ibuf.c b/storage/innobase/ibuf/ibuf0ibuf.c
63---- a/storage/innobase/ibuf/ibuf0ibuf.c 2010-11-03 07:01:13.000000000 +0900
64-+++ b/storage/innobase/ibuf/ibuf0ibuf.c 2010-12-03 15:10:09.073984282 +0900
65+--- a/storage/innobase/ibuf/ibuf0ibuf.c 2011-05-11 15:54:12.000000000 +0400
66++++ b/storage/innobase/ibuf/ibuf0ibuf.c 2011-07-07 19:01:23.000000000 +0400
67 @@ -514,8 +514,10 @@
68 grow in size, as the references on the upper levels of the tree can
69 change */
70@@ -370,8 +370,8 @@
71 sync = (size >= max_size + IBUF_CONTRACT_ON_INSERT_SYNC);
72
73 diff -ruN a/storage/innobase/include/buf0rea.h b/storage/innobase/include/buf0rea.h
74---- a/storage/innobase/include/buf0rea.h 2010-11-03 07:01:13.000000000 +0900
75-+++ b/storage/innobase/include/buf0rea.h 2010-12-03 15:10:09.076066335 +0900
76+--- a/storage/innobase/include/buf0rea.h 2011-05-11 15:54:12.000000000 +0400
77++++ b/storage/innobase/include/buf0rea.h 2011-07-07 19:01:21.000000000 +0400
78 @@ -124,8 +124,7 @@
79
80 /** The size in pages of the area which the read-ahead algorithms read if
81@@ -383,8 +383,8 @@
82 /** @name Modes used in read-ahead @{ */
83 /** read only pages belonging to the insert buffer tree */
84 diff -ruN a/storage/innobase/include/fil0fil.h b/storage/innobase/include/fil0fil.h
85---- a/storage/innobase/include/fil0fil.h 2011-06-29 17:48:24.818969583 +0900
86-+++ b/storage/innobase/include/fil0fil.h 2011-06-29 17:58:49.215971540 +0900
87+--- a/storage/innobase/include/fil0fil.h 2011-07-07 18:43:12.000000000 +0400
88++++ b/storage/innobase/include/fil0fil.h 2011-07-07 19:01:21.000000000 +0400
89 @@ -658,8 +658,9 @@
90 void
91 fil_flush(
92@@ -397,8 +397,8 @@
93 Flushes to disk writes in file spaces of the given type possibly cached by
94 the OS. */
95 diff -ruN a/storage/innobase/include/ha_prototypes.h b/storage/innobase/include/ha_prototypes.h
96---- a/storage/innobase/include/ha_prototypes.h 2010-11-03 07:01:13.000000000 +0900
97-+++ b/storage/innobase/include/ha_prototypes.h 2010-12-03 15:10:09.078026360 +0900
98+--- a/storage/innobase/include/ha_prototypes.h 2011-05-11 15:54:12.000000000 +0400
99++++ b/storage/innobase/include/ha_prototypes.h 2011-07-07 18:43:13.000000000 +0400
100 @@ -284,6 +284,13 @@
101 /*===================*/
102 void* thd, /*!< in: thread handle (THD*) */
103@@ -414,8 +414,8 @@
104 /**********************************************************************//**
105 Get the current setting of the lower_case_table_names global parameter from
106 diff -ruN a/storage/innobase/include/os0file.h b/storage/innobase/include/os0file.h
107---- a/storage/innobase/include/os0file.h 2011-05-11 20:54:12.000000000 +0900
108-+++ b/storage/innobase/include/os0file.h 2011-06-29 17:55:21.947041132 +0900
109+--- a/storage/innobase/include/os0file.h 2011-05-11 15:54:12.000000000 +0400
110++++ b/storage/innobase/include/os0file.h 2011-07-07 19:01:21.000000000 +0400
111 @@ -296,8 +296,8 @@
112 pfs_os_file_write_func(name, file, buf, offset, offset_high, \
113 n, __FILE__, __LINE__)
114@@ -455,8 +455,8 @@
115 Retrieves the last error number if an error occurs in a file io function.
116 The number should be retrieved before any other OS calls (because they may
117 diff -ruN a/storage/innobase/include/os0file.ic b/storage/innobase/include/os0file.ic
118---- a/storage/innobase/include/os0file.ic 2011-05-11 20:54:12.000000000 +0900
119-+++ b/storage/innobase/include/os0file.ic 2011-06-29 17:56:01.510958172 +0900
120+--- a/storage/innobase/include/os0file.ic 2011-05-11 15:54:12.000000000 +0400
121++++ b/storage/innobase/include/os0file.ic 2011-07-07 19:01:21.000000000 +0400
122 @@ -369,6 +369,7 @@
123 pfs_os_file_flush_func(
124 /*===================*/
125@@ -475,8 +475,8 @@
126 register_pfs_file_io_end(locker, 0);
127
128 diff -ruN a/storage/innobase/include/srv0srv.h b/storage/innobase/include/srv0srv.h
129---- a/storage/innobase/include/srv0srv.h 2010-12-03 15:09:51.291955835 +0900
130-+++ b/storage/innobase/include/srv0srv.h 2010-12-03 15:10:09.079029047 +0900
131+--- a/storage/innobase/include/srv0srv.h 2011-07-07 18:43:12.000000000 +0400
132++++ b/storage/innobase/include/srv0srv.h 2011-07-07 19:01:23.000000000 +0400
133 @@ -138,7 +138,8 @@
134 extern ulint srv_n_log_files;
135 extern ulint srv_log_file_size;
136@@ -516,8 +516,8 @@
137
138 /** Alternatives for file i/o in Windows */
139 diff -ruN a/storage/innobase/log/log0log.c b/storage/innobase/log/log0log.c
140---- a/storage/innobase/log/log0log.c 2010-11-03 07:01:13.000000000 +0900
141-+++ b/storage/innobase/log/log0log.c 2010-12-03 15:10:09.084023562 +0900
142+--- a/storage/innobase/log/log0log.c 2011-05-11 15:54:12.000000000 +0400
143++++ b/storage/innobase/log/log0log.c 2011-07-07 19:01:19.000000000 +0400
144 @@ -48,6 +48,7 @@
145 #include "srv0start.h"
146 #include "trx0sys.h"
147@@ -675,8 +675,8 @@
148
149 time_elapsed = 0.001 + difftime(current_time,
150 diff -ruN a/storage/innobase/log/log0recv.c b/storage/innobase/log/log0recv.c
151---- a/storage/innobase/log/log0recv.c 2010-11-03 07:01:13.000000000 +0900
152-+++ b/storage/innobase/log/log0recv.c 2010-12-03 15:10:09.089024191 +0900
153+--- a/storage/innobase/log/log0recv.c 2011-05-11 15:54:12.000000000 +0400
154++++ b/storage/innobase/log/log0recv.c 2011-07-07 19:01:22.000000000 +0400
155 @@ -2906,9 +2906,12 @@
156 ib_uint64_t archived_lsn;
157 #endif /* UNIV_LOG_ARCHIVE */
158@@ -710,8 +710,8 @@
159
160 ut_free(buf);
161 diff -ruN a/storage/innobase/os/os0file.c b/storage/innobase/os/os0file.c
162---- a/storage/innobase/os/os0file.c 2010-11-03 07:01:13.000000000 +0900
163-+++ b/storage/innobase/os/os0file.c 2010-12-03 15:10:09.093023540 +0900
164+--- a/storage/innobase/os/os0file.c 2011-05-11 15:54:12.000000000 +0400
165++++ b/storage/innobase/os/os0file.c 2011-07-07 19:01:37.000000000 +0400
166 @@ -1424,7 +1424,7 @@
167 #endif
168 #ifdef UNIV_NON_BUFFERED_IO
169@@ -761,23 +761,24 @@
170 {
171 int ret;
172 int failures;
173-@@ -2055,7 +2061,15 @@
174+@@ -2055,7 +2061,16 @@
175 failures = 0;
176
177 do {
178-+#ifdef HAVE_FDATASYNC
179++#if defined(HAVE_FDATASYNC) && HAVE_DECL_FDATASYNC
180 + if (metadata) {
181 + ret = fsync(file);
182 + } else {
183 + ret = fdatasync(file);
184 + }
185 +#else
186++ (void) metadata;
187 ret = fsync(file);
188 +#endif
189
190 os_n_fsyncs++;
191
192-@@ -2092,7 +2106,8 @@
193+@@ -2092,7 +2107,8 @@
194 ibool
195 os_file_flush_func(
196 /*===============*/
197@@ -787,7 +788,7 @@
198 {
199 #ifdef __WIN__
200 BOOL ret;
201-@@ -2142,18 +2157,18 @@
202+@@ -2142,18 +2158,18 @@
203 /* If we are not on an operating system that supports this,
204 then fall back to a plain fsync. */
205
206@@ -809,7 +810,7 @@
207 #endif
208
209 if (ret == 0) {
210-@@ -2336,7 +2351,7 @@
211+@@ -2336,7 +2352,7 @@
212 the OS crashes, a database page is only partially
213 physically written to disk. */
214
215@@ -818,7 +819,7 @@
216 }
217 # endif /* UNIV_DO_FLUSH */
218
219-@@ -2378,7 +2393,7 @@
220+@@ -2378,7 +2394,7 @@
221 the OS crashes, a database page is only partially
222 physically written to disk. */
223
224@@ -827,7 +828,7 @@
225 }
226 # endif /* UNIV_DO_FLUSH */
227
228-@@ -2750,7 +2765,7 @@
229+@@ -2750,7 +2766,7 @@
230
231 # ifdef UNIV_DO_FLUSH
232 if (!os_do_not_call_flush_at_each_write) {
233@@ -836,7 +837,7 @@
234 }
235 # endif /* UNIV_DO_FLUSH */
236
237-@@ -4289,7 +4304,7 @@
238+@@ -4289,7 +4305,7 @@
239 #ifdef UNIV_DO_FLUSH
240 if (slot->type == OS_FILE_WRITE
241 && !os_do_not_call_flush_at_each_write) {
242@@ -845,7 +846,7 @@
243 ut_error;
244 }
245 }
246-@@ -4590,7 +4605,7 @@
247+@@ -4590,7 +4606,7 @@
248 #ifdef UNIV_DO_FLUSH
249 if (slot->type == OS_FILE_WRITE
250 && !os_do_not_call_flush_at_each_write)
251@@ -855,8 +856,8 @@
252 }
253 #endif /* UNIV_DO_FLUSH */
254 diff -ruN a/storage/innobase/srv/srv0srv.c b/storage/innobase/srv/srv0srv.c
255---- a/storage/innobase/srv/srv0srv.c 2010-12-03 15:09:51.301987792 +0900
256-+++ b/storage/innobase/srv/srv0srv.c 2010-12-03 15:13:29.369986988 +0900
257+--- a/storage/innobase/srv/srv0srv.c 2011-07-07 18:43:13.000000000 +0400
258++++ b/storage/innobase/srv/srv0srv.c 2011-07-07 19:01:23.000000000 +0400
259 @@ -183,7 +183,8 @@
260 UNIV_INTERN ulint srv_log_file_size = ULINT_MAX;
261 /* size in database pages */
262@@ -1277,8 +1278,8 @@
263
264 mutex_enter(&kernel_mutex);
265 diff -ruN a/storage/innobase/srv/srv0start.c b/storage/innobase/srv/srv0start.c
266---- a/storage/innobase/srv/srv0start.c 2010-11-03 07:01:13.000000000 +0900
267-+++ b/storage/innobase/srv/srv0start.c 2010-12-03 15:10:09.103023543 +0900
268+--- a/storage/innobase/srv/srv0start.c 2011-05-11 15:54:12.000000000 +0400
269++++ b/storage/innobase/srv/srv0start.c 2011-07-07 19:01:21.000000000 +0400
270 @@ -1217,6 +1217,9 @@
271 } else if (0 == ut_strcmp(srv_file_flush_method_str, "O_DIRECT")) {
272 srv_unix_file_flush_method = SRV_UNIX_O_DIRECT;
273@@ -1290,8 +1291,8 @@
274 srv_unix_file_flush_method = SRV_UNIX_LITTLESYNC;
275
276 diff -ruN a/storage/innobase/trx/trx0purge.c b/storage/innobase/trx/trx0purge.c
277---- a/storage/innobase/trx/trx0purge.c 2011-04-12 14:14:14.000000000 +0900
278-+++ b/storage/innobase/trx/trx0purge.c 2011-04-12 14:15:44.000000000 +0900
279+--- a/storage/innobase/trx/trx0purge.c 2011-07-07 18:43:13.000000000 +0400
280++++ b/storage/innobase/trx/trx0purge.c 2011-07-07 19:01:19.000000000 +0400
281 @@ -392,10 +392,10 @@
282 trx_sys->rseg_history_len++;
283 mutex_exit(&kernel_mutex);
284@@ -1306,8 +1307,8 @@
285
286 /**********************************************************************//**
287 diff -ruN a/storage/innobase/trx/trx0trx.c b/storage/innobase/trx/trx0trx.c
288---- a/storage/innobase/trx/trx0trx.c 2010-11-03 07:01:13.000000000 +0900
289-+++ b/storage/innobase/trx/trx0trx.c 2010-12-03 15:10:09.106023937 +0900
290+--- a/storage/innobase/trx/trx0trx.c 2011-05-11 15:54:12.000000000 +0400
291++++ b/storage/innobase/trx/trx0trx.c 2011-07-07 19:01:24.000000000 +0400
292 @@ -984,6 +984,7 @@
293 trx->read_view = NULL;
294

Subscribers

People subscribed via source and target branches