)]}'
{
  "log": [
    {
      "commit": "45377b94edea18f53dd3ba4d46d94de4bb7c00b5",
      "tree": "b76829b222a3aaadddfc804ff3a5749d35e42f78",
      "parents": [
        "48a9e2d2289ed4b5053b3986d99709e9b07a0923"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:21 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:36 2009 -0700"
      },
      "message": "nfs41: callback numbers definitions\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "48a9e2d2289ed4b5053b3986d99709e9b07a0923",
      "tree": "db397b9d26c69eefadef9e53c27364624743cef4",
      "parents": [
        "b8f2ef84b079ceb22b42d6d353609db7eb8efa93"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:20 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:35 2009 -0700"
      },
      "message": "nfs41: decode minorversion 1 cb_compound header\n\ndecode cb_compound header conforming to\nhttp://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26\n\nGet rid of cb_compound_hdr_arg.callback_ident\n\ncallback_ident is not used anywhere so we shouldn\u0027t waste any memory to\nstore it.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: no need to break read_buf in decode_compound_hdr_arg]\nSee http://linux-nfs.org/pipermail/pnfs/2009-June/007844.html\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "b8f2ef84b079ceb22b42d6d353609db7eb8efa93",
      "tree": "4291e1cb31228344163c66d33cc59246d3b65cff",
      "parents": [
        "5a0ffe544c54f62be99751e369f4d0f44bd5ee19"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:19 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:35 2009 -0700"
      },
      "message": "nfs41: store minorversion in cb_compound_hdr_arg\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "5a0ffe544c54f62be99751e369f4d0f44bd5ee19",
      "tree": "893bfed85d389220b404f5fabcb4d15aa36c9624",
      "parents": [
        "343952fa5aac888934ffc203abed26a823400eb6"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:23:18 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:34 2009 -0700"
      },
      "message": "nfs41: Release backchannel resources associated with session\n\nFrees the preallocated backchannel resources that are associated with\nthis session when the session is destroyed.\n\nA backchannel is currently created once per session. Destroy the backchannel\nonly when the session is destroyed.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "343952fa5aac888934ffc203abed26a823400eb6",
      "tree": "95fc380be059ac0b0d3f7f89c1f76b2375685507",
      "parents": [
        "0f91421e8ea986c990c01bf091ceff1d59c165ff"
      ],
      "author": {
        "name": "Rahul Iyer",
        "email": "iyer@netapp.com",
        "time": "Wed Apr 01 09:23:17 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:34 2009 -0700"
      },
      "message": "nfs41: Get the rpc_xprt * from the rpc_rqst instead of the rpc_clnt.\n\nObtain the rpc_xprt from the rpc_rqst so that calls and callback replies\ncan both use the same code path.  A client needs the rpc_xprt in order\nto reply to a callback.\n\nSigned-off-by: Rahul Iyer \u003ciyer@netapp.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "0f91421e8ea986c990c01bf091ceff1d59c165ff",
      "tree": "2b78fce5cb8b2d939c3b06a07027c1792c0a938e",
      "parents": [
        "0b5b7ae0a853c91015bb3b1729166ca65f693322"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:23:16 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:33 2009 -0700"
      },
      "message": "nfs41: Client indicates presence of NFSv4.1 callback channel.\n\nSet the SESSION4_BACK_CHAN flag to indicate the client supports a backchannel.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "0b5b7ae0a853c91015bb3b1729166ca65f693322",
      "tree": "0a2cce02b1446d63dc87f74bce84e6b5787f69bf",
      "parents": [
        "e82dc22dac6525a2f365a1d53c0483252d4aa38e"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:23:15 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:32 2009 -0700"
      },
      "message": "nfs41: Setup the backchannel\n\nThe NFS v4.1 callback service has already been setup, and\nrpc_xprt-\u003eserv points to the svc_serv structure describing it.\nInvoke the xprt_setup_backchannel() initialization to pre-\nallocate the necessary backchannel structures.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: change nfs4_put_session(nfs4_session**) to nfs4_destroy_session(nfs_session*)]\nSigned-off-by: Alexandros Batsakis \u003cAlexandros.Batsakis@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[moved xprt_setup_backchannel from nfs4_init_session to nfs4_init_backchannel]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "e82dc22dac6525a2f365a1d53c0483252d4aa38e",
      "tree": "1a347b34c955db77017a5df533fc1798f164e768",
      "parents": [
        "8f975242352e92898dc641ebff0d24808f39848a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:23:14 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:32 2009 -0700"
      },
      "message": "nfs41: Allow NFSv4 and NFSv4.1 callback services to coexist\n\nTracks the nfs_callback_info for both versions, enabling the callback\nservice for v4 and v4.1 to run concurrently and be stopped independently\nof each other.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "8f975242352e92898dc641ebff0d24808f39848a",
      "tree": "5a14be85500e5da33b97f4951efa42abe56cd570",
      "parents": [
        "9c9f3f5fa62cc4959e4d4d1cf1ec74f2d6ac1197"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:11 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:31 2009 -0700"
      },
      "message": "nfs41: create a svc_xprt for nfs41 callback thread and use for incoming callbacks\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "9c9f3f5fa62cc4959e4d4d1cf1ec74f2d6ac1197",
      "tree": "a8fb954b9e707b4afdd822e503fc4857f4d88d5d",
      "parents": [
        "7652e5a09ba319241607b22d9055ce93fd5b8039"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:23:10 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:31 2009 -0700"
      },
      "message": "nfs41: sunrpc: add a struct svc_xprt pointer to struct svc_serv for backchannel use\n\nThis svc_xprt is passed on to the callback service thread to be later used\nto processes incoming svc_rqst\u0027s\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "7652e5a09ba319241607b22d9055ce93fd5b8039",
      "tree": "9d1d491af237dffb1593ed8f2351ebda36b32972",
      "parents": [
        "a43cde94feded0f65fce36330614691c650ae8fe"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:09 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:30 2009 -0700"
      },
      "message": "nfs41: sunrpc: provide functions to create and destroy a svc_xprt for backchannel use\n\nFor nfs41 callbacks we need an svc_xprt to process requests coming up the\nbackchannel socket as rpc_rqst\u0027s that are transformed into svc_rqst\u0027s that\nneed a rq_xprt to be processed.\n\nThe svc_{udp,tcp}_create methods are too heavy for this job as svc_create_socket\ncreates an actual socket to listen on while for nfs41 we\u0027re \"reusing\" the\nfore channel\u0027s socket.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "a43cde94feded0f65fce36330614691c650ae8fe",
      "tree": "b3940556128434f292369b963ec4f3b819c7ff66",
      "parents": [
        "4d6bbb6233c9cf23822a2f66f8470c9f40854b77"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:08 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:29 2009 -0700"
      },
      "message": "nfs41: Implement NFSv4.1 callback service process.\n\nnfs41_callback_up() initializes the necessary queues and creates the new\nnfs41_callback_svc thread.  This thread executes the callback service which\nwaits for requests to arrive on the svc_serv-\u003esv_cb_list.\n\nNFS41_BC_MIN_CALLBACKS is set to 1 because we expect callbacks to not\ncause substantial latency.\n\nThe actual processing of the callback will be implemented as a separate patch.\n\nThere is only one NFSv4.1 callback service.  The first caller of\nnfs4_callback_up() creates the service, subsequent callers increment a\nreference count on the service.  The service is destroyed when the last\ncaller invokes nfs_callback_down().\n\nThe transport needs to hold a reference to the callback service in order\nto invoke it during callback processing.  Currently this reference is only\nobtained when the service is first created.  This is incorrect, since\nsubsequent registrations for other transports will leave the xprt-\u003eserv\npointer uninitialized, leading to an oops when a callback arrives on\nthe \"unreferenced\" transport.\n\nThis patch fixes the problem by ensuring that a reference to the service\nis saved in xprt-\u003eserv, either because the service is created by this\ninvocation to nfs4_callback_up() or by a prior invocation.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Add a reference to svc_serv during callback service bring up]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Type check arguments of nfs_callback_up]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: save svc_serv in nfs_callback_info]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Removal of ugly #ifdefs]\n[nfs41: Update to removal of ugly #ifdefs]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "4d6bbb6233c9cf23822a2f66f8470c9f40854b77",
      "tree": "0779a7173d2d33adc83162596e64f5636e9f7d5c",
      "parents": [
        "1cad7ea6fe98dc414bd3df55275c147bd15ebf97"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:07 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:29 2009 -0700"
      },
      "message": "nfs41: Backchannel bc_svc_process()\n\nImplement the NFSv4.1 backchannel service.  Invokes the common callback\nprocessing logic svc_process_common() to authenticate the call and\ndispatch the appropriate NFSv4.1 XDR decoder and operation procedure.\nIt then invokes bc_send() to send the reply over the same connection.\nbc_send() is implemented in a separate patch.\n\nAt this time there is no slot validation or reply cache handling.\n\n[nfs41: Preallocate rpc_rqst receive buffer for handling callbacks]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Move bc_svc_process() declaration to correct patch]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "1cad7ea6fe98dc414bd3df55275c147bd15ebf97",
      "tree": "1df4c7075e6a197bc95d69e6d1c95a8b8f4b8646",
      "parents": [
        "0d90ba1cd416525c4825c111db862d8b15a02e9b"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "ricardo.labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:06 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:28 2009 -0700"
      },
      "message": "nfs41: Refactor svc_process()\n\nnet/sunrpc/svc.c:svc_process() is used by the NFSv4 callback service\nto process RPC requests arriving over connections initiated by the\nserver.  NFSv4.1 supports callbacks over the backchannel on connections\ninitiated by the client.  This patch refactors svc_process() so that\ncommon code can also be used by the backchannel.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "0d90ba1cd416525c4825c111db862d8b15a02e9b",
      "tree": "1f1571410b2d1b17eb8e503fc3b60450f93e9dee",
      "parents": [
        "55ae1aabfb108106dd095de2578ceef1c755a8b8"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:04 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:28 2009 -0700"
      },
      "message": "nfs41: Backchannel callback service helper routines\n\nExecutes the backchannel task on the RPC state machine using\nthe existing open connection previously established by the client.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\n\nnfs41: Add bc_svc.o to sunrpc Makefile.\n\n[nfs41: bc_send() does not need to be exported outside RPC module]\n[nfs41: xprt_free_bc_request() need not be exported outside RPC module]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Update copyright]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "55ae1aabfb108106dd095de2578ceef1c755a8b8",
      "tree": "7ccb91f5aac0a3646f7d4e8fbe913955aa300f95",
      "parents": [
        "44b98efdd0a205bdca2cb63493350d06ff6804b1"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:03 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:24 2009 -0700"
      },
      "message": "nfs41: Add backchannel processing support to RPC state machine\n\nAdds rpc_run_bc_task() which is called by the NFS callback service to\nprocess backchannel requests.  It performs similar work to rpc_run_task()\nthough \"schedules\" the backchannel task to be executed starting at the\ncall_trasmit state in the RPC state machine.\n\nIt also introduces some miscellaneous updates to the argument validation,\ncall_transmit, and transport cleanup functions to take into account\nthat there are now forechannel and backchannel tasks.\n\nBackchannel requests do not carry an RPC message structure, since the\npayload has already been XDR encoded using the existing NFSv4 callback\nmechanism.\n\nIntroduce a new transmit state for the client to reply on to backchannel\nrequests.  This new state simply reserves the transport and issues the\nreply.  In case of a connection related error, disconnects the transport and\ndrops the reply.  It requires the forechannel to re-establish the connection\nand the server to retransmit the request, as stated in NFSv4.1 section\n2.9.2 \"Client and Server Transport Behavior\".\n\nNote: There is no need to loop attempting to reserve the transport.  If EAGAIN\nis returned by xprt_prepare_transmit(), return with tk_status \u003d\u003d 0,\nsetting tk_action to call_bc_transmit.  rpc_execute() will invoke it again\nafter the task is taken off the sleep queue.\n\n[nfs41: rpc_run_bc_task() need not be exported outside RPC module]\n[nfs41: New call_bc_transmit RPC state]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Backchannel: No need to loop in call_bc_transmit()]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[rpc_count_iostats incorrectly exits early]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Convert rpc_reply_expected() to inline function]\n[Remove unnecessary BUG_ON()]\n[Rename variable]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "44b98efdd0a205bdca2cb63493350d06ff6804b1",
      "tree": "d375e3a8a6084672f15e9b12bec082613448340e",
      "parents": [
        "4a8d70bfef01f8e6b27785e2625e88e9a80924a5"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:02 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 13:06:16 2009 -0700"
      },
      "message": "nfs41: New xs_tcp_read_data()\n\nHandles RPC replies and backchannel callbacks.  Traditionally the NFS\nclient has expected only RPC replies on its open connections.  With\nNFSv4.1, callbacks can arrive over an existing open connection.\n\nThis patch refactors the old xs_tcp_read_request() into an RPC reply handler:\nxs_tcp_read_reply(), a new backchannel callback handler: xs_tcp_read_callback(),\nand a common routine to read the data off the transport: xs_tcp_read_common().\nThe new xs_tcp_read_callback() queues callback requests onto a queue where\nthe callback service (a separate thread) is listening for the processing.\n\nThis patch incorporates work and suggestions from Rahul Iyer (iyer@netapp.com)\nand Benny Halevy (bhalevy@panasas.com).\n\nxs_tcp_read_callback() drops the connection when the number of expected\ncallbacks is exceeded.  Use xprt_force_disconnect(), ensuring tasks on\nthe pending queue are awaken on disconnect.\n\n[nfs41: Keep track of RPC call/reply direction with a flag]\n[nfs41: Preallocate rpc_rqst receive buffer for handling callbacks]\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: sunrpc: xs_tcp_read_callback() should use xprt_force_disconnect()]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Moves embedded #ifdefs into #ifdef function blocks]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "4a8d70bfef01f8e6b27785e2625e88e9a80924a5",
      "tree": "15ed5ffd9210cf10d62abb9c3b78648c3fb50675",
      "parents": [
        "fb7a0b9addbdbbb13b7bc02abf55ee524ea19ce1"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:01 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 13:06:15 2009 -0700"
      },
      "message": "nfs41: New include/linux/sunrpc/bc_xprt.h\n\nContains prototype for backchannel helper routines.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: xprt_setup_backchannel v4.0 only inline]\n    Fix compile error when CONFIG_NFS_V4_1 is not set.\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Update Copyright notice and fix formatting]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "fb7a0b9addbdbbb13b7bc02abf55ee524ea19ce1",
      "tree": "58f623e78f74c590e20b48f95897c5857d39728f",
      "parents": [
        "f9acac1a4710ce88871f1ae323fc91c1cb6e9d52"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:00 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 13:06:14 2009 -0700"
      },
      "message": "nfs41: New backchannel helper routines\n\nThis patch introduces support to setup the callback xprt on the client side.\nIt allocates/ destroys the preallocated memory structures used to process\nbackchannel requests.\n\nAt setup time, xprt_setup_backchannel() is invoked to allocate one or\nmore rpc_rqst structures and substructures.  This ensures that they\nare available when an RPC callback arrives.  The rpc_rqst structures\nare maintained in a linked list attached to the rpc_xprt structure.\nWe keep track of the number of allocations so that they can be correctly\nremoved when the channel is destroyed.\n\nWhen an RPC callback arrives, xprt_alloc_bc_request() is invoked to\nobtain a preallocated rpc_rqst structure.  An rpc_xprt structure is\nreturned, and its RPC_BC_PREALLOC_IN_USE bit is set in\nrpc_xprt-\u003ebc_flags.  The structure is removed from the the list\nsince it is now in use, and it will be later added back when its\nuser is done with it.\n\nAfter the RPC callback replies, the rpc_rqst structure is returned\nby invoking xprt_free_bc_request().  This clears the\nRPC_BC_PREALLOC_IN_USE bit and adds it back to the list, allowing it\nto be reused by a subsequent RPC callback request.\n\nTo be consistent with the reception of RPC messages, the backchannel requests\nshould be placed into the \u0027struct rpc_rqst\u0027 rq_rcv_buf, which is then in turn\ncopied to the \u0027struct rpc_rqst\u0027 rq_private_buf.\n\n[nfs41: Preallocate rpc_rqst receive buffer for handling callbacks]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Update copyright notice and explain page allocation]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "f9acac1a4710ce88871f1ae323fc91c1cb6e9d52",
      "tree": "89b51a8fac7b80cd68d1007d00fa11da4480a04d",
      "parents": [
        "56632b5bff5af10eb12d7e9499b5ffcadcb7a7b2"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:22:59 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 13:06:14 2009 -0700"
      },
      "message": "nfs41: Initialize new rpc_xprt callback related fields\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "56632b5bff5af10eb12d7e9499b5ffcadcb7a7b2",
      "tree": "41632f7d033a791e1925a84f14488efcb9c0dd83",
      "parents": [
        "7146851376861fe55c7a48ac8fc1354a5fff6cd0"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:22:58 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 13:06:13 2009 -0700"
      },
      "message": "nfs41: client callback structures\n\nAdds new list of rpc_xprt structures, and a readers/writers lock to\nprotect the list.  The list is used to preallocate resources for\nthe backchannel during backchannel requests.  Callbacks are not\nexpected to cause significant latency, so only one callback will\nbe allowed at this time.\n\nIt also adds a pointer to the NFS callback service so that\nrequests can be directed to it for processing.\n\nNew callback members added to svc_serv. The NFSv4.1 callback service will\nsleep on the svc_serv-\u003esvc_cb_waitq until new callback requests arrive.\nThe request will be queued in svc_serv-\u003esvc_cb_list. This patch adds this\nlist, the sleep queue and spinlock to svc_serv.\n\n[nfs41: NFSv4.1 callback support]\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "7146851376861fe55c7a48ac8fc1354a5fff6cd0",
      "tree": "44c9a7427a3f1cea41c15a07d2aa63bbdeaf8936",
      "parents": [
        "9bdaa86d2a4cbf9a71de3048c0c0a874e7ebc8ad"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:56 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 13:06:01 2009 -0700"
      },
      "message": "nfs41: minorversion support for nfs4_{init,destroy}_callback\n\nmove nfs4_init_callback into nfs4_init_client_minor_version\nand nfs4_destroy_callback into nfs4_clear_client_minor_version\n\nas these need to happen also when auto-negotiating the minorversion\nonce the callback service for nfs41 becomes different than for nfs4.0\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Fix checkpatch warning]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Type check arguments of nfs_callback_up]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Backchannel: Remove FIXME comment]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "9bdaa86d2a4cbf9a71de3048c0c0a874e7ebc8ad",
      "tree": "d12e23a15e86b929e3840116741696765000a6b4",
      "parents": [
        "f4a2e418bfd03a1f25f515e8a92ecd584d96cfc1"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:55 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:43:47 2009 -0700"
      },
      "message": "nfs41: Refactor nfs4_{init,destroy}_callback for nfs4.0\n\nRefactor-out code to bring the callback service up and down.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "f4a2e418bfd03a1f25f515e8a92ecd584d96cfc1",
      "tree": "31ea603214b4c68c338af9373b85eedfe0c11275",
      "parents": [
        "18dca02aeb3c49dfce87c76be643b139d05cf647"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:22:54 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:43:46 2009 -0700"
      },
      "message": "nfs41: Process the RPC call direction\n\nReading and storing the RPC direction is a three step process.\n\n1. xs_tcp_read_calldir() reads the RPC direction, but it will not store it\nin the XDR buffer since the \u0027struct rpc_rqst\u0027 is not yet available.\n\n2. The \u0027struct rpc_rqst\u0027 is obtained during the TCP_RCV_COPY_DATA state.\nThis state need not necessarily be preceeded by the TCP_RCV_READ_CALLDIR.\nFor example, we may be reading a continuation packet to a large reply.\nTherefore, we can\u0027t simply obtain the \u0027struct rpc_rqst\u0027 during the\nTCP_RCV_READ_CALLDIR state and assume it\u0027s available during TCP_RCV_COPY_DATA.\n\nThis patch adds a new TCP_RCV_READ_CALLDIR flag to indicate the need to\nread the RPC direction.  It then uses TCP_RCV_COPY_CALLDIR to indicate the\nRPC direction needs to be saved after the \u0027struct rpc_rqst\u0027 has been allocated.\n\n3. The \u0027struct rpc_rqst\u0027 is obtained by the xs_tcp_read_data() helper\nfunctions.  xs_tcp_read_common() then saves the RPC direction in the XDR\nbuffer if TCP_RCV_COPY_CALLDIR is set.  This will happen when we\u0027re reading\nthe data immediately after the direction was read.  xs_tcp_read_common()\nthen clears this flag.\n\n[was nfs41: Skip past the RPC call direction]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: sunrpc: Add RPC direction back into the XDR buffer]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: sunrpc: Don\u0027t skip past the RPC call direction]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "18dca02aeb3c49dfce87c76be643b139d05cf647",
      "tree": "3e261efdba69b967500a36d8f65ac643c8693d76",
      "parents": [
        "34dc1ad752ad3f55b2a6e6cd8cfcf3504682fec7"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:22:53 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:43:45 2009 -0700"
      },
      "message": "nfs41: Add ability to read RPC call direction on TCP stream.\n\nNFSv4.1 callbacks can arrive over an existing connection. This patch adds\nthe logic to read the RPC call direction (call or reply). It does this by\nupdating the state machine to look for the call direction invoking\nxs_tcp_read_calldir(...) after reading the XID.\n\n[nfs41: Keep track of RPC call/reply direction with a flag]\n\nAs per 11/14/08 review of RFC 53/85.\n\nAdd a new flag to track whether the incoming message is an RPC call or an\nRPC reply.  TCP_RPC_REPLY is set in the \u0027struct sock_xprt\u0027 tcp_flags in\nxs_tcp_read_calldir() if the message is an RPC reply sent on the forechannel.\nIt is cleared if the message is an RPC request sent on the back channel.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "34dc1ad752ad3f55b2a6e6cd8cfcf3504682fec7",
      "tree": "8816d7038c09eae46e2da51561f2e80cc91063e0",
      "parents": [
        "78722e9c9208a312695178f5331511badd190598"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:52 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:43:45 2009 -0700"
      },
      "message": "nfs41: increment_{open,lock}_seqid\n\nUnlike minorversion0, in nfsv4.1 the open and lock seqids need\nnot be incremented by the client and should always be set to zero.\n\nThis is implemented using a new nfs_rpc_ops methods -\nincrement_open_seqid and increment_lock_seqid\n\nSigned-off-by: Rahul Iyer \u003ciyer@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: check for session not minorversion]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "78722e9c9208a312695178f5331511badd190598",
      "tree": "9aeaea994040d090b9ecfb5f8b7c8fe91375262a",
      "parents": [
        "008f55d0e019943323c20a03493a2ba5672a4cc8"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jun 16 14:43:15 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:43:44 2009 -0700"
      },
      "message": "nfs41: only retry EXCHANGE_ID on recoverable errors\n\nStops an infinite loop of EXCHANGE_ID.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[fixed checkpatch warnings]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "008f55d0e019943323c20a03493a2ba5672a4cc8",
      "tree": "9d23ac89a198b307fa39018a228bd365e72a40d2",
      "parents": [
        "b4b82607ffcf09b57301846d154f2c09c0b807c0"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:50 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:13 2009 -0700"
      },
      "message": "nfs41: recover lease in _nfs4_lookup_root\n\nThis creates the nfsv4.1 session on mount.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b4b82607ffcf09b57301846d154f2c09c0b807c0",
      "tree": "3ffce1ce6e27d22296ce62b5c8dbe2d32ac2cbef",
      "parents": [
        "90a16617ee6a052c3a1aac00eb67136324cf4dd0"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:49 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:13 2009 -0700"
      },
      "message": "nfs41: get_clid_cred for EXCHANGE_ID\n\nUnlike SETCLIENTID, EXCHANGE_ID requires a machine credential. Do not search\nfor credentials other than the machine credential.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "90a16617ee6a052c3a1aac00eb67136324cf4dd0",
      "tree": "9c164467a9270234b2cf6b167b6427733e50b8c6",
      "parents": [
        "591d71cbde186cc498c0d9718dc17f2fadf7c643"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:48 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:12 2009 -0700"
      },
      "message": "nfs41: add a get_clid_cred function to nfs4_state_recovery_ops\n\nEXCHANGE_ID has different credential requirements than SETCLIENTID.\nPrepare for a separate credential function.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "591d71cbde186cc498c0d9718dc17f2fadf7c643",
      "tree": "0cda78617611b2c3d3fb058af3cc0513ead80433",
      "parents": [
        "a7b721037f898b29a8083da59b1dccd3da385b07"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:47 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:11 2009 -0700"
      },
      "message": "nfs41: establish sessions-based clientid\n\nnfsv4.1 clientid is established via EXCHANGE_ID rather than\nSETCLIENTID{,_CONFIRM}\n\nThis is implemented using a new establish_clid method in\nnfs4_state_recovery_ops.\n\nnfs41: establish clientid via exchange id only if cred !\u003d NULL\n\n\u003eFrom 2.6.26 reclaimer() uses machine cred for setting up the client id\ntherefore it is never expected to be NULL.\n\nSigned-off-by: Rahul Iyer \u003ciyer@netapp.com\u003e\n[removed dprintk]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: lease renewal]\n[revamped patch for new nfs4_state_manager design]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a7b721037f898b29a8083da59b1dccd3da385b07",
      "tree": "57d0fba7528118a9d4dcd8395adbdb91956fcb17",
      "parents": [
        "8e69514f2981d85108c2bd220ff8e188c0c27cdb"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:46 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:11 2009 -0700"
      },
      "message": "nfs41: introduce get_state_renewal_cred\n\nUse the machine cred for sending SEQUENCE to renew\nthe client\u0027s lease.\n\n[revamp patch for new state management design starting 2.6.29]\n[nfs41: support minorversion 1 for nfs4_check_lease]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: get cred in exchange_id when cred arg is NULL]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: use cl_machined_cred instead of cl_ex_cred]\n    Since EXCHANGE_ID insists on using the machine credential, cl_ex_cred is\n    not needed. nfs4_proc_exchange_id() is only called if the machine credential\n    is available. Remove the credential logic from nfs4_proc_exchange_id.\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8e69514f2981d85108c2bd220ff8e188c0c27cdb",
      "tree": "b106990c6ac0a286ae449afe8f0d781abcb754fe",
      "parents": [
        "29fba38b793225798104a1ac870e6807ebd078dd"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:45 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:10 2009 -0700"
      },
      "message": "nfs41: support minorversion 1 for nfs4_check_lease\n\n[moved nfs4_get_renew_cred related changes to\n \"nfs41: introduce get_state_renewal_cred\"]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "29fba38b793225798104a1ac870e6807ebd078dd",
      "tree": "35b5fb1999a29b1b43ad1c4d1c816f42942bca99",
      "parents": [
        "b069d94af7785750228287c35f9ce5c463515726"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:44 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:09 2009 -0700"
      },
      "message": "nfs41: lease renewal\n\nSend a NFSv4.1 SEQUENCE op rather than RENEW that was deprecated in\nminorversion 1.\nUse the nfs_client minorversion to select reboot_recover/\nnetwork_partition_recovery/state_renewal ops.\n\nNote: we use reclaimer to create the nfs41 session before there are any\ncl_superblocks for the nfs_client.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: check for session not minorversion]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[revamped patch for new nfs4_state_manager design]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: obliterate nfs4_state_recovery_ops.renew_lease method]\n    moved to nfs4_state_maintenance_ops\n[also undid per-minorversion nfs4_state_recovery_ops here]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b069d94af7785750228287c35f9ce5c463515726",
      "tree": "6528dba606aa13369ff91ff8c23668d995ac5b91",
      "parents": [
        "4745e3154bf33048d970d1519703089493988f65"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:43 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:09 2009 -0700"
      },
      "message": "nfs41: schedule async session reset\n\nDefine a new session reset state which is set upon a sequence operation error\nin both the sync and async error handlers.\n\nPlace all new requests and all but the last outstanding rpc on the\nslot_tbl_waitq. Spawn the recovery thread when the last slot is free.\nCall nfs4_proc_destroy_session, reinitialize the session, call\nnfs4_proc_create_session, clear the session reset state, and wake up the next\ntask on the slot_tbl_waitq.\n\nReturn the nfs4_proc_destroy_session status to the session reclaimer and\ncheck for NFS4ERR_BADSESSION and NFS4ERR_DEADSESSION. Other destroy session\nerrors should be handled in nfs4_proc_destroy_session where the call can\nbe retried with adjusted arguments.\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nnfs41: make nfs4_wait_bit_killable public]\n    nfs4_wait_bit_killable to be used by NFSv4.1 session recover logic.\nSigned-off-by: Rahul Iyer \u003ciyer@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: have create_session work on nfs_client]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: trigger the state manager for session reset]\n    Replace the session reset state with the NFS4CLNT_SESSION_SETUP cl_state.\n    Place all rpc tasks to sleep on the slot table waitqueue until the slot\n    table is drained, then schedule state recovery and wait for it to complete.\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: remove nfs41_session_recovery [ch]\nReplaced by using the nfs4_state_manager.\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: nfs4_wait_bit_killable only used locally]\n[nfs41: keep nfs4_wait_bit_killable static]\n[nfs41: keep const nfs_server in nfs4_handle_exception]\n[nfs41: remove session parameter from nfs4_find_slot]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: resset the session from nfs41_setup_sequence]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4745e3154bf33048d970d1519703089493988f65",
      "tree": "474017eef52b407864fde5ed036db3270544d085",
      "parents": [
        "eedc020e718b8ce45381383ec66030f09eb02a1e"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:42 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:08 2009 -0700"
      },
      "message": "nfs41: kick start nfs41 session recovery when handling errors\n\nRemove checking for any errors that the SEQUENCE operation does not return.\n-NFS4ERR_STALE_CLIENTID, NFS4ERR_EXPIRED, NFS4ERR_CB_PATH_DOWN, NFS4ERR_BACK_CHAN_BUSY, NFS4ERR_OP_NOT_IN_SESSION.\n\nSEQUENCE operation error recovery is very primative, we only reset the session.\n\nRemove checking for any errors that are returned by the SEQUENCE operation, but\nthat resetting the session won\u0027t address.\nNFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SEQUENCE_POS,NFS4ERR_TOO_MANY_OPS.\n\nAdd error checking for missing SEQUENCE errors that a session reset will\naddress.\nNFS4ERR_BAD_HIGH_SLOT, NFS4ERR_DEADSESSION, NFS4ERR_SEQ_FALSE_RETRY.\n\nA reset of the session is currently our only response to a SEQUENCE operation\nerror. Don\u0027t reset the session on errors where a new session won\u0027t help.\n\nDon\u0027t reset the session on errors where a new session won\u0027t help.\n\n[nfs41: nfs4_async_handle_error update error checking]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: trigger the state manager for session reset]\n    Replace session state bit with nfs_client state bit.  Set the\n    NFS4CLNT_SESSION_SETUP bit upon a session related error in the sync/async\n    error handlers.\n[nfs41: _nfs4_async_handle_error fix session reset error list]\nSequence operation errors that session reset could help.\nNFS4ERR_BADSESSION\nNFS4ERR_BADSLOT\nNFS4ERR_BAD_HIGH_SLOT\nNFS4ERR_DEADSESSION\nNFS4ERR_CONN_NOT_BOUND_TO_SESSION\nNFS4ERR_SEQ_FALSE_RETRY\nNFS4ERR_SEQ_MISORDERED\n\nSequence operation errors that a session reset would not help\n\nNFS4ERR_BADXDR\nNFS4ERR_DELAY\nNFS4ERR_REP_TOO_BIG\nNFS4ERR_REP_TOO_BIG_TO_CACHE\nNFS4ERR_REQ_TOO_BIG\nNFS4ERR_RETRY_UNCACHED_REP\nNFS4ERR_SEQUENCE_POS\nNFS4ERR_TOO_MANY_OPS\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41 nfs4_handle_exception fix session reset error list]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[moved nfs41_sequece_call_done code to nfs41: sequence operation]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eedc020e718b8ce45381383ec66030f09eb02a1e",
      "tree": "f29fe9309b67be4d5387c2ced72c063fb4df53c0",
      "parents": [
        "aae2006e9b0c294114915c13022fa348e1a88023"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:41 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:07 2009 -0700"
      },
      "message": "nfs41: use rpc prepare call state for session reset\n\n[nfs41: change nfs4_restart_rpc argument]\n[nfs41: check for session not minorversion]\n[nfs41: trigger the state manager for session reset]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[always define nfs4_restart_rpc]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "aae2006e9b0c294114915c13022fa348e1a88023",
      "tree": "2643d2ed1b2d44c5e5d7577e1ae0516eae95f977",
      "parents": [
        "c3fad1b1aaf850bf692642642ace7cd0d64af0a3"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:40 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:07 2009 -0700"
      },
      "message": "nfs41: sunrpc: Export the call prepare state for session reset\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c3fad1b1aaf850bf692642642ace7cd0d64af0a3",
      "tree": "ff8822016d004d9f0cbd67a3373f5f1f4527f363",
      "parents": [
        "76db6d9500caeaa774a3e32a997eba30bbdc176b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:39 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:06 2009 -0700"
      },
      "message": "nfs41: add session reset to state manager\n\nMove the code to reset a session from the session_reclaimer to the\nnfs4_state_manager.  Destroy the session, and create a new one. Treat\nNFS4ERR_BADSESSION and NFS4ERR_DEADSESSION as a successful\nnfs4_proc_destroy_session. Signal nfs4_proc_create_session that this is a\nsession reset so that the session slot table is re-used.\n\nIf the clientid is stale, set both NFS4CLNT_LEASE_EXPIRED and\nNFS4CLNT_SESSION_SETUP bits and retry.\n\nUse a switch statement in nfs4_session_recovery_handle_error for future\npatche which will add handling for other errors.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n\n[nfs41: session reset in nfs4_recovery_handle_error]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: reset session on nfs4_do_reclaim session reset error]\n    If nfs4_do_reclaim gets a session reset error, nfs4_recovery_handle_error\n    will set the NFS4CLNT_SESSION_SETUP bit, and the state manager should\n    continue processing to reset the session.\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[move nfs4_proc_destroy_session declaration here]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "76db6d9500caeaa774a3e32a997eba30bbdc176b",
      "tree": "f1c1c2647ecb67dd519d00938be07f360d7680b1",
      "parents": [
        "ac72b7b3b3263ce64d55094eac1d1bde5f34e64a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:38 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:06 2009 -0700"
      },
      "message": "nfs41: add session setup to the state manager\n\nAt mount, nfs_alloc_client sets the cl_state NFS4CLNT_LEASE_EXPIRED bit\nand nfs4_alloc_session sets the NFS4CLNT_SESSION_SETUP bit, so both bits are\nset when nfs4_lookup_root calls nfs4_recover_expired_lease which schedules\nthe nfs4_state_manager and waits for it to complete.\n\nPlace the session setup after the clientid establishment in nfs4_state_manager\nso that the session is setup right after the clientid has been established\nwithout rescheduling the state manager.\n\nUnlike nfsv4.0, the nfs_client struct is not ready to use until the session\nhas been established.  Postpone marking the nfs_client struct to NFS_CS_READY\nuntil after a successful CREATE_SESSION call so that other threads cannot use\nthe client until the session is established.\n\nIf the EXCHANGE_ID call fails and the session has not been setup (the\nNFS4CLNT_SESSION_SETUP bit is set), mark the client with the error and return.\n\nIf the session setup CREATE_SESSION call fails with NFS4ERR_STALE_CLIENTID\nwhich could occur due to server reboot or network partition inbetween the\nEXCHANGE_ID and CREATE_SESSION call, reset the NFS4CLNT_LEASE_EXPIRED and\nNFS4CLNT_SESSION_SETUP bits and try again.\n\nIf the CREATE_SESSION call fails with other errors, mark the client with\nthe error and return.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n\n[nfs41: NFS_CS_SESSION_SETUP cl_cons_state for back channel setup]\n  On session setup, the CREATE_SESSION reply races with the server back channel\n  probe which needs to succeed to setup the back channel. Set a new\n  cl_cons_state NFS_CS_SESSION_SETUP just prior to the CREATE_SESSION call\n  and add it as a valid state to nfs_find_client so that the client back channel\n  can find the nfs_client struct and won\u0027t drop the server backchannel probe.\n  Use a new cl_cons_state so that NFSv4.0 back channel behaviour which only\n  sets NFS_CS_READY is unchanged.\n  Adjust waiting on the nfs_client_active_wq accordingly.\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n\n[nfs41: rename NFS_CS_SESSION_SETUP to NFS_CS_SESSION_INITING]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: set NFS_CL_SESSION_INITING in alloc_session]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: move session setup into a function]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[moved nfs4_proc_create_session declaration here]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ac72b7b3b3263ce64d55094eac1d1bde5f34e64a",
      "tree": "2ecd6882caab65e33dad8cda06a71da2e6293279",
      "parents": [
        "fc01cea963a246742ff15e118ce5259e3091352c"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:37 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:05 2009 -0700"
      },
      "message": "nfs41: reset the session slot table\n\nSeparated from nfs41: schedule async session reset\n\nDo not kfree the session slot table upon session reset, just re-initialize it.\nAdd a boolean to nfs4_proc_create_session to inidicate if this is a\nsession reset or a session initialization.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc01cea963a246742ff15e118ce5259e3091352c",
      "tree": "bf2bd0fdb99910aa8045d53574504e49c577bbf0",
      "parents": [
        "8328d59f380e26477b9c1ede99e33d021365bcd1"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:36 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:04 2009 -0700"
      },
      "message": "nfs41: sequence operation\n\nImplement the sequence operation conforming to\nhttp://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26\n\nCheck returned sessionid, slotid and slot sequenceid in decode_sequence.\n\nIf the server returns different values for sessionID, slotID or slot sequence\nnumber than what was sent, the server is looney tunes.\n\nPass the sequence operation status to nfs41_sequence_done in order to\ndetermine when to increment the slot sequence ID.\n\nFree slot is separated from sequence done.\n\nSigned-off-by: Rahul Iyer \u003ciyer@netapp.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Andy Adamson\u003candros@umich.edu\u003e\n[nfs41: sequence res use slotid]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: deref slot table in decode_sequence only for minorversion!\u003d0]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: nfs4_call_sync]\n[nfs41: remove SEQ4_STATUS_USE_TK_STATUS]\n[nfs41: return ESERVERFAULT in decode_sequence]\n[no sr_session, no sr_flags]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: use nfs4_call_sync_sequence to renew session lease]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: remove nfs4_call_sync_sequence forward definition]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: use struct nfs_client for nfs41_proc_async_sequence]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: pass *session in seq_args and seq_res]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41 nfs41_sequence_call_done update error checking]\n[nfs41 nfs41_sequence_done update error checking]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: remove switch on error from nfs41_sequence_call_done]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8328d59f380e26477b9c1ede99e33d021365bcd1",
      "tree": "5e3ed18de4bfa37686f776def03d7d619661cd01",
      "parents": [
        "0f3e66c6a6cae479028d31198288e524fe5ff90d"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:35 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:04 2009 -0700"
      },
      "message": "nfs41: enable nfs_client only nfs4_async_handle_error\n\nThe session is per struct nfs_client, not per nfs_server. Allow the handler\nto be called with no nfs_server which simplifies the nfs4_proc_async_sequence session renewal call and will let it be used by pnfs file layout data servers.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0f3e66c6a6cae479028d31198288e524fe5ff90d",
      "tree": "e221fc927077a22485d5befc0136f1e77ecc55c5",
      "parents": [
        "96b09e024fedf0a6604c8c688a3994d5ed991434"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:34 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:24:55 2009 -0700"
      },
      "message": "nfs41: destroy_session operation\n\nImplement the destroy_session operation conforming to\nhttp://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Andy Adamson\u003candros@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: remove extraneous rpc_clnt pointer]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41; NFS_CS_READY required for DESTROY_SESSION]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: pass *session in seq_args and seq_res]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n[nfs41: fix encode_destroy_session\u0027s xdr Xcoding pointer type]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "96b09e024fedf0a6604c8c688a3994d5ed991434",
      "tree": "850daa16069a9d1729c53b26f27926f3e90a9da3",
      "parents": [
        "8d35301d7db4165f2430c428865f7b0add47615d"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:33 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:24:53 2009 -0700"
      },
      "message": "nfs41: use session attributes for rsize and wsize\n\nSet the mount points rsize and wsize to the negotiated session fore channel\nmaximum response and requeset size. These values will be bound checked in\nnfs_server_set_fsinfo.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[move nfs4_session_set_rwsize into CONFIG_NFS_V4]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8d35301d7db4165f2430c428865f7b0add47615d",
      "tree": "a808476a2b38ae440dd66634f776dcd334c13d77",
      "parents": [
        "fc931582c260e53ca5ca23bd70ccc9b2265cca9f"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:32 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:24:52 2009 -0700"
      },
      "message": "nfs41: verify session channel attribues\n\nInvalidate the session if the server returns invalid fore or back channel\nattributes.\n\nUse a KERN_WARNING to report the fatal session estabishment error.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[refactor nfs4_verify_channel_attrs]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc931582c260e53ca5ca23bd70ccc9b2265cca9f",
      "tree": "e52ad324ae6bb236f66bfd3ea002a9362ec60727",
      "parents": [
        "2050f0cc0703aab7cee798b3cb47037754f368bc"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:31 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:24:34 2009 -0700"
      },
      "message": "nfs41: create_session operation\n\nImplement the create_session operation conforming to\nhttp://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26\n\nSet the real fore channel max operations to preserve server resources.\nNote: If the server returns \u003c NFS4_MAX_OPS, the client will very soon\nget an NFS4ERR_TOO_MANY_OPS. A later patch will handle this.\n\nSet the max_rqst_sz and max_resp_sz to PAGE_SIZE - we preallocate the buffers.\n\nSet the back channel max_resp_sz_cached to zero to force the client to\nalways set csa_cachethis to FALSE because the current implementation\nof the back channel DRC only supports caching the CB_SEQUENCE operation.\n\nThe client back channel server supports one slot, and desires 2 operations\nper compound.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Andy Adamson\u003candros@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: remove extraneous rpc_clnt pointer]\nUse the struct nfs_client cl_rpcclient.\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: nfs4_init_channel_attrs, just use nfs41_create_session_args]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: use rsize and wsize for session channel attributes]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: set channel max operations]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: set back channel attributes]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: obliterate nfs4_adjust_channel_attrs]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: have create_session work on nfs_client]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: move CONFIG_NFS_V4_1 endif]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: pass *session in seq_args and seq_res]\n[moved nfs4_init_slot_table definition here]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: use kcalloc to allocate slot table]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n[nfs41: fix Xcode_create_session\u0027s xdr Xcoding pointer type]\n[nfs41: refactor decoding of channel attributes]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "2050f0cc0703aab7cee798b3cb47037754f368bc",
      "tree": "48a54e68af8e6fe9b72994013aeecbd812e0e4ea",
      "parents": [
        "99fe60d062cfecf382c036065b3278b82b6c5eff"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:30 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:24:32 2009 -0700"
      },
      "message": "nfs41: get_lease_time\n\nget_lease_time uses the FSINFO rpc operation to\nget the lease time attribute.\n\nnfs4_get_lease_time() is only called from the state manager on session setup\nso don\u0027t recover from clientid or sequence level errors.\n\nWe do need to recover from NFS4ERR_DELAY or NFS4ERR_GRACE.\nUse NFS4_POLL_RETRY_MIN - the Linux server returns NFS4ERR_DELAY when an\nupcall is needed to resolve an uncached export referenced by a file handle.\n\n[nfs41: sequence res use slotid]\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: remove extraneous rpc_clnt pointer]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: have get_lease_time work on nfs_client]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: get_lease_time recover from NFS4ERR_DELAY]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: pass *session in seq_args and seq_res]\n[define nfs4_get_lease_time_{args,res}]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "99fe60d062cfecf382c036065b3278b82b6c5eff",
      "tree": "b4451fc4bb42c0915c4f736cc5fdae9e818b55d4",
      "parents": [
        "938e10109115a71cc69d475122f21cf75e5046cd"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:29 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:23:57 2009 -0700"
      },
      "message": "nfs41: exchange_id operation\n\nImplement the exchange_id operation conforming to\nhttp://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26\n\nUnlike NFSv4.0, NFSv4.1 requires machine credentials. RPC_AUTH_GSS machine\ncredentials will be passed into the kernel at mount time to be available for\nthe exchange_id operation.\n\nRPC_AUTH_UNIX root mounts can use the UNIX root credential. Store the root\ncredential in the nfs_client struct.\n\nWithout a credential, NFSv4.1 state renewal fails.\n\n[nfs41: establish clientid via exchange id only if cred !\u003d NULL]\nSigned-off-by: Andy Adamson\u003candros@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: move nfstime4 from under CONFIG_NFS_V4_1]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: do not wait a lease time in exchange id]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: pass *session in seq_args and seq_res]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n[nfs41: Ignoring impid in decode_exchange_id is missing a READ_BUF]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: fix Xcode_exchange_id\u0027s xdr Xcoding pointer type]\n[nfs41: get rid of unused struct nfs41_exchange_id_res members]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "938e10109115a71cc69d475122f21cf75e5046cd",
      "tree": "931b14799b8613d0f031963d0fddff2223979a9c",
      "parents": [
        "21d9a851aaa4161a9fddde720594659f3dae7fdd"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:28 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:51 2009 -0700"
      },
      "message": "nfs41 delegreturn sequence setup done support\n\nSeparate delegreturn calls from nfs41: sequence setup/done support\n\nImplement the delegreturn rpc_call_prepare method for\nasynchronuos nfs rpcs, call nfs41_setup_sequence from\nrespective rpc_call_validate_args methods.\n\nCall nfs4_sequence_done from respective rpc_call_done methods.\n\nNote that we need to pass a pointer to the nfs_server in calls data\nfor passing on to nfs4_sequence_done.\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[pnfs: client data server write validate and release]\nSigned-off-by: Andy Adamson\u003candros@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "21d9a851aaa4161a9fddde720594659f3dae7fdd",
      "tree": "6c18c057a56d5318a8e46d4615c03fefd5f5d498",
      "parents": [
        "def6ed7ef45ed19c3d6ca765f3bfdff1fe4c6bba"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:27 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:50 2009 -0700"
      },
      "message": "nfs41 commit sequence setup done support\n\nSeparate commit calls from nfs41: sequence setup/done support\n\nImplement the commit rpc_call_prepare method for\nasynchronuos nfs rpcs, call nfs41_setup_sequence from\nrespective rpc_call_validate_args methods.\n\nCall nfs4_sequence_done from respective rpc_call_done methods.\n\nNote that we need to pass a pointer to the nfs_server in calls data\nfor passing on to nfs4_sequence_done.\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[pnfs: client data server write validate and release]\nSigned-off-by: Andy Adamson\u003candros@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Support sessions with O_DIRECT.]\nSigned-off-by: Dean Hildebrand \u003cdhildeb@us.ibm.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: separate free slot from sequence done]\n[nfs41: nfs4_sequence_free_slot use nfs_client for data server]\nSigned-off-by: Andy Adamson\u003candros@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "def6ed7ef45ed19c3d6ca765f3bfdff1fe4c6bba",
      "tree": "98e072aa00e6c284dac719c6c7f97abd7c930d90",
      "parents": [
        "f11c88af26453aee2823a1fd9120d0cd8dae7b9a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:26 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:49 2009 -0700"
      },
      "message": "nfs41 write sequence setup done support\n\nSeparate write calls from nfs41: sequence setup/done support\n\nImplement the write rpc_call_prepare method for\nasynchronuos nfs rpcs, call nfs41_setup_sequence from\nrespective rpc_call_validate_args methods.\n\nCall nfs4_sequence_done from respective rpc_call_done methods.\n\nNote that we need to pass a pointer to the nfs_server in calls data\nfor passing on to nfs4_sequence_done.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[pnfs: client data server write validate and release]\nSigned-off-by: Andy Adamson \u003candros@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[move the nfs4_sequence_free_slot call in nfs_readpage_retry from]\n[nfs41: separate free slot from sequence done\nSigned-off-by: Andy Adamson \u003candros@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Support sessions with O_DIRECT.]\nSigned-off-by: Dean Hildebrand \u003cdhildeb@us.ibm.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: nfs4_sequence_free_slot use nfs_client for data server]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f11c88af26453aee2823a1fd9120d0cd8dae7b9a",
      "tree": "2a914fad3197bb9c28477e7a6224489acc11ae5d",
      "parents": [
        "472cfbd9b97be210a9b61ac1c6a774cd456ea9d2"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:25 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:48 2009 -0700"
      },
      "message": "nfs41: read sequence setup/done support\n\nImplement the read rpc_call_prepare method for\nasynchronuos nfs rpcs, call nfs41_setup_sequence from\nrespective rpc_call_validate_args methods.\n\nCall nfs4_sequence_done from respective rpc_call_done methods.\n\nNote that we need to pass a pointer to the nfs_server in calls data\nfor passing on to nfs4_sequence_done.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[pnfs: client data server write validate and release]\nSigned-off-by: Andy Adamson \u003candros@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[move the nfs4_sequence_free_slot call in nfs_readpage_retry from]\n[nfs41: separate free slot from sequence done]\n[remove nfs_readargs.nfs_server, use calldata-\u003einode instead]\nSigned-off-by: Andy Adamson \u003candros@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Support sessions with O_DIRECT]\nSigned-off-by: Dean Hildebrand \u003cdhildeb@us.ibm.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: nfs4_sequence_free_slot use nfs_client for data server]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "472cfbd9b97be210a9b61ac1c6a774cd456ea9d2",
      "tree": "0bb59e6f5823087ad0152f3d363ada72a528f930",
      "parents": [
        "a893693c151433a1375060ecb13419080426bc08"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:24 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:47 2009 -0700"
      },
      "message": "nfs41: unlink sequence setup/done support\n\nImplement the rpc_call_prepare methods for\nasynchronuos nfs rpcs, call nfs41_setup_sequence from\nrespective rpc_call_validate_args methods.\n\nCall nfs4_sequence_done from respective rpc_call_done methods.\n\nNote that we need to pass a pointer to the nfs_server in calls data\nfor passing on to nfs4_sequence_done.\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[pnfs: client data server write validate and release]\nSigned-off-by: Andy Adamson\u003candros@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: separate free slot from sequence done]\n[nfs41: sequence res use slotid]\n[nfs41: remove SEQ4_STATUS_USE_TK_STATUS]\n[nfs41: nfs4_sequence_free_slot use nfs_client for data server]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a893693c151433a1375060ecb13419080426bc08",
      "tree": "c824ec4aa8e1aac88d7e16b8f104090ebaf2e0d4",
      "parents": [
        "66179efee31f431ab538016b4ac05edaf87525dc"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:23 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:46 2009 -0700"
      },
      "message": "nfs41: locku sequence setup/done support\n\nSeparate nfs4_locku calls from nfs41: sequence setup/done support\nCall nfs4_sequence_done from respective rpc_call_done methods.\n\nNote that we need to pass a pointer to the nfs_server in calls data\nfor passing on to nfs4_sequence_done.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[pnfs: client data server write validate and release]\nSigned-off-by: Andy Adamson \u003candros@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: nfs4_sequence_free_slot use nfs_client for data server]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "66179efee31f431ab538016b4ac05edaf87525dc",
      "tree": "e871bc165f8405bb4a00ed42023361bd8c5046c7",
      "parents": [
        "d898528cdb338b145c71049c3cb7b1dfa542a48a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:22 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:45 2009 -0700"
      },
      "message": "nfs41: lock sequence setup/done support\n\nSeparate nfs4_lock calls from nfs41: sequence setup/done support\nCall nfs4_sequence_done from respective rpc_call_done methods.\n\nNote that we need to pass a pointer to the nfs_server in calls data\nfor passing on to nfs4_sequence_done.\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[pnfs: client data server write validate and release]\n[use nfs4_sequence_done_free_slot]\nSigned-off-by: Andy Adamson\u003candros@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d898528cdb338b145c71049c3cb7b1dfa542a48a",
      "tree": "d4f0d7dea84e4cf686e375740fd23073db0aa83c",
      "parents": [
        "19ddab06ed923d27339b8009d37b0ab3de93cadf"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:21 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:44 2009 -0700"
      },
      "message": "nfs41: open sequence setup/done support\n\nSeparate nfs4_open calls from nfs41: sequence setup/done support\nCall nfs4_sequence_done from respective rpc_call_done methods.\n\nNote that we need to pass a pointer to the nfs_server in calls data\nfor passing on to nfs4_sequence_done.\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[pnfs: client data server write validate and release]\n[use nfs4_sequence_done_free_slot]\nSigned-off-by: Andy Adamson\u003candros@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "19ddab06ed923d27339b8009d37b0ab3de93cadf",
      "tree": "7a70f629c07780c3d539fcf896a10d488a4df8d3",
      "parents": [
        "69ab40c4c3b9622232e31e0ee145875a2853c113"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:20 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:43 2009 -0700"
      },
      "message": "nfs41: close sequence setup/done support\n\nSeparate nfs4_close calls from nfs41: sequence setup/done support\nCall nfs4_sequence_done from respective rpc_call_done methods.\n\nNote that we need to pass a pointer to the nfs_server in calls data\nfor passing on to nfs4_sequence_done.\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[pnfs: client data server write validate and release]\nSigned-off-by: Andy Adamson\u003candros@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: separate free slot from sequence done]\n[nfs41: sequence res use slotid]\n[nfs41: remove SEQ4_STATUS_USE_TK_STATUS]\n[nfs41: nfs4_sequence_free_slot use nfs_client for data server]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "69ab40c4c3b9622232e31e0ee145875a2853c113",
      "tree": "72b5f87b10bd9d5069391cb39c4110f28416d038",
      "parents": [
        "b0df806c0f9d61e5fcfdb0f4e606e1a59303aaa6"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:19 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:42 2009 -0700"
      },
      "message": "nfs41: nfs41_call_sync_done\n\nImplement nfs4.1 synchronous rpc_call_done method\nthat essentially just calls nfs4_sequence_done, that turns\naround and calls nfs41_sequence_done for minorversion1 rpcs.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: check for session not minorversion]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[move adding nfs4_sequence_free_slot from nfs41-separate-free-slot-from-sequence-done]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: nfs41_call_sync_data use nfs_client not nfs_server]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b0df806c0f9d61e5fcfdb0f4e606e1a59303aaa6",
      "tree": "483e911bff62662ed4cce2c003a96a52d223c942",
      "parents": [
        "13615871cdf8e8263626a817c350c6978a6483fe"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:18 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:41 2009 -0700"
      },
      "message": "nfs41: nfs41_sequence_done\n\nHandle session level errors, update slot sequence id and\nsessions bookeeping, free slot.\n\n[nfs41: sequence res use slotid]\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: remove SEQ4_STATUS_USE_TK_STATUS]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: check for session not minorversion]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: bail out early out of nfs41_sequence_done if !res-\u003esr_session]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[move nfs4_sequence_done from nfs41: nfs41_call_sync_done]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[move nfs4_sequence_free_slot from nfs41: separate free slot from sequence done]\n    Don\u0027t free the slot until after all rpc_restart_calls have completed.\n    Session reset will require more work.\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[moved reset sr_slotid to nfs41_sequence_free_slot]\n[free slot also on unexpectecd error]\n[remove seq_res.sr_session member, use nfs_client\u0027s instead]\n[ditch seq_res.sr_flags until used]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[look at sr_slotid for bailing out early from nfs41_sequence_done]\n[nfs41: rpc_wake_up_next if sessions slot was not consumed.]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: nfs4_sequence_free_slot use nfs_client for data server]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: remove unused error checking in nfs41_sequence_done]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: remove nfs4_has_session check in nfs41_sequence_done]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: remove nfs_client pointer check]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "13615871cdf8e8263626a817c350c6978a6483fe",
      "tree": "267069d5067c55d10c2a7b4e02dc5a03243f9967",
      "parents": [
        "e2c4ab3ce2ecc527672bd7e29a594c50d3ec0477"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:17 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:41 2009 -0700"
      },
      "message": "nfs41: nfs41_sequence_free_slot\n\n[from nfs41: separate free slot from sequence done]\n\nDon\u0027t free the slot until after all rpc_restart_calls have completed.\nSession reset will require more work.\n\nAs noted by Trond, since we\u0027re using rpc_wake_up_next rather than\nrpc_wake_up() we must always wake up the next task in the queue\neither by going through nfs4_free_slot, or just calling\nrpc_wake_up_next if no slot is to be freed.\n\n[nfs41: sequence res use slotid]\n[nfs41: remove SEQ4_STATUS_USE_TK_STATUS]\n[got rid of nfs4_sequence_res.sr_session, use nfs_client.cl_session instead]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: rpc_wake_up_next if sessions slot was not consumed.]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: nfs4_sequence_free_slot use nfs_client for data server]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e2c4ab3ce2ecc527672bd7e29a594c50d3ec0477",
      "tree": "12043a6659ebbd9f4f51c4b0079e652db9ed8ed4",
      "parents": [
        "fbcd4abcb3841f85578985c09c6df85aa41b0ae8"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:16 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:39 2009 -0700"
      },
      "message": "nfs41: free slot\n\nFree a slot in the slot table.\n\nMark the slot as free in the bitmap-based allocation table\nby clearing a bit corresponding to the slotid.\n\nUpdate lowest_free_slotid if freed slotid is lower than that.\nUpdate highest_used_slotid.  In the case the freed slotid\nequals the highest_used_slotid, scan downwards for the next\nhighest used slotid using the optimized fls* functions.\n\nFinally, wake up thread waiting on slot_tbl_waitq for a free slot\nto become available.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: free slot use slotid]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: use find_first_zero_bit for nfs4_find_slot]\n    While at it, obliterate lowest_free_slotid and fix-up related comments.\n    As per review comment 21/85.\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: use __clear_bit for nfs4_free_slot]\n    While at it, fix-up function comment.\n    Part of review comment 22/85.\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: use find_last_bit in nfs4_free_slot to determine highest used slot.]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: rpc_sleep_on slot_tbl_waitq must be called under slot_tbl_lock]\n    Otherwise there\u0027s a race (we\u0027ve hit) with nfs4_free_slot where\n    nfs41_setup_sequence sees a full slot table, unlocks slot_tbl_lock,\n    nfs4_free_slots happen concurrently and call rpc_wake_up_next\n    where there\u0027s nobody to wake up yet, context goes back to\n    nfs41_setup_sequence which goes to sleep when the slot table\n    is actually empty now and there\u0027s no-one to wake it up anymore.\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fbcd4abcb3841f85578985c09c6df85aa41b0ae8",
      "tree": "fd1744248ab503dad083e0fb54c938315adef92f",
      "parents": [
        "510b81756f18922a4c5b555e8145f4fed5beb569"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:15 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:39 2009 -0700"
      },
      "message": "nfs41: setup_sequence method\n\nAllocate a slot in the session slot table and set the sequence op arguments.\n\nCalled at the rpc prepare stage.\n\nAdd a status to nfs41_sequence_res, initialize it to one so that we catch\nrpc level failures which do not go through decode_sequence which sets\nthe new status field.\n\nNote that upon an rpc level failure, we don\u0027t know if the server processed the\nsequence operation or not. Proceed as if the server did process the sequence\noperation.\n\nSigned-off-by: Rahul Iyer \u003ciyer@netapp.com\u003e\n[nfs41: sequence args use slotid]\n[nfs41: find slot return slotid]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: remove SEQ4_STATUS_USE_TK_STATUS]\nAs per 11-14-08 review\n[move extern declaration from nfs41: sequence setup/done support]\n[removed sa_session definition, changed sa_cache_this into a u8 to reduce footprint]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: rpc_sleep_on slot_tbl_waitq must be called under slot_tbl_lock]\n    Otherwise there\u0027s a race (we\u0027ve hit) with nfs4_free_slot where\n    nfs41_setup_sequence sees a full slot table, unlocks slot_tbl_lock,\n    nfs4_free_slots happen concurrently and call rpc_wake_up_next\n    where there\u0027s nobody to wake up yet, context goes back to\n    nfs41_setup_sequence which goes to sleep when the slot table\n    is actually empty now and there\u0027s no-one to wake it up anymore.\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "510b81756f18922a4c5b555e8145f4fed5beb569",
      "tree": "9253ad2063b37292b3cf8c7425cbf6882807882a",
      "parents": [
        "ce5039c1be1fd04c2d9b1af80d41a6d003f2e20c"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:14 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:37 2009 -0700"
      },
      "message": "nfs41: find slot\n\nFind a free slot using bitmap-based allocation.\nUse the optimized ffz function to find a zero bit\nin the bitmap that indicates a free slot, starting\nthe search from the \u0027lowest_free_slotid\u0027 position.\n\nIf found, mark the slot as used in the bitmap, get\nthe slot\u0027s slotid and seqid, and update max_slotid\nto be used by the SEQUENCE operation.\n\nAlso, update lowest_free_slotid for next search.\n\nIf no free slot was found the caller has to wait\nfor a free slot (outside the scope of this function)\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: find slot return slotid]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[use find_first_zero_bit for nfs4_find_slot as per review comment 21/85.]\n[use NFS4_MAX_SLOT_TABLE rather than NFS4_NO_SLOT]\n[nfs41: rpc_sleep_on slot_tbl_waitq must be called under slot_tbl_lock]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ce5039c1be1fd04c2d9b1af80d41a6d003f2e20c",
      "tree": "6ad09f92b5d6903fabeee3f4a59c58e174ccb33c",
      "parents": [
        "9b7b9fcc9c124b8a2a079f748239ce9b7a8d8304"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:13 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:36 2009 -0700"
      },
      "message": "nfs41: nfs4_setup_sequence\n\nPerform the nfs4_setup_sequence in the rpc_call_prepare state.\n\nIf a session slot is not available, we will rpc_sleep_on the\nslot wait queue leaving the tk_action as rpc_call_prepare.\n\nOnce we have a session slot, hang on to it even through rpc_restart_calls.\nEnsure the nfs41_sequence_res sr_slot pointer is NULL before rpc_run_task is\ncalled as nfs41_setup_sequence will only find a new slot if it is NULL.\n\nA future patch will call free slot after any rpc_restart_calls, and handle the\nrpc restart that result from a sequence operation error.\n\nSigned-off-by: Rahul Iyer \u003ciyer@netapp.com\u003e\n[nfs41: sequence res use slotid]\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: simplify nfs4_call_sync]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: nfs4_call_sync]\n[nfs41: check for session not minorversion]\n[nfs41: remove rpc_message from nfs41_call_sync_args]\n[moved NFS4_MAX_SLOT_TABLE logic into nfs41_setup_sequence]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: nfs41_call_sync_data use nfs_client not nfs_server]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: expose nfs4_call_sync_session for lease renewal]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: remove unnecessary return check]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9b7b9fcc9c124b8a2a079f748239ce9b7a8d8304",
      "tree": "35c1064b856a6633c153f5b3b3d26bdb097e5ab5",
      "parents": [
        "66cc042970f7077c66be65a780eb3a60a9bcbf0b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:11 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:36 2009 -0700"
      },
      "message": "nfs41: xdr {encode,decode}_sequence\n\nImplement stubs for encode and decode sequence, defined as no-ops when\nCONFIG_NFS_V4_1 is not defined.\nAdd the nfsv41 encode and decode sizes. Add encode_sequence to all\nnfs4_enc_* routines and decode_sequence to all nfs4_dec_* routines as required\nby v41.\n\n[was nfs41: minorversion support for xdr]\n[added nfs_client argument to encode_sequence so not to use sequence_args to pass sa_session]\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: pass *session in seq_args and seq_res]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "66cc042970f7077c66be65a780eb3a60a9bcbf0b",
      "tree": "c0d9e00611ac207f845679729538d00e44119b59",
      "parents": [
        "28f566942c6b1d929f5e240e69e7081b77b238d3"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:10 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:35 2009 -0700"
      },
      "message": "nfs41: encode minorversion in compound header\n\nSigned-off-by: Andy Adamdon \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: pass *session in seq_args and seq_res]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "28f566942c6b1d929f5e240e69e7081b77b238d3",
      "tree": "65b60263ac95d17de9a68f5245b52070d2bfb2e1",
      "parents": [
        "dadf0c2767ce7772fc4ff82044f3ba5823e5b79f"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:09 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:34 2009 -0700"
      },
      "message": "NFS: use dynamically computed compound_hdr.replen for xdr_inline_pages offset\n\nAs Trond suggested, rather than passing a constant to xdr_inline_pages,\nkeep a running count of the expected reply bytes.  In preparation for\nnfs41, where additional op sequence are expteced when talking to nfs41\nservers.\n\n[NFS: cb_compoundhdr.replen is in words not bytes]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: get fs_locations replen before encoding the GETATTR]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: get getacl replen before encoding the GETATTR]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dadf0c2767ce7772fc4ff82044f3ba5823e5b79f",
      "tree": "59067085f4525ccd56e29d09f07be4f4b9148013",
      "parents": [
        "0c4e8c187758258ec58842384fe6a99cf1ce16c7"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:08 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:33 2009 -0700"
      },
      "message": "NFS: update hdr-\u003ereplen for every encode op\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0c4e8c187758258ec58842384fe6a99cf1ce16c7",
      "tree": "8b7018bc68b2cb0c2273ca58b986817a3ad9a5e4",
      "parents": [
        "6ce183919b4a09289cb0fe4fce960a9faa1e7c6b"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:07 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:32 2009 -0700"
      },
      "message": "NFS: define and initialize compound_hdr.replen\n\nreplen holds the running count of expected reply bytes.\nrepl will then be used by encoding routines for xdr_inline_pages offset\nafter which data bytes are to be received directly into the xdr\nbuffer pages.\n\nNOTE: According to the nfsv4 and v4.1 RFCs, the replied tag SHOULD be the same\nis the one sent, but this is not required as a MUST for the server to do so.\nThe server may screw us if it replies a tag of a different length in the\ncompound result.\n\n[NFS: cb_compoundhdr.replen is in words not bytes]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6ce183919b4a09289cb0fe4fce960a9faa1e7c6b",
      "tree": "19d1820cf051bad6b35c6d55829f6d95a0fcda2b",
      "parents": [
        "5f7dbd5c752d88310d8fe1feedefd5c6496eff48"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:06 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:31 2009 -0700"
      },
      "message": "NFS: use decode_change_info_maxsz for xdr maxsz calculations\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5f7dbd5c752d88310d8fe1feedefd5c6496eff48",
      "tree": "870e270d87cf112494500b655f08980539ffa291",
      "parents": [
        "f3752975caa716709c5ea0b0820b86111d921df4"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:05 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:30 2009 -0700"
      },
      "message": "nfs41: set up seq_res.sr_slotid\n\nInitialize nfs4_sequence_res sr_slotid to NFS4_MAX_SLOT_TABLE.\n\n[was nfs41: sequence res use slotid]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[pulled definition of struct nfs4_sequence_res.sr_slotid to here]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f3752975caa716709c5ea0b0820b86111d921df4",
      "tree": "80349dd1e99683577ea4b0d264af7f8b3ded73aa",
      "parents": [
        "cccef3b96a4759ae0790452280c00ea505412157"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:04 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:29 2009 -0700"
      },
      "message": "nfs41: nfs41: pass *session in seq_args and seq_res\n\nTo be used for getting the rpc\u0027s minorversion and for nfs41 xdr\n{en,de}coding of the sequence operation.\nReset the seq session ptrs for minorversion\u003d0 rpc calls.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cccef3b96a4759ae0790452280c00ea505412157",
      "tree": "26e4f93653a5c980cf8bb585d6fc05817a23f4be",
      "parents": [
        "22958463d5dca8548e19430779f379e66fd6e4a4"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:03 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:28 2009 -0700"
      },
      "message": "nfs41: introduce nfs4_call_sync\n\nUse nfs4_call_sync rather than rpc_call_sync to provide\nfor a nfs41 sessions-enabled interface for sessions manipulation.\n\nThe nfs41 rpc logic uses the rpc_call_prepare method to\nrecover and create the session, as well as selecting a free slot id\nand the rpc_call_done to free the slot and update slot table\nrelated metadata.\n\nIn the coming patches we\u0027ll add rpc prepare and done routines\nfor setting up the sequence op and processing the sequence result.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: nfs4_call_sync]\nAs per 11-14-08 review.\nSquash into \"nfs41: introduce nfs4_call_sync\" and \"nfs41: nfs4_setup_sequence\"\nDefine two functions one for v4 and one for v41\nadd a pointer to struct nfs4_client to the correct one.\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[added BUG() in _nfs4_call_sync_session if !CONFIG_NFS_V4_1]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: check for session not minorversion]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[group minorversion specific stuff together]\nSigned-off-by: Alexandros Batsakis \u003cAlexandros.Batsakis@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfs41: fixup nfs4_clear_client_minor_version]\n[introduce nfs4_init_client_minor_version() in this patch]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[cleaned-up patch: got rid of nfs_call_sync_t, dprintks, cosmetics, extra server defs]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "22958463d5dca8548e19430779f379e66fd6e4a4",
      "tree": "6483363bee0eb39f155774858bdd06d5d8dc9d4a",
      "parents": [
        "73c403a9a93743b068103c13c05ed136dc687d05"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:02 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:27 2009 -0700"
      },
      "message": "nfs41: use nfs4_fs_locations_res\n\nIn preparation for nfs41 sequence processing.\n\nSigned-off-by: Andy Admason \u003candros@netapp.com\u003e\n[find nfs4_fs_locations_res]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "73c403a9a93743b068103c13c05ed136dc687d05",
      "tree": "9f95f8cb6f8c6ab866c08a5659d281847f0b3a23",
      "parents": [
        "9e9ecc03d6b37a5d85e16b357751e3b341de0fef"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:01 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:26 2009 -0700"
      },
      "message": "nfs41: use nfs4_setaclres\n\nIn preparation for nfs41 sequence processing.\n\nSigned-off-by: Andy Admason \u003candros@netapp.com\u003e\n[define nfs_setaclres]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9e9ecc03d6b37a5d85e16b357751e3b341de0fef",
      "tree": "79735a40e0123afe47c5ac380df9a5d5c68bd3d2",
      "parents": [
        "663c79b3cd8f5fe21fe7d7565fec0072e3234ddc"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:22:00 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:26 2009 -0700"
      },
      "message": "NFS: get rid of unused xdr decode_setattr(, res) argument\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "663c79b3cd8f5fe21fe7d7565fec0072e3234ddc",
      "tree": "343fa6b9ae1616d06154cbee88a2278c70e3ded6",
      "parents": [
        "d45b2989a7956ae9e71d584ceac942278c0371c7"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:21:59 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:25 2009 -0700"
      },
      "message": "nfs41: use nfs4_getaclres\n\nIn preparation for nfs41 sequence processing.\n\nSigned-off-by: Andy Admason \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: embed resp_len in nfs_getaclres]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d45b2989a7956ae9e71d584ceac942278c0371c7",
      "tree": "a76229d959e2b33487d7e8e300257786ad58ec7f",
      "parents": [
        "3dda5e434721f942870ee30bc6103761618d410f"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:21:58 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:24 2009 -0700"
      },
      "message": "nfs41: use nfs4_pathconf_res\n\nIn preparation for nfs41 sequence processing.\n\nSigned-off-by: Andy Admason \u003candros@netapp.com\u003e\n[define nfs4_pathconf_res]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3dda5e434721f942870ee30bc6103761618d410f",
      "tree": "a478a9c0e25e3d560321a3256d4477fcfc86232e",
      "parents": [
        "24ad148a0ff74b1e703a8bc5b3e0793dc7d4e3a9"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:21:57 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:23 2009 -0700"
      },
      "message": "nfs41: use nfs4_fsinfo_res\n\nIn preparation for nfs41 sequence processing.\n\nSigned-off-by: Andy Admason \u003candros@netapp.com\u003e\n[define nfs4_fsinfo_res]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24ad148a0ff74b1e703a8bc5b3e0793dc7d4e3a9",
      "tree": "3d65ce7e3f71cdf8b57b76f009bd2f1e8c37ef21",
      "parents": [
        "f50c7000817e7cb4e676ac5d911a82c0f3fd226f"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:21:56 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:22 2009 -0700"
      },
      "message": "nfs41: use nfs4_statfs_res\n\nIn preparation for nfs41 sequence processing.\n\nSigned-off-by: Andy Admason \u003candros@netapp.com\u003e\n[define nfs4_statfs_res]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f50c7000817e7cb4e676ac5d911a82c0f3fd226f",
      "tree": "96c9c6ec5f8ee2fcdfe7b44dfdc274b652d7881b",
      "parents": [
        "43652ad55342d9146d8035932101a5814b22315a"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:21:55 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:21 2009 -0700"
      },
      "message": "nfs41: use nfs4_readlink_res\n\nIn preparation for nfs41 sequence processing.\n\nSigned-off-by: Andy Admason \u003candros@netapp.com\u003e\n[define nfs4_readlink_res]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "43652ad55342d9146d8035932101a5814b22315a",
      "tree": "1bcc69ee2ee1ec04c5ce1c23ecfd5947ea9e4da2",
      "parents": [
        "557134a39c8d2ab79d8b8d53438e03e29feb5ec4"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:21:54 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:20 2009 -0700"
      },
      "message": "nfs41: use nfs4_server_caps_arg\n\nIn preparation for nfs41 sequence processing.\n\nSigned-off-by: Andy Admason \u003candros@netapp.com\u003e\n[define nfs4_server_caps_arg]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "557134a39c8d2ab79d8b8d53438e03e29feb5ec4",
      "tree": "3f6999d9601618102413fd535ff95f9be0babd85",
      "parents": [
        "9ff71c3a9827b99699510076dffa0bbe7c36bfd4"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:21:53 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:19 2009 -0700"
      },
      "message": "nfs41: sessions client infrastructure\n\nNFSv4.1 Sessions basic data types, initialization, and destruction.\n\nThe session is always associated with a struct nfs_client that holds\nthe exchange_id results.\n\nSigned-off-by: Rahul Iyer \u003ciyer@netapp.com\u003e\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[remove extraneous rpc_clnt pointer, use the struct nfs_client cl_rpcclient.\nremove the rpc_clnt parameter from nfs4 nfs4_init_session]\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Use the presence of a session to determine behaviour instead of the\nminorversion number.]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[constified nfs4_has_session\u0027s struct nfs_client parameter]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Rename nfs4_put_session() to nfs4_destroy_session() and call it from nfs4_free_client() not nfs4_free_server().\nAlso get rid of nfs4_get_session() and the ref_count in nfs4_session struct as keeping track of nfs_client should be sufficient]\nSigned-off-by: Alexandros Batsakis \u003cAlexandros.Batsakis@netapp.com\u003e\n[nfs41: pass rsize and wsize into nfs4_init_session]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[separated out removal of rpc_clnt parameter from nfs4_init_session ot a\n patch of its own]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Pass the nfs_client pointer into nfs4_alloc_session]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: don\u0027t assign to session-\u003eclp-\u003ecl_session in nfs4_destroy_session]\n[nfs41: fixup nfs4_clear_client_minor_version]\n[introduce nfs4_clear_client_minor_version() in this patch]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Refactor nfs4_init_session]\n    Moved session allocation into nfs4_init_client_minor_version, called from\n    nfs4_init_client.\n    Leave rwise and wsize initialization in nfs4_init_session, called from\n    nfs4_init_server.\n    Reverted moving of nfs_fsid definition to nfs_fs_sb.h\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Move NFS4_MAX_SLOT_TABLE define from under CONFIG_NFS_V4_1]\n[Fix comile error when CONFIG_NFS_V4_1 is not set.]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[moved nfs4_init_slot_table definition to \"create_session operation\"]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: alloc session with GFP_KERNEL]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9ff71c3a9827b99699510076dffa0bbe7c36bfd4",
      "tree": "1ff268228bd9c8789854a907807132b99afe6d7e",
      "parents": [
        "c2e713dd83dcabb2ae951ea572e7de68c96e2d48"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:21:52 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:19 2009 -0700"
      },
      "message": "nfs41: client xdr definitions\n\nDefine stubs for sequence args and res data structures and embed\nthem in all other nfs4 and nfs41 xdr types.  They are needed for\nsending any op in a nfs41 compound rpc.\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\n[moved new args/res definitions away, to where they\u0027re first used]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c2e713dd83dcabb2ae951ea572e7de68c96e2d48",
      "tree": "a31853e13995f6dfa79052ad774d8f505e2bc298",
      "parents": [
        "5aae4a9ae0dd55409a42ca61b82ef1f5a840091e"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:21:51 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:18 2009 -0700"
      },
      "message": "nfs41: translate NFS4ERR_MINOR_VERS_MISMATCH to EPROTONOSUPPORT\n\nTo be returned to the mount command when trying to mount a v4 server\nusing minorversion 1.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5aae4a9ae0dd55409a42ca61b82ef1f5a840091e",
      "tree": "cb8c3b13ffd63304ebf6c3392e5aee664d463d25",
      "parents": [
        "94a417f3d7a02478a2d7842e693a61339fb54ea4"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:21:50 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:17 2009 -0700"
      },
      "message": "nfs41: Use mount minorversion option\n\nUse the mount minorversion option to initialize the nfs_client cl_minorversion\nand match it in nfs_match_client() when looking up a nfs_client.\n\n[nfs41: remove ifdefs around nfs_client_initdata.minorversion]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "94a417f3d7a02478a2d7842e693a61339fb54ea4",
      "tree": "c7e64771efb434b24416da3a255730eb19475a0b",
      "parents": [
        "3fd5be9e19921a89d9ed78d6a708a379a6c3c76a"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:21:49 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:16 2009 -0700"
      },
      "message": "nfs41: nfs_client.cl_minorversion\n\nThis field is set to the nfsv4 minor version for this mount.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n\nNote: This patch sets the referral to the same minorversion as the\ncurrent mount. Revisit in future patch.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[removed cl_minorversion assignment in nfs_set_client]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[always define nfs_client.cl_minorversion]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3fd5be9e19921a89d9ed78d6a708a379a6c3c76a",
      "tree": "0eb6e104ef3f9e83b3cbc96fe941cd51e4fa2e9e",
      "parents": [
        "44549dff82753b6a5ffabcefeead34be63e95d96"
      ],
      "author": {
        "name": "Mike Sager",
        "email": "sager@netapp.com",
        "time": "Wed Apr 01 09:21:48 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:15 2009 -0700"
      },
      "message": "nfs41: add mount command option minorversion\n\nmount -t nfs4 -o minorversion\u003d[0|1] specifies whether to use 4.0 or 4.1.\nBy default, the minorversion is set to 0.\n\nSigned-off-by: Mike Sager \u003csager@netapp.com\u003e\n[set default minorversion to 0 as per Trond and SteveD\u0027s request]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "44549dff82753b6a5ffabcefeead34be63e95d96",
      "tree": "405fa0dd7c69a5e58f024f28e0922ed58f102856",
      "parents": [
        "1efae38140546db403845d628db9f2d608caa87e"
      ],
      "author": {
        "name": "Mike Sager",
        "email": "sager@netapp.com",
        "time": "Wed Apr 01 09:21:47 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:14 2009 -0700"
      },
      "message": "nfs41: define NFS4_MAX_MINOR_VERSION based on CONFIG_NFS_V4_1\n\nIf 4.1 isn\u0027t supported, NFS4_MAX_MINOR_VERSION will be 0.\n\nSigned-off-by: Mike Sager \u003csager@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1efae38140546db403845d628db9f2d608caa87e",
      "tree": "88f1c176a269d55c130a0959120b575ae28338b2",
      "parents": [
        "07a2039b8eb0af4ff464efd3dfd95de5c02648c6"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "ricardo.labiaga@netapp.com",
        "time": "Wed Apr 01 09:21:46 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 10:46:13 2009 -0700"
      },
      "message": "nfs41: Add Kconfig symbols for NFSv4.1\n\nAdded CONFIG_NFS_V4_1 and made it depend upon CONFIG_NFS_V4 and EXPERIMENTAL.\nIndicate that CONFIG_NFS_V4_1 is for NFS developers at the moment\n\nAt the moment we\u0027re expecting folks trying out nfs41 to\nactively participate in the development process by helping us\ndebug issues and ideally send patches to fix problems.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "07a2039b8eb0af4ff464efd3dfd95de5c02648c6",
      "tree": "0cea46e43f0625244c3d06a71d6559e5ec5419ca",
      "parents": [
        "96050dfb25966612008dcea7d342e91fa01e993c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 20:05:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 20:05:27 2009 -0700"
      },
      "message": "Linux 2.6.30\n"
    },
    {
      "commit": "96050dfb25966612008dcea7d342e91fa01e993c",
      "tree": "787b6337a9ef0ad018181218e9d36c883998c090",
      "parents": [
        "a61d90d75d0f9e86432c45b496b4b0fbf0fd03dc"
      ],
      "author": {
        "name": "Peter Botha",
        "email": "peterb@goldcircle.co.za",
        "time": "Tue Jun 09 17:16:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 18:09:03 2009 -0700"
      },
      "message": "char: mxser, fix ISA board lookup\n\nThere\u0027s a bug in the mxser kernel module that still appears in the\n2.6.29.4 kernel.\n\nmxser_get_ISA_conf takes a ioaddress as its first argument, by passing the\nnot of the ioaddr, you\u0027re effectively passing 0 which means it won\u0027t be\nable to talk to an ISA card.  I have tested this, and removing the !\nfixes the problem.\n\nCc: \"Peter Botha\" \u003cpeterb@goldcircle.co.za\u003e\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a61d90d75d0f9e86432c45b496b4b0fbf0fd03dc",
      "tree": "85d557e9d67cbad0347c6f12f7a60c474e485f7c",
      "parents": [
        "463aea1a1c49f1a7d4b50656dfd6c8bb33358b1b"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jun 09 16:26:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 16:59:03 2009 -0700"
      },
      "message": "jbd: fix race in buffer processing in commit code\n\nIn commit code, we scan buffers attached to a transaction.  During this\nscan, we sometimes have to drop j_list_lock and then we recheck whether\nthe journal buffer head didn\u0027t get freed by journal_try_to_free_buffers().\n But checking for buffer_jbd(bh) isn\u0027t enough because a new journal head\ncould get attached to our buffer head.  So add a check whether the journal\nhead remained the same and whether it\u0027s still at the same transaction and\nlist.\n\nThis is a nasty bug and can cause problems like memory corruption (use after\nfree) or trigger various assertions in JBD code (observed).\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "463aea1a1c49f1a7d4b50656dfd6c8bb33358b1b",
      "tree": "9eb2a2b926f239ea703343e26fbda5dde8663998",
      "parents": [
        "586c7e6a280580fd94b662bf486f9bb31098d14b"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Jun 09 16:26:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 16:59:03 2009 -0700"
      },
      "message": "autofs4: remove hashed check in validate_wait()\n\nThe recent -\u003elookup() deadlock correction required the directory inode\nmutex to be dropped while waiting for expire completion.  We were\nconcerned about side effects from this change and one has been identified.\n\nI saw several error messages.\n\nThey cause autofs to become quite confused and don\u0027t really point to the\nactual problem.\n\nThings like:\n\nhandle_packet_missing_direct:1376: can\u0027t find map entry for (43,1827932)\n\nwhich is usually totally fatal (although in this case it wouldn\u0027t be\nexcept that I treat is as such because it normally is).\n\ndo_mount_direct: direct trigger not valid or already mounted\n/test/nested/g3c/s1/ss1\n\nwhich is recoverable, however if this problem is at play it can cause\nautofs to become quite confused as to the dependencies in the mount tree\nbecause mount triggers end up mounted multiple times.  It\u0027s hard to\naccurately check for this over mounting case and automount shouldn\u0027t need\nto if the kernel module is doing its job.\n\nThere was one other message, similar in consequence of this last one but I\ncan\u0027t locate a log example just now.\n\nWhen checking if a mount has already completed prior to adding a new mount\nrequest to the wait queue we check if the dentry is hashed and, if so, if\nit is a mount point.  But, if a mount successfully completed while we\nslept on the wait queue mutex the dentry must exist for the mount to have\ncompleted so the test is not really needed.\n\nMounts can also be done on top of a global root dentry, so for the above\ncase, where a mount request completes and the wait queue entry has already\nbeen removed, the hashed test returning false can cause an incorrect\ncallback to the daemon.  Also, d_mountpoint() is not sufficient to check\nif a mount has completed for the multi-mount case when we don\u0027t have a\nreal mount at the base of the tree.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "586c7e6a280580fd94b662bf486f9bb31098d14b",
      "tree": "27547e0dc35c34431f9504ad51b70ccccc55c14f",
      "parents": [
        "13df635f080d411a152c92087a384135c1562fac"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Tue Jun 09 16:26:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 16:59:03 2009 -0700"
      },
      "message": "shm: fix unused warnings on nommu\n\nThe massive nommu update (8feae131) resulted in these warnings:\nipc/shm.c: In function `sys_shmdt\u0027:\nipc/shm.c:974: warning: unused variable `size\u0027\nipc/shm.c:972: warning: unused variable `next\u0027\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "13df635f080d411a152c92087a384135c1562fac",
      "tree": "71330df816c147e2c11dc68dfbd39a0c296cb163",
      "parents": [
        "9cdba30283ecad22970e954c5595c9079d7a7f63",
        "8437a617708d014d6f220df201a24960e00d57b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 08:48:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 08:48:32 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  kvm: fix kvm reboot crash when MAXSMP is used\n  cpumask: alloc zeroed cpumask for static cpumask_var_ts\n  cpumask: introduce zalloc_cpumask_var\n"
    },
    {
      "commit": "9cdba30283ecad22970e954c5595c9079d7a7f63",
      "tree": "abbd662082da905358db1ac98ada0bfd35dc7622",
      "parents": [
        "fd4d34295b36c5d9a1aba3d3f2764d721db093be",
        "c1d4c41f2fdfe66dea957b76d005affba3e56b26"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 08:47:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 08:47:43 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  bsg: setting rq-\u003ebio to NULL\n"
    },
    {
      "commit": "fd4d34295b36c5d9a1aba3d3f2764d721db093be",
      "tree": "8fc6069c00b156519c78fc3644a7eed4105a7bab",
      "parents": [
        "4d11eff66889e65e9351111b1cc39f066f9f9729",
        "52ea3a56a3268bc2a5a7c75e98c81463004e38ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 08:47:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 08:47:27 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  cls_cgroup: Fix oops when user send improperly \u0027tc filter add\u0027 request\n  r8169: fix crash when large packets are received\n"
    },
    {
      "commit": "4d11eff66889e65e9351111b1cc39f066f9f9729",
      "tree": "e96ed48c0f9ad90e3d8dd319874dc6b577958374",
      "parents": [
        "3af968e066d593bc4dacc021715f3e95ddf0996f",
        "0e6e0271a210817e202c8a4bfffbde3e3c0616d1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 08:41:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 08:41:22 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://neil.brown.name/md\n\n* \u0027for-linus\u0027 of git://neil.brown.name/md:\n  md/raid5: fix bug in reshape code when chunk_size decreases.\n  md/raid5 - avoid deadlocks in get_active_stripe during reshape\n  md/raid5: use conf-\u003eraid_disks in preference to mddev-\u003eraid_disk\n"
    }
  ],
  "next": "c1d4c41f2fdfe66dea957b76d005affba3e56b26"
}
