Pull vfs pile #2 from Al Viro:
 "Next pile (and there'll be one or two more).
  The large piece in this one is getting rid of /proc/*/ns/* weirdness;
  among other things, it allows to (finally) make nameidata completely
  opaque outside of fs/namei.c, making for easier further cleanups in
  there"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  coda_venus_readdir(): use file_inode()
  fs/namei.c: fold link_path_walk() call into path_init()
  path_init(): don't bother with LOOKUP_PARENT in argument
  fs/namei.c: new helper (path_cleanup())
  path_init(): store the "base" pointer to file in nameidata itself
  make default ->i_fop have ->open() fail with ENXIO
  make nameidata completely opaque outside of fs/namei.c
  kill proc_ns completely
  take the targets of /proc/*/ns/* symlinks to separate fs
  bury struct proc_ns in fs/proc
  copy address of proc_ns_ops into ns_common
  new helpers: ns_alloc_inum/ns_free_inum
  make proc_ns_operations work with struct ns_common * instead of void *
  switch the rest of proc_ns_operations to working with &...->ns
  netns: switch ->get()/->put()/->install()/->inum() to working with &net->ns
  make mntns ->get()/->put()/->install()/->inum() work with &mnt_ns->ns
  common object embedded into various struct ....ns
12 files changed:
  #include <linux/rwsem.h>
  #include <linux/notifier.h>
  #include <linux/nsproxy.h>
+ #include <linux/ns_common.h>
  
 -/*
 - * ipc namespace events
 - */
 -#define IPCNS_MEMCHANGED   0x00000001   /* Notify lowmem size changed */
 -#define IPCNS_CREATED  0x00000002   /* Notify new ipc namespace created */
 -#define IPCNS_REMOVED  0x00000003   /* Notify ipc namespace removed */
 -
 -#define IPCNS_CALLBACK_PRI 0
 -
  struct user_namespace;
  
  struct ipc_ids {
 
  #include <linux/context_tracking.h>
  #include <linux/random.h>
  #include <linux/list.h>
 +#include <linux/integrity.h>
+ #include <linux/proc_ns.h>
  
  #include <asm/io.h>
  #include <asm/bugs.h>
 
        shm_exit_ns(ns);
        atomic_dec(&nr_ipc_ns);
  
 -      /*
 -       * Do the ipcns removal notification after decrementing nr_ipc_ns in
 -       * order to have a correct value when recomputing msgmni.
 -       */
 -      ipcns_notify(IPCNS_REMOVED);
        put_user_ns(ns->user_ns);
-       proc_free_inum(ns->proc_inum);
+       ns_free_inum(&ns->ns);
        kfree(ns);
  }