Merge lp:~laurynas-biveinis/percona-server/bug1227581-5.5 into lp:percona-server/5.5
Status: | Merged |
---|---|
Approved by: | Stewart Smith |
Approved revision: | no longer in the source branch. |
Merged at revision: | 598 |
Proposed branch: | lp:~laurynas-biveinis/percona-server/bug1227581-5.5 |
Merge into: | lp:percona-server/5.5 |
Diff against target: |
42 lines (+15/-1) 2 files modified
Percona-Server/storage/innobase/buf/buf0buf.c (+5/-1) Percona-Server/storage/innobase/buf/buf0flu.c (+10/-0) |
To merge this branch: | bzr merge lp:~laurynas-biveinis/percona-server/bug1227581-5.5 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Stewart Smith (community) | Approve | ||
George Ormond Lorch III (community) | g2 | Approve | |
Review via email: mp+196895@code.launchpad.net |
Description of the change
BT 37223
Backport the bug 1227581 fix from 5.6:
The issue is that buf_LRU_free_page() may perform a flush list
relocation for a dirty zip page, making it possible to observe a page
in BUF_BLOCK_
buf_LRU_
calls, if another thread reads flush list pages without the LRU list
mutex.
Places where a thread iterates through the flush list without the LRU
list mutex and does not expect to see a BUF_BLOCK_
buf_flush_
buf_get_
pages there:
- in buf_flush_
page.
- in buf_get_
page as BUF_BLOCK_
http://
I have reviewed the 5.5 code BUF_BLOCK_