I don't the "It may be impossible case" code in the original fix. The upstream code is:
--- } else {
block_mutex = buf_page_get_mutex(bpage); mutex_enter(block_mutex);
if (bpage->buf_fix_count > 0) {
mutex_exit(block_mutex);
/* We cannot remove this page during this scan yet; maybe the system is currently reading it in, or flushing the modifications to the file */
all_freed = FALSE;
goto next_page; } }
---
Which appears to be rather different than what is now in Percona Server. Why?
« Back to merge proposal
I don't the "It may be impossible case" code in the original fix. The upstream code is:
---
} else {
block_mutex = buf_page_ get_mutex( bpage); enter(block_ mutex);
mutex_
if (bpage- >buf_fix_ count > 0) {
mutex_ exit(block_ mutex);
/* We cannot remove this page during
this scan yet; maybe the system is
currently reading it in, or flushing
the modifications to the file */
all_freed = FALSE;
goto next_page;
}
}
---
Which appears to be rather different than what is now in Percona Server. Why?