2013-04-28 1 views
2

내가 (단지 지금은 리눅스에 대한) notifyfs을 쓰고 있어요 : fuse.sshfs, CIFS 및 NFS와 같은 퓨즈 및 네트워크 파일 시스템과 함께 작동합니다순수한 시스템 파일 시스템을 결정하는 방법은 무엇입니까? 이다

  • fsevent 알리미.

  • GUI 클라이언트가 자신의 견해를 구축하는 데 사용할 수있는 항목의 캐시

는 notifyfs가 파일 시스템을 결정하기위한 방법이 있어야합니다,/proc 디렉토리/자기/mountinfo에보고, 시스템 관련이

파일 시스템 또는 "실제"파일 시스템 일 수 있습니다. 예를 들어, cpuset, cgroup, devtmpfs 및 sysfs는 시스템 파일 시스템이라고하며 ext2, ext3 및 tmpfs, vfat 및 nfs는 cifs가 "실제"파일 시스템입니다.

시스템 파일과 실제 파일 시스템의 차이점은 실제 파일 시스템은 inotify를 통해 볼 수 있다는 것입니다. 시스템 파일 시스템은 그렇지 않습니다./proc의 "file"에 inotify watch를 놓으면 그것이 작동하지 않는다는 것을 알 수 있습니다.

/proc/filesystems에서 유일한 추가 정보는 "nodev"입니다.이 정보는 mountsource가 blockdevice인지 여부를 알려줍니다. 블록 장치 일 때는 시스템 파일 시스템이 아닙니다. 그러나 블록 장치가 아니며 nodev가 지정되면 항상 시스템 파일 시스템이 아닙니다 (예 : 네트워크 파일 시스템 cifs 및 nfs 또는 tmpfs 및 ramfs).

"nodev"파일 시스템이 실제 파일 시스템처럼 동작하는지 확인하는 방법이 있습니까? 예 : inotify를 통해 감시 할 수 있습니까? 사전에

감사합니다,

스테프

+0

'df' (디스크가 필요 없음)는 사용자가 "진짜"라고 부르는 파일 시스템만을 보여줍니까? 그렇다면 소스 코드를 살펴볼 수 있습니다. – rantanplan

+0

좋은 소식입니다. 나는 그것을 점검 할것이다. – user1388973

+0

나는 알아 냈다 : statvfs를 얻기위한 fstat 호출은 마운트 포인트에서 이루어진다. nr 블록 (또는 inode)이 "real"fs를 다루는 것보다 0보다 큰 것으로보고되면, 그렇지 않으면 시스템 fs. – user1388973

답변

1

합니까 DF (디스크 무료) 만이 "진짜"라고 부르는 파일 시스템을 보여? 그렇다면 소스 코드를 살펴볼 수 있습니다.

관련 문제