1. 24 2月, 2011 2 次提交
  2. 23 2月, 2011 3 次提交
  3. 21 2月, 2011 1 次提交
  4. 23 2月, 2011 6 次提交
  5. 22 2月, 2011 3 次提交
  6. 21 2月, 2011 1 次提交
    • T
      ocfs2: Little refactoring against ocfs2_iget. · 6218b90e
      Tao Ma 提交于
      ocfs2_iget is used to get/create inode. Only iget5_locked
      will give us an inode = NULL. So move this check ahead of
      ocfs2_read_locked_inode so that we don't need to check
      inode before we read and unlock inode. This is also helpful
      for trace event(see the next patch).
      Signed-off-by: NTao Ma <boyu.mt@taobao.com>
      6218b90e
  7. 22 2月, 2011 1 次提交
  8. 21 2月, 2011 1 次提交
  9. 22 2月, 2011 8 次提交
  10. 21 2月, 2011 1 次提交
  11. 07 3月, 2011 1 次提交
    • T
      ocfs2: Remove EXIT from masklog. · c1e8d35e
      Tao Ma 提交于
      mlog_exit is used to record the exit status of a function.
      But because it is added in so many functions, if we enable it,
      the system logs get filled up quickly and cause too much I/O.
      So actually no one can open it for a production system or even
      for a test.
      
      This patch just try to remove it or change it. So:
      1. if all the error paths already use mlog_errno, it is just removed.
         Otherwise, it will be replaced by mlog_errno.
      2. if it is used to print some return value, it is replaced with
         mlog(0,...).
      mlog_exit_ptr is changed to mlog(0.
      All those mlog(0,...) will be replaced with trace events later.
      Signed-off-by: NTao Ma <boyu.mt@taobao.com>
      c1e8d35e
  12. 21 2月, 2011 1 次提交
    • T
      ocfs2: Remove ENTRY from masklog. · ef6b689b
      Tao Ma 提交于
      ENTRY is used to record the entry of a function.
      But because it is added in so many functions, if we enable it,
      the system logs get filled up quickly and cause too much I/O.
      So actually no one can open it for a production system or even
      for a test.
      
      So for mlog_entry_void, we just remove it.
      for mlog_entry(...), we replace it with mlog(0,...), and they
      will be replace by trace event later.
      Signed-off-by: NTao Ma <boyu.mt@taobao.com>
      ef6b689b
  13. 16 3月, 2011 11 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 · 422e6c4b
      Linus Torvalds 提交于
      * '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
    • T
      VFS: Fix the nfs sillyrename regression in kernel 2.6.38 · c83ce989
      Trond Myklebust 提交于
      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: NTrond 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: NLinus Torvalds <torvalds@linux-foundation.org>
      c83ce989
    • L
      dcache.c: create helper function for duplicated functionality · c826cb7d
      Linus Torvalds 提交于
      This creates a helper function for he "try to ascend into the parent
      directory" case, which was written out in triplicate before.  With all
      the locking and subtle sequence number stuff, we really don't want to
      duplicate that kind of code.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c826cb7d
    • A
      tidy the trailing symlinks traversal up · 574197e0
      Al Viro 提交于
      * pull the handling of current->total_link_count into
      __do_follow_link()
      * put the common "do ->put_link() if needed and path_put() the link"
        stuff into a helper (put_link(nd, link, cookie))
      * rename __do_follow_link() to follow_link(), while we are at it
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      574197e0
    • A
      Turn resolution of trailing symlinks iterative everywhere · b356379a
      Al Viro 提交于
      The last remaining place (resolution of nested symlink) converted
      to the loop of the same kind we have in path_lookupat() and
      path_openat().
      
      Note that we still *do* have a recursion in pathname resolution;
      can't avoid it, really.  However, it's strictly for nested symlinks
      now - i.e. ones in the middle of a pathname.
      
      link_path_walk() has lost the tail now - it always walks everything
      except the last component.
      
      do_follow_link() renamed to nested_symlink() and moved down.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      b356379a
    • A
      simplify link_path_walk() tail · ce052544
      Al Viro 提交于
      Now that link_path_walk() is called without LOOKUP_PARENT
      only from do_follow_link(), we can simplify the checks in
      last component handling.  First of all, checking if we'd
      arrived to a directory is not needed - the caller will check
      it anyway.  And LOOKUP_FOLLOW is guaranteed to be there,
      since we only get to that place with nd->depth > 0.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      ce052544
    • A
      Make trailing symlink resolution in path_lookupat() iterative · bd92d7fe
      Al Viro 提交于
      Now the only caller of link_path_walk() that does *not* pass
      LOOKUP_PARENT is do_follow_link()
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      bd92d7fe
    • A
      update nd->inode in __do_follow_link() instead of after do_follow_link() · b21041d0
      Al Viro 提交于
      ... and note that we only need to do it for LAST_BIND symlinks
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      b21041d0
    • A
      pull handling of one pathname component into a helper · ce57dfc1
      Al Viro 提交于
      new helper: walk_component().  Handles everything except symlinks;
      returns negative on error, 0 on success and 1 on symlinks we decided
      to follow.  Drops out of RCU mode on such symlinks.
      
      link_path_walk() and do_last() switched to using that.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      ce57dfc1
    • A
      fs: allow AT_EMPTY_PATH in linkat(), limit that to CAP_DAC_READ_SEARCH · 11a7b371
      Aneesh Kumar K.V 提交于
      We don't want to allow creation of private hardlinks by different application
      using the fd passed to them via SCM_RIGHTS. So limit the null relative name
      usage in linkat syscall to CAP_DAC_READ_SEARCH
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      11a7b371
    • L
      Merge branch 'for-linus' of git://xenbits.xen.org/people/sstabellini/linux-pvhvm · 76ca0783
      Linus Torvalds 提交于
      * 'for-linus' of git://xenbits.xen.org/people/sstabellini/linux-pvhvm:
        xen: suspend: remove xen_hvm_suspend
        xen: suspend: pull pre/post suspend hooks out into suspend_info
        xen: suspend: move arch specific pre/post suspend hooks into generic hooks
        xen: suspend: refactor non-arch specific pre/post suspend hooks
        xen: suspend: add "arch" to pre/post suspend hooks
        xen: suspend: pass extra hypercall argument via suspend_info struct
        xen: suspend: refactor cancellation flag into a structure
        xen: suspend: use HYPERVISOR_suspend for PVHVM case instead of open coding
        xen: switch to new schedop hypercall by default.
        xen: use new schedop interface for suspend
        xen: do not respond to unknown xenstore control requests
        xen: fix compile issue if XEN is enabled but XEN_PVHVM is disabled
        xen: PV on HVM: support PV spinlocks and IPIs
        xen: make the ballon driver work for hvm domains
        xen-blkfront: handle Xen major numbers other than XENVBD
        xen: do not use xen_info on HVM, set pv_info name to "Xen HVM"
        xen: no need to delay xen_setup_shutdown_event for hvm guests anymore
      76ca0783