![](https://secure.gravatar.com/avatar/d7507fcbc1bf2d198731358a47b571fd.jpg?s=120&d=mm&r=g)
On Tue, Jul 13, 2004 at 12:00:07AM +0300, Victor Cheburkin wrote:
Hi!
On Mon, Jul 12, 2004 at 23:17 +0300, Paul Arakelyan wrote:
А чего я нигде не встречал, что в http размер файла для нормальной работы с ним - 2GB? (ну, fseek() limitations - эт понятно, но в HTTP длина же в текстовом виде передаётся...). Или это бага апача?
Это неправильно скомпиленный апач. Вообще гофоря, не факт - ибо поведение того же wget при получении "большого числа" - не предсказуемо. И так при таскании такого оно писать отрицательный размер и скорость начинает ;). Думаю, с кучей другого софта были бы те же проблемы, и послать "unspecified length" вместо числа - лучшее решение.
И что это за страшные лимиты в 2GB file size на ext3fs? Как люди с этим живут? (пример экстримов - лог дорастает до 2GB и сквид клеи ласты, а как в xDonkey "достать" файло на 3GB линуксоидам - ваще непонятно :) ).
Давно уже нет никаких лимитов, это инфа времен ядра версии 2.0 (хотя я уже не понмю, давно это было). kernel-2.4.21 кажись. Проблема в том, что в отличие от Фри в Линуховой libc есть два варианта вызовов -- один для работы с файлами до 2-х гиг (32-х битный) а второй -- 64-х битный. И вот если при компиляции сказать указать пару дефайнов, то все будет нормально, а если нет -- лимит в 2ГБ. То ли "об этом никто не знает", то ли просто не заморачивались. Но всё-таки, чего ж логгинг валился нафиг (работающий прочесс по достижении 2Гб падал) - не ясно. Точно так же, думаю, что fopen() для логов делается обычно в append mode - то есть, тоже нигде не светится seek position, ну или fseek() "в конец файла" - тоже ничего "такого" не возвращает. И главное - насколько я понял в своё время - даже с ограничением 2GB fseek() вполне позволял fseek() куда угодно - ибо оно умело relative position - значит, нужно просто как-то "своими силами" отслеживать seek position и при необходимости делать кучу relative fseek().
-- Best regards, Paul Arakelyan. =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message