1. 16 Mar, 2011 38 commits
  2. 15 Mar, 2011 2 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 · 422e6c4b
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (57 commits)
        tidy the trailing symlinks traversal up
        Turn resolution of trailing symlinks iterative everywhere
        simplify link_path_walk() tail
        Make trailing symlink resolution in path_lookupat() iterative
        update nd->inode in __do_follow_link() instead of after do_follow_link()
        pull handling of one pathname component into a helper
        fs: allow AT_EMPTY_PATH in linkat(), limit that to CAP_DAC_READ_SEARCH
        Allow passing O_PATH descriptors via SCM_RIGHTS datagrams
        readlinkat(), fchownat() and fstatat() with empty relative pathnames
        Allow O_PATH for symlinks
        New kind of open files - "location only".
        ext4: Copy fs UUID to superblock
        ext3: Copy fs UUID to superblock.
        vfs: Export file system uuid via /proc/<pid>/mountinfo
        unistd.h: Add new syscalls numbers to asm-generic
        x86: Add new syscalls for x86_64
        x86: Add new syscalls for x86_32
        fs: Remove i_nlink check from file system link callback
        fs: Don't allow to create hardlink for deleted file
        vfs: Add open by file handle support
        ...
      422e6c4b
    • Trond Myklebust's avatar
      VFS: Fix the nfs sillyrename regression in kernel 2.6.38 · c83ce989
      Trond Myklebust authored
      The new vfs locking scheme introduced in 2.6.38 breaks NFS sillyrename
      because the latter relies on being able to determine the parent
      directory of the dentry in the ->iput() callback in order to send the
      appropriate unlink rpc call.
      
      Looking at the code that cares about races with dput(), there doesn't
      seem to be anything that specifically uses d_parent as a test for
      whether or not there is a race:
        - __d_lookup_rcu(), __d_lookup() all test for d_hashed() after d_parent
        - shrink_dcache_for_umount() is safe since nothing else can rearrange
          the dentries in that super block.
        - have_submount(), select_parent() and d_genocide() can test for a
          deletion if we set the DCACHE_DISCONNECTED flag when the dentry
          is removed from the parent's d_subdirs list.
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      Cc: stable@kernel.org (2.6.38, needs commit c826cb7d "dcache.c:
      	create helper function for duplicated functionality" )
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c83ce989