Re[6]: Результаты
От: Privalov  
Дата: 26.10.06 13:45
Оценка:
Здравствуйте, Chichikadze, Вы писали:

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


Ты уверен? По-моему, наличие длинного имени определяется каким-то атрибутом в записи. Еще в Windows 95, если открыть файл с длинным именем старым приложением, имя не сохранялось. В каталоге оставались 32 байта.

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

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


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

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


VOLUME_ID нет.

C>С простой директорией тоже не ясно -- у нее 2 записи уйдет для ссылок на маму и на себя + признак конца директории. Остается 65532...


В FAT ссылки на саму себя и на маму добавляет драйвер, на диске они не хранятся.

М.б. 65536 минус последний элемент, минус флаг ошибки, например = 65534.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re[2]: Тупой, бесполезный вопрос
От: Privalov  
Дата: 26.10.06 14:01
Оценка: 1 (1)
Здравствуйте, LaptevVV, Вы писали:

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


LVV>Если FAT32, то ограничена емкость главного каталога... Но она зависит от размера диска... Во вложенных каталогах количество файлов ограничивается емкостью диска... Не забывайте, что каталог — тот же файл с записями фиксированной длины, в которой помещается системная инфа о файле...


Это верно для FAT16. Для FAT32 несколько иначе:

One of the improvements introduced in the newer FAT32 version of the FAT file system was to remove these restrictions on the root directory. Under FAT32, the root directory is treated much more like a regular directory, and can be relocated and expanded in size like any other. (It's still a good idea not to load up the root directory with too many files.)

здесь

LVV>Аналогичную структуру имеет запись о каталоге — там тока атрибут "директория" стоит вместо атрибут "файл"...


Ну да, вопрос только — добавляет система каталогу кластеры, как в случае обычного файла? Напрочь забыл эту тему.
Re[3]: Тупой, бесполезный вопрос
От: ДимДимыч Украина http://klug.org.ua
Дата: 26.10.06 14:07
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Ну да, вопрос только — добавляет система каталогу кластеры, как в случае обычного файла? Напрочь забыл эту тему.


Эксперимент показывает, что добавляет.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re[7]: Результаты
От: Chichikadze Израиль http://mika0x65.livejournal.com
Дата: 26.10.06 14:15
Оценка:
Здравствуйте, Privalov, Вы писали:

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


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


P>Ты уверен? По-моему, наличие длинного имени определяется каким-то атрибутом в записи. Еще в Windows 95, если открыть файл с длинным именем старым приложением, имя не сохранялось. В каталоге оставались 32 байта.


Не совсем так -- короткое имя ничего "не знает" о длинном, а длинное имя как раз привязано к короткому контрольной суммой. А сам атрибут, определяющий тип записи в каталоге для длинного имени содержит такое значение, от которого старые драйвера шарахаются и поэтому не видят длинные имена никак. Как я понял, если на раздел с длинными именами натравить старый chkdsk, то он посчитает длинные имена ошибками со всеми вытекающими. Но сам не проверял.
Re[7]: Результаты
От: Chichikadze Израиль http://mika0x65.livejournal.com
Дата: 26.10.06 14:18
Оценка:
Здравствуйте, ДимДимыч, Вы писали:

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


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


ДД>VOLUME_ID нет.


Ага. Значит, для корня все сходится -- VOLUME_ID нет, одна запись -- признак конца директории.

C>>С простой директорией тоже не ясно -- у нее 2 записи уйдет для ссылок на маму и на себя + признак конца директории. Остается 65532...


ДД>В FAT ссылки на саму себя и на маму добавляет драйвер, на диске они не хранятся.


Как это, не хранятся? Должны быть, для каждой директории кроме корневой.

ДД>М.б. 65536 минус последний элемент, минус флаг ошибки, например = 65534.


А что за флаг ошибки?
Re[8]: Результаты
От: Роман Дубров Украина Я@Blogspot
Дата: 26.10.06 14:28
Оценка: 2 (1)
Chichikadze пишет:

> длинные имена никак. Как я понял, если на раздел с длинными именами

> натравить старый chkdsk, то он посчитает длинные имена ошибками со всеми
> вытекающими. Но сам не проверял.

за чкдиск не знаю, а 4й нортон диск дестроер посчитает, проверено

--
np: [foobar2000] Norah Jones — Humble Me [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[8]: Результаты
От: ДимДимыч Украина http://klug.org.ua
Дата: 26.10.06 14:53
Оценка:
Здравствуйте, Chichikadze, Вы писали:

C>Как это, не хранятся? Должны быть, для каждой директории кроме корневой.


Точно, это я перепутал. Помню, что видел в исходниках драйвера fat строчку "Fake . and .. ", но не запомнил, что "for the root directory".

ДД>>М.б. 65536 минус последний элемент, минус флаг ошибки, например = 65534.

C>А что за флаг ошибки?

Все сходится, 65533 файла создалось. Это оно сказало, что не может создать файл с именем "65534" (я их с "1" нумеровал)
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.