mariadb/extra/mariabackup
Thirunarayanan Balathandayuthapani 360d8ffc74 MDEV-37520 Failure to detect corruption during backups of Aria table
Problem
=======
- Mariabackup tool silently produce corrupted backups of
Aria tables. Identified three issues that prevents proper
detection of page corruption:

aria_read_data(), aria_read_index() does incorrect
CRC validation after doing CRC check, allows corrupted
pages to pass undetected.

aria_read_data(), aria_read_index() couldn't handle
zero filled pages. Based on the size of
aria_pagecache_buffer_size, pages could be
in cache when backup tries to read the data from file

maria_page_crc_check(): Prevents correctly identifying
and skipping zero-filled pages.

Solution:
========
This commit resolves these critical issues to ensure
the integrity of Aria table backups.

Corrected CRC check: Updated the code in aria_read_data() to
correctly check the return value from maria_page_crc_check(),
so any CRC mismatch will now properly fail the backup and
prevent corruption.

Improved zero-page handling: The aria_read_data() and
aria_read_index() functions are now robust enough to tolerate
and correctly process zero-filled pages.

The flawed conditional check in maria_page_crc_check() has
been corrected to reliably identify zero-filled pages.
2025-08-28 16:54:19 +05:30
..
quicklz MDEV-9566 Add Percona Xtrabackup 2.3.7 2017-04-27 19:12:39 +02:00
aria_backup_client.cc MDEV-37520 Failure to detect corruption during backups of Aria table 2025-08-28 16:54:19 +05:30
aria_backup_client.h MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
backup_copy.cc Merge branch '11.8' into 12.0 2025-07-31 20:55:47 +02:00
backup_copy.h Merge branch '10.11' into 11.4 2025-07-28 19:40:10 +02:00
backup_debug.h MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
backup_mysql.cc Merge branch '11.8' into 12.0 2025-07-31 20:55:47 +02:00
backup_mysql.h Merge 10.6 into 10.11 2025-01-08 12:51:26 +02:00
backup_wsrep.h MDEV-18931 Rename Mariabackup's xtrabackup_* files to mariadb_backup_* 2023-03-10 12:41:58 +01:00
CMakeLists.txt Merge branch '10.11' into 11.4 2025-07-28 19:40:10 +02:00
common.h MDEV-33379 innodb_log_file_buffering=OFF causes corruption on bcachefs 2024-02-20 11:22:45 +02:00
common_engine.cc MDEV-36437 mariabackup - confusing error message when running out of file handles with partitioned MyISAM 2025-03-31 17:57:35 +02:00
common_engine.h MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
datasink.cc MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
datasink.h MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
ddl_log.cc MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
ddl_log.h MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
ds_buffer.cc MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
ds_buffer.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
ds_compress.cc MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
ds_compress.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
ds_local.cc MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
ds_local.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
ds_stdout.cc MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
ds_stdout.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
ds_tmpfile.cc MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
ds_tmpfile.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
ds_xbstream.cc MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
ds_xbstream.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
encryption_plugin.cc Merge branch '10.6' into 10.11 2025-01-10 13:14:42 +01:00
encryption_plugin.h MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
fil_cur.cc MDEV-37019 MSAN_STAT_WORKAROUND macro remove 2025-06-18 16:46:21 +10:00
fil_cur.h Merge 10.6 into 10.11 2025-05-21 07:36:35 +03:00
innobackupex.cc Fix remaining typos 2025-04-29 11:18:00 +10:00
innobackupex.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
read_filt.cc Cleanup: Remove changed_pages_bitmap 2024-02-12 17:01:35 +02:00
read_filt.h Cleanup: Remove changed_pages_bitmap 2024-02-12 17:01:35 +02:00
thread_pool.cc MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
thread_pool.h MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
write_filt.cc MDEV-36253 Redundant check in wf_incremental_process() 2025-03-10 11:48:18 +05:30
write_filt.h MDEV-31039 mariadb-backup: remove global variables ds_data and ds_meta 2023-04-12 15:14:03 +04:00
wsrep.cc Merge 11.0 into 11.1 2024-03-28 12:15:36 +02:00
xb_regex.h MDEV-14024 PCRE2. 2019-12-21 10:34:02 +01:00
xbcloud.cc Fix typos in C comments in miscellaneous files 2025-03-24 13:36:28 +11:00
xbstream.cc Merge 10.11 into 11.4 2024-12-02 11:35:34 +02:00
xbstream.h MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
xbstream_read.cc MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
xbstream_write.cc MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00
xtrabackup.cc Merge branch '11.8' into 12.0 2025-07-31 20:55:47 +02:00
xtrabackup.h MDEV-32932 Port backup features from ES 2024-02-27 20:55:54 +02:00