]> git.karo-electronics.de Git - karo-tx-linux.git/commit
fs/pipe.c: add ->statfs callback for pipefs
authorPavel Emelyanov <xemul@parallels.com>
Wed, 5 Oct 2011 00:43:18 +0000 (11:43 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 6 Oct 2011 05:59:51 +0000 (16:59 +1100)
commit0b56cbfe328d0a15f04ad216afbf92794978f6c7
treebd1d7b9bfeccedc8efb3308dd505e75cda4adc8e
parent858e24d9b4e8d00bde2f7cb8ad7c8b01a08c4654
fs/pipe.c: add ->statfs callback for pipefs

Currently a statfs on a pipe's /proc/<pid>/fd/ link returns -ENOSYS.  Wire
pipfs up so that the statfs succeeds.

This is required by checkpoint-restart in the userspace to make it
possible to distinguish pipes from fifos.

When we dump information about task's open files we use the /proc/pid/fd
directoy's symlinks and the fact that opening any of them gives us exactly
the same dentry->inode pair as the original process has.  Now if a task
we're dumping has opened pipe and fifo we need to detect this and act
accordingly.  Knowing that an fd with type S_ISFIFO resides on a pipefs is
the most precise way.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Reviewed-by: Tejun Heo <tj@kernel.org>
Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/pipe.c