Леонид Юрьев (Leonid Yuriev)
623ab21707
mdbx-cmake: совместимость с CMake 3.0.2 для CI на старых системах.
2022-11-07 23:37:27 +03:00
Леонид Юрьев (Leonid Yuriev)
79c65821ee
mdbx: переименование packages/rpm
.
2022-11-07 14:19:30 +03:00
Леонид Юрьев (Leonid Yuriev)
3ee223514d
mdbx: очистка readers_refresh_flag
для page_alloc_slowpath()
.
2022-11-07 14:16:59 +03:00
Леонид Юрьев (Leonid Yuriev)
f7f94bb698
mdbx: чуть больше const
для прозрачности.
2022-11-07 14:16:35 +03:00
Леонид Юрьев (Leonid Yuriev)
5d36d242a7
mdbx: обновление ChangeLog.
2022-11-07 00:53:44 +03:00
Леонид Юрьев (Leonid Yuriev)
f0c6aa4646
mdbx: workaround for false-positives from Valgrind bug.
2022-11-07 00:47:16 +03:00
Леонид Юрьев (Leonid Yuriev)
771c85a880
mdbx: уточнение txn_space_dirty
в соответствии с обновленным учетом грязных страниц.
2022-11-07 00:44:38 +03:00
Леонид Юрьев (Leonid Yuriev)
4f1f9141f4
mdbx: добавление MDBX_ENABLE_PGOP_STAT
и MDBX_ENABLE_PROFGC
во внутреннюю строку с опциями сборки.
2022-11-07 00:44:38 +03:00
Леонид Юрьев (Leonid Yuriev)
f680c99116
mdbx: переделка page_alloc_slowpath()
с добавлением профилирования GC.
2022-11-07 00:44:37 +03:00
Леонид Юрьев (Leonid Yuriev)
acaa1d82d9
mdbx: minor touch assertions for issue#7
.
...
https://gitflic.ru/project/erthink/libmdbx/issue/7
2022-11-05 14:06:00 +03:00
Леонид Юрьев (Leonid Yuriev)
36eb40bccb
mdbx: добавлено описание параметров MDBX_debug_func
и MDBX_debug_func
.
2022-11-05 14:06:00 +03:00
Леонид Юрьев (Leonid Yuriev)
47e7a646fd
mdbx: переделка отслеживания mlocks для игнорирования EINVAL
от madvise()
.
2022-11-05 14:06:00 +03:00
Леонид Юрьев (Leonid Yuriev)
9cbd4e63ca
mdbx-test: минорное уточнение подсказки --help
.
2022-11-04 16:21:13 +03:00
Леонид Юрьев (Leonid Yuriev)
d4e67d14ce
mdbx: исправление неожиданного MDBX_BUSY
из mdbx_env_set_option()
.
2022-11-03 17:23:32 +03:00
Леонид Юрьев (Leonid Yuriev)
91a6e84cab
mdbx-windows: попытка борьбы с ложно-положительными конфликтами LockFileEx()
.
2022-11-03 13:00:35 +03:00
Леонид Юрьев (Leonid Yuriev)
28e2e31949
mdbx: выделение специфической инициализации в osal_ctor()
.
2022-11-02 11:09:32 +03:00
Леонид Юрьев (Leonid Yuriev)
8f8b9f3d2a
mdbx: чуток апостофов для имен в doxygen-комментариях.
2022-11-02 00:02:33 +03:00
Леонид Юрьев (Leonid Yuriev)
836f6c2723
mdbx: обновление ChangeLog.
2022-10-24 12:58:41 +03:00
Леонид Юрьев (Leonid Yuriev)
9eaf86bde1
mdbx-tools: добавление опций -u
и -U
для использования mdbx_env_warmup()
.
2022-10-24 12:50:15 +03:00
Леонид Юрьев (Leonid Yuriev)
7902b97a3d
mdbx-test: простая проверка warmup.
2022-10-24 11:37:57 +03:00
Леонид Юрьев (Leonid Yuriev)
d661d4bac7
mdbx: добавление mdbx_env_warmup()
2022-10-24 11:37:57 +03:00
Леонид Юрьев (Leonid Yuriev)
b04f7814ef
mdbx-cmake: исправление для совместимости с CMake 3.8
2022-10-24 01:01:01 +03:00
Леонид Юрьев (Leonid Yuriev)
4e95a079ee
mdbx: переименование MDBX_COMMIT_PAGES
в MDBX_AUXILARY_IOV_MAX
.
2022-10-22 11:12:52 +03:00
Леонид Юрьев (Leonid Yuriev)
753fa13048
mdbx: удаление лишних комментариев.
2022-10-22 11:12:52 +03:00
Леонид Юрьев (Leonid Yuriev)
bbd139b2ae
mdbx-cmake: создание VERSION.txt
2022-10-22 11:08:06 +03:00
Леонид Юрьев (Leonid Yuriev)
64d0e639c2
mdbx-cmake: синхронизация LTO-рецептов.
2022-10-22 11:08:06 +03:00
Леонид Юрьев (Leonid Yuriev)
cd616447da
mdbx-cmake: set X86_32/X86_64/ARM/MIPS for Windows and Android.
2022-10-22 11:08:06 +03:00
Леонид Юрьев (Leonid Yuriev)
8833dc6871
mdbx: костыль для обхода ошибок encryptfs.
...
Выяснилось что утилита `mdbx_copy` и функции `mdbx_env_copy()` могут
создавать ПРОБЛЕМЫ если целевой файл расположен в encryptfs (такая
файловая система в Linux).
При этом может быть четыре исхода в зависимости от версии ядра и
положения звезд на небе:
- всё хорошо;
- плохие данные в копии без возврата ошибок;
- ошибка EINVAL(22) при копировании;
- oops или зависание ядра, отвал смонтированной encryptfs и т.п.
В текущем понимании, причина обусловлена ошибой в коде fs, которая
проявляется при использовании системного вызова `copy_file_range`.
2022-10-22 01:38:33 +03:00
Леонид Юрьев (Leonid Yuriev)
206dbecccf
mdbx: добавление в ChangeLog ссылок с машинным переводом.
2022-10-14 16:20:57 +03:00
Леонид Юрьев (Leonid Yuriev)
39c6387d23
mdbx: Обновление ChangeLog.
2022-10-14 11:47:34 +03:00
Леонид Юрьев (Leonid Yuriev)
80f9f73a5e
mdbx: чуть больше контроля и паранойи для страховки от дефектов mremap()
.
...
Есть основание полагать, что mremap() может возвращать MAP_FAILED, но НЕ
устанавливать errno в некоторых пограничных ситуациях. Например, когда
системных ресурсов не хватает на актуализацию/копирование/клонирование
состояния отображения на финальной стадии, в том числе из-за раскраски
исходного отображения разными флагами через madvise().
2022-10-14 00:20:37 +03:00
Леонид Юрьев (Leonid Yuriev)
51a765a5a7
mdbx-make: вывод протокола при сбое тестовых целей.
2022-10-13 19:28:01 +03:00
Леонид Юрьев (Leonid Yuriev)
c4beb5a4a0
mdbx-test: не вызываем sudo
при отсутствии.
2022-10-13 19:28:01 +03:00
Леонид Юрьев (Leonid Yuriev)
6c986ce904
mdbx: костыль для старых версий stdatomic.h
, где макросы ATOMIC_*_LOCK_FREE
ошибочно переопределяются через функции.
2022-10-13 19:28:01 +03:00
Леонид Юрьев (Leonid Yuriev)
f5fee949e3
mdbx: починка сборки для старых версий glibc после задействования fcntl64()
.
2022-10-13 17:30:43 +03:00
Леонид Юрьев (Leonid Yuriev)
d94e65b870
mdbx: использование fcntl64(F_GETLK64/F_SETLK64/F_SETLKW64)
при наличии.
...
Это решает проблему срабатывания проверочного утверждения при сборке для
платформ где тип off_t шире соответствующих полей структуры flock,
используемой для блокировки файлов.
2022-10-12 21:25:18 +03:00
Леонид Юрьев (Leonid Yuriev)
5a45c4a210
mdbx-windows: удаление ненужного вызова LockFileEx()
внутри mdbx_env_copy()
.
2022-10-12 21:25:18 +03:00
Леонид Юрьев (Leonid Yuriev)
686c908a95
mdbx: более осторожное преобразование к типу mdbx_tid_t
для устранения предупреждений.
2022-10-12 21:25:18 +03:00
Леонид Юрьев (Leonid Yuriev)
e5fc056035
mdbx: изменение формата LCK и семантики некоторых внутренних полей.
...
Изменение формата LCK-файла означает что версии libmdbx использующие
разный формат не смогут работать с одной БД одновременно, а только
поочередно (LCK-файл переписывается при открытии первым открывающим БД
процессом).
1. Поле mti_unsynced_pages теперь 64-битное (чтобы не контролировать
переполнение) и перемещено для соблюдения выравнивания.
2. Поле mti_sync_timestamp переименовано в mti_eoos_timestamp
одновременно со сменой семантики. Теперь время отсчитывается не от
момента сброса данных на диск, а с момента входа в «грязное» состояние.
Скорее всего, текущая версия формата LCK не окончательная
и изменится до релиза.
2022-10-12 21:25:18 +03:00
Леонид Юрьев (Leonid Yuriev)
dd9780606b
mdbx-test: небольшие правки скрипта long_stochastic.sh
для работы в Windows.
2022-10-10 21:59:51 +03:00
Леонид Юрьев (Leonid Yuriev)
5242c5bfdc
mdbx: улучшение эвристики включения авто-слияния записей GC.
2022-10-10 21:06:33 +03:00
Леонид Юрьев (Leonid Yuriev)
f5a6e0c04f
mdbx-make: добавление gcc-riscv64-linux-gnu
в список для цели cross-gcc
.
2022-10-10 19:27:34 +03:00
Леонид Юрьев (Leonid Yuriev)
329af93436
mdbx: уменьшение в 42 раза значения по-умолчанию для me_options.dp_limit
в отладочных сборках.
2022-10-10 19:26:38 +03:00
Леонид Юрьев (Leonid Yuriev)
22a84d656b
mdbx: проверка атомарности C11-операций c 32/64-битными данными.
2022-10-10 19:24:14 +03:00
Леонид Юрьев (Leonid Yuriev)
e46ca81abd
mdbx: обновление ChangeLog.
2022-10-10 17:03:07 +03:00
Леонид Юрьев (Leonid Yuriev)
25ab65b470
mdbx++: добавление env::limits::pairsize4page_max()
и env::limits::valsize4page_max()
.
2022-10-10 16:37:59 +03:00
Леонид Юрьев (Leonid Yuriev)
c3dd60fcb6
mdbx: добавление mdbx_env_get_pairsize4page_max()
и mdbx_env_get_valsize4page_max()
.
2022-10-10 16:33:51 +03:00
Леонид Юрьев (Leonid Yuriev)
9cdee2adb5
mdbx-cmake: добавлена поддержка опции MDBX_AVOID_MSYNC
.
2022-10-10 15:55:20 +03:00
Леонид Юрьев (Leonid Yuriev)
98e29fe628
mdbx-windows: UNICODE-зависимое определение макросов MDBX_DATANAME, MDBX_LOCKNAME и MDBX_LOCK_SUFFIX.
2022-10-10 13:56:57 +03:00
Леонид Юрьев (Leonid Yuriev)
98a2bd785a
mdbx-windows: перемещена декларация osal_mb2w()
для ликвидации предупреждений.
2022-10-10 13:56:57 +03:00