1. 08 11月, 2012 2 次提交
    • J
      nfsd4: common helper to initialize callback work · 57725155
      J. Bruce Fields 提交于
      I've found it confusing having the only references to
      nfsd4_do_callback_rpc() in a different file.
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      57725155
    • J
      nfsd4: use callback security parameters in create_session · c6bb3ca2
      J. Bruce Fields 提交于
      We're currently ignoring the callback security parameters specified in
      create_session, and just assuming the client wants auth_sys, because
      that's all the current linux client happens to care about.  But this
      could cause us callbacks to fail to a client that wanted something
      different.
      
      For now, all we're doing is no longer ignoring the uid and gid passed in
      the auth_sys case.  Further patches will add support for auth_null and
      gss (and possibly use more of the auth_sys information; the spec wants
      us to use exactly the credential we're passed, though it's hard to
      imagine why a client would care).
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      c6bb3ca2
  2. 11 9月, 2012 1 次提交
  3. 21 8月, 2012 1 次提交
  4. 20 6月, 2012 1 次提交
    • J
      nfsd4: remove unnecessary comment · 9068bed1
      J. Bruce Fields 提交于
      For the most part readers of cl_cb_state only need a value that is
      "eventually" right.  And the value is set only either 1) in response to
      some change of state, in which case it's set to UNKNOWN and then a
      callback rpc is sent to probe the real state, or b) in the handling of a
      response to such a callback.  UNKNOWN is therefore always a "temporary"
      state, and for the other states we're happy to accept last writer wins.
      
      So I think we're OK here.
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      9068bed1
  5. 01 6月, 2012 1 次提交
  6. 29 3月, 2012 1 次提交
  7. 26 3月, 2012 1 次提交
    • J
      nfsd: convert nfs4_client->cl_cb_flags to a generic flags field · a52d726b
      Jeff Layton 提交于
      We'll need a way to flag the nfs4_client as already being recorded on
      stable storage so that we don't continually upcall. Currently, that's
      recorded in the cl_firststate field of the client struct. Using an
      entire u32 to store a flag is rather wasteful though.
      
      The cl_cb_flags field is only using 2 bits right now, so repurpose that
      to a generic flags field. Rename NFSD4_CLIENT_KILL to
      NFSD4_CLIENT_CB_KILL to make it evident that it's part of the callback
      flags. Add a mask that we can use for existing checks that look to see
      whether any flags are set, so that the new flags don't interfere.
      
      Convert all references to cl_firstate to the NFSD4_CLIENT_STABLE flag,
      and add a new NFSD4_CLIENT_RECLAIM_COMPLETE flag.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      a52d726b
  8. 10 3月, 2012 1 次提交
  9. 01 2月, 2012 2 次提交
  10. 05 1月, 2012 1 次提交
  11. 24 10月, 2011 1 次提交
  12. 27 9月, 2011 1 次提交
  13. 14 9月, 2011 1 次提交
  14. 23 2月, 2011 1 次提交
  15. 14 2月, 2011 1 次提交
  16. 15 1月, 2011 1 次提交
  17. 14 1月, 2011 1 次提交
  18. 12 1月, 2011 6 次提交
  19. 05 1月, 2011 2 次提交
  20. 17 12月, 2010 5 次提交
  21. 25 10月, 2010 1 次提交
  22. 21 10月, 2010 6 次提交
  23. 02 10月, 2010 1 次提交
    • J
      nfsd4: Move callback setup to callback queue · 6ff8da08
      J. Bruce Fields 提交于
      Instead of creating the new rpc client from a regular server thread,
      set a flag, kick off a null call, and allow the null call to do the work
      of setting up the client on the callback workqueue.
      
      Use a spinlock to ensure the callback work gets a consistent view of the
      callback parameters.
      
      This allows, for example, changing the callback from contexts where
      sleeping is not allowed.  I hope it will also keep the locking simple as
      we add more session and trunking features, by serializing most of the
      callback-specific work.
      
      This also closes a small race where the the new cb_ident could be used
      with an old connection (or vice-versa).
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      6ff8da08