2016-11-29 19 views
1

xv6의 파일 시스템에 할당 된 모든 inodes를 탐색하려고하는데 루트 디렉토리의 dinode를 가져 와서 거기에서 가고 싶습니다. 이 문제가 작동하도록하는 데 어려움이 있습니다. 'dirlookup()'을 사용해 보았지만 가져온 항목에 상관없이 함수가 정의되지 않았다는 오류가 발생했습니다.XV6에서 이름으로 디렉토리/파일의 이름을 가져옵니다.

답변

1

저는 답변에 늦었지만 여기에 있습니다. inode 번호는 stat() 명령에서 얻을 수 있으며 현재있는 루트 디렉토리는 "."로 참조됩니다. 상위 디렉토리가 ".."인 것처럼 여기 은 루트 디렉토리의 inode 번호를 얻을 수 있어야하는 간단한 예입니다. 나는이 권리를 테스트 할 시간이 없어 명심하지만 내가 xv6

를 사용 기억할 것입니다
uint getRootInode() { 
    struct stat sb; 
    stat(".", &sb); 
    return sb.ino; 
} 

편집 :
는 또한 dirlookup()fs.c

defs.h 정의 및 구현