This should fix it:
==============================================
--- ./storage/innobase/buf/buf0lru.c 2012-08-03 22:41:36.867258585 +0530 +++ /tmp/buf0lru.c 2012-08-03 22:41:21.140590741 +0530 @@ -694,7 +694,7 @@ ulint page_no; ulint zip_size;
- buf_pool_mutex_exit(buf_pool); + rw_lock_x_unlock(&buf_pool->page_hash_latch);
zip_size = buf_page_get_zip_size(bpage); page_no = buf_page_get_page_no(bpage);
I think buf_pool_mutex_exit may have been introduced in an erroneous merge since buf_pool_mutex_enter above in the same function is commented out (since we don't use buffer pool mutex here).
This should fix it:
======= ======= ======= ======= ======= ======= ====
--- ./storage/ innobase/ buf/buf0lru. c 2012-08-03 22:41:36.867258585 +0530
+++ /tmp/buf0lru.c 2012-08-03 22:41:21.140590741 +0530
@@ -694,7 +694,7 @@
ulint page_no;
ulint zip_size;
- buf_pool_ mutex_exit( buf_pool) ; x_unlock( &buf_pool- >page_hash_ latch);
+ rw_lock_
zip_size = buf_page_ get_zip_ size(bpage) ; get_page_ no(bpage) ;
page_no = buf_page_
======= ======= ======= ======= ======= ======= ====
I think buf_pool_mutex_exit may have been introduced in an erroneous merge since buf_pool_ mutex_enter above in the same function is commented out (since we don't use buffer pool mutex here).