오픈 할 때 xattributes
파일을 읽는 모듈을 만들고 있습니다. 나는 sys_open
을 구부리고이 때문에 파일을 열지 않고 파일의 dentry
을 얻어야합니다. 간단히 말해 나는 inode
과 절대 경로를 가지고 있지만 알아내는 데 어려움이 있습니다. 이들로부터 dentry
을 얻는 방법. 모든 의견은 대단히 감사하겠습니다. 내 당신이 개방 콜백 함수 동안 드라이버 모듈에서 dentry 경로를 얻기 위해 노력하고있다 과소 당으로inode/pathname에서 dentry를 찾는 방법은 무엇입니까?
답변
. 그렇다면; 그런 다음 덴트 리 정보에 액세스하는 데 필요한 구조 목록을 추가하는 중입니다.
include/linux/fs.h
Struct file{
struct path f_path;
};
include/linux/path.h
struct path {
struct vfsmount *mnt;
struct dentry *dentry;
};
include/linux/dcache.h
struct dentry {
};
이렇게 할 수 있습니다.
static int sample_open(struct inode *inode, struct file *file)
{
char *path, *dentry,*par_dentry;
char buff[256];
dentry = file->f_path.dentry->d_iname;
pr_info("dentry :%s\n",dentry);
par_dentry = file->f_path.dentry->d_parent->d_iname;
pr_info("parent dentry :%s\n",par_dentry);
path=dentry_path_raw(file->f_path.dentry,buff,256);
pr_info("Dentry path %s\n",path);
}
우리는 실제로 dentry 구조체를 파일 경로에서 가져옵니다. 파일에 속한 덴트 리의 xattributes에 액세스하려면이 함수가 필요합니다. 우리는 덴 트리 경로 자체가 필요하지 않습니다. –
@BenAtkinson 나는 이해하지 못했습니다. *** 당신이 의미하는 바는 dentry 구조를 얻습니다 ***. 'custom_structure-> mydent = file-> f_path.dentry; '와 같은 커스텀 함수로부터 덴트리스트 구조를 얻고 싶습니까? –
질문이 잘못되었습니다. 확장 속성은 inode에 저장되므로, inode를 가지고있는 한 액세스 할 수 있습니다.
나는 sys_open을 연결했기 때문에이 파일을 열지 않고 의 덴트리를 가져와야합니다.
2 개의 계정에서 잘못되었습니다.
- sys_open은 파일을 열 수있는 유일한 장소가 아닙니다.
LSM 프레임 워크 (Linux 보안 모듈)를 사용하고 싶습니다. 특히 security_file_open을 참조하십시오.
그러나 질문의 품질을 감안할 때 나는 무엇에 대해 물어야합니다. 대학 프로젝트입니까? 나는 당신이 그것에 대해 준비 할 준비가되지 않았다고 주장 할 것이고 가능하다면 비핵적인 것으로 바꾸라고 제안 할 것이다.
- 1. Xpath를 찾는 방법은 무엇입니까?
- 2. 내년을 찾는 방법은 무엇입니까?
- 3. MavenProject를 찾는 방법은 무엇입니까?
- 4. 중앙값을 찾는 방법은 무엇입니까?
- 5. wxWidgets를 찾는 방법은 무엇입니까?
- 6. userclick을 찾는 방법은 무엇입니까?
- 7. 패턴을 찾는 방법은 무엇입니까?
- 8. 정확도를 찾는 방법은 무엇입니까?
- 9. d.android.com에서 찾는 방법은 무엇입니까?
- 10. 브라우저를 찾는 방법은 무엇입니까?
- 11. ComboBoxItem의 ParentComboBox를 찾는 방법은 무엇입니까?
- 12. adb가 에뮬레이터를 찾는 방법은 무엇입니까?
- 13. 데이터의 주기성을 찾는 방법은 무엇입니까?
- 14. iOS 버전을 찾는 방법은 무엇입니까?
- 15. R로 Waldo를 찾는 방법은 무엇입니까?
- 16. 양식의 colletion을 찾는 방법은 무엇입니까?
- 17. JavaScript에서 ModalPopupExtender를 찾는 방법은 무엇입니까?
- 18. 데이터베이스에서 복제본을 찾는 방법은 무엇입니까?
- 19. 사용자의 위치를 찾는 방법은 무엇입니까?
- 20. 이미지보기 반경을 찾는 방법은 무엇입니까?
- 21. 실행중인 스크립트를 찾는 방법은 무엇입니까?
- 22. arraylist에서 값을 찾는 방법은 무엇입니까?
- 23. 동영상의 코덱을 찾는 방법은 무엇입니까?
- 24. 클릭 수를 찾는 방법은 무엇입니까?
- 25. onMouseOver의 대상을 찾는 방법은 무엇입니까?
- 26. 구성중인 터미널을 찾는 방법은 무엇입니까?
- 27. 문자열에서 단어를 찾는 방법은 무엇입니까?
- 28. 오류가있는 파일을 찾는 방법은 무엇입니까?
- 29. NDK 경로를 찾는 방법은 무엇입니까?
- 30. Confluence에서 '이전'페이지를 찾는 방법은 무엇입니까?
http://stackoverflow.com/questions/8556461/how-to-obtain-a-pathname-or-dentry-or-struct-file-from-a-given-inode – ilansch