summaryrefslogtreecommitdiff
path: root/storage/innobase/include
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2021-03-10 19:33:09 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2021-03-11 14:21:28 +0200
commita8650b64ede7330e83e84226cccd77ba8e05fa29 (patch)
treef3ce0f1b9ad7c430659c92e7e1db5ad685935618 /storage/innobase/include
parent549a70d7f01ce723b1b06fd7be569211a8270bcd (diff)
downloadmariadb-git-a8650b64ede7330e83e84226cccd77ba8e05fa29.tar.gz
MDEV-25110 [FATAL] InnoDB: Trying to write ... outside the bounds
In commit 118e258aaac5da75a2ac4556201aaea3688fac67 (part of MDEV-23855) we inadvertently broke crash recovery, reintroducing MDEV-11556. fil_system_t::extend_to_recv_size(): Extend all open tablespace files to the recovered size. recv_sys_t::apply(): Invoke fil_system.extend_to_recv_size() at the start of each batch. In this way, any fil_space_t::recv_size changes that were parsed after the file was opened will be applied.
Diffstat (limited to 'storage/innobase/include')
-rw-r--r--storage/innobase/include/fil0fil.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/storage/innobase/include/fil0fil.h b/storage/innobase/include/fil0fil.h
index f011eb6af69..f4ca4e9a73e 100644
--- a/storage/innobase/include/fil0fil.h
+++ b/storage/innobase/include/fil0fil.h
@@ -1,7 +1,7 @@
/*****************************************************************************
Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2013, 2020, MariaDB Corporation.
+Copyright (c) 2013, 2021, MariaDB Corporation.
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
@@ -1422,6 +1422,9 @@ public:
@retval NULL if this was the last */
inline fil_space_t* keyrotate_next(fil_space_t *space, bool recheck,
bool encrypt);
+
+ /** Extend all open data files to the recovered size */
+ ATTRIBUTE_COLD void extend_to_recv_size();
};
/** The tablespace memory cache. */