2010-03-07 16:41:34 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-26 06:24:06 -07:00
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-07 18:14:23 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-07 18:43:27 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-07 18:48:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-07 18:17:03 -08:00
|
|
|
|
|
|
|
|
|
2012-07-26 06:24:06 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-07 18:17:03 -08:00
|
|
|
|
2010-03-07 18:49:36 -08:00
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
|
|
|
|
|
2011-06-18 17:48:18 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-11-01 11:10:28 -04:00
|
|
|
|
2011-06-18 17:48:18 -07:00
|
|
|
|
2013-03-09 00:14:45 -08:00
|
|
|
|
2011-06-18 17:48:18 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
take the targets of /proc/*/ns/* symlinks to separate fs
New pseudo-filesystem: nsfs. Targets of /proc/*/ns/* live there now.
It's not mountable (not even registered, so it's not in /proc/filesystems,
etc.). Files on it *are* bindable - we explicitly permit that in do_loopback().
This stuff lives in fs/nsfs.c now; proc_ns_fget() moved there as well.
get_proc_ns() is a macro now (it's simply returning ->i_private; would
have been an inline, if not for header ordering headache).
proc_ns_inode() is an ex-parrot. The interface used in procfs is
ns_get_path(path, task, ops) and ns_get_name(buf, size, task, ops).
Dentries and inodes are never hashed; a non-counting reference to dentry
is stashed in ns_common (removed by ->d_prune()) and reused by ns_get_path()
if present. See ns_get_path()/ns_prune_dentry/nsfs_evict() for details
of that mechanism.
As the result, proc_ns_follow_link() has stopped poking in nd->path.mnt;
it does nd_jump_link() on a consistent <vfsmount,dentry> pair it gets
from ns_get_path().
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2014-11-01 10:57:28 -04:00
|
|
|
|
2011-06-18 17:48:18 -07:00
|
|
|
|
take the targets of /proc/*/ns/* symlinks to separate fs
New pseudo-filesystem: nsfs. Targets of /proc/*/ns/* live there now.
It's not mountable (not even registered, so it's not in /proc/filesystems,
etc.). Files on it *are* bindable - we explicitly permit that in do_loopback().
This stuff lives in fs/nsfs.c now; proc_ns_fget() moved there as well.
get_proc_ns() is a macro now (it's simply returning ->i_private; would
have been an inline, if not for header ordering headache).
proc_ns_inode() is an ex-parrot. The interface used in procfs is
ns_get_path(path, task, ops) and ns_get_name(buf, size, task, ops).
Dentries and inodes are never hashed; a non-counting reference to dentry
is stashed in ns_common (removed by ->d_prune()) and reused by ns_get_path()
if present. See ns_get_path()/ns_prune_dentry/nsfs_evict() for details
of that mechanism.
As the result, proc_ns_follow_link() has stopped poking in nd->path.mnt;
it does nd_jump_link() on a consistent <vfsmount,dentry> pair it gets
from ns_get_path().
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2014-11-01 10:57:28 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-06-18 17:48:18 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-11-01 11:10:28 -04:00
|
|
|
|
2011-06-18 17:48:18 -07:00
|
|
|
|
|
|
|
|
|
2014-03-14 13:42:45 -04:00
|
|
|
|
2011-06-18 17:48:18 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
take the targets of /proc/*/ns/* symlinks to separate fs
New pseudo-filesystem: nsfs. Targets of /proc/*/ns/* live there now.
It's not mountable (not even registered, so it's not in /proc/filesystems,
etc.). Files on it *are* bindable - we explicitly permit that in do_loopback().
This stuff lives in fs/nsfs.c now; proc_ns_fget() moved there as well.
get_proc_ns() is a macro now (it's simply returning ->i_private; would
have been an inline, if not for header ordering headache).
proc_ns_inode() is an ex-parrot. The interface used in procfs is
ns_get_path(path, task, ops) and ns_get_name(buf, size, task, ops).
Dentries and inodes are never hashed; a non-counting reference to dentry
is stashed in ns_common (removed by ->d_prune()) and reused by ns_get_path()
if present. See ns_get_path()/ns_prune_dentry/nsfs_evict() for details
of that mechanism.
As the result, proc_ns_follow_link() has stopped poking in nd->path.mnt;
it does nd_jump_link() on a consistent <vfsmount,dentry> pair it gets
from ns_get_path().
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2014-11-01 10:57:28 -04:00
|
|
|
|
2011-06-18 17:48:18 -07:00
|
|
|
|
take the targets of /proc/*/ns/* symlinks to separate fs
New pseudo-filesystem: nsfs. Targets of /proc/*/ns/* live there now.
It's not mountable (not even registered, so it's not in /proc/filesystems,
etc.). Files on it *are* bindable - we explicitly permit that in do_loopback().
This stuff lives in fs/nsfs.c now; proc_ns_fget() moved there as well.
get_proc_ns() is a macro now (it's simply returning ->i_private; would
have been an inline, if not for header ordering headache).
proc_ns_inode() is an ex-parrot. The interface used in procfs is
ns_get_path(path, task, ops) and ns_get_name(buf, size, task, ops).
Dentries and inodes are never hashed; a non-counting reference to dentry
is stashed in ns_common (removed by ->d_prune()) and reused by ns_get_path()
if present. See ns_get_path()/ns_prune_dentry/nsfs_evict() for details
of that mechanism.
As the result, proc_ns_follow_link() has stopped poking in nd->path.mnt;
it does nd_jump_link() on a consistent <vfsmount,dentry> pair it gets
from ns_get_path().
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2014-11-01 10:57:28 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-06-18 17:48:18 -07:00
|
|
|
|
2014-03-14 13:42:45 -04:00
|
|
|
|
2011-06-18 17:48:18 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-06-15 11:15:20 +04:00
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-06-18 17:48:18 -07:00
|
|
|
|
|
|
|
|
|
2014-11-01 11:10:28 -04:00
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
2012-03-23 15:02:55 -07:00
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
|
|
|
|
|
2012-06-10 16:03:43 -04:00
|
|
|
|
2013-06-15 11:15:20 +04:00
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
2013-06-15 11:15:20 +04:00
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
|
|
|
|
|
2013-05-16 12:07:31 -04:00
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
2013-05-16 12:07:31 -04:00
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-16 12:07:31 -04:00
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
2013-05-16 12:07:31 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
|
|
|
|
|
2013-05-16 12:07:31 -04:00
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-05-16 12:07:31 -04:00
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-10 17:13:09 -04:00
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
2013-06-15 11:15:20 +04:00
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-06-15 11:15:20 +04:00
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 14:42:52 -07:00
|
|
|
|
|
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-28 14:42:52 -07:00
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-06-15 11:15:20 +04:00
|
|
|
|
2010-03-07 16:41:34 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|