diff options
author | Marko Mäkelä <marko.makela@oracle.com> | 2011-08-22 17:12:27 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@oracle.com> | 2011-08-22 17:12:27 +0300 |
commit | 42ff786cf9bc2e730efd7254545fb2caa0115546 (patch) | |
tree | 5fa1606af3e784d854517456886d32bdb64dbb67 /storage/innobase/sync/sync0sync.c | |
parent | 73312bddb3b0aa07e66f6ab118e5902f8f5e5728 (diff) | |
parent | 49ee12d03b763a460cfcc371566465019a4dc067 (diff) | |
download | mariadb-git-42ff786cf9bc2e730efd7254545fb2caa0115546.tar.gz |
Merge mysql-5.1 to mysql-5.5.
Diffstat (limited to 'storage/innobase/sync/sync0sync.c')
-rw-r--r-- | storage/innobase/sync/sync0sync.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/storage/innobase/sync/sync0sync.c b/storage/innobase/sync/sync0sync.c index 3888fe4c657..5de8dfe0a6f 100644 --- a/storage/innobase/sync/sync0sync.c +++ b/storage/innobase/sync/sync0sync.c @@ -1329,7 +1329,13 @@ sync_thread_add_level( TRUE)); break; case SYNC_IBUF_TREE_NODE_NEW: - ut_a(sync_thread_levels_contain(array, SYNC_IBUF_MUTEX)); + /* ibuf_add_free_page() allocates new pages for the + change buffer while only holding the tablespace + x-latch. These pre-allocated new pages may only be + taken in use while holding ibuf_mutex, in + btr_page_alloc_for_ibuf(). */ + ut_a(sync_thread_levels_contain(array, SYNC_IBUF_MUTEX) + || sync_thread_levels_contain(array, SYNC_FSP)); break; case SYNC_IBUF_INDEX_TREE: if (sync_thread_levels_contain(array, SYNC_FSP)) { |