1. 19 Sep, 2011 2 commits
    • J. Bruce Fields's avatar
      nfsd4: hash closed stateid's like any other · f7a4d872
      J. Bruce Fields authored
      Look up closed stateid's in the stateid hash like any other stateid
      rather than searching the close lru.
      
      This is simpler, and fixes a bug: currently we handle only the case of a
      close that is the last close for a given stateowner, but not the case of
      a close for a stateowner that still has active opens on other files.
      Thus in a case like:
      
      	open(owner, file1)
      	open(owner, file2)
      	close(owner, file2)
      	close(owner, file2)
      
      the final close won't be recognized as a retransmission.
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      f7a4d872
    • J. Bruce Fields's avatar
      nfsd4: construct stateid from clientid and counter · d3b313a4
      J. Bruce Fields authored
      Including the full clientid in the on-the-wire stateid allows more
      reliable detection of bad vs. expired stateid's, simplifies code, and
      ensures we won't reuse the opaque part of the stateid (as we currently
      do when the same openowner closes and reopens the same file).
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      d3b313a4
  2. 17 Sep, 2011 2 commits
  3. 16 Sep, 2011 2 commits
    • J. Bruce Fields's avatar
      nfsd4: replace oo_confirmed by flag bit · dad1c067
      J. Bruce Fields authored
      I want at least one more bit here.  So, let's haul out the caps lock key
      and add a flags field.
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      dad1c067
    • Mi Jinlong's avatar
      nfsd41: try to check reply size before operation · 58e7b33a
      Mi Jinlong authored
      For checking the size of reply before calling a operation,
      we need try to get maxsize of the operation's reply.
      
      v3: using new method as Bruce said,
      
       "we could handle operations in two different ways:
      
      	- For operations that actually change something (write, rename,
      	  open, close, ...), do it the way we're doing it now: be
      	  very careful to estimate the size of the response before even
      	  processing the operation.
      	- For operations that don't change anything (read, getattr, ...)
      	  just go ahead and do the operation.  If you realize after the
      	  fact that the response is too large, then return the error at
      	  that point.
      
        So we'd add another flag to op_flags: say, OP_MODIFIES_SOMETHING.  And for
        operations with OP_MODIFIES_SOMETHING set, we'd do the first thing.  For
        operations without it set, we'd do the second."
      Signed-off-by: default avatarMi Jinlong <mijinlong@cn.fujitsu.com>
      [bfields@redhat.com: crash, don't attempt to handle, undefined op_rsize_bop]
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      58e7b33a
  4. 14 Sep, 2011 5 commits
  5. 13 Sep, 2011 13 commits
  6. 07 Sep, 2011 2 commits
  7. 04 Sep, 2011 1 commit
  8. 03 Sep, 2011 1 commit
  9. 02 Sep, 2011 2 commits
  10. 01 Sep, 2011 4 commits
  11. 31 Aug, 2011 6 commits