|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Ramazan Jah-Far 2:5020/400 27 Feb 2003 01:38:11 To : Alexandr S. Agranovsky Subject : Summary: L 02 02 02 -------------------------------------------------------------------------------- Hi! In fido7.ru.linux, Alexandr S. Agranovsky wrote: ASA> Hi, Ramazan Jah-Far RJF>> Теоретический вопрос - а может ли reiserfs двигать RJF>> файлы (перемещать в другие сектора) после окончания RJF>> записи? ASA> Если это было бы так, LILO на reiser вообще не работал бы. Я думал то же самое :-). Однако lilo 21.4.4 (который поставляется с RedHat 7.3 и 8.0) некорректно работает на reiserfs. Вот доказательство, из Debian 3.0 lilo/changelog.gz: Changes from version 21.5.1 to 21.6 (01-Oct-2000) John Coffman ... Boot Installer -------------- - Supports booting from Reiser FileSystem 3.6.18 and later, without the need to mount 'notail' По умолчанию reiserfs монтируется с "tail", т.е. пакует хвосты нескольких файлов (мелкие файлы - целиком) _вместе_ в один блок. Заметь, что при этом: 1) начало файла может быть невыравнено по границе блока FS 2) при записи в файл, упакованный вместе с другими в один блок, может понадобиться перенос этого файла в другой блок 2') гипотетически _возможна_ такая обработка ситуации (2), что при записи куски _других_ файлов будут вынесены из блока! Упомянутый fix для lilo открывает файл /boot/map в "режиме notail" (правда, я пока ещё не смотрел исходники lilo >= 21.6). RJF>> // sorry, никогда не пользовался LILO на reiserfs RJF>> Также ещё один вопрос - как LILO определяет эти номера RJF>> секторов и что произойдёт, скажем, если я включу ASA> Специальный вызов, VFS отает наверх номер затребованного ASA> сектора. ioctl FIBMAP ASA> Hикогда не слышал про порблемы с ext3. Если я правильно ASA> догадываюсь, тот самый вызов принудит записать сектор на ASA> постоянное место и только потом уже вернуть его номер. Поведение по FIBMAP _нигде не специфицировано_. Разве что в исходниках драйвера fs (в данном случае ext3). Гипотетически, возможна такая реализация ext3, что драйвер при обработке FIBMAP просто однозначно решит, в какие сектора ляжет файл и вернёт их номера раньше, чем данные туда попадут физически. Физическое же перемещение может и не произойти вплоть до journal replay в момент следующего монтирования FS (а тогда для LILO будет уже поздно). В частности, такое может случится по пропаданию питания. RJF>> А может быть LILO вообще не умеет правильно определять RJF>> номера секторов /boot/map на reiserfs? ASA> Последние версии умеют (посмотри на ключи компиляции). At least `grep -ri reiser /usr/src/redhat/BUILD/lilo-21.4.4` says nothing. As for RedHat, 21.4.4 is the latest :-> RJF>> Вот как раз это метание туда-сюда чаще всего и RJF>> является причиной описанного синдрома. Ставить нужно ASA> точно. Кстати, L 02 02 и т.п. скорее говорит о том, что в 1st stage loader был записан полный бред вместо адресов 2nd stage loader. -- Bye! Ramazan --- ifmail v.2.15dev5 * Origin: UkrNet (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/21697f680c29f.html, оценка из 5, голосов 10
|