)]}'
{
  "log": [
    {
      "commit": "9f594791dd530c2dc06953fb32505a26cc28371f",
      "tree": "3e981af095a51a354bb1c1d281136e1889a125c9",
      "parents": [
        "7c5d7256845e30d295de4d72d4c52943bff7d1ac"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun May 27 13:02:53 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun May 27 14:33:07 2012 -0400"
      },
      "message": "NFSv4.1: Handle other occurrences of NFS4ERR_CONN_NOT_BOUND_TO_SESSION\n\nLet nfs4_schedule_session_recovery() handle the details of choosing\nbetween resetting the session, and other session related recovery.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "497826af60f812240ed5b6ba80541f7c9f2154d9",
      "tree": "b741b4f133aa89a6c6e50bf1a1704f550e59cf9d",
      "parents": [
        "bd4aeffb5b89070ae93c579f1d5a0758f7123e8b"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Tue May 22 10:10:03 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 22 16:43:04 2012 -0400"
      },
      "message": "NFS: Fix compiler warnings\n\nThe \"struct inode *inode\" was only used in a dprintk, so compiling with\nCONFIG_SUNRPC_DEBUG off triggers a warning.  To get around this, I\nremove the \"struct inode *inode\" variable and instead change the\ndprintk()s to use hdr-\u003einode instead.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bd4aeffb5b89070ae93c579f1d5a0758f7123e8b",
      "tree": "053682177f4d0211aabcd498c8be6aee768ed195",
      "parents": [
        "996074cb8c355bf3d87d066ba1e1189ba3f648f5"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue May 22 08:09:27 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 22 16:42:42 2012 -0400"
      },
      "message": "NFSv4.1 skip rpc_call_done only on disconnected DS slot_table_waitq tasks\n\nWe reset all I/O on a disconnected data server through the pgio layer indicated\nby the NFS_IOHDR_REDO flag.\n\nDifferentiate between on-the-wire tasks returning with an error which must\ncall rpc_call_done and tasks woken from the data server slot_table_waitq\nwaiting for a session slot with a status of zero which call rpc_exit in\nrpc_prepare and need to skip rpc_call_done.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "996074cb8c355bf3d87d066ba1e1189ba3f648f5",
      "tree": "11b94acdad07bde4fffb22cd3e3cb8b5f7f8ef75",
      "parents": [
        "d42e78737c31f08893ed4916fc03104790867a71"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue May 22 08:09:26 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 22 16:42:37 2012 -0400"
      },
      "message": "NFSv4.1 Just use nfs_put_client in filelayout release\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d42e78737c31f08893ed4916fc03104790867a71",
      "tree": "4a152d8d4c5a944895c52c4badbc639118bd03f4",
      "parents": [
        "53b8ee346463946f88b3e1639d688c384df1166c"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue May 22 08:09:28 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 22 16:42:28 2012 -0400"
      },
      "message": "NFSv4.1 fix null state reference in filelayout_async_handle_error\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "53b8ee346463946f88b3e1639d688c384df1166c",
      "tree": "31b089f4c9198293902d6e3ba46ee53c92c34726",
      "parents": [
        "b3f87b98aa3dc22cc58f970140113b270015cddb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 22 16:36:27 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 22 16:36:27 2012 -0400"
      },
      "message": "NFSv4.1: Fix a bad reference count issue in the pNFS commit code\n\nfilelayout_scan_commit_lists needs to bump the reference count on\nthe struct nfs_page just like nfs_scan_commit_list().\n\nReported-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "041245c88a29273788e8eff1353bc6e1f56c61df",
      "tree": "0810bad95fe40c6fbf1a1dc13cb3ba0305ba30d3",
      "parents": [
        "b4a2967e52523dbf0281b52c042f9042c6082f99"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 27 17:53:53 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat May 19 17:55:33 2012 -0400"
      },
      "message": "NFSv4.1 resend LAYOUTGET on data server invalid layout errors\n\nThe \"invalid layout\" class of errors is handled by destroying the layout and\ngetting a new layout from the server.  Currently, the layout must be\ndestroyed before a new layout can be obtained.\n\nThis means that all references (e.g.lsegs) to the \"to be destroyed\" layout\nheader must be dropped before it can be destroyed. This in turn means waiting\nfor all in flight RPC\u0027s using the old layout as well as draining the data\nserver session slot table wait queue.\n\nSet the NFS_LAYOUT_INVALID flag to redirect I/O to the MDS while waiting for\nthe old layout to be destroyed.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b4a2967e52523dbf0281b52c042f9042c6082f99",
      "tree": "e35824780a7d474501af611161e4181e95b18691",
      "parents": [
        "3a7936c3fc469c196d9163abfea6b7aa9572d443"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 27 17:53:52 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat May 19 17:55:32 2012 -0400"
      },
      "message": "NFSv4.1 dereference a disconnected data server client record\n\nWhen the last DS io is processed, the data server client record will be\nfreed.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3a7936c3fc469c196d9163abfea6b7aa9572d443",
      "tree": "0c3d2cf6bc9bb97cbdb9c2dc296f1224669e2524",
      "parents": [
        "0a57cdac3fb9d249f4fbbc745c01b9292ef8c1b7"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 27 17:53:51 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat May 19 17:55:32 2012 -0400"
      },
      "message": "NFSv4.1 ref count nfs_client across filelayout data server io\n\nPrepare to put a dis-connected DS client record.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0a57cdac3fb9d249f4fbbc745c01b9292ef8c1b7",
      "tree": "8fb264e116c6c29ae0ed38f8c8065074bc288f55",
      "parents": [
        "671fb89695fee0c70a969371efd38ed30be76a8a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 27 17:53:50 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat May 19 17:55:31 2012 -0400"
      },
      "message": "NFSv4.1 send layoutreturn to fence disconnected data server\n\nLet the MDS know that you are redirecting I/O from pNFS to MDS.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "671fb89695fee0c70a969371efd38ed30be76a8a",
      "tree": "9feb369b1063a0fa038d21d5022384243f8f5edb",
      "parents": [
        "0ad2f378e1af7996d6f8355c02181ff3cc7ab260"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 27 17:53:49 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat May 19 17:55:31 2012 -0400"
      },
      "message": "NFSv4.1 wake up all tasks on un-connected DS slot table waitq\n\nThe DS has a connection error (invalid deviceid). Drain the fore channel\nslot table waitq.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0ad2f378e1af7996d6f8355c02181ff3cc7ab260",
      "tree": "d336b21a4dcb5d9681d8e298dc37c245b73ddc4e",
      "parents": [
        "a033a09189c0125d56f2ac17ffb4bec5a3d3323b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 27 17:53:48 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat May 19 17:55:31 2012 -0400"
      },
      "message": "NFSv4.1 Check invalid deviceid upon slot table waitq wakeup\n\nTasks sleeping on the slot table waitq wake to the rpc_prepare_task state.\nReset the task for io through the MDS if the deviceid is invalid.\n\nThe reset functions put the io pages through the pageio layer which has the\nadvantage of re-coalescing which allows for the MDS and DS having different\nr/wsizes. Exit the awakened task without executing the rpc_call_done routine.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e7dd79af01e7ca932c5168a708e77750659f7a9e",
      "tree": "dfacd16bce6df877ecae697cd7dbf5f8e0561872",
      "parents": [
        "98fc685ae2aa24eae98526e9196b3229d519083a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 27 17:53:46 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat May 19 17:54:20 2012 -0400"
      },
      "message": "NFSv4.1: mark deviceid invalid on filelayout DS connection errors\n\nThis prevents the use of any layout for i/o that references the deviceid.\nI/O is redirected through the MDS.\n\nRedirect the unhandled failed I/O to the MDS without marking either the\nlayout or the deviceid invalid.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9f0ec176b3071e0472582c07ae1e68055b28184d",
      "tree": "a767381b136e8ac9f7839917b477fd7cd8cf9dc3",
      "parents": [
        "90fecfcb3437dfc9bec4ee3306584dcd6843701b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 27 17:53:44 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat May 19 17:54:19 2012 -0400"
      },
      "message": "NFSv4.1 set RPC_TASK_SOFTCONN for filelayout DS RPC calls\n\nRPC_TASK_SOFTCONN returns connection errors to the caller which allows the pNFS\nfile layout to quickly try the MDS or perhaps another DS.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "90fecfcb3437dfc9bec4ee3306584dcd6843701b",
      "tree": "f03e089985c35c396d6705777ce9632a41d55c88",
      "parents": [
        "554d458d79fa34acc73bc5128ba7bbf6b3007dfd"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 27 17:53:43 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat May 19 17:54:19 2012 -0400"
      },
      "message": "NFSv4.1 cleanup filelayout invalid layout handling\n\nThe invalid layout bits are should only be used to block LAYOUTGETs.\n\nDo not invalidate a layout on deviceid invalidation.\nDo not invalidate a layout on un-handled READ, WRITE, COMMIT errors.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "554d458d79fa34acc73bc5128ba7bbf6b3007dfd",
      "tree": "e3b433888cfb494e234bb0a068563591f83cdcc2",
      "parents": [
        "e73e6c9e85ed91187c1d21cb9238e86a116bf3db"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 27 17:53:42 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat May 19 17:54:18 2012 -0400"
      },
      "message": "NFSv4.1: cleanup filelayout invalid deviceid handling\n\nMove the invalid deviceid test into nfs4_fl_prepare_ds, called by the\nfilelayout read, write, and commit routines. NFS4_DEVICE_ID_NEG_ENTRY\nis no longer needed.\nRemove redundant printk\u0027s - filelayout_mark_devid_invalid prints a KERN_WARNING.\n\nAn invalid device prevents pNFS io.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "df0117481cd94dbb8970f4be9d05b0568fa09ab1",
      "tree": "8de0587b5e1be30510925392577e0ad8aac32bc4",
      "parents": [
        "1763da1234cba663b849476d451bdccac5147859"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Tue Apr 24 14:50:34 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:39 2012 -0400"
      },
      "message": "NFS: Prevent garbage cinfo-\u003eds from leaking out\n\nThis is a bugfix that applies on top of the previous directio patches,\nthat fixes a bug introduced in \"NFS: create struct nfs_commit_info\".\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1763da1234cba663b849476d451bdccac5147859",
      "tree": "b2b4bf3e1ce8624217c78508054fc620aac79a55",
      "parents": [
        "56f9cd684d25f1bae901c5a872b8427f8b417c3f"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:57 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:39 2012 -0400"
      },
      "message": "NFS: rewrite directio write to use async coalesce code\n\nThis also has the advantage that it allows directio to use pnfs.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f453a54a01c7c0453ad9550906e3d2663dd486ac",
      "tree": "1eac38e7e186ea0339066e7da417a20e0274b2c0",
      "parents": [
        "ea2cf2282b4278461266013e9c002ee1c66700ff"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:54 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:38 2012 -0400"
      },
      "message": "NFS: create nfs_commit_completion_ops\n\nFactors out the code that needs to change when directio\nstarts using these code paths.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ea2cf2282b4278461266013e9c002ee1c66700ff",
      "tree": "244de055925710de27206ee0d5d09caa6353bd62",
      "parents": [
        "84c53ab5c093058c756dcef1879d38be6de90a3c"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:53 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:38 2012 -0400"
      },
      "message": "NFS: create struct nfs_commit_info\n\nIt is COMMIT that is handled the most differently between\nthe paged and direct paths.  Create a structure that encapsulates\neverything either path needs to know about the commit state.\n\nWe could use void to hide some of the layout driver stuff, but\nTrond suggests pulling it out to ensure type checking, given the\nhuge changes being made, and the fact that it doesn\u0027t interfere\nwith other drivers.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1825a0d08f22463e5a8f4b1636473efd057a3479",
      "tree": "b010b2bbb71431802cb1714483b69060ce09ff39",
      "parents": [
        "9533da2979757258d3fd5429d830a297013d69ed"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 19:55:31 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:38 2012 -0400"
      },
      "message": "NFS: prepare coalesce testing for directio\n\nThe coalesce code made assumptions that will no longer be true once\nnon-page aligned io occurs.  This introduces no change in\ncurrent behavior, but allows for more general situations to come.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6c75dc0d498caa402fb17b1bf769835a9db875c8",
      "tree": "b367bb2428c011f20b8fd47a6dd0b8603ee136ba",
      "parents": [
        "4db6e0b74c0f6dfc2f9c0690e8df512e3b635983"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:47 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:37 2012 -0400"
      },
      "message": "NFS: merge _full and _partial write rpc_ops\n\nDecouple nfs_pgio_header and nfs_write_data, and have (possibly\nmultiple) nfs_write_datas each take a refcount on nfs_pgio_header.\n\nFor the moment keeps nfs_write_header as a way to preallocate a single\nnfs_write_data with the nfs_pgio_header.  The code doesn\u0027t need this,\nand would be prettier without, but given the amount of churn I am\nalready introducing I didn\u0027t want to play with tuning new mempools.\n\nThis also fixes bug in pnfs_ld_handle_write_error.  In the case of\ndesc-\u003epg_bsize \u003c PAGE_CACHE_SIZE, the pages list was empty, causing\nreplay attempt to do nothing.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4db6e0b74c0f6dfc2f9c0690e8df512e3b635983",
      "tree": "19d8a2a7051bdab220b0bdcf3da1e350a53ce428",
      "parents": [
        "30dd374f6fc1b202db3a1b57b61afff1326bad92"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:46 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:37 2012 -0400"
      },
      "message": "NFS: merge _full and _partial read rpc_ops\n\nDecouple nfs_pgio_header and nfs_read_data, and have (possibly\nmultiple) nfs_read_datas each take a refcount on nfs_pgio_header.\n\nFor the moment keeps nfs_read_header as a way to preallocate a single\nnfs_read_data with the nfs_pgio_header.  The code doesn\u0027t need this,\nand would be prettier without, but given the amount of churn I am\nalready introducing I didn\u0027t want to play with tuning new mempools.\n\nThis also fixes bug in pnfs_ld_handle_read_error.  In the case of\ndesc-\u003epg_bsize \u003c PAGE_CACHE_SIZE, the pages list was empty, causing\nreplay attempt to do nothing.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cd841605f7a721878d8a2d1362484723d8abf569",
      "tree": "b5c37db575cd545a183577249909e042fe38d646",
      "parents": [
        "b5542849764aa56fd3f05c0041195b637b9d2ac2"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:44 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:37 2012 -0400"
      },
      "message": "NFS: create common nfs_pgio_header for both read and write\n\nIn order to avoid duplicating all the data in nfs_read_data whenever we\nsplit it up into multiple RPC calls (either due to a short read result\nor due to rsize \u003c PAGE_SIZE), we split out the bits that are the same\nper RPC call into a separate \"header\" structure.\n\nThe goal this patch moves towards is to have a single header\nrefcounted by several rpc_data structures.  Thus, want to always refer\nfrom rpc_data to the header, and not the other way.  This patch comes\nclose to that ideal, but the directio code currently needs some\nspecial casing, isolated in the nfs_direct_[read_write]hdr_release()\nfunctions.  This will be dealt with in a future patch.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b5542849764aa56fd3f05c0041195b637b9d2ac2",
      "tree": "9a5e899eafd979e8a1d763461459c0f07f82b825",
      "parents": [
        "cd12ae326f5c040f61d64233514609adabe84ab8"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:43 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:37 2012 -0400"
      },
      "message": "NFS: use req_offset where appropriate\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cd12ae326f5c040f61d64233514609adabe84ab8",
      "tree": "075fb17f4da0340b96a02a32bc54e6ba1a5e639e",
      "parents": [
        "c5996c4efb95bbb80a25acc890357c9eae998eeb"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:42 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:37 2012 -0400"
      },
      "message": "NFS: remove unnecessary casts of void pointers in nfs4filelayout.c\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c5996c4efb95bbb80a25acc890357c9eae998eeb",
      "tree": "06f0955c48ba20ff1bd28da1261343cb4f2ab7ff",
      "parents": [
        "31f6852a4c187c031456581b35e146c0d5bbdecd"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:41 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:37 2012 -0400"
      },
      "message": "NFS: reverse arg order in nfs_initiate_[read|write]\n\nMake it consistent with nfs_initiate_commit.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0b7c01533aa9f4a228d07d2768d084acb3a387bc",
      "tree": "aa57b08ce42f1effea2294354e3c9770b70e7612",
      "parents": [
        "799ba8d53d32c84bd2a867ca2689538a48176140"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:39 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:37 2012 -0400"
      },
      "message": "NFS: add a struct nfs_commit_data to replace nfs_write_data in commits\n\nCommits don\u0027t need the vectors of pages, etc. that writes do. Split out\na separate structure for the commit operation.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "799ba8d53d32c84bd2a867ca2689538a48176140",
      "tree": "e17ad842898a2c9b63183f7a435c984191336859",
      "parents": [
        "1acbbb4e16209e85c35ff6cacad61d802c07289b"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Apr 20 14:47:38 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 27 14:10:36 2012 -0400"
      },
      "message": "NFS4.1: Add lseg to struct nfs4_fl_commit_bucket\n\nAlso create a commit_info structure to hold the bucket array and push\nit up from the lseg to the layout where it really belongs.\n\nWhile we are at it, fix a refcounting bug due to an (incorrect)\nimplicit assumption that filelayout_scan_ds_commit_list always\ncompletely emptied the src list.\n\nThis clarifies refcounting, removes the ugly find_only_write_lseg\nfunctions, and pushes the file layout commit code along on the path to\nsupporting multiple lsegs.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d44fc387997c0750125cfb0c2c803a3171b649f4",
      "tree": "075a1b09e58e684d348bf8a8b2998cea19c64f01",
      "parents": [
        "20e0fa98b751facf9a1101edaefbc19c82616a68"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Thu Mar 22 01:39:34 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 24 14:33:26 2012 -0400"
      },
      "message": "NFS4.1: remove duplicate variable declaration in filelayout_clear_request_commit\n\ninode is declared twice for no good reason\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3b3be88d67cc17d0f0ab6edaf131516793fc947e",
      "tree": "293bc2bcc7cf7a175786ec33a4e2aff8c5c7ebca",
      "parents": [
        "5ae67c4fee869c9b3c87b727a9ea511b6326b834"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 17 11:59:30 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 20 13:08:26 2012 -0400"
      },
      "message": "NFS: Use cond_resched_lock() to reduce latencies in the commit scans\n\nEnsure that we conditionally drop the inode-\u003ei_lock when it is safe\nto do so in the commit loops.\nWe do so after locking the nfs_page, but before removing it from the\ncommit list. We can then use list_safe_reset_next to recover the loop\nafter the lock is retaken.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9390f42546339cf111edd23c16d6cf74ca41974c",
      "tree": "f281aa1e7bed7fbf41c441eab605d6d7a1a9050b",
      "parents": [
        "8dd3775889345850ecddd689b5c200cdd91bd8c9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 16 13:52:45 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 17 11:17:42 2012 -0400"
      },
      "message": "NFSv4.1: Fix a few issues in filelayout_commit_pagelist\n\n- Fix a race in which NFS_I(inode)-\u003ecommits_outstanding could potentially\n  go to zero (triggering a call to nfs_commit_clear_lock()) before we\u0027re\n  done sending out all the commit RPC calls.\n\n- If nfs_commitdata_alloc fails, there is no reason why we shouldn\u0027t\n  try to send off all the commits-to-ds.\n\n- Simplify the error handling.\n\n- Change pnfs_commit_list() to always return either\n  PNFS_ATTEMPTED or PNFS_NOT_ATTEMPTED.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Fred Isaman \u003ciisaman@netapp.com\u003e\n"
    },
    {
      "commit": "8dd3775889345850ecddd689b5c200cdd91bd8c9",
      "tree": "ea697cfcac3f3a927e90d0048e9ed76b5a3ea8e5",
      "parents": [
        "95a13f7b33be87d85d8e6652126a3f4d64d164db"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 15 17:16:40 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 17 11:09:33 2012 -0400"
      },
      "message": "NFSv4.1: Clean ups and bugfixes for the pNFS read/writeback/commit code\n\nMove more pnfs-isms out of the generic commit code.\n\nBugfixes:\n\n- filelayout_scan_commit_lists doesn\u0027t need to get/put the lseg.\n  In fact since it is run under the inode-\u003ei_lock, the lseg_put()\n  can deadlock.\n\n- Ensure that we distinguish between what needs to be done for\n  commit-to-data server and what needs to be done for commit-to-MDS\n  using the new flag PG_COMMIT_TO_DS. Otherwise we may end up calling\n  put_lseg() on a bucket for a struct nfs_page that got written\n  through the MDS.\n\n- Fix a case where we were using list_del() on an nfs_page-\u003ewb_list\n  instead of list_del_init().\n\n- filelayout_initiate_commit needs to call filelayout_commit_release\n  on error instead of the mds_ops-\u003erpc_release(). Otherwise it won\u0027t\n  clear the commit lock.\n\nCleanups:\n\n- Let the files layout manage the commit lists for the pNFS case.\n  Don\u0027t expose stuff like pnfs_choose_commit_list, and the fact\n  that the commit buckets hold references to the layout segment\n  in common code.\n\n- Cast out the put_lseg() calls for the struct nfs_read/write_data-\u003elseg\n  into the pNFS layer from whence they came.\n\n- Let the pNFS layer manage the NFS_INO_PNFS_COMMIT bit.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Fred Isaman \u003ciisaman@netapp.com\u003e\n"
    },
    {
      "commit": "17280175c587469b34757263c7cfc608f0ea2334",
      "tree": "34a3008bfd1055e9fdb0557ea563484b67433797",
      "parents": [
        "5ffaf8554163d9f3873988ce2f9977f6c6f408d2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Mar 11 13:11:00 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Mar 11 15:14:16 2012 -0400"
      },
      "message": "NFS: Fix a number of sparse warnings\n\nFix a number of \"warning: symbol \u0027foo\u0027 was not declared. Should it be\nstatic?\" conditions.\n\nFix 2 cases of \"warning: Using plain integer as NULL pointer\"\n\nfs/nfs/delegation.c:263:31: warning: restricted fmode_t degrades to integer\n  - We want to allow upgrades to a WRITE delegation, but should otherwise\n    consider servers that hand out duplicate delegations to be borken.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d6d6dc7cdfda7c8f49a89a7b7261846f319da6d1",
      "tree": "fd26cf912b676f2752c16ccce1f410872a2a485c",
      "parents": [
        "9994b62b5621f88828d442fcd03fe3ce4c43344b"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Thu Mar 08 17:29:35 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 10 17:14:10 2012 -0500"
      },
      "message": "NFS: remove nfs_inode radix tree\n\nThe radix tree is only being used to compile lists of reqs needing commit.\nIt is simpler to just put the reqs directly into a list.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2dc317565b6fd264929b41aaa9674431d75178ef",
      "tree": "dd944aeb038638086a6054f24cb0f74822cf1873",
      "parents": [
        "3114ea7a24d3264c090556a2444fc6d2c06176d4"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Mar 08 11:03:53 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 08 11:05:48 2012 -0500"
      },
      "message": "NFSv4.1 cleanup DS stateid error handling\n\nThe error handler nfs4_state parameter is never NULL in the pNFS case as\nthe open_context must carry an nfs_state.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9cb8196839ab4ec87710526e9c43ac7f5dba69d3",
      "tree": "97ea8225d7ea1b7ba45785f25d042a18263eaf8e",
      "parents": [
        "4f1abd226d80ef763c50e3930b369b63dffbb312"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Mar 07 10:49:41 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 07 10:53:55 2012 -0500"
      },
      "message": "NFSv4.1 handle DS stateid errors\n\nHandle DS READ and WRITE stateid errors by recovering the stateid on the MDS.\n\nNFS4ERR_OLD_STATEID is ignored as the client always sends a\nstate sequenceid of zero for DS READ and WRITE stateids.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0a702195234eb77c4097148285cccf7f095de9cf",
      "tree": "40fead6b131fb3c24e3cd85e39fbba8057196457",
      "parents": [
        "b6bf6e7d6f6fae1ddcae9e02dfe676bdc8fe892c"
      ],
      "author": {
        "name": "Weston Andros Adamson",
        "email": "dros@netapp.com",
        "time": "Fri Feb 17 13:15:24 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 17 13:39:47 2012 -0500"
      },
      "message": "NFS: include filelayout DS rpc stats in mountstats\n\nInclude RPC statistics from all data servers in /proc/self/mountstats for pNFS\nfilelayout mounts.\n\nSigned-off-by: Weston Andros Adamson \u003cdros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a030889a01d1bea921e1a7501010b7b891d2abd2",
      "tree": "4e76ec42bbdd41682e6cea5541f305c2f1275e99",
      "parents": [
        "f9fd2d9c1f3b512c9794abbbd76c77a6e6de57aa"
      ],
      "author": {
        "name": "Weston Andros Adamson",
        "email": "dros@netapp.com",
        "time": "Thu Jan 26 13:32:23 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 06 18:48:00 2012 -0500"
      },
      "message": "NFS: start printks w/ NFS: even if __func__ shown\n\nThis patch addresses printks that have some context to show that they are\nfrom fs/nfs/, but for the sake of consistency now start with NFS:\n\nSigned-off-by: Weston Andros Adamson \u003cdros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f9fd2d9c1f3b512c9794abbbd76c77a6e6de57aa",
      "tree": "c6496c3820eeb799c7326abb531308363f5be724",
      "parents": [
        "87e3c0553fcbea79bf9f17fc5694484ecf3ae5e8"
      ],
      "author": {
        "name": "Weston Andros Adamson",
        "email": "dros@netapp.com",
        "time": "Thu Jan 26 13:32:22 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 06 18:47:59 2012 -0500"
      },
      "message": "NFS: printks in fs/nfs/ should start with NFS:\n\nMessages like \"Got error -10052 from the server on DESTROY_SESSION. Session\nhas been destroyed regardless\" can be confusing to users who aren\u0027t very\nfamiliar with NFS.\n\nNOTE: This patch ignores any printks() that start by printing __func__ - that\nwill be in a separate patch.\n\nSigned-off-by: Weston Andros Adamson \u003cdros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9d12b216aa87f68c96f6dd8eb5d2d0ccc9989b1c",
      "tree": "74dbe1f8b150b3a66f5cb3589e5efd51ad9dfff5",
      "parents": [
        "d2d7ce28a2f8ec6ca2a49145e643d2e3c7d21ba3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 17 22:04:25 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:06 2012 -0500"
      },
      "message": "NFSv41: Add a new helper nfs4_init_sequence()\n\nClean up\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3476f114addb7b96912840a234702f660a1f460b",
      "tree": "830f4aa3e7a280af8d3e02d7a67e25bdffa7ab37",
      "parents": [
        "0b1c8fc43c1f9fcde2d18182988f05eeaaae509b"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Aug 11 13:54:28 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 05 10:42:42 2012 -0500"
      },
      "message": "nfs: fix a minor do_div portability issue\n\nThis change modifies filelayout_get_dense_offset() to use the functions\nin math64.h and thus avoid a 32-bit platform compile error trying to\nuse do_div() on an s64 type.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nReviewed-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "143cb494cb6662e37c4020b7fe9839837f718e56",
      "tree": "249abcf5afe251a9244a414f9d66c73b9458274e",
      "parents": [
        "afeacc8c1f38b7bb93d4bc7b4ba04c2605061ef0"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Jul 01 14:23:34 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:31 2011 -0400"
      },
      "message": "fs: add module.h to files that were implicitly using it\n\nSome files were using the complete module.h infrastructure without\nactually including the header at all.  Fix them up in advance so\nonce the implicit presence is removed, we won\u0027t get failures like this:\n\n  CC [M]  fs/nfsd/nfssvc.o\nfs/nfsd/nfssvc.c: In function \u0027nfsd_create_serv\u0027:\nfs/nfsd/nfssvc.c:335: error: \u0027THIS_MODULE\u0027 undeclared (first use in this function)\nfs/nfsd/nfssvc.c:335: error: (Each undeclared identifier is reported only once\nfs/nfsd/nfssvc.c:335: error: for each function it appears in.)\nfs/nfsd/nfssvc.c: In function \u0027nfsd\u0027:\nfs/nfsd/nfssvc.c:555: error: implicit declaration of function \u0027module_put_and_exit\u0027\nmake[3]: *** [fs/nfsd/nfssvc.o] Error 1\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "e414966b81a74745ac8d6bfeda0d95fb721e6d91",
      "tree": "a4851a80ca1b1fd965da9f475135356ab872db59",
      "parents": [
        "c6e696660213a89a5bfde8b49d539553904c808f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Oct 25 12:18:03 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 31 11:52:47 2011 -0400"
      },
      "message": "NFS: Remove no-op less-than-zero checks on unsigned variables.\n\nIntroduced by commit 16b374ca \"NFSv4.1: pnfs: filelayout: add driver\u0027s\nLAYOUTGET and GETDEVICEINFO infrastructure\" (October 20, 2010).\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d00c5d43866720963a265fa3129f3203cac35b8e",
      "tree": "0121c93156007c7764a818cc70b6864614e40536",
      "parents": [
        "b8ef70639b609c5d12c618f1d9ffae6ac13aebe3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 19 12:17:29 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 19 13:58:30 2011 -0700"
      },
      "message": "NFS: Get rid of nfs_restart_rpc()\n\nIt can trivially be replaced with rpc_restart_call_prepare.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1b0ae068779874f54b55aac3a2a992bcf3f2c3c4",
      "tree": "2cfc6f406312ca02704fedb9675a02a5ec2993bf",
      "parents": [
        "760383f1ee4d14b0e0bdf0cddee648d9b8633429"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Thu Sep 22 21:50:12 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:08:13 2011 -0700"
      },
      "message": "pnfs: make _set_lo_fail generic\n\nfile layout and block layout both use it to set mark layout io failure\nbit. So make it generic.\n\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nCc: stable@kernel.org [3.0]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "acff5880539fe33897d016c0f3dcf062e67c61b6",
      "tree": "c5769a826e04e1c3b84c19d2b0f9932a2e69aa8f",
      "parents": [
        "374e4e3ec347d4f70e1417ce3e1c454f133dab72"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Sat Jul 30 20:52:31 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:14 2011 -0400"
      },
      "message": "pnfs: save layoutcommit lwb at layout header\n\nNo need to save it for every lseg.\n\n[Needed in v3.0]\nCC: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f85ef69ce08bc2209858135328335f668ba35bdb",
      "tree": "9612b8f94bca48287cd03f807e4308b4efc5e5b9",
      "parents": [
        "674e405b8b3310702fd43d314f5f432ec2cb9980"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Jul 15 19:18:42 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 15 19:21:58 2011 -0400"
      },
      "message": "pnfs: simplify pnfs files module autoloading\n\nEmbed the necessary alias into the module rather than waiting for\nsomeone to add it to /etc/modprobe.conf\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1f9453578f059d2651aa6c6b16756627fc9f2a74",
      "tree": "05d0b81eb0c191ce0e5fd770189e1649dab3b4d9",
      "parents": [
        "dce81290eed64d24493989bb7a08f9e20495e184"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 13 15:59:57 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 15 09:12:22 2011 -0400"
      },
      "message": "NFS: Clean up - simplify the switch to read/write-through-MDS\n\nUse nfs_pageio_reset_read_mds and nfs_pageio_reset_write_mds instead of\ncompletely reinitialising the struct nfs_pageio_descriptor.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dce81290eed64d24493989bb7a08f9e20495e184",
      "tree": "eb25c828d3343196fe31d95da2d7d743692fa71e",
      "parents": [
        "493292ddc78d18ee2ad2d5c24c2b7dd6a24641d2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 13 15:59:19 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 15 09:12:22 2011 -0400"
      },
      "message": "NFS: Move the pnfs write code into pnfs.c\n\n...and ensure that we recoalese to take into account differences in\ndifferences in block sizes when falling back to write through the MDS.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "493292ddc78d18ee2ad2d5c24c2b7dd6a24641d2",
      "tree": "cad42b32b7baa303189ddd6d791229c619f24f37",
      "parents": [
        "d9156f9f364897e93bdd98b4ad22138de18f7c24"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 13 15:58:28 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 15 09:12:21 2011 -0400"
      },
      "message": "NFS: Move the pnfs read code into pnfs.c\n\n...and ensure that we recoalese to take into account differences in\nblock sizes when falling back to read through the MDS.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c47abcf8ff4d0c56d20ce541e80d3e1c975f54b5",
      "tree": "9fc0bfddd899e415f9943a403b647ed7b05da71b",
      "parents": [
        "a56aaa02b1f723e28b41d339ddff02e958d32d43"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Jun 15 17:52:40 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 12 13:40:29 2011 -0400"
      },
      "message": "NFSv4.1: do not use deviceids after MDS clientid invalidation\n\nMark all deviceids established under an expired MDS clientid as invalid.\nStop all new i/o through DS and send through the MDS.\nDon\u0027t use any new LAYOUTGETs that use the invalid deviceid. Purge all layouts\nestablished under the expired MDS clientid.\nRemove the MDS clientid deviceid and data servers reference\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7c24d9489fe57d67cb56c6bdad58d89806e7fd97",
      "tree": "4df86fc0437ac2ed2c90123060d4676422fbd95e",
      "parents": [
        "47cb498e9316314e7e681f417135589195ad78a7"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Mon Jun 13 18:22:38 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 12 13:40:28 2011 -0400"
      },
      "message": "NFSv4.1: File layout only supports whole file layouts\n\nAsk for whole file layouts. Until support for layout segments is fully\nsupported in the file layout code, discard non-whole file layouts.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e885de1a5bc9f46ef8f934c5a7602c89d2d51e8d",
      "tree": "fec97da658ce241c055f5fc8bb7e2e84ee1cc259",
      "parents": [
        "d8007d4dd6ff8749cc8a4063c3ec87442db76d82"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 10 13:30:23 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 12 13:40:28 2011 -0400"
      },
      "message": "NFSv4.1: Fall back to ordinary i/o through the mds if we have no layout segment\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d8007d4dd6ff8749cc8a4063c3ec87442db76d82",
      "tree": "f778176d24666f2e2c7cd7ef4dc5917aa11cc207",
      "parents": [
        "1751c3638f2a07a8c66a803a31791bab9bd3fced"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 10 13:30:23 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 12 13:40:28 2011 -0400"
      },
      "message": "NFSv4.1: Add an initialisation callback for pNFS\n\nEnsure that we always get a layout before setting up the i/o request.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1751c3638f2a07a8c66a803a31791bab9bd3fced",
      "tree": "5c1f39f879c0a0049c50b4f36a256ba1986d82b2",
      "parents": [
        "f062eb6ced3b297277b94b4da3113b1d3782e539"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 10 13:30:23 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 12 13:40:28 2011 -0400"
      },
      "message": "NFS: Cleanup of the nfs_pageio code in preparation for a pnfs bugfix\n\nWe need to ensure that the layouts are set up before we can decide to\ncoalesce requests. To do so, we want to further split up the struct\nnfs_pageio_descriptor operations into an initialisation callback, a\ncoalescing test callback, and a \u0027do i/o\u0027 callback.\n\nThis patch cleans up the existing callback methods before adding the\n\u0027initialisation\u0027 callback.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c9895cb69b07a4b17d8fdae26667f9a9fba5183b",
      "tree": "743aab596a936684948fbdb550f5bdbb96381b9c",
      "parents": [
        "82c2c8b8616fa9e77264c53f0df483f74ac54613"
      ],
      "author": {
        "name": "Weston Andros Adamson",
        "email": "dros@netapp.com",
        "time": "Tue May 31 18:48:56 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 12 13:40:26 2011 -0400"
      },
      "message": "NFS: pnfs IPv6 support\n\nHandle ipv6 remote addresses from GETDEVICEINFO\n\n - supports netid \"tcp\" for ipv4 and \"tcp6\" for ipv6 as rfc 5665 specifies\n - added ds_remotestr to avoid having to handle different AFs in every dprintk\n - tested against pynfs 4.1 server, submitting ipv6 support patch to pynfs\n - tested with IPv6 disabled, it compiles cleanly and relies on rpc_pton to\n   refuse to accept IPv6 addresses\n\nSigned-off-by: Weston Andros Adamson \u003cdros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2bea038c52e88badbbd5b420c1de918f7f2579e9",
      "tree": "84e3c8533b493f0c4cc64e27e37ffb96d81a4521",
      "parents": [
        "b0af8dfdd67699e25083478c63eedef2e72ebd85"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Jun 16 11:35:46 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 28 14:12:11 2011 -0400"
      },
      "message": "pnfs: write: Set mds_offset in the generic layer - it is needed by all LDs\n\nIn current pnfs tree, all the layouts set mds_offset in their\n.write_pagelist member.\nmds_offset is only used by generic layer and should be handled by it.\n\nThis patch is for upstream. It is needed in this -rc series to fix a\nbug in objects layout_commit.\n\nI\u0027ll send patches for objects and blocks to be\nsquashed into current pnfs tree.\n\nTODO: It looks like the read path needs the same patch.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "19345cb299e8234006c5125151ab723e851a1d24",
      "tree": "43bde1db751eb50afbdabfbd26814431c8be573c",
      "parents": [
        "df18d127f4fed7a0284bcfa8d2843800cdb63b72"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "benny@tonian.com",
        "time": "Sun Jun 19 18:33:46 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 20 16:12:26 2011 -0400"
      },
      "message": "NFSv4.1: file layout must consider pg_bsize for coalescing\n\nOtherwise we end up overflowing the rpc buffer size on the receive end.\n\nSigned-off-by: Benny Halevy \u003cbenny@tonian.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cec765cf5891c7fc3d905832b481bfb6fd55825d",
      "tree": "ae3ec9371f7aedfcebb96a02887d5550c4ba5e26",
      "parents": [
        "533eb4611c9eea53072eb6a61d5a6393b6a77ed7"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Mon Jun 13 18:36:17 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:30 2011 -0400"
      },
      "message": "NFSv4.1: allow zero fh array in filelayout decode layout\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\ncc:stable@kernel.org [2.6.39]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "89a58e32d9105c01022a757fb32ddc3b51bf0025",
      "tree": "fd04ff022a084339868e81fc9a4679667c2b70bd",
      "parents": [
        "18ad0a9f2ccd260d37dd6bc5fa04c7819def4c84"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 25 20:54:40 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:56:55 2011 +0300"
      },
      "message": "NFSv4.1: use pnfs_generic_pg_test directly by layout driver\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "18ad0a9f2ccd260d37dd6bc5fa04c7819def4c84",
      "tree": "a0936cf11e81969c0f84716ab958cd4728c87f54",
      "parents": [
        "dfed206b8857d41a91ebba030f99e30017a44dda"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 25 21:03:56 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:56:54 2011 +0300"
      },
      "message": "NFSv4.1: change pg_test return type to bool\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "f7da7a129d57bfe0f74573dc03531c63e1360fae",
      "tree": "6efcd0fbdde9bb816ebc70731f1c47b8335ccfe3",
      "parents": [
        "35c8bb543c9e83197e6375142d1d1c2ee3cf017d"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu May 19 14:16:47 2011 -0400"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:32 2011 +0300"
      },
      "message": "SUNRPC: introduce xdr_init_decode_pages\n\nInitialize xdr_stream and xdr_buf using an array of page pointers\nand length of buffer.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "35c8bb543c9e83197e6375142d1d1c2ee3cf017d",
      "tree": "f0f8a69c1586a8d24526223ed70a922c934f9b87",
      "parents": [
        "1be5683b03a766670b3b629bf6bfeab3ca9239d8"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Tue May 24 18:04:02 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:31 2011 +0300"
      },
      "message": "NFSv4.1: use layout driver in global device cache\n\npnfs deviceids are unique per server, per layout type.\nstruct nfs_client is currently used to distinguish deviceids from\ndifferent nfs servers, yet these may clash between different layout\ntypes on the same server.  Therefore, use the layout driver associated\nwith each deviceid at insertion time to look it up, unhash, or\ndelete it.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "1775bc342c6eacd6304493cbb2e0cda1a0182246",
      "tree": "b0a884a41f565a41957524146ff6ee51b2b7db7b",
      "parents": [
        "a1eaecbc4c8307e27772d6584ef85a2e93250661"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri May 20 13:47:33 2011 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:50:42 2011 +0300"
      },
      "message": "NFSv4.1: purge deviceid cache on nfs_free_client\n\nUse the pnfs_layoutdriver_type both as a qualifier for the deviceid,\ndistinguishing deviceid from different layout types on the server,\nand for freeing the layout-driver allocated structure containing the\nnfs4_deviceid_node.\n\n[BUG in _deviceid_purge_client]\n[layout_driver MUST set free_deviceid_node if using dev-cache]\n[let ver \u003c 4.1 compile]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[removed EXPORT_SYMBOL_GPL(nfs4_deviceid_purge_client)]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "a1eaecbc4c8307e27772d6584ef85a2e93250661",
      "tree": "940549d45db98a5bcfe22501de0bbe9c96de4c8e",
      "parents": [
        "45df3c8b0f3a58facb125d7631890426706c0bfa"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu May 19 22:14:47 2011 -0400"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 12:09:48 2011 +0300"
      },
      "message": "NFSv4.1: make deviceid cache global\n\nMove deviceid cache from the pnfs files layout driver to the\ngeneric layer in preparation for the objects layout driver.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "67d51f65bde233b17de304baec4f7c4d086471fe",
      "tree": "d9a5e9f93e9ab85e04350166a94a521c780da229",
      "parents": [
        "3b6445a6f68b839d1b437756b9c72312e33339b2"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri May 20 10:45:05 2011 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 12:09:47 2011 +0300"
      },
      "message": "NFSv4.1: use struct nfs_client to qualify deviceid\n\ndeviceids are unique per server, per layout type.\nTherefore, in the global cache in the files layout driver\ndeviceids from different servers may clash so we need\nto qualify them with a struct nfs_client that represents\nthe nfs server that returned the deviceid.\n\nIntroduced in 2.6.39 commit ea8eecdd\n\"NFSv4.1 move deviceid cache to filelayout driver\"\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "3b6445a6f68b839d1b437756b9c72312e33339b2",
      "tree": "a9b6ad5a51d948baf7afc8503110791a3dbc3f79",
      "parents": [
        "61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf"
      ],
      "author": {
        "name": "Jim Rees",
        "email": "rees@umich.edu",
        "time": "Tue Feb 22 19:31:57 2011 -0500"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 12:09:46 2011 +0300"
      },
      "message": "NFSv4.1: fix typo in filelayout_check_layout\n\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "a75b9df9d3bfc3cd1083974c045ae31ce5f3434f",
      "tree": "039cc65774c895d704f23a2c89b7f1bcd736e0b9",
      "parents": [
        "2887fe45522843149ccf72e01f43813be4fb36c5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 11 18:00:51 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 11 22:52:13 2011 -0400"
      },
      "message": "NFSv4.1: Ensure that layoutget uses the correct gfp modes\n\nCurrently, writebacks may end up recursing back into the filesystem due to\nGFP_KERNEL direct reclaims in the pnfs subsystem.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a8a4ae3a899a6c0b4771cc57884800d8b76a6996",
      "tree": "762fa0cc26480ea302d1ade0a03f222fae958565",
      "parents": [
        "9f381a61f58bb6487c93ce2233bb9992f8ea9211"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue May 03 13:43:03 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 11 14:01:33 2011 -0400"
      },
      "message": "NFSv41: Resend on NFS4ERR_RETRY_UNCACHED_REP\n\nFree the slot and resend the RPC with new session \u003cslot#,seq#\u003e.\n\nFor nfs4_async_handle_error, return -EAGAIN and set the task-\u003etk_status to 0\nto restart the async rpc in the rpc_restart_call_prepare state which resets\nthe slot.\n\nFor nfs4_handle_exception, retrying a call that uses nfs4_call_sync will\nreset the slot via nfs41_call_sync_prepare.\n\nFor open/close/lock/locku/delegreturn/layoutcommit/unlink/rename/write\ncachethis is true, so these operations will not trigger an\nNFS4ERR_RETRY_UNCACHED_REP.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "35124a0994fc02545b14b9fa3aad000b3331f1c0",
      "tree": "5149267f387199fd9ca2718c74d86b6779013501",
      "parents": [
        "ef31153786bc1e4304e6b9422cc8b9efef455611"
      ],
      "author": {
        "name": "Weston Andros Adamson",
        "email": "dros@netapp.com",
        "time": "Thu Mar 24 16:48:21 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 17:01:41 2011 -0400"
      },
      "message": "Cleanup XDR parsing for LAYOUTGET, GETDEVICEINFO\n\nchanges LAYOUTGET and GETDEVICEINFO XDR parsing to:\n - not use vmap, which doesn\u0027t work on incoherent archs\n - use xdr_stream parsing for all xdr\n\nSigned-off-by: Weston Andros Adamson \u003cdros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cccb4d063b263ac0713ab27d98460fda3b4f83ff",
      "tree": "4ffa88b6f6b0cc1ec76509d2fc44e67e9453e7ee",
      "parents": [
        "863a3c6c686d5773f7192a4818769e15db12ce08"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Wed Mar 23 13:27:55 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 23 15:29:04 2011 -0400"
      },
      "message": "NFSv4.1 remove temp code that prevented ds commits\n\nNow that all the infrastructure is in place, we will do the\nright thing if we remove this special casing.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "863a3c6c686d5773f7192a4818769e15db12ce08",
      "tree": "3ff8bf04c583aa0c16ae30b0821bc9148d49a47a",
      "parents": [
        "e0c2b3801828aadb65dec9f67f7c6b7a675ad007"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Mar 23 13:27:54 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 23 15:29:04 2011 -0400"
      },
      "message": "NFSv4.1: layoutcommit\n\nThe filelayout driver sends LAYOUTCOMMIT only when COMMIT goes to\nthe data server (as opposed to the MDS) and the data server WRITE\nis not NFS_FILE_SYNC.\n\nOnly whole file layout support means that there is only one IOMODE_RW layout\nsegment.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Dean Hildebrand \u003cdhildeb@us.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Mingyang Guo \u003cguomingyang@nrchpc.ac.cn\u003e\nSigned-off-by: Tao Guo \u003cguotao@nrchpc.ac.cn\u003e\nSigned-off-by: Zhang Jingwang \u003czhangjingwang@nrchpc.ac.cn\u003e\nTested-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e0c2b3801828aadb65dec9f67f7c6b7a675ad007",
      "tree": "547d70967ad8f41a18f2d3112dbd12e64f972af2",
      "parents": [
        "988b6dceb0ae6d642587c8594529b94f6be0c5ea"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Wed Mar 23 13:27:53 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 23 15:29:04 2011 -0400"
      },
      "message": "NFSv4.1: filelayout driver specific code for COMMIT\n\nImplement all the hooks created in the previous patches.\nThis requires exporting quite a few functions and adding a few\nstructure fields.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "425eb736cd905181a4dd4dc8d66342a7c7ab2f27",
      "tree": "0e6b9288f91532b940e3a62cf50e5397f5e5dafc",
      "parents": [
        "c879513e91c9e38957f0d9647d22469f1887e4da"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Wed Mar 23 13:27:50 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 23 15:29:03 2011 -0400"
      },
      "message": "NFSv4.1: alloc and free commit_buckets\n\nCreate a preallocated list header to hold nfs_pages for each\nnon-MDS COMMIT destination.  Note this is not necessarily each DS,\nbut is basically each \u003cDS, fh\u003e pair.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c879513e91c9e38957f0d9647d22469f1887e4da",
      "tree": "d15cec7abd2a6c56559e261203b3e1de256c9283",
      "parents": [
        "5917ce8440ba0b3f2adee613b5f1258ac5efff02"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Wed Mar 23 13:27:49 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 23 15:29:03 2011 -0400"
      },
      "message": "NFSv4.1: shift filelayout_free_lseg\n\nMove it up to avoid forward declaration in later patch.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "75247affd7930cc3dcf57f850f0d7898379ef3b3",
      "tree": "b0a9f986d5d209d4ab422525a16cfdc38da917da",
      "parents": [
        "36fe432d33e078caee5c954e15e929819c2cacae"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Tue Feb 22 15:56:01 2011 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:38:45 2011 -0500"
      },
      "message": "NFSv4.1: reject zero layout with zeroed stripe unit\n\nAllowing stripe_unit\u003d\u003d0 causes the client to crash later on\nwhen dividing by zero.\n\nReported-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a69aef1496726ed88386dad65abfcc8cd3195304",
      "tree": "66766c9eed54e6dc7ddf9ecaf8765a7bc833685e",
      "parents": [
        "7ffd10640dc008f6d5a375bd6450755745c63c7d"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Thu Mar 03 15:13:47 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:38:44 2011 -0500"
      },
      "message": "NFSv4.1: pnfs filelayout driver write\n\nAllows the pnfs filelayout driver to write to the data servers.\n\nNote that COMMIT to data servers will be implemented in a future\npatch.  To avoid improper behavior, for the moment any WRITE to a data\nserver that would also require a COMMIT to the data server is sent\nNFS_FILE_SYNC.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: Dean Hildebrand \u003cdhildeb@us.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Mingyang Guo \u003cguomingyang@nrchpc.ac.cn\u003e\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\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\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0382b74409c6b9ef12c952b50bb44f557a361a43",
      "tree": "0eebc04006a3b70fb6605c42ee89cdc0ccd8b1cf",
      "parents": [
        "44b83799a922a153957c65ccfc985a8c902958c8"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Mar 03 15:13:45 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:38:44 2011 -0500"
      },
      "message": "NFSv4.1: implement generic pnfs layer write switch\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Dean Hildebrand \u003cdhildeb@us.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@fieldses.org\u003e\nSigned-off-by: Mike Sager \u003csager@netapp.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Tao Guo \u003cguotao@nrchpc.ac.cn\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "568e8c494ded95a28c5dd8b79b4d3ffb95b6d845",
      "tree": "00e71f79575635c0ddfcd1210e263088cc121da2",
      "parents": [
        "ea8eecdd11ee6becd09c095c8efa88aa7df95961"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Mar 01 01:34:22 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:38:43 2011 -0500"
      },
      "message": "NFSv4.1: turn off pNFS on ds connection failure\n\nIf a data server is unavailable, go through MDS.\n\nMark the deviceid containing the data server as a negative cache entry.\nDo not try to connect to any data server on a deviceid marked as a negative\ncache entry. Mark any layout that tries to use the marked deviceid as failed.\n\nInodes with a layout marked as fails will not use the layout for I/O, and will\nnot perform any more layoutgets.\nInodes without a layout will still do layoutget, but the layout will get\nmarked immediately.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ea8eecdd11ee6becd09c095c8efa88aa7df95961",
      "tree": "4db9c584989d006790637e255657a010c8243cb9",
      "parents": [
        "cbdabc7f8bf14ca1d40ab1cb86f64b3bc09716e8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Mar 01 01:34:21 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:38:43 2011 -0500"
      },
      "message": "NFSv4.1 move deviceid cache to filelayout driver\n\nNo need for generic cache with only one user.\nKeep a simple hash of deviceids in the filelayout driver.\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nAcked-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cbdabc7f8bf14ca1d40ab1cb86f64b3bc09716e8",
      "tree": "16939b96996e8380d91d7e2743e811cf5c49f629",
      "parents": [
        "dc70d7b3189597f313df7bd2da849cfc39063b15"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Mar 01 01:34:20 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:38:43 2011 -0500"
      },
      "message": "NFSv4.1: filelayout async error handler\n\nUse our own async error handler.\nMark the layout as failed and retry i/o through the MDS on specified errors.\n\nUpdate the mds_offset in nfs_readpage_retry so that a failed short-read retry\nto a DS gets correctly resent through the MDS.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dc70d7b3189597f313df7bd2da849cfc39063b15",
      "tree": "c739f2c3a2213b1bc028f1599ee0efcbeabd9b81",
      "parents": [
        "cfe7f4120f8b1b9465c333d1e42efd4669b1799f"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Mar 01 01:34:19 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:38:43 2011 -0500"
      },
      "message": "NFSv4.1: filelayout read\n\nAttempt a pNFS file layout read by setting up the nfs_read_data struct and\ncalling nfs_initiate_read with the data server rpc client and the\nfilelayout rpc call ops.\n\nError handling is implemented in a subsequent patch.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: Dean Hildebrand \u003cdhildeb@us.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Mingyang Guo \u003cguomingyang@nrchpc.ac.cn\u003e\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nTested-by: Guo Mingyang \u003cguomingyang@nrchpc.ac.cn\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": "cfe7f4120f8b1b9465c333d1e42efd4669b1799f",
      "tree": "a55e5fc7dbafdf43588a480a0348da0ad8e1eb9e",
      "parents": [
        "d83217c13531fd59730d77b5c2284e90e56c0a50"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Tue Mar 01 01:34:18 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:38:42 2011 -0500"
      },
      "message": "NFSv4.1: filelayout i/o helpers\n\nPrepare for filelayout_read_pagelist with helper functions that find the correct\ndata server, filehandle, and offset.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: Dean Hildebrand \u003cdhildeb@us.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: Mike Sager \u003csager@netapp.com\u003e\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: Tao Guo \u003cguotao@nrchpc.ac.cn\u003e\nSigned-off-by: Tigran Mkrtchyan \u003ctigran@anahit.desy.de\u003e\nSigned-off-by: Tigran Mkrtchyan \u003ctigran.mkrtchyan@desy.de\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": "94ad1c80e28f9700c84b4d28d1e5302ddf63a6fd",
      "tree": "2c600c1f8e85648c7693b5f0018b5d0b7e960b5f",
      "parents": [
        "d684d2ae10a4f95d3035abf698d7d611ff2cd279"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Tue Mar 01 01:34:14 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:38:42 2011 -0500"
      },
      "message": "NFSv4.1: coelesce across layout stripes\n\nAdd a pg_test layout driver hook which is used to avoid coelescing I/O across\nlayout stripes.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: Dean Hildebrand \u003cdhildeb@us.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: Tao Guo \u003cguotao@nrchpc.ac.cn\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b7edfaa1983362842351e425adeb8e297b4c11fb",
      "tree": "b0c05e48ecc4d14a72a7e4b704c27a1080d745fb",
      "parents": [
        "566052c53b5146e23a99ab95fb5c11f8a295a084"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Thu Jan 06 11:36:21 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:31 2011 -0500"
      },
      "message": "pnfs: add prefix to struct pnfs_layout_hdr fields\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "566052c53b5146e23a99ab95fb5c11f8a295a084",
      "tree": "36c013aa52adf29bd57c2a04c9c51e24eeeb44b3",
      "parents": [
        "daaa82d1c72e10dc16cad3a810e225f9188dc7aa"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Thu Jan 06 11:36:20 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:31 2011 -0500"
      },
      "message": "pnfs: add prefix to struct pnfs_layout_segment fields\n\nWhile we are renaming all the fields, change lo-\u003estate to lo-\u003eplh_flags.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1c787096fce217b5fdd9806dbce96e738c9345c0",
      "tree": "c3ee4071ef4729951c50f22a82e2088a8ab1c7de",
      "parents": [
        "16b374ca439fb406e46e071f75428f5b033056f8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 21 16:56:48 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 24 18:07:11 2010 -0400"
      },
      "message": "NFSv4.1: Use more sensible names for \u0027initialize_mountpoint\u0027\n\nThe initialize_mountpoint/uninitialise_mountpoint functions are really about\nsetting or clearing the layout driver to be used on this filesystem. Change\nthe names to the more descriptive \u0027set_layoutdriver/clear_layoutdriver\u0027.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "16b374ca439fb406e46e071f75428f5b033056f8",
      "tree": "72a66e452936561151b8b62069763cb4f0434b39",
      "parents": [
        "b1f69b754ee312ec75f2c7ead0e6851cd9598cc2"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Oct 20 00:18:04 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 24 18:07:11 2010 -0400"
      },
      "message": "NFSv4.1: pnfs: filelayout: add driver\u0027s LAYOUTGET and GETDEVICEINFO infrastructure\n\nImplement the driver\u0027s io_ops-\u003ealloc_lseg and free_lseg functions,\nwhich integrate into the deviceid cache and calls out to\nnfs4_proc_getdeviceinfo when necessary.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Dean Hildebrand \u003cdhildebz@umich.edu\u003e\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: Mike Sager \u003csager@netapp.com\u003e\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Tao Guo \u003cguotao@nrchpc.ac.cn\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7ab672ce312133ee4a5d85b71447b2b334403681",
      "tree": "de35b863e3d1762ca89c6e330246134abc7f5f4e",
      "parents": [
        "02c35fca7cf4ea2dfdc6db279e230cacbbf4b870"
      ],
      "author": {
        "name": "Dean Hildebrand",
        "email": "dhildebz@umich.edu",
        "time": "Wed Oct 20 00:18:00 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 24 18:07:10 2010 -0400"
      },
      "message": "NFSv4.1: pnfs: filelayout: introduce minimal file layout driver\n\nThis driver just registers itself and supplies trivial mount/umount functions.\n\nSigned-off-by: Dean Hildebrand \u003cdhildebz@umich.edu\u003e\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ]
}
