[Lxc-users] procfs and unnamed pipes
Timofey.Kirillov
distorhead at gmail.com
Wed Feb 6 16:52:36 UTC 2013
Hi,
I have a question about using unnamed pipes with procfs.
Suppose a chrooted environment with proc mounted as procfs. I am trying
to use bash process substitution feature and get this:
$ cat <(echo hello)
cat: /dev/fd/63: No such file or directory
While on the normal system:
$ cat <(echo hello)
hello
As I understand, the problem is that when fuse making getattr on file
'/dev/fd/63' - it determines that it is symlink. The next step is
readlink, which gives something like that: /25977/fd/63 =>
pipe:[3087676]. And at the final step getattr on file
'/25977/fd/pipe:[3087676]' gives no such file or directory.
Actually I encouter this issue while working on similar fuse proc (for
jail environments). Then I find procfs, tried it out and get the same
failure.
I've also tried to change logic of getattr in the next way. First make
normal stat of file. If it is not S_ISFIFO - make lstat. In that way the
process hangs forever on open syscall:
$ strace cat <(echo hello)
...
open("/dev/fd/63", O_RDONLY
Is there any workaround for this problem?
--
Timofey Kirillov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxcontainers.org/pipermail/lxc-users/attachments/20130206/19733bb9/attachment.html>
More information about the lxc-users
mailing list