summaryrefslogtreecommitdiff
path: root/innobase/buf
diff options
context:
space:
mode:
authorheikki@donna.mysql.fi <>2001-04-26 16:36:59 +0300
committerheikki@donna.mysql.fi <>2001-04-26 16:36:59 +0300
commit0f9a30ab86915caaef6c91e3367e5aecf99b2fe2 (patch)
tree353ca7848bb2600d6acfe371191ca0df8fbf2d87 /innobase/buf
parente5c36cbadcc96d506bd24b62ba3a17e6fa7920df (diff)
downloadmariadb-git-0f9a30ab86915caaef6c91e3367e5aecf99b2fe2.tar.gz
os0file.c Always do fsync after a file write to reduce possibility of a partially written page in an OS crash
buf0rea.c Fixed a recovery hang associated with ibuf bitmap pages
Diffstat (limited to 'innobase/buf')
-rw-r--r--innobase/buf/buf0rea.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/innobase/buf/buf0rea.c b/innobase/buf/buf0rea.c
index 13e9ed0476b..644dd226a0e 100644
--- a/innobase/buf/buf0rea.c
+++ b/innobase/buf/buf0rea.c
@@ -73,11 +73,13 @@ buf_read_page_low(
sync = TRUE;
}
#endif
- if (trx_sys_hdr_page(space, offset)) {
+ if (ibuf_bitmap_page(offset) || trx_sys_hdr_page(space, offset)) {
/* Trx sys header is so low in the latching order that we play
safe and do not leave the i/o-completion to an asynchronous
- i/o-thread: */
+ i/o-thread. Ibuf bitmap pages must always be read with
+ syncronous i/o, to make sure they do not get involved in
+ thread deadlocks. */
sync = TRUE;
}