1. 05 3月, 2010 23 次提交
  2. 03 3月, 2010 1 次提交
  3. 01 3月, 2010 1 次提交
  4. 27 2月, 2010 4 次提交
  5. 26 2月, 2010 1 次提交
  6. 25 2月, 2010 2 次提交
    • P
      vfs: Apply lockdep-based checking to rcu_dereference() uses · 7dc52157
      Paul E. McKenney 提交于
      Add lockdep-ified RCU primitives to alloc_fd(), files_fdtable()
      and fcheck_files().
      
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: laijs@cn.fujitsu.com
      Cc: dipankar@in.ibm.com
      Cc: mathieu.desnoyers@polymtl.ca
      Cc: josh@joshtriplett.org
      Cc: dvhltc@us.ibm.com
      Cc: niv@us.ibm.com
      Cc: peterz@infradead.org
      Cc: rostedt@goodmis.org
      Cc: Valdis.Kletnieks@vt.edu
      Cc: dhowells@redhat.com
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      LKML-Reference: <1266887105-1528-8-git-send-email-paulmck@linux.vnet.ibm.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      7dc52157
    • D
      dlm: fix ordering of bast and cast · 7fe2b319
      David Teigland 提交于
      When both blocking and completion callbacks are queued for lock,
      the dlm would always deliver the completion callback (cast) first.
      In some cases the blocking callback (bast) is queued before the
      cast, though, and should be delivered first.  This patch keeps
      track of the order in which they were queued and delivers them
      in that order.
      
      This patch also keeps track of the granted mode in the last cast
      and eliminates the following bast if the bast mode is compatible
      with the preceding cast mode.  This happens when a remotely mastered
      lock is demoted, e.g. EX->NL, in which case the local node queues
      a cast immediately after sending the demote message.  In this way
      a cast can be queued for a mode, e.g. NL, that makes an in-transit
      bast extraneous.
      Signed-off-by: NDavid Teigland <teigland@redhat.com>
      7fe2b319
  7. 23 2月, 2010 2 次提交
  8. 20 2月, 2010 2 次提交
  9. 19 2月, 2010 2 次提交
  10. 17 2月, 2010 1 次提交
  11. 16 2月, 2010 1 次提交
    • C
      NFS: Too many GETATTR and ACCESS calls after direct I/O · 65d26953
      Chuck Lever 提交于
      The cached read and write paths initialize fattr->time_start in their
      setup procedures.  The value of fattr->time_start is propagated to
      read_cache_jiffies by nfs_update_inode().  Subsequent calls to
      nfs_attribute_timeout() will then use a good time stamp when
      computing the attribute cache timeout, and squelch unneeded GETATTR
      calls.
      
      Since the direct I/O paths erroneously leave the inode's
      fattr->time_start field set to zero, read_cache_jiffies for that inode
      is set to zero after any direct read or write operation.  This
      triggers an otw GETATTR or ACCESS call to update the file's attribute
      and access caches properly, even when the NFS READ or WRITE replies
      have usable post-op attributes.
      
      Make sure the direct read and write setup code performs the same fattr
      initialization as the cached I/O paths to prevent unnecessary GETATTR
      calls.
      
      This was likely introduced by commit 0e574af1 in 2.6.15, which appears
      to add new nfs_fattr_init() call sites in the cached read and write
      paths, but not in the equivalent places in fs/nfs/direct.c.  A
      subsequent commit in the same series, 33801147, introduces the
      fattr->time_start field.
      
      Interestingly, the direct write reschedule path already has a call to
      nfs_fattr_init() in the right place.
      Reported-by: NQuentin Barnes <qbarnes@yahoo-inc.com>
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Cc: stable@kernel.org
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      65d26953