View previous topic :: View next topic |
Author |
Message |
f0rk Apprentice
Joined: 15 Nov 2004 Posts: 273 Location: Moscow
|
Posted: Sat Oct 07, 2006 9:50 pm Post subject: Suspend2 (баг или случайность) [solved] |
|
|
Поставил, 2.6.16-suspend2-r8 + hibernate...
Настроил все как полагается (по wiki-gentoo).
Делаю hibernate. Он как полагается, все выгрузил и вырубил ноут.
Включаю ноут, но при загрузке выбрал случайно ядро без суспенда2.
При загрузке все как обычно, только ругнулся, что не может подключить своп.
Я заметив, что выбрал не то ядро, делаю ребут.
Гружусь с нужного ядра, тут меня встречает суспенд, все восстанавливает.
Все работает.
Далее опять делаю ребут и тут при загрузке получаю нерабочую файловую систему.
(для справки: reiserfs)
Причем само ничего не восстановилось...
Пришлось из лайв-цд делать fsck.reiserfs --rebuild-tree...
В связи с этим вопрос: это произошло из-за того, что после супенда я запустил сначала старое ядро или что-то другое виновато?
Просто методом тыка убеждаться не охота. Файловая система мне все-таки нужна.
Если еще пару таких "суспендов" то, думаю, никакой --rebuild-tree не поможет...
Last edited by f0rk on Sun Oct 08, 2006 7:41 pm; edited 1 time in total |
|
Back to top |
|
|
ArtSh Apprentice
Joined: 05 Aug 2006 Posts: 178 Location: Казань, Россия
|
Posted: Sun Oct 08, 2006 4:21 pm Post subject: |
|
|
Возможно дело в том, как suspend отмонтирует файловую систему, и остаются ли каке-либо части фс в памяти(в смысле в свопе)? |
|
Back to top |
|
|
f0rk Apprentice
Joined: 15 Nov 2004 Posts: 273 Location: Moscow
|
Posted: Sun Oct 08, 2006 5:06 pm Post subject: |
|
|
И это как раз произошло из-за загрузки с другим ядром? |
|
Back to top |
|
|
ArtSh Apprentice
Joined: 05 Aug 2006 Posts: 178 Location: Казань, Россия
|
Posted: Sun Oct 08, 2006 6:32 pm Post subject: |
|
|
Запросто может быть что части дерева остались в памяти. Когда Вы загрузили другое ядро и снова перезагрузили систему, возможно дерево изменилось и было записано на диск, а после этого, когда образ памяти вновь был загружен и снова записана на диск, файлы и потерялись... |
|
Back to top |
|
|
f0rk Apprentice
Joined: 15 Nov 2004 Posts: 273 Location: Moscow
|
Posted: Sun Oct 08, 2006 7:28 pm Post subject: |
|
|
Большое спасибо за ответ! |
|
Back to top |
|
|
Laitr Keiows Bodhisattva
Joined: 04 Jul 2005 Posts: 891 Location: Kobe, Japan
|
Posted: Wed Oct 11, 2006 1:40 pm Post subject: |
|
|
f0rk wrote: | Большое спасибо за ответ! |
На будущее посмотри настройки suspend2, там есть опция на предмет дополнительного grub.conf, чтобы случайно другое ядро не выбрать. |
|
Back to top |
|
|
fank l33t
Joined: 16 Oct 2004 Posts: 794 Location: Minsk, Belarus
|
Posted: Fri Oct 13, 2006 6:45 am Post subject: |
|
|
Quote: | Запросто может быть что части дерева остались в памяти. Когда Вы загрузили другое ядро и снова перезагрузили систему, возможно дерево изменилось и было записано на диск, а после этого, когда образ памяти вновь был загружен и снова записана на диск, файлы и потерялись... |
звучит как-то невероятно
вполне логично предположить, что перед саспендом неплохо бы сделать sync |
|
Back to top |
|
|
ba l33t
Joined: 25 May 2003 Posts: 804
|
Posted: Fri Oct 13, 2006 8:40 am Post subject: |
|
|
fank wrote: | Quote: | Запросто может быть что части дерева остались в памяти. Когда Вы загрузили другое ядро и снова перезагрузили систему, возможно дерево изменилось и было записано на диск, а после этого, когда образ памяти вновь был загружен и снова записана на диск, файлы и потерялись... |
звучит как-то невероятно
вполне логично предположить, что перед саспендом неплохо бы сделать sync |
1) перед саспендом и так делается sync
2) представь, часть файлухи у тебя закеширована, ты делаешь sync, она сбрасывается на диск(но закешированной-то она остается и притом система думает, что на диске все именно так), а ты саспендишься, меняешь файлуху из под другого ядра и ресторишься и имеешь - в кеше одно, на диске другое, а система думает что то что в кеше и на диске совпадает... |
|
Back to top |
|
|
046 Apprentice
Joined: 21 Jul 2004 Posts: 231 Location: Yaroslavl, Russia
|
Posted: Fri Oct 13, 2006 10:20 am Post subject: |
|
|
fank wrote: | звучит как-то невероятно
вполне логично предположить, что перед саспендом неплохо бы сделать sync | Так он и делается.
Но кеш после sync остаётся, и сохраняется в дампе.
И при просыпании продолжает быть валидным, несмотря на то что на диске уже изменённое содержимое.
Тё файловая система испортилась ПОСЛЕ просыпания, усыплённой системы.
Те достаточно было отключить просыпание. тогда бы потерялась только сохранённия сессия. |
|
Back to top |
|
|
fank l33t
Joined: 16 Oct 2004 Posts: 794 Location: Minsk, Belarus
|
Posted: Sun Oct 15, 2006 12:15 pm Post subject: |
|
|
народ, а про какой кэш вы говорите?
и что тогда делает команда sync? |
|
Back to top |
|
|
ba l33t
Joined: 25 May 2003 Posts: 804
|
Posted: Sun Oct 15, 2006 12:57 pm Post subject: |
|
|
fank wrote: | и что тогда делает команда sync? |
она сбрасывает буфера в которых были изменены данные (dirty buffers) на диск и помечает их как чистые, содержимое которых будет использовано в следующий раз вместо чтения этих блоков с диска...
хотя поидее при саспенде буфера не должны бы сохраняться, этож лишняя запись, но как устроен саспенд я чесно говоря не знаю, поэтому не исключаю возможности что какие-то из них и остаются... |
|
Back to top |
|
|
|