LINUX.ORG.RU

Длина имени файла = 255 байт?


0

0

наткнулся на такую штуку: джава ругается при создании файла с каноническим именем (т.е. с путем к файлу) более 255 символов. Полез в википедию, а там сказано, что для ext3 максимальная длина имени файла 255 байт. В связи с чем возник вопрос:
1. действительно ли это так или викиредакторы копипастили и ошиблись
2. Где в сырцах ядра это посмотреть?
3. Если локаль стоит UTF-8 то вообще получаем экспериментально длину имени файла кириллицей в 128 символов.
4. WTF?! в 21 веке такое маленькое ограничение на имя файла?!

★★★☆

Длина имени файла = 255 байт?

По-моему, кто-то путает именя файлов с SMS...

annoynimous ★★★★★ ()

Длина имени файла = 255 байт?

Это вроде как ограничение linux vfs

Cancellor ★★★★☆ ()

Длина имени файла = 255 байт?

long max_path = pathconf("/", _PC_PATH_MAX);

у меня 4096. Если это то, о чем я думаю, конечно.

alg0rythm ()

Длина имени файла = 255 байт?

Ага, быстрый гуглинг дал, что максимальный _путь_ к файлу это таки _PC_PATH_MAX байт, а само имя <= 256 байт. Походу, так.

alg0rythm ()

Длина имени файла = 255 байт?

Length of filename is 255 chars (ext2/3)
Length of pathname is 4095 chars. (limit of kernel)

stave ★★★★★ ()

Длина имени файла = 255 байт?

Между прочим, в Windows на NTFS макимальная длина имени файла 255 именно двухбайтовых символов UTF-16, а максимальная длина пути 32767.

anonymfus ★★★★ ()
Ответ на: Длина имени файла = 255 байт? от anonymfus

Re: Длина имени файла = 255 байт?

между прочим, там есть еще не-юникод функции, которые не работают с файлами, чей полный путь больше 260 символов. по этой причине очень часто вспоминаются мамы разработчиков конкретных софтин.

xydo ★★ ()

Длина имени файла = 255 байт?

>1. действительно ли это так или викиредакторы копипастили и ошиблись

Это действительно так.

>2. Где в сырцах ядра это посмотреть?

include/linux/ext3_fs.h, искать определение struct ext3_dir_entry

>3. Если локаль стоит UTF-8 то вообще получаем экспериментально длину имени файла кириллицей в 128 символов.

Чуть больше за счет пробелов и прочей ASCII-пунктуации.

>4. WTF?! в 21 веке такое маленькое ограничение на имя файла?!

Это же линакс! Как вариант никто не запрещает использовать jfs (самый пристойный вариант) или reiser4.

linuxfan ()

Длина имени файла = 255 байт?

> 4. WTF?! в 21 веке такое маленькое ограничение на имя файла?!

Раньше 8 символов было, и ничего, жили как то.

Legioner ★★★★★ ()
Ответ на: Длина имени файла = 255 байт? от anonymfus

Длина имени файла = 255 байт?

Угу, приходилось скриптом транслитеровать. Поубывав бы - на кой ляд стопицот кириллических буков в названии? Эх, где старое доброе время, когда за не [0-9a-zA-Z] банили?

redgremlin ★★★★★ ()
Ответ на: Длина имени файла = 255 байт? от Legioner

Длина имени файла = 255 байт?

А еще был замечательный васик, где по буквице на имя переменной, не больше. При виде this_is_instance_of_object_type_my_very_long_object_name->vasas_realisation_of_ very_long_named_fuction_which_returning_useful_value(this_value_name_visible_onl y_on_very_huge_displays); понимаешь, что это даже где-то было счастье

redgremlin ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.