Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
 Выравнивание размера бэкапа  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 43647

Кто-нибудь в курсе зачем в конце бэкап добивается до полукилобайта нулями?

Posted via ActualForum NNTP Server 1.5

25 сен 17, 18:41    [20821634]     Ответить | Цитировать Сообщить модератору
 Re: Выравнивание размера бэкапа  [new]
hvlad
Member

Откуда:
Сообщений: 9233
См. MVOL_write
+
UCHAR MVOL_write(const UCHAR c, int* io_cnt, UCHAR** io_ptr)
{
	const UCHAR* ptr;
	ULONG cnt = 0;

	BurpGlobals* tdgbl = BurpGlobals::getSpecific();

	const ULONG size_to_write = BURP_UP_TO_BLOCK(*io_ptr - tdgbl->mvol_io_buffer);
MVOL читает и пишет кусками, кратными BURP_BLOCK, который определён, как 512 байт.
Возможно, это была попытка использовать небуферизованный IO (и когда-нить оно так и будет),
требующий выравнивания буферов на границу сектора.
25 сен 17, 19:34    [20821740]     Ответить | Цитировать Сообщить модератору
 Re: Выравнивание размера бэкапа  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 43647

hvlad
попытка использовать небуферизованный IO (и когда-нить оно так и будет)

Выглядит забавно в случае, когда вывод идёт в stdout или (что то же самое) на клиента
через сервисы.

Posted via ActualForum NNTP Server 1.5

25 сен 17, 22:41    [20822077]     Ответить | Цитировать Сообщить модератору
Все форумы / Firebird, InterBase Ответить