Доступны ли существующие файлы pro c для ядра, если система внезапно теряет доступ к файловой системе root, например, не может прочитать диск - PullRequest
0 голосов
/ 05 августа 2020

Если ответ НЕТ, то если root раздел диска файловой системы потерян по какой-либо причине, например, при смерти жесткого диска или при загрузке через nfs rootfs и потеря сети и т.д. c, если в этих случаях ядро ​​«нет» long "имеет доступ для чтения или записи в ранее существующие / proc / files, тогда это ответ НЕТ.

Если ответ ДА, значит, ядро ​​все еще имеет доступ к уже существующим / proc /, потому что они virtual, а не в какой-либо файловой системе, и поэтому они все еще доступны для ядра даже после потери root "/", тогда как я могу сделать "эквивалент":

"echo 1> / proc / существующий файл ", но БЕЗ использования call_usermodehelper, а через некоторый SYSCALL? где "echo 1>" может быть заменен некоторым SYSCALL ядра, чтобы "пользовательское пространство" не использовалось, потому что оно не будет доступно в моем сценарии, где исчез раздел root.

(ОБНОВЛЕНИЕ: в ответ на комментарий, возможно, SYSCALL было неправильным словом, меня не волнует, возможно ли или невозможно вызвать SYSCALLS изнутри ядра, потому что они были созданы с учетом пользовательского пространства.Метод SysCall не имеет значения, но я просто хочу знать «любой» возможный метод, с помощью которого я могу запустить «WRITE» в существующий / proc / файл без необходимости читать какие-либо данные из «пользовательского пространства».)

(UPDATE2: Было бы хорошо, если некоторые полномочия ядра могут ответить, если ядро ​​все еще имеет доступ для чтения / записи в / proc / file даже после того, как файловая система root "/" (скажем, ее rootfs поверх nfs) стала "недоступной". Пока комментарии «противоречат» по этому вопросу, одни говорят НЕТ, другие говорят ДА, а третьи не уверены и т.д. c.)

Я не хочу просто переходить к делу и просто выполнять действие что установка 1 в существующий файл была бы сделана на основе кода ядра. Я хочу, чтобы он go через обычный путь vfs_write et c «до» делал то же, что и echo 1 в / proc / existing file. (Я отлаживаю некоторые сбои / проблемы, поэтому я хочу, чтобы он go через этот конкретный c маршрут.)

может быть связано? Доступ / pro c переменная fs из других частей кода ядра

...