|
News,
Internal,
Projects,
Home Software, Support, Documentation |
On Wed, Nov 12, 2003 at 10:20:02PM +0900, 이수관 wrote: > inode 값이 있을 때 pathname 을 알 수 있는 방법이 있을까요? > 커널에서 printf 로 inode 값을 찍고 있는데 해당하는 파일(PATHNAME)을 알고 > 싶습니다. 어떤 위치인지에 따라서 다릅니다. 즉 namei(9)후 vnode를 받게되면 이름을 알수가 없습니다. (커널은 이름을 알 필요가 없습니다.) namei(9)호출전에 파일이름을 저장하거나 이후의 user-level에서 검색하셔야 합니다. inode <-> pathname변환은 간단한것 같지만 그렇지 않습니다. 가장 복잡한 operation중의 하나이고 입력된 pathname은 hardlink, symbolic link, relative pathname, absolute pathname, device file, socket등 너무나 다양하기 때문에 커널에서 namei(9)변환후 입력된 정확한 이름을 알기는 사실상 불가능합니다. (vnode에서 mount point와 inode를 따라다니면서 역순으로 검색할 수도 있겠지만 이경우에도 absolute path만 알수있습니다. user가 입력한 relative pathname값을 찾을수는 없습니다.) > find / -inum xxx 은 너무 오래 걸리는군요... > 리눅스에서는 debugfs를 쓰면 알 수 있었던거 같은데 FreeBSD 에도 비슷한 > 프로그램이 > 있으면 알려주셨으면 합니다. > > 감사합니다. > > -- > 이수관 > -- Pyun YongHyeon <http://www.kr.freebsd.org/~yongari> _______________________________________________ 한국 FreeBSD 사용자 그룹(KFUG) questions 메일링 리스트 questions at kr.FreeBSD.org http://www.kr.FreeBSD.org/mailman/listinfo/questions
|
Copyright © 1998-2005 Korea FreeBSD Users Group. All rights reserved. webmaster at kr.FreeBSD.org $Date: 2003/11/13 12:59:23 $ |
|