From: Cyrill Gorcunov Date: Thu, 29 Nov 2012 03:19:21 +0000 (+1100) Subject: docs: add documentation about /proc//fdinfo/ output X-Git-Tag: next-20121205~1^2~4 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=9b756adbacd7a874c6e1768d48246ed59bd96a76;p=karo-tx-linux.git docs: add documentation about /proc//fdinfo/ output Signed-off-by: Cyrill Gorcunov Cc: Pavel Emelyanov Cc: Oleg Nesterov Cc: Andrey Vagin Cc: Al Viro Cc: Alexey Dobriyan Cc: James Bottomley Cc: "Aneesh Kumar K.V" Cc: Alexey Dobriyan Cc: Matthew Helsley Cc: "J. Bruce Fields" Cc: "Aneesh Kumar K.V" Cc: Tvrtko Ursulin Signed-off-by: Andrew Morton --- diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index 12665ee7094a..9687fdb0ca4a 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt @@ -41,6 +41,7 @@ Table of Contents 3.5 /proc//mountinfo - Information about mounts 3.6 /proc//comm & /proc//task//comm 3.7 /proc//task//children - Information about task children + 3.8 /proc//fdinfo/ - Information about opened file 4 Configuring procfs 4.1 Mount options @@ -1633,6 +1634,86 @@ pids, so one need to either stop or freeze processes being inspected if precise results are needed. +3.7 /proc//fdinfo/ - Information about opened file +--------------------------------------------------------------- +This file provides information associated with an opened file. The regular +files have at least two fields -- 'pos' and 'flags'. The 'pos' represents +the current offset of the opened file in decimal form [see lseek(2) for +details] and the 'flags' denotes octal O_xxx mask the file has been +created with [see open(2) for details]. + +A typical output is + + pos: 0 + flags: 0100002 + +The files such as eventfd, fsnotify, signalfd, epoll among the regular pos/flags +pair provide additional information peculiar to the objects they represent. + + Eventfd files + ~~~~~~~~~~~~~ + pos: 0 + flags: 04002 + eventfd-count: 5a + + where 'eventfd-count' is hex value of a counter. + + Signalfd files + ~~~~~~~~~~~~~~ + pos: 0 + flags: 04002 + sigmask: 0000000000000200 + + where 'sigmask' is hex value of the signal mask associated + with a file. + + Epoll files + ~~~~~~~~~~~ + pos: 0 + flags: 02 + tfd: 5 events: 1d data: ffffffffffffffff + + where 'tfd' is a target file descriptor number in decimal form, + 'events' is events mask being watched and the 'data' is data + associated with a target [see epoll(7) for more details]. + + Fsnotify files + ~~~~~~~~~~~~~~ + For inotify files the format is the following + + pos: 0 + flags: 02000000 + inotify wd:3 ino:9e7e sdev:800013 mask:800afce ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:7e9e0000640d1b6d + + where 'wd' is a watch descriptor in decimal form, ie a target file + descriptor number, 'ino' and 'sdev' are inode and device where the + target file lays on and the 'mask' is the mask of events, all in hex + form [see inotify(7) for more details]. + + In case if the kernel built with exportfs the path to the target file + is encoded as a file handle. The file handle provided by three fields + 'fhandle-bytes', 'fhandle-type' and 'f_handle', all in hex format. + + If the kernel is built without exportfs support the file handle won't be + printed out. + + For fanotify files the format is the following + + pos: 0 + flags: 02 + fanotify ino:2 sdev:800013 mask:1 ignored_mask:40000000 fhandle-bytes:8 fhandle-type:1 f_handle:0200000000000000 + + or + + pos: 0 + flags: 02 + fanotify mnt_id:13 mask:1 ignored_mask:40000000 + + where 'ino', 'sdev' are target inode and device, 'mnt_id' is the mount point identifier, + 'mask' is the events mask used and 'ignored_mask' is the mask of events which are + to be ignored. All written in hex format. + + ------------------------------------------------------------------------------ Configuring procfs ------------------------------------------------------------------------------