MDEV-12253 post-push fix: buf_read_page_low() can return DB_ERROR
The function buf_read_page_low() invokes fil_io(), which can return DB_ERROR when the requested page is out of bounds (such as when restoring a buffer pool dump). The callers should be handling that.
This commit is contained in:
parent
c92168fcd2
commit
9d2c1d09aa
@ -1,7 +1,7 @@
|
|||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
|
|
||||||
Copyright (c) 1995, 2013, Oracle and/or its affiliates. All Rights Reserved.
|
Copyright (c) 1995, 2013, Oracle and/or its affiliates. All Rights Reserved.
|
||||||
Copyright (c) 2015, 2017, MariaDB Corporation. All Rights Reserved.
|
Copyright (c) 2015, 2017, MariaDB Corporation.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify it under
|
This program is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU General Public License as published by the Free Software
|
the terms of the GNU General Public License as published by the Free Software
|
||||||
@ -366,6 +366,7 @@ read_ahead:
|
|||||||
|
|
||||||
switch(err) {
|
switch(err) {
|
||||||
case DB_SUCCESS:
|
case DB_SUCCESS:
|
||||||
|
case DB_ERROR:
|
||||||
break;
|
break;
|
||||||
case DB_TABLESPACE_DELETED:
|
case DB_TABLESPACE_DELETED:
|
||||||
ib_logf(IB_LOG_LEVEL_WARN,
|
ib_logf(IB_LOG_LEVEL_WARN,
|
||||||
@ -503,6 +504,7 @@ buf_read_page_async(
|
|||||||
tablespace_version, offset);
|
tablespace_version, offset);
|
||||||
switch(err) {
|
switch(err) {
|
||||||
case DB_SUCCESS:
|
case DB_SUCCESS:
|
||||||
|
case DB_ERROR:
|
||||||
break;
|
break;
|
||||||
case DB_TABLESPACE_DELETED:
|
case DB_TABLESPACE_DELETED:
|
||||||
ib_logf(IB_LOG_LEVEL_ERROR,
|
ib_logf(IB_LOG_LEVEL_ERROR,
|
||||||
@ -784,6 +786,7 @@ buf_read_ahead_linear(
|
|||||||
|
|
||||||
switch(err) {
|
switch(err) {
|
||||||
case DB_SUCCESS:
|
case DB_SUCCESS:
|
||||||
|
case DB_ERROR:
|
||||||
break;
|
break;
|
||||||
case DB_TABLESPACE_DELETED:
|
case DB_TABLESPACE_DELETED:
|
||||||
ib_logf(IB_LOG_LEVEL_WARN,
|
ib_logf(IB_LOG_LEVEL_WARN,
|
||||||
@ -885,6 +888,7 @@ buf_read_ibuf_merge_pages(
|
|||||||
|
|
||||||
switch(err) {
|
switch(err) {
|
||||||
case DB_SUCCESS:
|
case DB_SUCCESS:
|
||||||
|
case DB_ERROR:
|
||||||
break;
|
break;
|
||||||
case DB_TABLESPACE_DELETED:
|
case DB_TABLESPACE_DELETED:
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
|
|
||||||
Copyright (c) 1995, 2013, Oracle and/or its affiliates. All Rights Reserved.
|
Copyright (c) 1995, 2013, Oracle and/or its affiliates. All Rights Reserved.
|
||||||
Copyright (c) 2013, 2017, MariaDB Corporation. All Rights Reserved.
|
Copyright (c) 2013, 2017, MariaDB Corporation.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify it under
|
This program is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU General Public License as published by the Free Software
|
the terms of the GNU General Public License as published by the Free Software
|
||||||
@ -416,6 +416,7 @@ read_ahead:
|
|||||||
|
|
||||||
switch(err) {
|
switch(err) {
|
||||||
case DB_SUCCESS:
|
case DB_SUCCESS:
|
||||||
|
case DB_ERROR:
|
||||||
break;
|
break;
|
||||||
case DB_TABLESPACE_DELETED:
|
case DB_TABLESPACE_DELETED:
|
||||||
ib_logf(IB_LOG_LEVEL_WARN,
|
ib_logf(IB_LOG_LEVEL_WARN,
|
||||||
@ -557,6 +558,7 @@ buf_read_page_async(
|
|||||||
|
|
||||||
switch(err) {
|
switch(err) {
|
||||||
case DB_SUCCESS:
|
case DB_SUCCESS:
|
||||||
|
case DB_ERROR:
|
||||||
break;
|
break;
|
||||||
case DB_TABLESPACE_DELETED:
|
case DB_TABLESPACE_DELETED:
|
||||||
ib_logf(IB_LOG_LEVEL_ERROR,
|
ib_logf(IB_LOG_LEVEL_ERROR,
|
||||||
@ -848,6 +850,7 @@ buf_read_ahead_linear(
|
|||||||
|
|
||||||
switch(err) {
|
switch(err) {
|
||||||
case DB_SUCCESS:
|
case DB_SUCCESS:
|
||||||
|
case DB_ERROR:
|
||||||
break;
|
break;
|
||||||
case DB_TABLESPACE_DELETED:
|
case DB_TABLESPACE_DELETED:
|
||||||
ib_logf(IB_LOG_LEVEL_WARN,
|
ib_logf(IB_LOG_LEVEL_WARN,
|
||||||
@ -950,6 +953,7 @@ buf_read_ibuf_merge_pages(
|
|||||||
|
|
||||||
switch(err) {
|
switch(err) {
|
||||||
case DB_SUCCESS:
|
case DB_SUCCESS:
|
||||||
|
case DB_ERROR:
|
||||||
break;
|
break;
|
||||||
case DB_TABLESPACE_DELETED:
|
case DB_TABLESPACE_DELETED:
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user