Тупой, бесполезный вопрос
От: karkadil  
Дата: 26.10.06 08:14
Оценка:
Тут с бодуна всякая фигня лезет в голову. Например, сколько файлов с разными именами (можно и в разных папках, не принципиально) размером 0 (ноль) байт можно создать на винте, ну к примеру 1гигабайтном?
При создании таких файлов количество свободного места вроде как не уменьшается, но должен же быть предел какой-то, например файловая система не позволяет хранить более N файлов и т.д.

Кто-нить в курсе?

А то мы с товарищем тут решили провести эксперимент на флешке, уже начали =)
Re: Тупой, бесполезный вопрос
От: Роман Дубров Украина Я@Blogspot
Дата: 26.10.06 08:36
Оценка:
karkadil пишет:

> Кто-нить в курсе?


на НТФС ЕМНИП МФТ начнет расползаться пока не сожрет то ли какой-то
процент, то ли весь объем диска.

на ФАТ есть ограничение на объем директории, соответственно дерево
директорий с бесконечной вложенностью способно разместить неограниченное
число файлов... что там на практике — хз, подозреваю что будут грабли с
глубиной вложенности

на ЕХТ3 просто тупо кончатся иноды, хотя их можно будет добавить, и
потом они кончатся еще раз

> А то мы с товарищем тут решили провести эксперимент на флешке, уже начали =)


какая ФС? ФАТ небось?
отпишешь результаты...

--
np: [foobar2000] Helene Segara — Elle, tu l'aimes [paused]
Posted via RSDN NNTP Server 2.1 beta
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
Re[2]: Тупой, бесполезный вопрос
От: karkadil  
Дата: 26.10.06 08:48
Оценка:
Здравствуйте, Роман Дубров, Вы писали:


РД>какая ФС? ФАТ небось?

РД>отпишешь результаты...

да, ФАТ
отпишу непременно
Re[2]: Тупой, бесполезный вопрос
От: ДимДимыч Украина http://klug.org.ua
Дата: 26.10.06 09:02
Оценка:
Здравствуйте, Роман Дубров, Вы писали:

РД>на ФАТ есть ограничение на объем директории, соответственно дерево

РД>директорий с бесконечной вложенностью способно разместить неограниченное

Это в FAT16/FAT12 есть ограничение на размер корневого каталога.

Если FS FAT, то каждый файл занимает как минимум 32 байта (обычно больше, так как для хранения имен используются дополнительные элементы каталога).
Так что теоретический предел для 1 Гб — около 30 000 000.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re: Результаты
От: karkadil  
Дата: 26.10.06 09:56
Оценка:
В общем, теория
Автор: ДимДимыч
Дата: 26.10.06
с практикой расходятся:

провели опыт на флешке 256 Мб
результат такой:
в корне создалось 6143 файла по 0 байт каждый, после чего невозможно стало создавать ни файлы, ни папки
при этом занято было на флешке 8,6 Мб

затем 10 файлов удалили, но все равно создать папку было нельзя, а файлы можно
потом один файл был отредактирован, сделали его 2 байта размером, после этого удалось создать папку

начали создавать файлы в созданной папке
создалось 126 файлов, после чего ругнулось "Диск защищен от записи"

возможно, с винтом будет иначе, конечно, но маленького винта под рукой нету
Re[2]: Результаты
От: Axc  
Дата: 26.10.06 10:24
Оценка:
Здравствуйте, karkadil, Вы писали:

K>маленького винта под рукой нету


Оффтоп
Маленького... На гигабайт... Слышала бы тебя моя бабушка...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Тупой, бесполезный вопрос
От: v111 Новая Зеландия  
Дата: 26.10.06 10:43
Оценка:
K>При создании таких файлов количество свободного места вроде как не уменьшается, но должен же быть предел какой-то, например файловая система не позволяет хранить более N файлов и т.д.

K>Кто-нить в курсе?


K>А то мы с товарищем тут решили провести эксперимент на флешке, уже начали =)


На фате кончается и довольно быстро. Подозреваю что и в любой другой фс. Для фата один файл занимает минимум сектор на разделе (конфигурируется при форматировании). Число файлов, которые исчерпают раздел, чуть меньше числа секторов (тк сам фат тоже жрет место).

В фидо так когда-то заваливали вражеские ноды — отправляли архив как бы с почтой, а на самом деле там было 10 тыс. пустых файлов. Архив получался совсем маленький. На другом конце программа принятую почту автоматически распаковывала... Спамер некоторое время ждал, потом пытался соединиться еще раз, если получалось, подкидывал еще несколько таких замечательных "почтовых" файлов.
Bow-legged girls in mini make me sad
Re[2]: Результаты
От: Роман Дубров Украина Я@Blogspot
Дата: 26.10.06 10:46
Оценка:
karkadil пишет:

> В общем, теория с практикой расходятся:


надо было побольше папок в корне насоздавать, пока давало

