mdbx-windows: исправление нарезки FILE_SEGMENT_ELEMENT.

Ошибка слишком грубая.
Похоже при переработке I/O под Windows при `git pull --rebase` потерялся коммит.

К повреждению БД проблема не приводила, так как сбой происходил во время записи данных с возвратом ERROR_INVALID_PARAMETER из системного вызова.
This commit is contained in:
Леонид Юрьев (Leonid Yuriev) 2024-07-19 20:43:28 +03:00
parent c46270ec56
commit b1cc8b2e9f

View File

@ -763,11 +763,10 @@ MDBX_INTERNAL int osal_ioring_add(osal_ioring_t *ior, const size_t offset,
item->sgv[0].Buffer = PtrToPtr64(data);
for (size_t i = 1; i < segments; ++i) {
data = ptr_disp(data, ior->pagesize);
item->sgv[slots_used].Buffer = PtrToPtr64(data);
item->sgv[i].Buffer = PtrToPtr64(data);
}
item->sgv[slots_used].Buffer = 0;
item->sgv[slots_used = segments].Buffer = 0;
assert((item->single.iov_len & ior_WriteFile_flag) == 0);
slots_used = segments;
}
ior->last_bytes = bytes;
ior_last_sgvcnt(ior, item) = slots_used;