[Quick view] неверно определяется "Allocated size" Topic is solved

Здесь можно сообщить о найденных багах в Far.
Post Reply
VadimK
Posts: 9
Joined: Thu 03 Jan, 2019 16:47
Has thanked: 4 times

[Quick view] неверно определяется "Allocated size"

Post by VadimK »

Старинный баг.
Проверял только в Win7.
Версия 32bit/64bit - без разницы.

Обычно проявляется, когда в папке много файлов, размер которых меньше размера кластера.
Far3AllocatedSizeBug.png
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

[Quick view] неверно определяется "Allocated size"

Post by DrKnS »

А почему вы решили, что это баг?
VadimK
Posts: 9
Joined: Thu 03 Jan, 2019 16:47
Has thanked: 4 times

[Quick view] неверно определяется "Allocated size"

Post by VadimK »

В приведённом выше случае:
47 файлов ненулевой длины.
Размер кластера =4096байт=4Kb
Поэтому размер, занимаемый (allocated) этими файлами на диске, не может быть меньше: 47*4=188Kb
Правильный размер фигурирует на скриншоте в "Свойствах папки" =192Кб

Кроме того, allocated размер должен быть кратен размеру кластера 4Кб. А Far3 отображает его с дробным хвостом (=48,7Кб)

Папка, естественно, не сжата, никаких *линков не используется.
Yegor
Posts: 1328
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

[Quick view] неверно определяется "Allocated size"

Post by Yegor »

Насколько я помню, на NTFS, например, файл в несколько байт, не занимает кластер, он полностью хранится в заголовке (в MFT).

EDIT: proof:
Files smaller than approximately 900 bytes are stored within the directory entry of the MFT.
https://en.wikipedia.org/wiki/NTFS
Last edited by Yegor on Sat 20 Nov, 2021 21:25, edited 1 time in total.
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

[Quick view] неверно определяется "Allocated size"

Post by DrKnS »

VadimK wrote: Sat 20 Nov, 2021 20:4847 файлов ненулевой длины
И 40 из них меньше 900 байт.
размер, занимаемый (allocated) этими файлами на диске, не может быть меньше: 47*4=188Kb
Кроме того, allocated размер должен быть кратен размеру кластера 4Кб
Да, так было лет 30 назад, до появления NTFS.
Правильный размер фигурирует на скриншоте в "Свойствах папки"
В свойствах папки в Windows 7 в этом случае фигурирует шляпа.
Мне верить не обязательно, но вот этот дядька, наверное, знает, о чем говорит.
VadimK
Posts: 9
Joined: Thu 03 Jan, 2019 16:47
Has thanked: 4 times

[Quick view] неверно определяется "Allocated size"

Post by VadimK »

Вы правы, забираю свои слова о баге обратно.
Ох уж этот NTFS. Век живи, век учись... :)
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

[Quick view] неверно определяется "Allocated size"

Post by DrKnS »

Для полноты картины можно добавить, что алгоритм подсчета "allocated size" предельно прост - это просто сумма всех FILE_ID_BOTH_DIR_INFORMATION.AllocationSize, получаемых от ОС.
Альтернативные потоки не учитываются. В идеале надо бы, но доставать их дорого и вроде бы оно не особо востребовано.
Post Reply

Return to “Глюки и баги”