mirror of
https://github.com/isar/libmdbx.git
synced 2025-09-16 03:32:19 +08:00
mdbx: workaround for encryptfs's copy_file_range()
bug(s) (backport).
Выяснилось что утилита `mdbx_copy` и функции `mdbx_env_copy()` могут создавать ПРОБЛЕМЫ если целевой файл расположен в encryptfs (такая файловая система в Linux). При этом может быть четыре исхода в зависимости от версии ядра и положения звезд на небе: - всё хорошо; - плохие данные в копии без возврата ошибок; - ошибка EINVAL(22) при копировании; - oops или зависание ядра, отвал смонтированной encryptfs и т.п. В текущем понимании, причина обусловлена ошибой в коде fs, которая проявляется при использовании системного вызова `copy_file_range`.
This commit is contained in:
@@ -9,6 +9,7 @@ Fixes:
|
||||
- Fixed builds with older `stdatomic.h` versions,
|
||||
where the `ATOMIC_*_LOCK_FREE` macros mistakenly redefined using functions (backport).
|
||||
- Added workaround for `mremap()` defect to avoid assertion failure (backport).
|
||||
- Workaround for `encryptfs` bug(s) in the `copy_file_range` implementation.
|
||||
|
||||
|
||||
## v0.11.12 (Эребуни) at 2022-10-12
|
||||
|
Reference in New Issue
Block a user