#At file:///home/marko/innobase/dev/mysql/5.5-innodb/ based on revid:marko.makela@stripped3y5n3lhqiz
3081 Marko Mäkelä 2010-05-11
Merge from mysql-5.1-innodb:
------------------------------------------------------------
revno: 3458
revision-id: marko.makela@stripped105012-b2t7wvz6mu6bll74
parent: marko.makela@oracle.com-20100511104910-nim8kgguawpis7zo
committer: Marko Mäkelä <marko.makela@stripped>
branch nick: mysql-5.1-innodb
timestamp: Tue 2010-05-11 13:50:12 +0300
message:
Do not demand that buf_page_t be fully initialized on 64-bit systems.
There may be padding before buf_page_t::zip. (Bug #53307)
modified:
storage/innobase/buf/buf0lru.c
storage/innobase/include/buf0buf.ic
=== modified file 'storage/innobase/buf/buf0lru.c'
--- a/storage/innobase/buf/buf0lru.c 2010-04-19 15:44:15 +0000
+++ b/storage/innobase/buf/buf0lru.c 2010-05-11 15:46:17 +0000
@@ -1472,7 +1472,12 @@ buf_LRU_free_block(
ut_ad(buf_page_in_file(bpage));
ut_ad(bpage->in_LRU_list);
ut_ad(!bpage->in_flush_list == !bpage->oldest_modification);
+#if UNIV_WORD_SIZE == 4
+ /* On 32-bit systems, there is no padding in buf_page_t. On
+ other systems, Valgrind could complain about uninitialized pad
+ bytes. */
UNIV_MEM_ASSERT_RW(bpage, sizeof *bpage);
+#endif
if (!buf_page_can_relocate(bpage)) {
@@ -1779,7 +1784,12 @@ buf_LRU_block_remove_hashed_page(
ut_a(buf_page_get_io_fix(bpage) == BUF_IO_NONE);
ut_a(bpage->buf_fix_count == 0);
+#if UNIV_WORD_SIZE == 4
+ /* On 32-bit systems, there is no padding in
+ buf_page_t. On other systems, Valgrind could complain
+ about uninitialized pad bytes. */
UNIV_MEM_ASSERT_RW(bpage, sizeof *bpage);
+#endif
buf_LRU_remove_block(bpage);
=== modified file 'storage/innobase/include/buf0buf.ic'
--- a/storage/innobase/include/buf0buf.ic 2010-04-19 15:44:15 +0000
+++ b/storage/innobase/include/buf0buf.ic 2010-05-11 15:46:17 +0000
@@ -975,7 +975,12 @@ buf_page_hash_get_low(
ut_a(buf_page_in_file(bpage));
ut_ad(bpage->in_page_hash);
ut_ad(!bpage->in_zip_hash);
+#if UNIV_WORD_SIZE == 4
+ /* On 32-bit systems, there is no padding in
+ buf_page_t. On other systems, Valgrind could complain
+ about uninitialized pad bytes. */
UNIV_MEM_ASSERT_RW(bpage, sizeof *bpage);
+#endif
}
return(bpage);
Attachment: [text/bzr-bundle] bzr/marko.makela@oracle.com-20100511154617-4ipeglopbpdiwzy0.bundle
| Thread |
|---|
| • bzr commit into mysql-trunk-innodb branch (marko.makela:3081) | marko.makela | 11 May |