а вообще в стародавние времена по фидо файлбомбы ходили — куча файлов по
0 байт в архиве, у кого тоссер настроен на автораспаковку аттачей — тому
наступал веселый день — и место на винте есть, и создать файл некак.

--
np: [foobar2000] Helene Segara — Elle, tu l'aimes [paused]
Posted via RSDN NNTP Server 2.1 beta
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
Re[2]: Результаты
От: ДимДимыч Украина http://klug.org.ua
Дата: 26.10.06 12:28
Оценка:
Здравствуйте, karkadil, Вы писали:

K>В общем, теория
Автор: ДимДимыч
Дата: 26.10.06
с практикой расходятся:


Да, видимо я что-то не учел. Создал образ диска размером 1Гб FAT32, смонтировал. Удалось создать 65534 пустых файлов, после чего No space left on device. При этом пишет, что использовано 2.1 мегабайта.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re[3]: Результаты
От: Chichikadze Израиль http://mika0x65.livejournal.com
Дата: 26.10.06 12:39
Оценка:
Здравствуйте, ДимДимыч, Вы писали:

ДД>Здравствуйте, karkadil, Вы писали:


K>>В общем, теория
Автор: ДимДимыч
Дата: 26.10.06
с практикой расходятся:


ДД>Да, видимо я что-то не учел. Создал образ диска размером 1Гб FAT32, смонтировал. Удалось создать 65534 пустых файлов, после чего No space left on device. При этом пишет, что использовано 2.1 мегабайта.


Все верно. Ограничение на кол-во файлов в каталоге -- 65535 (кол-во файлов должно описываться шестнадцатью битами). Длина dir entry 32 байта -- в итоге получается 2 ^ 16 * 2 ^ 5 = 2 ^ 21 = 2MB.

Просто драйвер от MS немного глуповат -- когда кол-во возможных записей в корневой/обычной директории заканчивается, он завляет, что места нет вообще. Надо просто еще одну директорию создать и в ней продолжить бесчинство .
Re[3]: Результаты
От: Privalov  
Дата: 26.10.06 12:41
Оценка:
Здравствуйте, ДимДимыч, Вы писали:

ДД>Да, видимо я что-то не учел. Создал образ диска размером 1Гб FAT32, смонтировал. Удалось создать 65534 пустых файлов, после чего No space left on device. При этом пишет, что использовано 2.1 мегабайта.


Похоже, так:

2^16 * 32 = 2.1 мегабайта (32 байта — размер записи в каталоге для имени файла 8.3). Забил до отказа корневой каталог. Дальше не позволяет. Вот только не помню, размер корневого каталога на FAT32 всегда неизменный?

Кстати, а что будет, если в корне создать каталог, а уже в нем начать создавать файлы? Вроде каталоги ведут себя как обычные файлы?
Re[4]: Результаты
От: ДимДимыч Украина http://klug.org.ua
Дата: 26.10.06 13:11
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Кстати, а что будет, если в корне создать каталог, а уже в нем начать создавать файлы? Вроде каталоги ведут себя как обычные файлы?


Попробовал — все равно предел 65534. Если рядом создать еще один каталог, там тоже 65534
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re[4]: Результаты
От: ДимДимыч Украина http://klug.org.ua
Дата: 26.10.06 13:20
Оценка:
Здравствуйте, Chichikadze, Вы писали:

C>Просто драйвер от MS немного глуповат -- когда кол-во возможных записей в корневой/обычной директории заканчивается, он завляет, что места нет вообще.


Это я под линухом проверял, его драйвер такой код ошибки вернул
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re[4]: Результаты
От: ДимДимыч Украина http://klug.org.ua
Дата: 26.10.06 13:26
Оценка:
Здравствуйте, Chichikadze, Вы писали:

C>Все верно. Ограничение на кол-во файлов в каталоге -- 65535 (кол-во файлов должно описываться шестнадцатью битами). Длина dir entry 32 байта -- в итоге получается 2 ^ 16 * 2 ^ 5 = 2 ^ 21 = 2MB.


Кстати, в FAT16 размер корневого каталога фиксированный — 16 кб, а в FAT32 размер не ограничен. Но ведь конец каталога обозначается нулевым элементом, поэтому имхо 16-битное ограничение создано исскуственно, чтоб с каталогом могло работать 16-битное приложение.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re: Тупой, бесполезный вопрос
От: podovan http://podovan.livejournal.com/
Дата: 26.10.06 13:26
Оценка:
Здравствуйте, karkadil, Вы писали:

K>Тут с бодуна всякая фигня лезет в голову. Например, сколько файлов с разными именами (можно и в разных папках, не принципиально) размером 0 (ноль) байт можно создать на винте, ну к примеру 1гигабайтном?

K>При создании таких файлов количество свободного места вроде как не уменьшается, но должен же быть предел какой-то, например файловая система не позволяет хранить более N файлов и т.д.

K>Кто-нить в курсе?


