mirror of
https://github.com/MariaDB/server.git
synced 2025-02-16 02:15:33 +01:00
![]() As btrfs showed, a partial read of data in AIO /O_DIRECT circumstances can really confuse MariaDB. Filipe Manana (SuSE)[1] showed how database programmers can assume O_DIRECT is all or nothing. While a fix was done in the kernel side, we can do better in our code by requesting that the rest of the block be read/written synchronously if we do only get a partial read/write. Per the APIs, a partial read/write can occur before an error, so reattempting the request will leave the caller with a concrete error to handle. [1] https://lore.kernel.org/linux-btrfs/CABVffENfbsC6HjGbskRZGR2NvxbnQi17gAuW65eOM+QRzsr8Bg@mail.gmail.com/T/#mb2738e675e48e0e0778a2e8d1537dec5ec0d3d3a Also spell synchronously correctly in other files. |
||
---|---|---|
.. | ||
btr | ||
buf | ||
data | ||
dict | ||
eval | ||
fil | ||
fsp | ||
fts | ||
fut | ||
gis | ||
ha | ||
handler | ||
ibuf | ||
include | ||
lock | ||
log | ||
mem | ||
mtr | ||
mysql-test/storage_engine | ||
os | ||
page | ||
pars | ||
que | ||
read | ||
rem | ||
row | ||
srv | ||
sync | ||
trx | ||
unittest | ||
ut | ||
.clang-format-old | ||
bzip2.cmake | ||
CMakeLists.txt | ||
compile-innodb | ||
COPYING.Google | ||
COPYING.Percona | ||
innodb.cmake | ||
lz4.cmake | ||
lzma.cmake | ||
lzo.cmake | ||
plugin_exports | ||
snappy.cmake |