1. 24 6月, 2009 2 次提交
  2. 23 6月, 2009 2 次提交
    • T
      VFS: Add VFS helper functions for setting up private namespaces · cf8d2c11
      Trond Myklebust 提交于
      The purpose of this patch is to improve the remote mount path lookup
      support for distributed filesystems such as the NFSv4 client.
      
      When given a mount command of the form "mount server:/foo/bar /mnt", the
      NFSv4 client is required to look up the filehandle for "server:/", and
      then look up each component of the remote mount path "foo/bar" in order
      to find the directory that is actually going to be mounted on /mnt.
      Following that remote mount path may involve following symlinks,
      crossing server-side mount points and even following referrals to
      filesystem volumes on other servers.
      
      Since the standard VFS path lookup code already supports walking paths
      that contain all these features (using in-kernel automounts for
      following referrals) we would like to be able to reuse that rather than
      duplicate the full path traversal functionality in the NFSv4 client code.
      
      This patch therefore defines a VFS helper function create_mnt_ns(), that
      sets up a temporary filesystem namespace and attaches a root filesystem to
      it. It exports the create_mnt_ns() and put_mnt_ns() function for use by
      filesystem modules.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cf8d2c11
    • T
      VFS: Uninline the function put_mnt_ns() · 616511d0
      Trond Myklebust 提交于
      In order to allow modules to use it without having to export vfsmount_lock.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      616511d0
  3. 12 6月, 2009 10 次提交
  4. 09 5月, 2009 2 次提交
  5. 21 4月, 2009 1 次提交
  6. 20 4月, 2009 1 次提交
  7. 01 4月, 2009 3 次提交
  8. 28 3月, 2009 1 次提交
  9. 27 3月, 2009 2 次提交
  10. 18 2月, 2009 1 次提交
    • A
      Fix incomplete __mntput locking · 1a88b536
      Al Viro 提交于
      Getting this wrong caused
      
      	WARNING: at fs/namespace.c:636 mntput_no_expire+0xac/0xf2()
      
      due to optimistically checking cpu_writer->mnt outside the spinlock.
      
      Here's what we really want:
       * we know that nobody will set cpu_writer->mnt to mnt from now on
       * all changes to that sucker are done under cpu_writer->lock
       * we want the laziest equivalent of
      	spin_lock(&cpu_writer->lock);
      	if (likely(cpu_writer->mnt != mnt)) {
      		spin_unlock(&cpu_writer->lock);
      		continue;
      	}
      	/* do stuff */
        that would make sure we won't miss earlier setting of ->mnt done by
        another CPU.
      
      Anyway, for now we just move the spin_lock() earlier and move the test
      into the properly locked region.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Reported-and-tested-by: NLi Zefan <lizf@cn.fujitsu.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1a88b536
  11. 14 1月, 2009 2 次提交
  12. 01 1月, 2009 1 次提交
  13. 14 11月, 2008 1 次提交
  14. 13 11月, 2008 1 次提交
  15. 23 10月, 2008 3 次提交
  16. 01 8月, 2008 1 次提交
  17. 27 7月, 2008 4 次提交
  18. 14 7月, 2008 1 次提交
  19. 30 4月, 2008 1 次提交