Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 346516
b: refs/heads/master
c: f1d8c16
h: refs/heads/master
v: v3
  • Loading branch information
Cyrill Gorcunov authored and Linus Torvalds committed Dec 18, 2012
1 parent 85dacd2 commit 1f513bd
Show file tree
Hide file tree
Showing 2 changed files with 83 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: be77196b809cdce8603a5aadd5e3cfabd3cbef96
refs/heads/master: f1d8c16298d317dbdeb166a135e85dadd1782858
82 changes: 82 additions & 0 deletions trunk/Documentation/filesystems/proc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ Table of Contents
3.5 /proc/<pid>/mountinfo - Information about mounts
3.6 /proc/<pid>/comm & /proc/<pid>/task/<tid>/comm
3.7 /proc/<pid>/task/<tid>/children - Information about task children
3.8 /proc/<pid>/fdinfo/<fd> - Information about opened file

4 Configuring procfs
4.1 Mount options
Expand Down Expand Up @@ -1633,6 +1634,87 @@ pids, so one need to either stop or freeze processes being inspected
if precise results are needed.


3.7 /proc/<pid>/fdinfo/<fd> - 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 'flags' denotes the 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 particular 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 resides and the 'mask' is the mask of events, all in hex
form [see inotify(7) for more details].

If the kernel was built with exportfs support, the path to the target
file is encoded as a file handle. The file handle is 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

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 in hex format.


------------------------------------------------------------------------------
Configuring procfs
------------------------------------------------------------------------------
Expand Down

0 comments on commit 1f513bd

Please sign in to comment.