1. 05 8月, 2016 1 次提交
    • J
      nfsd: reorganize nfsd_create · b44061d0
      J. Bruce Fields 提交于
      There's some odd logic in nfsd_create() that allows it to be called with
      the parent directory either locked or unlocked.  The only already-locked
      caller is NFSv2's nfsd_proc_create().  It's less confusing to split out
      the unlocked case into a separate function which the NFSv2 code can call
      directly.
      
      Also fix some comments while we're here.
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      b44061d0
  2. 24 3月, 2016 1 次提交
  3. 08 12月, 2015 1 次提交
  4. 13 10月, 2015 1 次提交
  5. 01 9月, 2015 1 次提交
  6. 23 6月, 2015 1 次提交
    • C
      nfsd: take struct file setup fully into nfs4_preprocess_stateid_op · af90f707
      Christoph Hellwig 提交于
      This patch changes nfs4_preprocess_stateid_op so it always returns
      a valid struct file if it has been asked for that.  For that we
      now allocate a temporary struct file for special stateids, and check
      permissions if we got the file structure from the stateid.  This
      ensures that all callers will get their handling of special stateids
      right, and avoids code duplication.
      
      There is a little wart in here because the read code needs to know
      if we allocated a file structure so that it can copy around the
      read-ahead parameters.  In the long run we should probably aim to
      cache full file structures used with special stateids instead.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      af90f707
  7. 20 6月, 2015 1 次提交
  8. 05 5月, 2015 1 次提交
  9. 08 11月, 2014 1 次提交
  10. 01 11月, 2014 1 次提交
  11. 09 7月, 2014 2 次提交
  12. 23 6月, 2014 1 次提交
  13. 31 5月, 2014 2 次提交
  14. 26 1月, 2014 1 次提交
  15. 07 1月, 2014 1 次提交
  16. 15 5月, 2013 1 次提交
  17. 13 5月, 2013 1 次提交
  18. 26 2月, 2013 1 次提交
  19. 31 7月, 2012 1 次提交
  20. 19 3月, 2012 1 次提交
    • B
      nfsd: vfs_llseek() with 32 or 64 bit offsets (hashes) · 06effdbb
      Bernd Schubert 提交于
      Use 32-bit or 64-bit llseek() hashes for directory offsets depending on
      the NFS version. NFSv2 gets 32-bit hashes only.
      
      NOTE: This patch got rather complex as Christoph asked to set the
      filp->f_mode flag in the open call or immediatly after dentry_open()
      in nfsd_open() to avoid races.
      Personally I still do not see a reason for that and in my opinion
      FMODE_32BITHASH/FMODE_64BITHASH flags could be set nfsd_readdir(), as it
      follows directly after nfsd_open() without a chance of races.
      Signed-off-by: NBernd Schubert <bernd.schubert@itwm.fraunhofer.de>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      Acked-by: J. Bruce Fields<bfields@redhat.com>
      06effdbb
  21. 04 1月, 2012 2 次提交
  22. 18 10月, 2011 1 次提交
  23. 28 8月, 2011 2 次提交
  24. 30 4月, 2011 1 次提交
  25. 11 4月, 2011 2 次提交
  26. 31 7月, 2010 1 次提交
  27. 23 3月, 2010 1 次提交
    • J
      nfsd: don't break lease while servicing a COMMIT · 91885258
      Jeff Layton 提交于
      This is the second attempt to fix the problem whereby a COMMIT call
      causes a lease break and triggers a possible deadlock.
      
      The problem is that nfsd attempts to break a lease on a COMMIT call.
      This triggers a delegation recall if the lease is held for a delegation.
      If the client is the one holding the delegation and it's the same one on
      which it's issuing the COMMIT, then it can't return that delegation
      until the COMMIT is complete. But, nfsd won't complete the COMMIT until
      the delegation is returned. The client and server are essentially
      deadlocked until the state is marked bad (due to the client not
      responding on the callback channel).
      
      The first patch attempted to deal with this by eliminating the open of
      the file altogether and simply had nfsd_commit pass a NULL file pointer
      to the vfs_fsync_range. That would conflict with some work in progress
      by Christoph Hellwig to clean up the fsync interface, so this patch
      takes a different approach.
      
      This declares a new NFSD_MAY_NOT_BREAK_LEASE access flag that indicates
      to nfsd_open that it should not break any leases when opening the file,
      and has nfsd_commit set that flag on the nfsd_open call.
      
      For now, this patch leaves nfsd_commit opening the file with write
      access since I'm not clear on what sort of access would be more
      appropriate.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Cc: stable@kernel.org
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      91885258
  28. 16 12月, 2009 2 次提交
  29. 14 11月, 2009 1 次提交