diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2021-03-10 19:33:09 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2021-03-11 14:21:28 +0200 |
commit | a8650b64ede7330e83e84226cccd77ba8e05fa29 (patch) | |
tree | f3ce0f1b9ad7c430659c92e7e1db5ad685935618 /storage/innobase/include | |
parent | 549a70d7f01ce723b1b06fd7be569211a8270bcd (diff) | |
download | mariadb-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.h | 5 |
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. */ |