1. 11 4月, 2011 1 次提交
    • J
      nfsd: distinguish functions of NFSD_MAY_* flags · aea93397
      J. Bruce Fields 提交于
      Most of the NFSD_MAY_* flags actually request permissions, but over the
      years we've accreted a few that modify the behavior of the permission or
      open code in other ways.
      
      Distinguish the two cases a little more.  In particular, allow the
      shortcut at the start of nfsd_permission to ignore the
      non-permission-requesting bits.
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      aea93397
  2. 31 7月, 2010 1 次提交
  3. 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
  4. 16 12月, 2009 2 次提交
  5. 14 11月, 2009 1 次提交