Произошел сбой (винт новый, в норме, а драйвер ядра к недорогому SATA-контроллеру плохой и по сей день, как оказалось). fsck постоянно находит в одном единственном inode неправильные блоки, 11 очищает, а потом заявляет, что вообще-то их слишком много, идет дальше до конца. А потом начинает проверку заново, снова находит и очищает следующие 11 и т. д. Ну, до Нового Года (вот не знаю этого или какого другого) ждать не хочется. Я вооружился debugfs и выяснил, что inode принадлежит удаленному мною файлу. Т.е. этот весь inode можно было бы спокойно очистить. Но вот незадача. После kill_file <19161090> debugfs уходит в segfault, т.к. она не может обработать ошибочный блок (т.е. номер выходит за пределы фс). Странно, на то ж она и debugfs, чтобы справляться именно с дефектами!? Когда делаю clri <19161090> (stat <19161090> показывает теперь, что все чисто) freei <19161090> (inode is not in use) kill_file <19161090> close, то после open снова все на месте (открывал я на запись). Удивительно! Т.е. ext2fs будет бесконечно всего по 11 блоков очищать, а с debugfs я вообще ничего не могу достигнуть. Как дальше более менее оптимально решать эту задачу?
Ответ на:
комментарий
от Suigintou
Ответ на:
комментарий
от mky
Ответ на:
комментарий
от gag
Ответ на:
комментарий
от mky
Ответ на:
комментарий
от mky
Ответ на:
комментарий
от gag
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.