Я пытаюсь пройти все выделенные inodes в файловой системе для xv6, и я хочу получить dinode корневого каталога и перейти оттуда, но у меня было проблема с тем, чтобы это работало. Я попытался использовать «dirlookup()», но независимо от того, что я импортировал, я получаю ошибки, говорящие, что функция не определена.Получить dinode/inode каталога/файла по имени в XV6
1
A
ответ
1
Я знаю, что опаздываю на ответ, но здесь идет. Номер inode может быть получен из команды stat(), а в корневой каталог, на который вы находитесь в настоящее время, ссылается «.». так же, как ваш родительский каталог «..» вот краткий пример того, как вы должны получить номер inode корневого каталога. Имейте в виду, у меня нет времени, чтобы проверить это право, но это то, что я помню от использования xv6
uint getRootInode() {
struct stat sb;
stat(".", &sb);
return sb.ino;
}
EDIT:
Также dirlookup()
defs.h
определяется и реализуется в fs.c