)]}'
{
  "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": "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": "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": "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": "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": "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": "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": "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": "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": "f07502dae230a2c3b65381fd1b06e8a18b2c7525",
      "tree": "0576d509666204c8c2ad3fd023c673b46f57bf78",
      "parents": [
        "81ee1bad86bd6752c626018d43a74e3f81f1ae72"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Sat Jun 06 21:18:09 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 06 14:33:41 2009 -0700"
      },
      "message": "integrity: fix IMA inode leak\n\nCONFIG_IMA\u003dy inode activity leaks iint_cache and radix_tree_node objects\nuntil the system runs out of memory.  Nowhere is calling ima_inode_free()\na.k.a. ima_iint_delete().  Fix that by calling it from destroy_inode().\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72a43d63cb51057393edfbcfc4596066205ad15d",
      "tree": "25b59cdaa08aabadc20100bd2a0c12b5feeaf520",
      "parents": [
        "460bcf57b128ce1c0dd553d905fedc097f9955c6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Wed May 13 19:13:40 2009 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 06 06:17:26 2009 -0400"
      },
      "message": "ext3/4 with synchronous writes gets wedged by Postfix\n\nOK, that\u0027s probably the easiest way to do that, as much as I don\u0027t like it...\nSince iget() et.al. will not accept I_FREEING (will wait to go away\nand restart), and since we\u0027d better have serialization between new/free\non fs data structures anyway, we can afford simply skipping I_FREEING\net.al. in insert_inode_locked().\n\nWe do that from new_inode, so it won\u0027t race with free_inode in any interesting\nways and it won\u0027t race with iget (of any origin; nfsd or in case of fs\ncorruption a lookup) since both still will wait for I_LOCK.\n\nReviewed-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nTested-by: David Watson \u003cdbwatson@ukfsn.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "460bcf57b128ce1c0dd553d905fedc097f9955c6",
      "tree": "5e5f45d6c3b5584a086a306a67d4fb984fef5653",
      "parents": [
        "064e38aaded5269e573ac1c765284fd65c8ebd13"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue May 12 07:37:56 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 06 06:17:25 2009 -0400"
      },
      "message": "Fix nobh_truncate_page() to not pass stack garbage to get_block()\n\nThe nobh_truncate_page() function is used by ext2, exofs, and jfs.  Of\nthese three, only ext2 and jfs\u0027s get_block() function pays attention\nto bh-\u003eb_size --- which is normally always the filesystem blocksize\nexcept when the get_block() function is called by either\nmpage_readpage(), mpage_readpages(), or the direct I/O routines in\nfs/direct_io.c.\n\nUnfortunately, nobh_truncate_page() does not initialize map_bh before\ncalling the filesystem-supplied get_block() function.  So ext2 and jfs\nwill try to calculate the number of blocks to map by taking stack\ngarbage and shifting it left by inode-\u003ei_blkbits.  This should be\n*mostly* harmless (except the filesystem will do some unnneeded work)\nunless the stack garbage is less than filesystem\u0027s blocksize, in which\ncase maxblocks will be zero, and the attempt to find out whether or\nnot the filesystem has a hole at a given logical block will fail, and\nthe page cache entry might not get zero\u0027ed out.\n\nAlso if the stack garbage in in map_bh-\u003estate happens to have the\nBH_Mapped bit set, there could be an attempt to call readpage() on a\nnon-existent page, which could cause nobh_truncate_page() to return an\nerror when it should not.\n\nFix this by initializing map_bh-\u003estate and map_bh-\u003esize.\n\nFortunately, it\u0027s probably fairly unlikely that ext2 and jfs users\nmount with nobh these days.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nCc: linux-fsdevel@vger.kernel.org\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "064e38aaded5269e573ac1c765284fd65c8ebd13",
      "tree": "efce870caf67069df9dd42d95a232a347bbbdb17",
      "parents": [
        "cd24f8c1e7e27a2c6051a9a338d4704a2431dbf0",
        "44fb5511638938a2c37c895abc14df648ffc07e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 05 11:54:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 05 11:54:28 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: Fix oops and use after free during space balancing\n  Btrfs: set device-\u003etotal_disk_bytes when adding new device\n"
    },
    {
      "commit": "44fb5511638938a2c37c895abc14df648ffc07e9",
      "tree": "0554a8a71403958b279ddcb601a3d0bb85943a59",
      "parents": [
        "2cc3c559fb2fe8cecca82a517bc56e88b0c1effd"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jun 04 15:34:51 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jun 04 15:41:27 2009 -0400"
      },
      "message": "Btrfs: Fix oops and use after free during space balancing\n\nThe btrfs allocator uses list_for_each to walk the available block\ngroups when searching for free blocks.  It starts off with a hint\nto help find the best block group for a given allocation.\n\nThe hint is resolved into a block group, but we don\u0027t properly check\nto make sure the block group we find isn\u0027t in the middle of being\nfreed due to filesystem shrinking or balancing.  If it is being\nfreed, the list pointers in it are bogus and can\u0027t be trusted.  But,\nthe code happily goes along and uses them in the list_for_each loop,\nleading to all kinds of fun.\n\nThe fix used here is to check to make sure the block group we find really\nis on the list before we use it.  list_del_init is used when removing\nit from the list, so we can do a proper check.\n\nThe allocation clustering code has a similar bug where it will trust\nthe block group in the current free space cluster.  If our allocation\nflags have changed (going from single spindle dup to raid1 for example)\nbecause the drives in the FS have changed, we\u0027re not allowed to use\nthe old block group any more.\n\nThe fix used here is to check the current cluster against the\ncurrent allocation flags.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "2cc3c559fb2fe8cecca82a517bc56e88b0c1effd",
      "tree": "d060c3b3d9943a8f8aaddc5f6748b9ca59d90ee5",
      "parents": [
        "9f55684c2d9869e8cc53595a3fee679958511cfb"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Thu Jun 04 09:23:50 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jun 04 09:23:57 2009 -0400"
      },
      "message": "Btrfs: set device-\u003etotal_disk_bytes when adding new device\n\nIt was not being properly initialized, and so the size saved to\ndisk was not correct.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "4157fd85fc794bb7896b65c0cf686aa89d711d57",
      "tree": "4ba3ebbea7bcaaa6d7a4ad1c5501c3c4a8d08745",
      "parents": [
        "e7c4f03b839ba4b64ce0a7c71d71a8e1b086c840",
        "1b17d766463d51904cb242f194a780737e5f73ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 02 09:47:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 02 09:47:21 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: prevent deadlock in xfs_qm_shake()\n  xfs: fix overflow in xfs_growfs_data_private\n  xfs: fix double unlock in xfs_swap_extents()\n"
    },
    {
      "commit": "1b17d766463d51904cb242f194a780737e5f73ef",
      "tree": "25d43875b8c539d080141479a0695ab1ff24965c",
      "parents": [
        "e6da7c9fed111ba1243297ee6eda8e24ae11c384"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Mon Jun 01 13:13:24 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Mon Jun 01 22:59:45 2009 -0500"
      },
      "message": "xfs: prevent deadlock in xfs_qm_shake()\n\nIt\u0027s possible to recurse into filesystem from the memory\nallocation, which deadlocks in xfs_qm_shake(). Add check\nfor __GFP_FS, and bail out if it is not set.\n\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Hedi Berriche \u003chedi@sgi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "e6da7c9fed111ba1243297ee6eda8e24ae11c384",
      "tree": "7e683f4591bdb349eef6ea6f80517b71965143b8",
      "parents": [
        "1f23920dbf1377fa9e4aef4f3d20c34a06a71a35"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sat May 23 14:30:12 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Mon Jun 01 22:59:38 2009 -0500"
      },
      "message": "xfs: fix overflow in xfs_growfs_data_private\n\nIn the case where growing a filesystem would leave the last AG\ntoo small, the fixup code has an overflow in the calculation\nof the new size with one fewer ag, because \"nagcount\" is a 32\nbit number.  If the new filesystem has \u003e 2^32 blocks in it\nthis causes a problem resulting in an EINVAL return from growfs:\n\n # xfs_io -f -c \"truncate 19998630180864\" fsfile\n # mkfs.xfs -f -bsize\u003d4096 -dagsize\u003d76288719b,size\u003d3905982455b fsfile\n # mount -o loop fsfile /mnt\n # xfs_growfs /mnt\n\nmeta-data\u003d/dev/loop0             isize\u003d256    agcount\u003d52,\nagsize\u003d76288719 blks\n         \u003d                       sectsz\u003d512   attr\u003d2\ndata     \u003d                       bsize\u003d4096   blocks\u003d3905982455, imaxpct\u003d5\n         \u003d                       sunit\u003d0      swidth\u003d0 blks\nnaming   \u003dversion 2              bsize\u003d4096   ascii-ci\u003d0\nlog      \u003dinternal               bsize\u003d4096   blocks\u003d32768, version\u003d2\n         \u003d                       sectsz\u003d512   sunit\u003d0 blks, lazy-count\u003d0\nrealtime \u003dnone                   extsz\u003d4096   blocks\u003d0, rtextents\u003d0\nxfs_growfs: XFS_IOC_FSGROWFSDATA xfsctl failed: Invalid argument\n\nReported-by: richard.ems@cape-horn-eng.com\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "1f23920dbf1377fa9e4aef4f3d20c34a06a71a35",
      "tree": "0fa80478499f1c42b2dc649659e1d1f22c6862f2",
      "parents": [
        "28e211700a81b0a934b6c7a4b8e7dda843634d2f"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Thu May 07 19:49:45 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Mon Jun 01 22:59:29 2009 -0500"
      },
      "message": "xfs: fix double unlock in xfs_swap_extents()\n\nRegreesion from commit ef8f7fc, which rearranged the code in\nxfs_swap_extents() leading to double unlock of xfs inode ilock.\nThat resulted in xfs_fsr deadlocking itself on platforms, which\ndon\u0027t handle double unlock of rw_semaphore nicely. It caused the\ncount go negative, which represents the write holder, without\nreally having one. ia64 is one of the platforms where deadlock\nwas easily reproduced and the fix was tested.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "b4566ac52484a5eef1d73e310f28235cd1b0685a",
      "tree": "b49c6ee4973801b96751fcda97d7df68f4afafaf",
      "parents": [
        "3b798a5231be15411225b99dc1217580e8d6ae1f",
        "62013ab5d5df297a01ae5863b5c26d758ec0af7f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 30 08:04:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 30 08:04:15 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: fix bh leak in nilfs_cpfile_delete_checkpoints function\n"
    },
    {
      "commit": "62013ab5d5df297a01ae5863b5c26d758ec0af7f",
      "tree": "61b8e9b9b0d8e57c0de0f4c87f23a671282bc862",
      "parents": [
        "59a3759d0fe8d969888c741bb33f4946e4d3750d"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat May 30 21:50:58 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat May 30 22:07:50 2009 +0900"
      },
      "message": "nilfs2: fix bh leak in nilfs_cpfile_delete_checkpoints function\n\nThe nilfs_cpfile_delete_checkpoints() wrongly skips brelse() for the\nheader block of checkpoint file in case of errors.  This fixes the\nleak bug.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "3218911f839b6c85acbf872ad264ea69aa4d89ad",
      "tree": "d0aefbb2f1d0ea4d2e8f59be99492c5393715184",
      "parents": [
        "b939e414f0dbd7ac8d38da2c7e3a419728229afd",
        "81e2962801bbb4e740c501ca687d5cb857929c04"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 29 08:52:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 29 08:52:13 2009 -0700"
      },
      "message": "Merge git://git.infradead.org/~dwmw2/mtd-2.6.30\n\n* git://git.infradead.org/~dwmw2/mtd-2.6.30:\n  jffs2: Fix corruption when flash erase/write failure\n  mtd: MXC NAND driver fixes (v5)\n"
    },
    {
      "commit": "deeb103412efcf9313e2d1dfe892fed4e372b9e7",
      "tree": "02beda159182e2fc8be3bdb2f73cca79e24fe168",
      "parents": [
        "c8bce3d3bdedc7d187fa222a3b36d149bd940d0e",
        "5c8563d773c0e9f0ac2a552e84806decd98ce732"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 29 08:49:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 29 08:49:52 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  Driver Core: do not oops when driver_unregister() is called for unregistered drivers\n  sysfs: file.c: use create_singlethread_workqueue()\n"
    },
    {
      "commit": "c8bce3d3bdedc7d187fa222a3b36d149bd940d0e",
      "tree": "47f335f6faaca36eed1dceb64dc0366ef68ec875",
      "parents": [
        "5f789cd8bae9b6315b7bf93e24ec1ac85f5a13b9",
        "98779be861a05c4cb75bed916df72ec0cba8b53d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 29 08:49:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 29 08:49:09 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.30\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.30\u0027 of git://linux-nfs.org/~bfields/linux:\n  svcrdma: dma unmap the correct length for the RPCRDMA header page.\n  nfsd: Revert \"svcrpc: take advantage of tcp autotuning\"\n  nfsd: fix hung up of nfs client while sync write data to nfs server\n"
    },
    {
      "commit": "c3dc5bec05a2ae03a72ef82e321d77fb549d951c",
      "tree": "fc3fa0f7a854dce91d0816cb757244bb62f57bf6",
      "parents": [
        "ba9447198bdd945666a9bac5e556632a7acb235d"
      ],
      "author": {
        "name": "Oskar Schirmer",
        "email": "os@emlix.com",
        "time": "Thu May 28 14:34:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 29 08:40:02 2009 -0700"
      },
      "message": "flat: fix data sections alignment\n\nThe flat loader uses an architecture\u0027s flat_stack_align() to align the\nstack but assumes word-alignment is enough for the data sections.\n\nHowever, on the Xtensa S6000 we have registers up to 128bit width\nwhich can be used from userspace and therefor need userspace stack and\ndata-section alignment of at least this size.\n\nThis patch drops flat_stack_align() and uses the same alignment that\nis required for slab caches, ARCH_SLAB_MINALIGN, or wordsize if it\u0027s\nnot defined by the architecture.\n\nIt also fixes m32r which was obviously kaput, aligning an\nuninitialized stack entry instead of the stack pointer.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Oskar Schirmer \u003cos@emlix.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Bryan Wu \u003ccooloney@kernel.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Johannes Weiner \u003cjw@emlix.com\u003e\nAcked-by: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bd6daba909d8484bd2ccf6017db4028d7a420927",
      "tree": "e5c5fa2ddb9b3658a24c15ca4050c71f68dc634f",
      "parents": [
        "b2e1feaf0af6b8a826b86748a19ddc2013ab7dbd"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu May 28 14:34:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 29 08:40:02 2009 -0700"
      },
      "message": "procfs: make errno values consistent when open pident vs exit(2) race occurs\n\nproc_pident_instantiate() has following call flow.\n\nproc_pident_lookup()\n  proc_pident_instantiate()\n    proc_pid_make_inode()\n\nAnd, proc_pident_lookup() has following error handling.\n\n\tconst struct pid_entry *p, *last;\n\terror \u003d ERR_PTR(-ENOENT);\n\tif (!task)\n\t\tgoto out_no_task;\n\nThen, proc_pident_instantiate should return ENOENT too when racing against\nexit(2) occur.\n\nEINAL has two bad reason.\n  - it implies caller is wrong. bad the race isn\u0027t caller\u0027s mistake.\n  - man 2 open don\u0027t explain EINVAL. user often don\u0027t handle it.\n\nNote: Other proc_pid_make_inode() caller already use ENOENT properly.\n\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81e2962801bbb4e740c501ca687d5cb857929c04",
      "tree": "59b7eabd1477825c48278956a9a9a387ee92d12b",
      "parents": [
        "8541c1180a355c4da283fc6b03a92c0233823c1b"
      ],
      "author": {
        "name": "Joakim Tjernlund",
        "email": "Joakim.Tjernlund@transmode.se",
        "time": "Thu May 28 17:43:59 2009 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Fri May 29 10:44:46 2009 +0100"
      },
      "message": "jffs2: Fix corruption when flash erase/write failure\n\nErase errors such as:\n\"Newly-erased block contained word 0xa4ef223e at offset 0x0296a014\"\nand failure to write the clean marker,\nmoves the offending erase block to erasing list before calling\njffs2_erase_failed(). This is bad as jffs2_erase_failed() will\nalso move the block to the bad_list, but is now moving the\nwrong block, causing FS corruption.\n\nSigned-off-by: Joakim Tjernlund \u003cJoakim.Tjernlund@transmode.se\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "086a377edc969aea6c761176a7e4ff68f264d6fe",
      "tree": "81cd6a34fb12a3cfa00228bd5508b49bdbfc2c03",
      "parents": [
        "b5c42bc8db17db80917f99205a03c51f17354495"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu May 07 12:36:53 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 28 14:24:07 2009 -0700"
      },
      "message": "sysfs: file.c: use create_singlethread_workqueue()\n\nWe don\u0027t need a kernel thread per CPU for this application.\n\nAcked-by: Alex Chiang \u003cachiang@hp.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a0d24b295aed7a9daf4ca36bd4784e4d40f82303",
      "tree": "2cda7bf3b4514cf13158a557f3ab82d384ce5349",
      "parents": [
        "59a3759d0fe8d969888c741bb33f4946e4d3750d"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue May 19 12:03:15 2009 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed May 27 17:40:06 2009 -0400"
      },
      "message": "nfsd: fix hung up of nfs client while sync write data to nfs server\n\nCommit \u0027Short write in nfsd becomes a full write to the client\u0027\n(31dec2538e45e9fff2007ea1f4c6bae9f78db724) broken the sync write.\nWith the following commands to reproduce:\n\n  $ mount -t nfs -o sync 192.168.0.21:/nfsroot /mnt\n  $ cd /mnt\n  $ echo aaaa \u003e temp.txt\n\nThen nfs client is hung up.\n\nIn SYNC mode the server alaways return the write count 0 to the\nclient. This is because the value of host_err in nfsd_vfs_write()\nwill be overwrite in SYNC mode by \u0027host_err\u003dnfsd_sync(file);\u0027,\nand then we return host_err(which is now 0) as write count.\n\nThis patch fixed the problem.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "911e690e70540f009125bacd16c017eb1a7b1916",
      "tree": "c43f99a9f3cd1e1f12d54628f9fa7d02c1bf4685",
      "parents": [
        "348ca1029e8bae6e0c49097ad25439b17c5326f4"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed May 27 15:46:55 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 27 10:20:13 2009 -0700"
      },
      "message": "CacheFiles: Fixup renamed filenames in comments in internal.h\n\nFix up renamed filenames in comments in fs/cachefiles/internal.h.\n\nOriginally, the files were all called cf-xxx.c, but they got renamed to\njust xxx.c.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "348ca1029e8bae6e0c49097ad25439b17c5326f4",
      "tree": "136f281f3c3b9b963d005369238b335029ff4475",
      "parents": [
        "54726f14b53cae061c504ac572320a16a5616de5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed May 27 15:46:50 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 27 10:20:13 2009 -0700"
      },
      "message": "FS-Cache: Fixup renamed filenames in comments in internal.h\n\nFix up renamed filenames in comments in fs/fscache/internal.h.\n\nOriginally, the files were all called fsc-xxx.c, but they got renamed to\njust xxx.c.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "95baa25c7321eb8613246acbf61b97911cc748d3",
      "tree": "3aea4952f4721c2c456ac2b5d056c8db34dd2e6d",
      "parents": [
        "d0367a508af9cf97beb202935bb9ad8883d30cd1"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 26 14:51:00 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 26 14:51:00 2009 -0400"
      },
      "message": "NFSv4: Fix the case where NFSv4 renewal fails\n\nIf the asynchronous lease renewal fails (usually due to a soft timeout),\nthen we _must_ schedule state recovery in order to ensure that we don\u0027t\nlose the lease unnecessarily or, if the lease is already lost, that we\nrecover the locking state promptly...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d0367a508af9cf97beb202935bb9ad8883d30cd1",
      "tree": "12222635742742c8536b7a2d3188c8c174c6caab",
      "parents": [
        "68743082b560067e3e93eab8b2568f238e486865"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Tue May 26 14:51:00 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 26 14:51:00 2009 -0400"
      },
      "message": "nfs: fix build error in nfsroot with initconst\n\nfix build error with latest kbuild adjustments to initconst.\n\nThe commit a447c0932445f92ce6f4c1bd020f62c5097a7842 (\"vfs: Use\nconst for kernel parser table\") changed:\n\n    static match_table_t __initdata tokens \u003d {\nto\n    static match_table_t __initconst tokens \u003d {\n\nBut the missing const causes popwerpc to fail with latest\nupdates to __initconst like this:\n\nfs/nfs/nfsroot.c:400: error: __setup_str_nfs_root_setup causes a section type conflict\nfs/nfs/nfsroot.c:400: error: __setup_str_nfs_root_setup causes a section type conflict\n\nThe bug is only present with kbuild-next.\nFollowing patch has been build tested.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nAcked-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "3eb9c8be0cc56619571b675a688001f2ddb25c90"
}
