Почему не применяется /usr/include/linux/limits.h PATH_MAX 4096? - PullRequest
0 голосов
/ 02 июня 2011

Вопросы

Неужели я неверно истолковываю PATH_MAX?

Нужно ли начинать беспокоиться о том, сколько других ограничений не применяются или применяются неправильно?

Исследовательская платформа

uname -a Linux xxxxxx.com 2.6.18-164.el5 # 1 SMP чт 3 сентября 03:28:30 EDT 2009 x86_64 x86_64 x86_64 GNU / Linux

Из / etc / fstab я вижу, чтофайловая система, которой я управляю, - это ext3.Может быть, PATH_MAX не имеет значения, а файловая система отвечает за обработку ограничений?

Цель

Я пытался определить, будет ли Apache 2.2.3 правильно обрабатывать GET, где длина пути (все каталоги)Компоненты плюс конечное имя файла) длинное (возможно, 300 или около того байтов).

Что я набрал

Я начал это исследование, запустив скрипт оболочки:

d="256 byte string here"
while [ 1 ]; do
    mkdir $d
    if [ $? -ne 0 ]; then
        break
    fi
    cd $d
    if [ $? -ne 0 ]; then
        break
    fi
done
pwd

Thisвыполнение сценария завершилось неудачно, но я получил иерархию каталогов 522, в которой самый нижний файл имел путь длиной 131273 байт.

1 Ответ

0 голосов
/ 02 июня 2011

Вы неверно истолковываете PATH-MAX - это ограничение API определенных функций. Это не предел для операционной системы.

Вот сообщение в блоге

...