summaryrefslogtreecommitdiffstats
path: root/extra/mariabackup/write_filt.cc
diff options
context:
space:
mode:
Diffstat (limited to 'extra/mariabackup/write_filt.cc')
-rw-r--r--extra/mariabackup/write_filt.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/extra/mariabackup/write_filt.cc b/extra/mariabackup/write_filt.cc
index 052cea26..13f19ca6 100644
--- a/extra/mariabackup/write_filt.cc
+++ b/extra/mariabackup/write_filt.cc
@@ -144,6 +144,18 @@ wf_incremental_process(xb_write_filt_ctxt_t *ctxt, ds_file_t *dstfile)
return false;
}
+ /* Check whether TRX_SYS page has been changed */
+ if (mach_read_from_4(page + FIL_PAGE_SPACE_ID)
+ == TRX_SYS_SPACE
+ && mach_read_from_4(page + FIL_PAGE_OFFSET)
+ == TRX_SYS_PAGE_NO) {
+ msg(cursor->thread_n,
+ "--incremental backup is impossible if "
+ "the server had been restarted with "
+ "different innodb_undo_tablespaces.");
+ return false;
+ }
+
/* updated page */
if (cp->npages == page_size / 4) {
/* flush buffer */