1. 27 9月, 2011 1 次提交
  2. 17 9月, 2011 1 次提交
  3. 16 9月, 2011 1 次提交
    • M
      nfsd41: try to check reply size before operation · 58e7b33a
      Mi Jinlong 提交于
      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: NMi Jinlong <mijinlong@cn.fujitsu.com>
      [bfields@redhat.com: crash, don't attempt to handle, undefined op_rsize_bop]
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      58e7b33a
  4. 14 9月, 2011 1 次提交
  5. 07 9月, 2011 1 次提交
  6. 01 9月, 2011 4 次提交
  7. 28 8月, 2011 1 次提交
  8. 27 8月, 2011 2 次提交
    • J
      nfsd4: it's OK to return nfserr_symlink · 75c096f7
      J. Bruce Fields 提交于
      The nfsd4 code has a bunch of special exceptions for error returns which
      map nfserr_symlink to other errors.
      
      In fact, the spec makes it clear that nfserr_symlink is to be preferred
      over less specific errors where possible.
      
      The patch that introduced it back in 2.6.4 is "kNFSd: correct symlink
      related error returns.", which claims that these special exceptions are
      represent an NFSv4 break from v2/v3 tradition--when in fact the symlink
      error was introduced with v4.
      
      I suspect what happened was pynfs tests were written that were overly
      faithful to the (known-incomplete) rfc3530 error return lists, and then
      code was fixed up mindlessly to make the tests pass.
      
      Delete these unnecessary exceptions.
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      75c096f7
    • J
      nfsd4: clean up S_IS -> NF4 file type mapping · 3d2544b1
      J. Bruce Fields 提交于
      A slightly unconventional approach to make the code more compact I could
      live with, but let's give the poor reader *some* chance.
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      3d2544b1
  9. 20 8月, 2011 1 次提交
  10. 18 7月, 2011 2 次提交
  11. 16 7月, 2011 2 次提交
  12. 19 5月, 2011 1 次提交
  13. 30 4月, 2011 2 次提交
  14. 18 3月, 2011 1 次提交
  15. 09 3月, 2011 1 次提交
  16. 17 2月, 2011 1 次提交
  17. 12 1月, 2011 2 次提交
  18. 05 1月, 2011 3 次提交
  19. 30 12月, 2010 1 次提交
  20. 18 12月, 2010 1 次提交
  21. 20 11月, 2010 1 次提交
  22. 02 10月, 2010 1 次提交
  23. 10 8月, 2010 1 次提交
    • C
      pass a struct path to vfs_statfs · ebabe9a9
      Christoph Hellwig 提交于
      We'll need the path to implement the flags field for statvfs support.
      We do have it available in all callers except:
      
       - ecryptfs_statfs.  This one doesn't actually need vfs_statfs but just
         needs to do a caller to the lower filesystem statfs method.
       - sys_ustat.  Add a non-exported statfs_by_dentry helper for it which
         doesn't won't be able to fill out the flags field later on.
      
      In addition rename the helpers for statfs vs fstatfs to do_*statfs instead
      of the misleading vfs prefix.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      ebabe9a9
  24. 31 7月, 2010 1 次提交
  25. 23 6月, 2010 1 次提交
  26. 14 5月, 2010 1 次提交
  27. 13 5月, 2010 1 次提交
    • B
      nfsd4: keep a reference count on client while in use · d7682988
      Benny Halevy 提交于
      Get a refcount on the client on SEQUENCE,
      Release the refcount and renew the client when all respective compounds completed.
      Do not expire the client by the laundromat while in use.
      If the client was expired via another path, free it when the compounds
      complete and the refcount reaches 0.
      
      Note that unhash_client_locked must call list_del_init on cl_lru as
      it may be called twice for the same client (once from nfs4_laundromat
      and then from expire_client)
      Signed-off-by: NBenny Halevy <bhalevy@panasas.com>
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      d7682988
  28. 04 5月, 2010 1 次提交
  29. 03 5月, 2010 1 次提交
  30. 27 4月, 2010 1 次提交
    • N
      nfsd4: bug in read_buf · 2bc3c117
      Neil Brown 提交于
      When read_buf is called to move over to the next page in the pagelist
      of an NFSv4 request, it sets argp->end to essentially a random
      number, certainly not an address within the page which argp->p now
      points to.  So subsequent calls to READ_BUF will think there is much
      more than a page of spare space (the cast to u32 ensures an unsigned
      comparison) so we can expect to fall off the end of the second
      page.
      
      We never encountered thsi in testing because typically the only
      operations which use more than two pages are write-like operations,
      which have their own decoding logic.  Something like a getattr after a
      write may cross a page boundary, but it would be very unusual for it to
      cross another boundary after that.
      
      Cc: stable@kernel.org
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      2bc3c117