LINUX.ORG.RU

Выравнивание Ext4

 


0

3

В структуре Ext4 перед нулевой группой блоков идет зарезервированная область 1024 байта. Что же это получается: если раздел выровнен по границе 4K, то блоки уже не будут выровнены по этой границе?


Не в курсе ситуации с конкретно ext4, но скорее всего ты что-то напутал. Ты уверен что там 1024 байта (а не блока) и что они именно перед блоками а не, например, в нулевом блоке?

firkax ★★★★★
()

Обычно у ext4 блоки по 4 кбайт и начало нулевого блока совпадает с началом раздела. Зарезервированная область 1024 байта попадает в нулевой блок, как и суберблок, а не находится перед ним. А если специально создать ФС с блоками по 1 кбайт, то суперблок будет в первом блоке.

https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Layout

For the special case of block group 0, the first 1024 bytes are unused, to allow for the installation of x86 boot sectors and other oddities. The superblock will start at offset 1024 bytes, whichever block that happens to be (usually 0). However, if for some reason the block size = 1024, then block 0 is marked in use and the superblock goes in block 1. For all other block groups, there is no padding.

mky ★★★★★
()
Ответ на: комментарий от mky

А понял. Меня там немного сбил рисунок. Я подумал, что это перед нулевым блоком, а не часть нулевого блока.

Если есть блочное устройство с Ext4, а я буду с помощью dd извлекать оттуда фрагменты для анализа. Это ничего не поломает, если ФС в это время будет смонтирована?

zb2
() автор топика
Ответ на: комментарий от zb2

Чтение безопасно, но может дать несогласованные данные, если в это же время драйвер ФС будет туда писать. Можно попытаться использовать журнал ext4, чтобы определять, были ли сделаны изменения в ФС.

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