K>А то мы с товарищем тут решили провести эксперимент на флешке, уже начали =)


Зависит от размера кластера на диске, чем меньше размер, тем больше таких файлов можно создать.
«Время жизни складывается не из количества прожитых вздохов, а из секунд в которые у тебя захватывает дыхание.»
(с) фильм «Метод Хитча»
Re[5]: Результаты
От: Chichikadze Израиль http://mika0x65.livejournal.com
Дата: 26.10.06 13:29
Оценка:
Здравствуйте, ДимДимыч, Вы писали:

ДД>Здравствуйте, Chichikadze, Вы писали:


C>>Просто драйвер от MS немного глуповат -- когда кол-во возможных записей в корневой/обычной директории заканчивается, он завляет, что места нет вообще.


ДД>Это я под линухом проверял, его драйвер такой код ошибки вернул


Агаг, сам догадаться должен был. С драйвером от MS 65534 файла не создашь -- он в любом случае длинное имятоже сохраняет.

Значит и Линуксовый драйвер тоже не подарок. У меня на BSD 4.5 после операций на FAT томе все время chkdsk приходится выполнять .
Re: Тупой, бесполезный вопрос
От: LaptevVV Россия  
Дата: 26.10.06 13:31
Оценка:
Здравствуйте, karkadil, Вы писали:

K>Тут с бодуна всякая фигня лезет в голову. Например, сколько файлов с разными именами (можно и в разных папках, не принципиально) размером 0 (ноль) байт можно создать на винте, ну к примеру 1гигабайтном?

K>При создании таких файлов количество свободного места вроде как не уменьшается, но должен же быть предел какой-то, например файловая система не позволяет хранить более N файлов и т.д.
Если FAT32, то ограничена емкость главного каталога... Но она зависит от размера диска... Во вложенных каталогах количество файлов ограничивается емкостью диска... Не забывайте, что каталог — тот же файл с записями фиксированной длины, в которой помещается системная инфа о файле...
Аналогичную структуру имеет запись о каталоге — там тока атрибут "директория" стоит вместо атрибут "файл"...
Так что, хоть и не показывает система затраты диска — они там есть...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Тупой, бесполезный вопрос
От: ДимДимыч Украина http://klug.org.ua
Дата: 26.10.06 13:32
Оценка:
Здравствуйте, podovan, Вы писали:

P>Зависит от размера кластера на диске, чем меньше размер, тем больше таких файлов можно создать.


Не согласен. Для файла нулевой длины кластер не выделяется.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re[5]: Результаты
От: Privalov  
Дата: 26.10.06 13:39
Оценка:
Здравствуйте, ДимДимыч, Вы писали:

ДД>Попробовал — все равно предел 65534. Если рядом создать еще один каталог, там тоже 65534


Эх, не осталось у меня под рукой томов с FAT32. В ней, AFAIR, можно (в принципе) создать сколько угодно копий FAT, корневой каталог любого размера и т. д. Однако, приходится привлекать разработки сторонних производителей, потому что

Просто драйвер от MS немного глуповат

Chichikadze здесь
Автор: Chichikadze
Дата: 26.10.06


Это у них давно. Я бы сказал, традиция. Иначе бы не было в свое время программ типа 800.com. Или нельзя было штатными средствами отформатировать раздел меньше 512 М на FAT32, хотя всякими там Partition Magic это делалось без малейших затруднений, и такие разделы (у меня был 200 М) нормально работали.
Если вставить в систему что-нибудь, следящее за состоянием каталогов, тогда, наверное, можно будет создать огромный каталог, содержащий записи о файлах нулевой длины.
Re[5]: Результаты
От: Chichikadze Израиль http://mika0x65.livejournal.com
Дата: 26.10.06 13:39
Оценка:
Здравствуйте, ДимДимыч, Вы писали:

ДД>Здравствуйте, Chichikadze, Вы писали:


C>>Все верно. Ограничение на кол-во файлов в каталоге -- 65535 (кол-во файлов должно описываться шестнадцатью битами). Длина dir entry 32 байта -- в итоге получается 2 ^ 16 * 2 ^ 5 = 2 ^ 21 = 2MB.


ДД>Кстати, в FAT16 размер корневого каталога фиксированный — 16 кб, а в FAT32 размер не ограничен. Но ведь конец каталога обозначается нулевым элементом, поэтому имхо 16-битное ограничение создано исскуственно, чтоб с каталогом могло работать 16-битное приложение.


Да, это для совместимости, видимо, сделано. Но мне не совсем ясно, почему получается создать 65534 файла. По спецификации я понял, что макс. кол-во файлов на каталог -- 65535. Если дело происходит в корневом каталоге, то одну запись должна съесть VOLUME_ID, последняя запись должна быть обнулена, т.е. остается 65533. М.б. VOLUME_ID нет? С простой директорией тоже не ясно -- у нее 2 записи уйдет для ссылок на маму и на себя + признак конца директории. Остается 65532...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.