현재 커널 함수에서 주어진 경로명에 대한 inode를 얻으려고합니다. 내가 사용할 수있는 것은 전체 경로 이름뿐입니다. 나는 시도를 시도했다 :Linux 커널에서 inode 가져 오기 커널
user_path_at(AT_FDCWD, buffer, LOOKUP_FOLLOW, &path);
그러나 주어진 경로에있는 덴 트리는 유효하지 않은 것으로 보인다. 그런 다음 아마도 stat()을 시도하고 그로부터 inode 수를 얻는다고 생각했습니다. 그러나, 그것은 구조체 아이 노드가 아니라 숫자 만 제공합니다. 기존의 inode를 잡고 inode의 전체 목록을 탐색하지 않고 inode 번호를 inode로 변환하는 방법을 모르겠습니다. 그리고 그게 효과가 있을지조차 모른다. 그러나 나는 확실히 그렇게하고 싶지 않습니다.
커널 내부의 char * 경로명에서 구조체 inode를 얻는 간단한 방법이 있습니까?
단지 정보를 필요로하기 때문에 (약 3 시간 후) stat()이 내 요구에 충분할 것입니다. inode를 얻는 데 너무 지옥이되어서 내 목표를 부분적으로 잃어 버렸습니다. 그리고 저는 커널 안에서 이것을하고 있습니다. 따라서 stat()를 수행하는 것은 실제로 최적이 아니지만 수행 할 것입니다. –
링크가 작동하지 않습니다. 이것이 링크 전용 답변이 나쁜 이유입니다. – MSalters