)]}'
{
  "log": [
    {
      "commit": "fd6002e9b8a93220d5f53b93d9624caf73cdc8a2",
      "tree": "f45c22c9ec855949b1ec0488162229df4eb3f5ed",
      "parents": [
        "b7edfaa1983362842351e425adeb8e297b4c11fb"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Thu Jan 06 11:36:22 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:31 2011 -0500"
      },
      "message": "pnfs: change layout state seqlock to a spinlock\n\nThis prepares for future changes, where the layout state needs\nto change atomically with several other variables.  In particular,\nit will need to know if lo-\u003esegs is empty, as we test that instead\nof manipulating the NFS_LAYOUT_STATEID_SET bit.  Moreover, the\nlayoutstateid is not really a read-mostly structure, as it is\nwritten almost as often as it is read.\n\nThe behavior of pnfs_get_layout_stateid is also slightly changed, so that\nit no longer changes the stateid.  Its name is changed to +pnfs_choose_layoutget_stateid.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\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": "daaa82d1c72e10dc16cad3a810e225f9188dc7aa",
      "tree": "b9f27383d60f9e0dde03e218e7de39bc96911f0c",
      "parents": [
        "52fabd73199cd00932f92c9f548bdf66a5bbc23d"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Thu Jan 06 11:36:19 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:30 2011 -0500"
      },
      "message": "pnfs: remove unnecessary field lgp-\u003estatus\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "52fabd73199cd00932f92c9f548bdf66a5bbc23d",
      "tree": "0d1b3d504f568f950c1f51ac732f04b87e3c2db0",
      "parents": [
        "4a19de0f4b693139bb10b7cc3cfe1f618576ba67"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Thu Jan 06 11:36:18 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:30 2011 -0500"
      },
      "message": "pnfs: fix incorrect comment in destroy_lseg\n\nComment references get_layout_hdr_locked, which never existed in\nsubmitted code.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4a19de0f4b693139bb10b7cc3cfe1f618576ba67",
      "tree": "c947ed534254d08c5b8836349303844134a13d19",
      "parents": [
        "42acd021824578fa0eeb6eb58d457c23ec5dc9c0"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:35 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:25 2011 -0500"
      },
      "message": "NFS rename client back channel transport field\n\nDifferentiate from server backchannel\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nAcked-by: Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "42acd021824578fa0eeb6eb58d457c23ec5dc9c0",
      "tree": "7affe8e1108373906eefcea00498df088b6dfccb",
      "parents": [
        "ece0de633c4d9106c39ea9f0db1638c42ead2541"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:34 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:25 2011 -0500"
      },
      "message": "NFS add session back channel draining\n\nCurrently session draining only drains the fore channel.\nThe back channel processing must also be drained.\n\nUse the back channel highest_slot_used to indicate that a callback is being\nprocessed by the callback thread.  Move the session complete to be per channel.\n\nWhen the session is draininig, wait for any current back channel processing\nto complete and stop all new back channel processing by returning NFS4ERR_DELAY\nto the back channel client.\n\nDrain the back channel, then the fore channel.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ece0de633c4d9106c39ea9f0db1638c42ead2541",
      "tree": "45b4ac51b346486a328390517aa4139ba2f30eb2",
      "parents": [
        "c36fca52f5e4594ffd0ff175b328966b0d393184"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:33 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:24 2011 -0500"
      },
      "message": "NFS RPC_AUTH_GSS unsupported on v4.1 back channel\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nAcked-by: Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c36fca52f5e4594ffd0ff175b328966b0d393184",
      "tree": "6d771744cc49f0edc0d2b6b2f9fe919163002346",
      "parents": [
        "2c2618c6f29c41a0a966f14f05c8bf45fcabb750"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:32 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:24 2011 -0500"
      },
      "message": "NFS refactor nfs_find_client and reference client across callback processing\n\nFixes a bug where the nfs_client could be freed during callback processing.\nRefactor nfs_find_client to use minorversion specific means to locate the\ncorrect nfs_client structure.\n\nIn the NFS layer, V4.0 clients are found using the callback_ident field in the\nCB_COMPOUND header.  V4.1 clients are found using the sessionID in the\nCB_SEQUENCE operation which is also compared against the sessionID associated\nwith the back channel thread after a successful CREATE_SESSION.\n\nEach of these methods finds the one an only nfs_client associated\nwith the incoming callback request - so nfs_find_client_next is not needed.\n\nIn the RPC layer, the pg_authenticate call needs to find the nfs_client. For\nthe v4.0 callback service, the callback identifier has not been decoded so a\nsearch by address, version, and minorversion is used.  The sessionid for the\nsessions based callback service has (usually) not been set for the\npg_authenticate on a CB_NULL call which can be sent prior to the return\nof a CREATE_SESSION call, so the sessionid associated with the back channel\nthread is not used to find the client in pg_authenticate for CB_NULL calls.\n\nPass the referenced nfs_client to each CB_COMPOUND operation being proceesed\nvia the new cb_process_state structure. The reference is held across\ncb_compound processing.\n\nUse the new cb_process_state struct to move the NFS4ERR_RETRY_UNCACHED_REP\nprocessing from process_op into nfs4_callback_sequence where it belongs.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2c2618c6f29c41a0a966f14f05c8bf45fcabb750",
      "tree": "c247cfda9f847028e1d43cab1e69d2cd8a2146a4",
      "parents": [
        "f4eecd5da3422e82e88e36c33cbd2595eebcacb1"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:31 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:24 2011 -0500"
      },
      "message": "NFS associate sessionid with callback connection\n\nThe sessions based callback service is started prior to the CREATE_SESSION call\nso that it can handle CB_NULL requests which can be sent before the\nCREATE_SESSION call returns and the session ID is known.\n\nSet the callback sessionid after a sucessful CREATE_SESSION.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f4eecd5da3422e82e88e36c33cbd2595eebcacb1",
      "tree": "8e49bbe401ed4233e1652843489a4360a94dc69b",
      "parents": [
        "ea00528126a701845d7c445e725b271940381e3d"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:30 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:24 2011 -0500"
      },
      "message": "NFS implement v4.0 callback_ident\n\nUse the small id to pointer translator service to provide a unique callback\nidentifier per SETCLIENTID call used to identify the v4.0 callback service\nassociated with the clientid.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ea00528126a701845d7c445e725b271940381e3d",
      "tree": "cb1cb70562b74422b1cc05ee97302b1231446352",
      "parents": [
        "01c9a0bc60507af7f28cb9138a81836de4528199"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:29 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:24 2011 -0500"
      },
      "message": "NFS do not clear minor version at nfs_client free\n\nResetting the client minor version operations causes nfs4_destroy_callback\nto fail to shutdown the NFSv4.1 callback service.\n\nThere is no reason to reset the client minorversion operations when the\nnfs_client struct is being freed.\n\nRemove the minorverion reset and rename the function.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "01c9a0bc60507af7f28cb9138a81836de4528199",
      "tree": "9416e3bd29645a5a06552ff52702e4c67cef0e36",
      "parents": [
        "16b2d1e1d12de000404d7c845d0db1226511f84d"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:28 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:24 2011 -0500"
      },
      "message": "NFS use svc_create_xprt for NFSv4.1 callback service\n\nThe new back channel transport means we call the normal creation routine as\nwell as svc_xprt_put.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "16b2d1e1d12de000404d7c845d0db1226511f84d",
      "tree": "8ad973bbcee7a1d5bb34ce855ef41324e253c181",
      "parents": [
        "1f11a034cdc4b45ee56d51b87a9e37cb776fb15b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:27 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:23 2011 -0500"
      },
      "message": "SUNRPC register and unregister the back channel transport\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1f11a034cdc4b45ee56d51b87a9e37cb776fb15b",
      "tree": "7d99e63af6a6c0b371ab1ee48da16edc73ab942c",
      "parents": [
        "71e161a6a9fa021a280e564254fcda894e6fbd14"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:26 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:23 2011 -0500"
      },
      "message": "SUNRPC new transport for the NFSv4.1 shared back channel\n\nMove the current sock create and destroy routines into the new transport ops.\nBack channel socket will be destroyed by the svc_closs_all call in svc_destroy.\n\nAdded check: only TCP supported on shared back channel.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nAcked-by: Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "71e161a6a9fa021a280e564254fcda894e6fbd14",
      "tree": "df454328272a688e7a8a160c32ec4ab4f4ec7702",
      "parents": [
        "4b5b3ba16be1b195d2e1161746637acd4b9fed4f"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:25 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:23 2011 -0500"
      },
      "message": "SUNRPC fix bc_send print\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4b5b3ba16be1b195d2e1161746637acd4b9fed4f",
      "tree": "6e58eb24836d73b8fd756d9dff7199a88a9ebafe",
      "parents": [
        "64c2ce8b72eceec4030b04bca32d098b3d1431bb"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:24 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:23 2011 -0500"
      },
      "message": "SUNRPC move svc_drop to caller of svc_process_common\n\nThe NFSv4.1 shared back channel does not need to call svc_drop because the\ncallback service never outlives the single connection it services, and it\nreuses it\u0027s buffers and keeps the trasport.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nAcked-by: Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "64c2ce8b72eceec4030b04bca32d098b3d1431bb",
      "tree": "d296c9282da04017457e44d36cf1bbda3451e2ac",
      "parents": [
        "a8a5da996df7d2d91b5aef2752da9adcefea4bc6"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu Dec 09 11:35:25 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 04 13:10:41 2011 -0500"
      },
      "message": "nfsv4: Switch to generic xattr handling code\n\nThis patch make nfsv4 use the generic xattr handling code\nto get the nfsv4 acl. This will help us to add richacl\nsupport to nfsv4 in later patches\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a8a5da996df7d2d91b5aef2752da9adcefea4bc6",
      "tree": "605be5f4af59d5cc324ae11c18a8b34db7ab3c6a",
      "parents": [
        "bf0c84f1614bffc59565d04f09b9ac6b1aa269a9"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu Dec 09 11:35:14 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 04 13:10:40 2011 -0500"
      },
      "message": "nfs: Set MS_POSIXACL always\n\nWe want to skip VFS applying mode for NFS. So set MS_POSIXACL always\nand selectively use umask. Ideally we would want to use umask only\nwhen we don\u0027t have inheritable ACEs set. But NFS currently don\u0027t\nallow to send umask to the server. So this is best what we can do\nand this is consistent with NFSv3\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bf0c84f1614bffc59565d04f09b9ac6b1aa269a9",
      "tree": "cf310f5baaa323fe902320047f32e0d0c4a8f2a9",
      "parents": [
        "5f3e97c9ee6290befb5a2e78baf95ff951a8a34a"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Dec 28 17:02:46 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 04 13:10:39 2011 -0500"
      },
      "message": "NFS: use ERR_CAST()\n\nUse ERR_CAST() intead of wierd-looking cast.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5f3e97c9ee6290befb5a2e78baf95ff951a8a34a",
      "tree": "97b70a72e67fb2c1885fa5c5527f7cea5437189e",
      "parents": [
        "beb0f0a9fba1fa98b378329a9a5b0a73f25097ae"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Dec 21 23:49:34 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 04 13:10:39 2011 -0500"
      },
      "message": "nfs: fix mispelling of idmap CONFIG symbol\n\nTrivial, but confusing when you\u0027re trying to grep through this\ncode....\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "beb0f0a9fba1fa98b378329a9a5b0a73f25097ae",
      "tree": "33b5cdc0d628a48da74e2aadd0caafb6898d6350",
      "parents": [
        "51f128ea1c9224c1e3cf6c6a1498431d97699668"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Dec 20 21:19:26 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 04 13:10:38 2011 -0500"
      },
      "message": "kernel panic when mount NFSv4\n\nOn Tue, 2010-12-14 at 16:58 +0800, Mi Jinlong wrote:\n\u003e Hi,\n\u003e\n\u003e When testing NFSv4 at RHEL6 with kernel 2.6.32, I got a kernel panic\n\u003e at NFS client\u0027s __rpc_create_common function.\n\u003e\n\u003e The panic place is:\n\u003e   rpc_mkpipe\n\u003e     __rpc_lookup_create()          \u003c\u003d\u003d\u003d find pipefile *idmap*\n\u003e     __rpc_mkpipe()                 \u003c\u003d\u003d\u003d pipefile is *idmap*\n\u003e       __rpc_create_common()\n\u003e        ******  BUG_ON(!d_unhashed(dentry)); ******    *panic*\n\u003e\n\u003e It means that the dentry\u0027s d_flags have be set DCACHE_UNHASHED,\n\u003e but it should not be set here.\n\u003e\n\u003e Is someone known this bug? or give me some idea?\n\u003e\n\u003e A reproduce program is append, but it can\u0027t reproduce the bug every time.\n\u003e the export is: \"/nfsroot       *(rw,no_root_squash,fsid\u003d0,insecure)\"\n\u003e\n\u003e And the panic message is append.\n\u003e\n\u003e \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003e #!/bin/sh\n\u003e\n\u003e LOOPTOTAL\u003d768\n\u003e LOOPCOUNT\u003d0\n\u003e ret\u003d0\n\u003e\n\u003e while [ $LOOPCOUNT -ne $LOOPTOTAL ]\n\u003e do\n\u003e \t((LOOPCOUNT +\u003d 1))\n\u003e \tservice nfs restart\n\u003e \t/usr/sbin/rpc.idmapd\n\u003e \tmount -t nfs4 127.0.0.1:/ /mnt|| return 1;\n\u003e \tls -l /var/lib/nfs/rpc_pipefs/nfs/*/\n\u003e \tumount /mnt\n\u003e \techo $LOOPCOUNT\n\u003e done\n\u003e\n\u003e \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003e Code: af 60 01 00 00 89 fa 89 f0 e8 64 cf 89 f0 e8 5c 7c 64 cf 31 c0 8b 5c 24 10 8b\n\u003e 74 24 14 8b 7c 24 18 8b 6c 24 1c 83 c4 20 c3 \u003c0f\u003e 0b eb fc 8b 46 28 c7 44 24 08 20\n\u003e de ee f0 c7 44 24 04 56 ea\n\u003e EIP:[\u003cf0ee92ea\u003e] __rpc_create_common+0x8a/0xc0 [sunrpc] SS:ESP 0068:eccb5d28\n\u003e ---[ end trace 8f5606cd08928ed2]---\n\u003e Kernel panic - not syncing: Fatal exception\n\u003e Pid:7131, comm: mount.nfs4 Tainted: G     D   -------------------2.6.32 #1\n\u003e Call Trace:\n\u003e  [\u003cc080ad18\u003e] ? panic+0x42/0xed\n\u003e  [\u003cc080e42c\u003e] ? oops_end+0xbc/0xd0\n\u003e  [\u003cc040b090\u003e] ? do_invalid_op+0x0/0x90\n\u003e  [\u003cc040b10f\u003e] ? do_invalid_op+0x7f/0x90\n\u003e  [\u003cf0ee92ea\u003e] ? __rpc_create_common+0x8a/0xc0[sunrpc]\n\u003e  [\u003cf0edc433\u003e] ? rpc_free_task+0x33/0x70[sunrpc]\n\u003e  [\u003cf0ed6508\u003e] ? prc_call_sync+0x48/0x60[sunrpc]\n\u003e  [\u003cf0ed656e\u003e] ? rpc_ping+0x4e/0x60[sunrpc]\n\u003e  [\u003cf0ed6eaf\u003e] ? rpc_create+0x38f/0x4f0[sunrpc]\n\u003e  [\u003cc080d80b\u003e] ? error_code+0x73/0x78\n\u003e  [\u003cf0ee92ea\u003e] ? __rpc_create_common+0x8a/0xc0[sunrpc]\n\u003e  [\u003cc0532bda\u003e] ? d_lookup+0x2a/0x40\n\u003e  [\u003cf0ee94b1\u003e] ? rpc_mkpipe+0x111/0x1b0[sunrpc]\n\u003e  [\u003cf10a59f4\u003e] ? nfs_create_rpc_client+0xb4/0xf0[nfs]\n\u003e  [\u003cf10d6c6d\u003e] ? nfs_fscache_get_client_cookie+0x1d/0x50[nfs]\n\u003e  [\u003cf10d3fcb\u003e] ? nfs_idmap_new+0x7b/0x140[nfs]\n\u003e  [\u003cc05e76aa\u003e] ? strlcpy+0x3a/0x60\n\u003e  [\u003cf10a60ca\u003e] ? nfs4_set_client+0xea/0x2b0[nfs]\n\u003e  [\u003cf10a6d0c\u003e] ? nfs4_create_server+0xac/0x1b0[nfs]\n\u003e  [\u003cc04f1400\u003e] ? krealloc+0x40/0x50\n\u003e  [\u003cf10b0e8b\u003e] ? nfs4_remote_get_sb+0x6b/0x250[nfs]\n\u003e  [\u003cc04f14ec\u003e] ? kstrdup+0x3c/0x60\n\u003e  [\u003cc0520739\u003e] ? vfs_kern_mount+0x69/0x170\n\u003e  [\u003cf10b1a3c\u003e] ? nfs_do_root_mount+0x6c/0xa0[nfs]\n\u003e  [\u003cf10b1b47\u003e] ? nfs4_try_mount+0x37/0xa0[nfs]\n\u003e  [\u003cf10afe6d\u003e] ? nfs4_validate_text_mount_data+-x7d/0xf0[nfs]\n\u003e  [\u003cf10b1c42\u003e] ? nfs4_get_sb+0x92/0x2f0\n\u003e  [\u003cc0520739\u003e] ? vfs_kern_mount+0x69/0x170\n\u003e  [\u003cc05366d2\u003e] ? get_fs_type+0x32/0xb0\n\u003e  [\u003cc052089f\u003e] ? do_kern_mount+0x3f/0xe0\n\u003e  [\u003cc053954f\u003e] ? do_mount+0x2ef/0x740\n\u003e  [\u003cc0537740\u003e] ? copy_mount_options+0xb0/0x120\n\u003e  [\u003cc0539a0e\u003e] ? sys_mount+0x6e/0xa0\n\nHi,\n\nDoes the following patch fix the problem?\n\nCheers\n  Trond\n\n--------------------------\nSUNRPC: Fix a BUG in __rpc_create_common\n\nFrom: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n\nMi Jinlong reports:\n\nWhen testing NFSv4 at RHEL6 with kernel 2.6.32, I got a kernel panic\nat NFS client\u0027s __rpc_create_common function.\n\nThe panic place is:\n  rpc_mkpipe\n      __rpc_lookup_create()          \u003c\u003d\u003d\u003d find pipefile *idmap*\n      __rpc_mkpipe()                 \u003c\u003d\u003d\u003d pipefile is *idmap*\n        __rpc_create_common()\n         ******  BUG_ON(!d_unhashed(dentry)); ****** *panic*\n\nThe test is wrong: we can find ourselves with a hashed negative dentry here\nif the idmapper tried to look up the file before we got round to creating\nit.\n\nJust replace the BUG_ON() with a d_drop(dentry).\n\nReported-by: Mi Jinlong \u003cmijinlong@cn.fujitsu.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "51f128ea1c9224c1e3cf6c6a1498431d97699668",
      "tree": "b4e681ff618f5610de0aeede8bbec63cb1b75763",
      "parents": [
        "878215feb8b2417c4700090b4335739858cf7b5a"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sun Jan 02 20:20:42 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 04 13:10:37 2011 -0500"
      },
      "message": "lockd: double unlock in next_host_state()\n\nWe unlock again after we goto out.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "878215feb8b2417c4700090b4335739858cf7b5a",
      "tree": "175172dad3e31faf4cb36262f3ef5fdf2a7bda61",
      "parents": [
        "1174dd1f890b7f8be8ec6a7071657fe8f59e18b7"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Fri Dec 24 22:22:37 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 04 13:10:36 2011 -0500"
      },
      "message": "NFS: Don\u0027t leak in nfs_proc_symlink()\n\nHi,\n\nIn fs/nfs/proc.c::nfs_proc_symlink() we will leak memory if either\nnfs_alloc_fhandle() or nfs_alloc_fattr() returns NULL but the other one\ndoesn\u0027t.\nThis patch ensures memory allocated by one when the other fails is always\nreleased (this is safe since nfs_free_fattr() and nfs_free_fhandle() both\ncall kfree which deals gracefully with NULL pointers).\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1174dd1f890b7f8be8ec6a7071657fe8f59e18b7",
      "tree": "5db2ae27fa8b332d7e07fe927f55f20bab50d8fe",
      "parents": [
        "b3bcedadf23264c3b7afcbfbfe1965a17ef1352c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 21 10:52:24 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 21 11:51:27 2010 -0500"
      },
      "message": "NFSv4: Convert a few commas into semicolons...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b3bcedadf23264c3b7afcbfbfe1965a17ef1352c",
      "tree": "119c1b242836023b2fca36a7ec7d9642780d2908",
      "parents": [
        "aa69947399a119d7f1b35bbcd62c849839b35449"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Dec 21 10:52:24 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 21 11:51:26 2010 -0500"
      },
      "message": "net/sunrpc/clnt.c: Convert sprintf_symbol to %ps\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "aa69947399a119d7f1b35bbcd62c849839b35449",
      "tree": "adc7362f5e8240c1c0086af0b912d3013cef10c9",
      "parents": [
        "611c96c8f728c4bcdbadaa2387942d3c0641cadf"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed Dec 08 12:40:13 2010 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 21 11:51:25 2010 -0500"
      },
      "message": "NFS: suppressing showing of default mount port value in /proc fixed\n\nUpdate: added check for zero value as it was before (note: can\u0027t simply check\nmountd_port for positive value because it\u0027s typeof unsigned short)\n\nDefault value for mount server port is set to NFS_UNSPEC_PORT (-1) and will not\nbe changed during parsing mount options for mound data version 6. This default\nvalue will be showed for mountport in /proc/mounts always since current default\ncheck is for zero value. This small mistake leads to big problem, because\nduring umount.nfs execution from old user-space utils (at least nfs-utils\n1.0.9) this value will be used as the server port to connect to. This request\nwill be rejected (since port is 65535) and thus nfs mount point can\u0027t be\nunmounted.\n\nNote from Chuck Lever (chuck.lever@oracle.com): this is only possible if\n/etc/mtab is a link to /proc/mounts.  Not all systems have this configuration.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "611c96c8f728c4bcdbadaa2387942d3c0641cadf",
      "tree": "962deb2f6fd1ba4dcae2c27a1157c46b4fc45476",
      "parents": [
        "72895b1ac7baeda76835cddb3edb019a90d32bcb"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Dec 13 19:05:46 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 21 11:51:24 2010 -0500"
      },
      "message": "nfs4: fix units bug causing hang on recovery\n\nNote that cl_lease_time is in jiffies.  This can cause a very long wait\nin the NFS4ERR_CLID_INUSE case.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "72895b1ac7baeda76835cddb3edb019a90d32bcb",
      "tree": "6854846213ae2b18af8e1cd44b84fa6d3b10639f",
      "parents": [
        "c8b031ebc1246d42463c5c69df8f610ca9f48e77"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Thu Dec 09 23:17:15 2010 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 21 11:51:24 2010 -0500"
      },
      "message": "nfs: Take advantage of kmem_cache_zalloc() in nfs_page_alloc()\n\nTake advantage of kmem_cache_zalloc() in nfs_page_alloc(). Save a call to\nmemset() and a few bytes.\n\nBefore:\n [jj@dragon linux-2.6]$ size fs/nfs/pagelist.o\n    text    data     bss     dec     hex filename\n    1765       0       8    1773     6ed fs/nfs/pagelist.o\nAfter:\n [jj@dragon linux-2.6]$ size fs/nfs/pagelist.o\n    text    data     bss     dec     hex filename\n    1749       0       8    1757     6dd fs/nfs/pagelist.o\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c8b031ebc1246d42463c5c69df8f610ca9f48e77",
      "tree": "5072fff1d6fb6f4d790eae99781357ac73cba85d",
      "parents": [
        "79691836603541e81a3793970826ac4a75429572"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@distanz.ch",
        "time": "Thu Dec 09 15:53:28 2010 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 21 11:51:23 2010 -0500"
      },
      "message": "NFS: Remove redundant unlikely()\n\nIS_ERR() already implies unlikely(), so it can be omitted here.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@distanz.ch\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "79691836603541e81a3793970826ac4a75429572",
      "tree": "c8dd93e700752462896e85c3f1619567d26452eb",
      "parents": [
        "2025889828bb14b56d9aa4c1a785bd9847ccdc4b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 15:06:52 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:27 2010 -0500"
      },
      "message": "lockd: Remove src_sap and src_len from nlm_lookup_host_info struct\n\nClean up.\n\nThe contents of the src_sap field is not used in nlm_alloc_host().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2025889828bb14b56d9aa4c1a785bd9847ccdc4b",
      "tree": "20707cb2e2ca0f484ccdaf86f14e9ec1c10bdffb",
      "parents": [
        "fcc072c783491ca465e4d1e74da7dbb48dbf7a31"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 15:06:41 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:27 2010 -0500"
      },
      "message": "lockd: Remove nlm_lookup_host()\n\nClean up.\n\nRemove the now unused helper nlm_lookup_host().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fcc072c783491ca465e4d1e74da7dbb48dbf7a31",
      "tree": "51f54e16efa5db00b26111afb59fb80da23ae306",
      "parents": [
        "d2df0484bb38f2e0d9754b00597d4a6d1cf666d0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 15:06:32 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:27 2010 -0500"
      },
      "message": "lockd: Make nrhosts an unsigned long\n\nClean up.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d2df0484bb38f2e0d9754b00597d4a6d1cf666d0",
      "tree": "6d0145d895ab18bd41bd60b215fb0afe5a1549bd",
      "parents": [
        "67216b94d498f5880d8bba2a6b841880739dd524"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 15:06:22 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:27 2010 -0500"
      },
      "message": "lockd: Rename nlm_hosts\n\nClean up.\n\nnlm_hosts now contains only server-side entries.  Rename it to match\nconvention of client side cache.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "67216b94d498f5880d8bba2a6b841880739dd524",
      "tree": "c1334c1db47782b6af9cd69e5165538d9659bca1",
      "parents": [
        "8ea6ecc8b0759756a766c05dc7c98c51ec90de37"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 15:06:12 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:26 2010 -0500"
      },
      "message": "lockd: Clean up nlmsvc_lookup_host()\n\nClean up.\n\nChange nlmsvc_lookup_host() to be purpose-built for server-side\nnlm_host management.  This replaces the generic nlm_lookup_host()\nhelper function, just like on the client side.  The lookup logic is\nspecialized for server host lookups.\n\nThe server side cache also gets its own specialized equivalent of the\nnlm_release_host() function.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8ea6ecc8b0759756a766c05dc7c98c51ec90de37",
      "tree": "225f6f30c7f9a16b585dd38ee1b7f6b0646f990d",
      "parents": [
        "7db836d4a427c3c64406b00b6d8d745d6335d72a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 15:05:52 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:26 2010 -0500"
      },
      "message": "lockd: Create client-side nlm_host cache\n\nNFS clients don\u0027t need the garbage collection processing that is\nperformed on nlm_host structures.  The client picks up an nlm_host at\nmount time and holds a reference to it until the file system is\nunmounted.\n\nServers, on the other hand, don\u0027t have a precise way to tell when an\nnlm_host is no longer being used, so zero refcount nlm_host entries\nare left to expire in the cache after a time.\n\nBasically there\u0027s nothing holding a reference to an nlm_host between\nindividual server-side NLM requests, but we can\u0027t afford the expense\nof recreating them for every new NLM request from a client.  The\nnlm_host cache adds some lifetime hysteresis to entries in the cache\nso the next time a particular nlm_host is needed, it\u0027s likely to be\ndiscovered by a lookup rather than created from whole cloth.\n\nWith the new implementation, client nlm_host cache items are no longer\ngarbage collected, and are destroyed directly by a new release\nfunction specialized for client entries, nlmclnt_release_host().  They\nare cached in their own data structure, and have their own lookup\nlogic, simplified and specialized for client nlm_host entries.\n\nHowever, the client nlm_host cache still shares reboot recovery logic\nwith the server nlm_host cache.  The NSM \"peer rebooted\" downcall for\nclients and servers still come through the same RPC call.  This is a\nlegacy formal API that would be difficult to alter, and besides, the\nuser space NSM implementation can\u0027t tell the difference between peers\nthat are clients or servers.\n\nFor this reason, the client cache continues to share the\nnlm_host_mutex (and reboot recovery logic) with the server cache.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7db836d4a427c3c64406b00b6d8d745d6335d72a",
      "tree": "63f1ae586db1945badf8a65e34f49113a4981c5e",
      "parents": [
        "723bb5b5052faba57060a2feb564ced22416b5bc"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 15:05:42 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:26 2010 -0500"
      },
      "message": "lockd: Split nlm_release_call()\n\nThe nlm_release_call() function is invoked from both the server and\nthe client side.  We\u0027re about to introduce a distinct server- and\nclient-side nlm_release_host(), so nlm_release_call() must first be\nsplit into a client-side and a server-side version.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "723bb5b5052faba57060a2feb564ced22416b5bc",
      "tree": "e70324287a277846d32ddc3a6724251e1fc27724",
      "parents": [
        "a7952f4056d4d9c63c70534bcfd4f2c11e487000"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 15:05:33 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:26 2010 -0500"
      },
      "message": "lockd: Add nlm_destroy_host_locked()\n\nRefactor the tail of nlm_gc_hosts() into nlm_destroy_host() so that\nthis logic can be used separately from garbage collection.\n\nRename it _locked() to document that it must be called with the hosts\ncache mutex held.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a7952f4056d4d9c63c70534bcfd4f2c11e487000",
      "tree": "0b622ff71d92abb3f6ec3d09fc3ed9c3624282ed",
      "parents": [
        "b10e30f6559978e3c8ca2a70c1cb35d6680a4021"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 15:05:23 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:26 2010 -0500"
      },
      "message": "lockd: Add nlm_alloc_host()\n\nRefactor nlm_host allocation and initialization into a separate\nfunction.  This will be the common piece of server and client nlm_host\nlookup logic after the nlm_host cache is split.\n\nSmall change: use kmalloc() instead of kzalloc(), as we\u0027re overwriting\nalmost all fields in the new nlm_host struct with non-zero values\nimmediately after it is allocated.  An added benefit is we now have an\nexplicit reference to each field name where it is initialized (for all\nyou cscope fans out there).\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b10e30f6559978e3c8ca2a70c1cb35d6680a4021",
      "tree": "b084204e36261f72da259ad8da44880623f834fc",
      "parents": [
        "b113746888c260a02f6ae1e92b0b9ef7e9c38993"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Dec 14 15:05:13 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:26 2010 -0500"
      },
      "message": "lockd: reorganize nlm_host_rebooted\n\nMinor reorganization; no change in behavior.  This will save some\nduplicated code after we split the client and server host caches.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n[ cel: Forward-ported to 2.6.37 ]\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b113746888c260a02f6ae1e92b0b9ef7e9c38993",
      "tree": "ad9e89b3e5bae544d3a9b04bc8feb02d2ee4b17c",
      "parents": [
        "bf2695516db982e90a22fc94f93491b481796bb1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Dec 14 15:05:03 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:26 2010 -0500"
      },
      "message": "lockd: define host_for_each{_safe} macros\n\nWe\u0027ve got a lot of loops like this, and I find them a little easier to\nread with the macros.  More such loops are coming.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n[ cel: Forward-ported to 2.6.37 ]\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bf2695516db982e90a22fc94f93491b481796bb1",
      "tree": "367bf134ef892bfc3fcd2c4fe676b14102d97467",
      "parents": [
        "9f06c719f474be7003763284a990bed6377bb0d4"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:59:29 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:25 2010 -0500"
      },
      "message": "SUNRPC: New xdr_streams XDR decoder API\n\nNow that all client-side XDR decoder routines use xdr_streams, there\nshould be no need to support the legacy calling sequence [rpc_rqst *,\n__be32 *, RPC res *] anywhere.  We can construct an xdr_stream in the\ngeneric RPC code, instead of in each decoder function.\n\nThis is a refactoring change.  It should not cause different behavior.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9f06c719f474be7003763284a990bed6377bb0d4",
      "tree": "409ebc3505f943bfdb933ab0acd76ffb5347b372",
      "parents": [
        "1ac7c23e4af5e83525137661595000099f1ce94f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:59:18 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:25 2010 -0500"
      },
      "message": "SUNRPC: New xdr_streams XDR encoder API\n\nNow that all client-side XDR encoder routines use xdr_streams, there\nshould be no need to support the legacy calling sequence [rpc_rqst *,\n__be32 *, RPC arg *] anywhere.  We can construct an xdr_stream in the\ngeneric RPC code, instead of in each encoder function.\n\nAlso, all the client-side encoder functions return 0 now, making a\nreturn value superfluous.  Take this opportunity to convert them to\nreturn void instead.\n\nThis is a refactoring change.  It should not cause different behavior.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1ac7c23e4af5e83525137661595000099f1ce94f",
      "tree": "36038cc6261b15abee63b6d20641ada06aa5bcd7",
      "parents": [
        "4129ccf303593a1922a934697f99e682ff491504"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:59:09 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:25 2010 -0500"
      },
      "message": "SUNRPC: Determine value of \"nrprocs\" automatically\n\nClean up.\n\nJust fixed a panic where the nrprocs field in a different upper layer\nclient was set by hand incorrectly.  Use the compiler-generated method\nused by the other upper layer protocols.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4129ccf303593a1922a934697f99e682ff491504",
      "tree": "e0ad1d8e560b19b8e214f69a2608eccd0f791423",
      "parents": [
        "b43cd8c153f6902100ed50c1f7e11a470c73a73f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:58:59 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:25 2010 -0500"
      },
      "message": "SUNRPC: Avoid return code checking in rpcbind XDR encoder functions\n\nClean up.\n\nThe trend in the other XDR encoder functions is to BUG() when encoding\nproblems occur, since a problem here is always due to a local coding\nerror.  Then, instead of a status, zero is unconditionally returned.\n\nUpdate the rpcbind XDR encoders to behave this way.\n\nTo finish the update, use the new-style be32_to_cpup() and\ncpu_to_be32() macros, and compute the buffer sizes using raw integers\ninstead of sizeof().  This matches the conventions used in other XDR\nfunctions.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b43cd8c153f6902100ed50c1f7e11a470c73a73f",
      "tree": "9d7f5b185eb1e6c1a904ab03bd8fb60abaf677a0",
      "parents": [
        "98eb2b4f9323bcf2a46476576d3155758cb0a473"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:58:49 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:25 2010 -0500"
      },
      "message": "NFS: Remove unused UMNT response data structure\n\nClean up.\n\nThe UMNT request has a NULL response.  There\u0027s no need to set up a\nmountres structure for it.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "98eb2b4f9323bcf2a46476576d3155758cb0a473",
      "tree": "7b7308f76ec761249ba1992a7106633d00035384",
      "parents": [
        "49b170047f4a9fe1483132e14a11bdf493bdb8af"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:58:40 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:25 2010 -0500"
      },
      "message": "NFS: Avoid return code checking in mount XDR encoder functions\n\nClean up.\n\nThe trend in the other XDR encoder functions is to BUG() when encoding\nproblems occur, since a problem here is always due to a local coding\nerror.  Then, instead of a status, zero is unconditionally returned.\n\nUpdate the mount client XDR encoders to behave this way.\n\nTo finish the update, use the new-style be32_to_cpup() and\ncpu_to_be32() macros, and compute the buffer sizes using raw integers\ninstead of sizeof().  This matches the conventions used in other XDR\nfunctions.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "49b170047f4a9fe1483132e14a11bdf493bdb8af",
      "tree": "626d5a764350c6a0f57c7566df86e26aede2cdd3",
      "parents": [
        "ead00597882c4ee3c534d6880cc3bcb4d412cc4b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:58:30 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:24 2010 -0500"
      },
      "message": "NSM: Avoid return code checking in NSM XDR encoder functions\n\nClean up.\n\nThe trend in the other XDR encoder functions is to BUG() when encoding\nproblems occur, since a problem here is always due to a local coding\nerror.  Then, instead of a status, zero is unconditionally returned.\n\nUpdate the NSM XDR encoders to behave this way.\n\nTo finish the update, use the new-style be32_to_cpup() and\ncpu_to_be32() macros, and compute the buffer sizes using raw integers\ninstead of sizeof().  This matches the conventions used in other XDR\nfunctions\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ead00597882c4ee3c534d6880cc3bcb4d412cc4b",
      "tree": "a836fa3fd80a9895c1b3135133d13f0a070c9c66",
      "parents": [
        "573c4e1ef53a6b891b73cc2257e1604da754a2e4"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:58:21 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:24 2010 -0500"
      },
      "message": "NFS: Squelch compiler warning in decode_getdeviceinfo()\n\nClean up.\n\n.../linux/nfs-2.6/fs/nfs/nfs4xdr.c: In function ‘decode_getdeviceinfo’:\n.../linux/nfs-2.6/fs/nfs/nfs4xdr.c:5008: warning: comparison between signed and unsigned integer expressions\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "573c4e1ef53a6b891b73cc2257e1604da754a2e4",
      "tree": "b1e01ca46472ac6c936c4a144c3a160d8e1595bb",
      "parents": [
        "8111f373600cd43b3198b48b9238e3ad2fd9908d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:58:11 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:24 2010 -0500"
      },
      "message": "NFS: Simplify -\u003edecode_dirent() calling sequence\n\nClean up.\n\nThe pointer returned by -\u003edecode_dirent() is no longer used as a\npointer.  The only call site (xdr_decode() in fs/nfs/dir.c) simply\nextracts the errno value encoded in the pointer.  Replace the\nreturned pointer with a standard integer errno return value.\n\nAlso, pass the \"server\" argument as part of the nfs_entry instead of\nas a separate parameter.  It\u0027s faster to derive \"server\" in\nnfs_readdir_xdr_to_array() since we already have the directory\u0027s inode\nhandy.  \"server\" ought to be invariant for a set of entries in the\nsame directory, right?\n\nThe legacy versions of decode_dirent() don\u0027t use \"server\" anyway, so\nit\u0027s wasted work for them to derive and pass \"server\" for each entry.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8111f373600cd43b3198b48b9238e3ad2fd9908d",
      "tree": "5f4c1751405da033a1987de47b90598f08f3b6c6",
      "parents": [
        "d8367c504e39528a057a5d7a267b6724f7fdb4b8"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:58:01 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:24 2010 -0500"
      },
      "message": "NFS: Fix hdrlen calculation in NFSv4\u0027s decode_read()\n\nWhen computing the length of the header, be sure to include the\nfour octets consumed by \"count\".\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d8367c504e39528a057a5d7a267b6724f7fdb4b8",
      "tree": "1d5b9f76680334a93e05aa09b86e071fac2c7baa",
      "parents": [
        "7d93bd71cb3e2629cc88bc59f393bd4df4162b94"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:57:52 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:24 2010 -0500"
      },
      "message": "lockd: Move nlmdbg_cookie2a() to svclock.c\n\nClean up.  nlmdbg_cookie2a() is used only in svclock.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7d93bd71cb3e2629cc88bc59f393bd4df4162b94",
      "tree": "0280f34e564ed29589026845fa2fba49eb7e9d17",
      "parents": [
        "85a56480191ca9f08fc775c129b9eb5c8c1f2c05"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:57:42 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:24 2010 -0500"
      },
      "message": "NFS: Repair whitespace damage in NFS PROC macro\n\nClean up.\n\nWhen I was making other changes in this area, checkscript.pl\ncomplained about the use of leading blanks in the PROC macros in the\nxdr files.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "85a56480191ca9f08fc775c129b9eb5c8c1f2c05",
      "tree": "af91e03abcb7344662d25ad24e036f6de1af0c02",
      "parents": [
        "a033db487eec09afde00a3562842982a8053c887"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:57:32 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:24 2010 -0500"
      },
      "message": "NFSD: Update XDR decoders in NFSv4 callback client\n\nClean up.\n\nRemove old-style NFSv4 XDR macros in favor of the style now used in\nfs/nfs/nfs4xdr.c.  These were forgotten during the recent nfs4xdr.c\nrewrite.\n\nAdditional whitespace cleanup adds to the size of this patch.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a033db487eec09afde00a3562842982a8053c887",
      "tree": "8f1259105c54739e5292b55c4f77cc9b6eaafea1",
      "parents": [
        "3460f29a27344db8c7af62cafdb961286ef0b6cd"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:57:22 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:23 2010 -0500"
      },
      "message": "NFSD: Update XDR encoders in NFSv4 callback client\n\nClean up.\n\nRemove old-style NFSv4 XDR macros in favor of the style now used in\nfs/nfs/nfs4xdr.c.  These were forgotten during the recent nfs4xdr.c\nrewrite.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3460f29a27344db8c7af62cafdb961286ef0b6cd",
      "tree": "be7c8acc0c8c971114f8136534c613395a4d2951",
      "parents": [
        "f6048709391336cf27fb5c1cfca8e792103e5a73"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:57:12 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:23 2010 -0500"
      },
      "message": "lockd: Introduce new-style XDR functions for NLMv4\n\nWe\u0027d like to prevent local buffer overflows caused by malicious or\nbroken servers.  New xdr_stream style decoders can do that.\n\nFor efficiency, we also want to be able to pass xdr_streams from\ncall_encode() to all XDR encoding functions, rather than building\nan xdr_stream in every XDR encoding function in the kernel.\n\nSame idea as the NLM v3 XDR overhaul.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f6048709391336cf27fb5c1cfca8e792103e5a73",
      "tree": "6968f15effa7769248faed8938a9aae0ba29a15d",
      "parents": [
        "b2cdd9c9c95e0e389a8b75fe25f266fc5267bbb6"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:57:02 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:23 2010 -0500"
      },
      "message": "NFS: Move and update xdr_decode_foo() functions that we\u0027re keeping\n\nClean up.\n\nMove the timestamp decoder to match the placement and naming\nconventions of the other helpers.  Fold xdr_decode_fattr() into\ndecode_fattr3(), which is now it\u0027s only user.  Fold\nxdr_decode_wcc_attr() into decode_wcc_attr(), which is now it\u0027s only\nuser.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b2cdd9c9c95e0e389a8b75fe25f266fc5267bbb6",
      "tree": "b20565d1e8a0ed9f4612a4c7b58c583f04f1d760",
      "parents": [
        "f5fc3c50c99a7df2bf908dfe66f112d35178ee07"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:56:52 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:23 2010 -0500"
      },
      "message": "NFS: Remove unused old NFSv3 decoder functions\n\nClean up.  Remove unused legacy result decoder functions, and any\nnow unused decoder helper functions.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f5fc3c50c99a7df2bf908dfe66f112d35178ee07",
      "tree": "1bec43d578cb689bcb7d046805d61071f642930d",
      "parents": [
        "e4f9323409369a3aeb01885c0c4409d2eeec794a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:56:42 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:23 2010 -0500"
      },
      "message": "NFS: Switch in new NFSv3 decoder functions\n\nThe naming scheme of the new decoder functions, which follows the\nNFSv4 XDR decoder functions, is slightly different than the scheme\nused for the old functions.  Rename the functions as a separate\nstep to keep the patches clean.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e4f9323409369a3aeb01885c0c4409d2eeec794a",
      "tree": "67fffcae54825264e5d908ef72ffb89870670bbd",
      "parents": [
        "9d5a64343925a152e1907c652a0d71d6640868b3"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:56:30 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:23 2010 -0500"
      },
      "message": "NFS: Introduce new-style XDR decoding functions for NFSv2\n\nWe\u0027d like to prevent local buffer overflows caused by malicious or\nbroken servers.  New xdr_stream style decoders can do that.\n\nFor efficiency, we also eventually want to be able to pass xdr_streams\nfrom call_decode() to all XDR decoding functions, rather than building\nan xdr_stream in every XDR decoding function in the kernel.\n\nStatic helper functions are left without the \"inline\" directive.  This\nallows the compiler to choose automatically how to optimize these for\nsize or speed.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9d5a64343925a152e1907c652a0d71d6640868b3",
      "tree": "8c1ed1690895bc60530496406a4aed057a87c65a",
      "parents": [
        "499ff710b2fd3a03c8195c82340e5166eed04205"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:56:20 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:23 2010 -0500"
      },
      "message": "NFS: Update xdr_encode_foo() functions that we\u0027re keeping\n\nClean up.  Move the timestamp and the sattr encoder to match the\nplacement convention of the other helpers, update their coding style,\nand refresh their documenting comments.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "499ff710b2fd3a03c8195c82340e5166eed04205",
      "tree": "e564eb74bc123ab536911c4a768e0c25813efd43",
      "parents": [
        "ad96b5b5eae59696b97e207d730b8c8cfb9d4e42"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:56:10 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:22 2010 -0500"
      },
      "message": "NFS: Remove unused old NFSv3 encoder functions\n\nClean up.  Remove unused legacy argument encoder functions, and any\nnow unused encoder helper functions.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ad96b5b5eae59696b97e207d730b8c8cfb9d4e42",
      "tree": "e0e0f3c718d03fc502a3893704576f987fafeebf",
      "parents": [
        "d9c407b138926132e1f93c01fb2dee50eb0bb615"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:56:01 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:22 2010 -0500"
      },
      "message": "NFS: Replace old NFSv3 encoder functions with xdr_stream-based ones\n\nThe naming scheme of the new encoder functions, which follows the\nNFSv4 XDR encoder functions, is slightly different than the scheme\nused for the old functions.  Rename the functions as a separate\nstep to keep the patches clean.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d9c407b138926132e1f93c01fb2dee50eb0bb615",
      "tree": "7157c9f0500357ff6affb14352d0c2bd7c958dae",
      "parents": [
        "2b061f9ef216b6d229b06267f188167fd6ab3d9b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:55:50 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:22 2010 -0500"
      },
      "message": "NFS: Introduce new-style XDR encoding functions for NFSv3\n\nWe\u0027re interested in taking advantage of the safety benefits of\nxdr_streams.  These data structures allow more careful checking for\nbuffer overflow while encoding.  More careful type checking is also\nintroduced in the new functions.\n\nFor efficiency, we also eventually want to be able to pass xdr_streams\nfrom call_encode() to all XDR encoding functions, rather than building\nan xdr_stream in every XDR encoding function in the kernel.  To do\nthis means all encoders must be ready to handle a passed-in\nxdr_stream.\n\nThe new encoders follow the modern paradigm for XDR encoders: BUG on\nerror, and always return a zero status code.\n\nStatic helper functions are left without the \"inline\" directive.  This\nallows the compiler to choose automatically how to optimize these for\nsize or speed.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2b061f9ef216b6d229b06267f188167fd6ab3d9b",
      "tree": "8ed08aa5bee3a50ac7bf9909e7fc8865b470b0a3",
      "parents": [
        "5f96e5e31b4f4a2f126adfe0586a7555c11b0562"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:55:40 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:21 2010 -0500"
      },
      "message": "lockd: Introduce new-style XDR functions for NLMv3\n\nWe\u0027d like to prevent local buffer overflows caused by malicious or\nbroken servers.  New xdr_stream style decoders can do that.\n\nFor efficiency, we also eventually want to be able to pass xdr_streams\nfrom call_encode() and call_decode() to all XDR encoding functions,\nrather than building an xdr_stream in every XDR encoding and decoding\nfunction in the kernel.\n\nTo do all of this, rewrite the XDR encoding and decoding functions in\nfs/lockd/xdr.c to use xdr_streams.  This makes them more or less\nincompatible with server-side XDR helper functions, so break them out\ninto a separate source file.\n\nStatic helper functions are left without the \"inline\" directive.  This\nallows the compiler to choose automatically how to optimize these for\nsize or speed.\n\nSHARE-related functionality doesn\u0027t seem to be used, as those\nfunctions are hiding behind a #define that isn\u0027t set anywhere that I\ncan find.  And, they\u0027ve been in there forever (at least as far back as\nthe kernel\u0027s git history goes), yet remain unused.  Let\u0027s take the\nopportunity to bin them.  It should be easy enough for someone to\nintroduce proper XDR functions if at some point SHARE-related NLM\nfunctionality is desired.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5f96e5e31b4f4a2f126adfe0586a7555c11b0562",
      "tree": "1b9b79a6af6d8208755acb09d40687208d248de4",
      "parents": [
        "661ad4239a51a2169a366a227c68cf3b654ab936"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:55:30 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:21 2010 -0500"
      },
      "message": "NFS: Move and update xdr_decode_foo() functions that we\u0027re keeping\n\nClean up.\n\nMove the timestamp decoder to match the placement and naming\nconventions of the other helpers.  Fold xdr_decode_fattr() into\ndecode_fattr(), which is now it\u0027s only user.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "661ad4239a51a2169a366a227c68cf3b654ab936",
      "tree": "fef0e74f914c07b5031bc080a997fac650863591",
      "parents": [
        "f796f8b3ae292abb9cb2931e8db6fc1d69bba09d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:55:20 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:21 2010 -0500"
      },
      "message": "NFS: Replace old NFSv2 decoder functions with xdr_stream-based ones\n\nClean up.  Remove unused legacy result decoder functions, and any\nnow unused decoder helper functions.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f796f8b3ae292abb9cb2931e8db6fc1d69bba09d",
      "tree": "80d62906e65bda8fb82b3b9c76a56a2071e99a7e",
      "parents": [
        "858284932462cec260f3d1d7426aeb03f5dbc2ad"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:55:10 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:21 2010 -0500"
      },
      "message": "NFS: Introduce new-style XDR decoding functions for NFSv2\n\nWe\u0027d like to prevent local buffer overflows caused by malicious or\nbroken servers.  New xdr_stream style decoders can do that.\n\nFor efficiency, we also eventually want to be able to pass xdr_streams\nfrom call_decode() to all XDR decoding functions, rather than building\nan xdr_stream in every XDR decoding function in the kernel.\n\nnfs_decode_dirent() is renamed to follow the naming convention of the\nother two dirent decoders.\n\nStatic helper functions are left without the \"inline\" directive.  This\nallows the compiler to choose automatically how to optimize these for\nsize or speed.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "858284932462cec260f3d1d7426aeb03f5dbc2ad",
      "tree": "4091fe326b0b96eaa25fb766111b922ada5b3773",
      "parents": [
        "282ac2a573dd1be4230710932cd471ed5a3a94b8"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:55:00 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:21 2010 -0500"
      },
      "message": "NFS: Use the \"nfs_stat\" enum for nfs_stat_to_errno()\u0027s argument\n\nClean up.\n\nTo distinguish more clearly between the on-the-wire NFSERR_ value and\nour local errno values, use the proper type for the argument of\nnfs_stat_to_errno().\n\nAdd a documenting comment appropriate for a global function shared\noutside this source file.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "282ac2a573dd1be4230710932cd471ed5a3a94b8",
      "tree": "1f0921c6c3231760f18f95075bf43bdfbbbcc168",
      "parents": [
        "2d70f533eab0a0cabd05ee878b6709707bf63c86"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:54:50 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:20 2010 -0500"
      },
      "message": "NFS: Update xdr_encode_foo() functions that we\u0027re keeping\n\nClean up.\n\nThe new helper functions are kept in order by section of RFC 1094.\nMove the two timestamp encoders we\u0027re keeping, update their coding\nstyle, and refresh their documenting comments.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2d70f533eab0a0cabd05ee878b6709707bf63c86",
      "tree": "c3ea35e01301e56a87dcdd970647592ffeb009fd",
      "parents": [
        "25a0866cc63281b480cc0c11ddeaccb2ffc57dc9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:54:40 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:20 2010 -0500"
      },
      "message": "NFS: Remove old NFSv2 encoder functions\n\nClean up:  Remove unused legacy argument encoder functions, and any\nnow unused encoder helper functions.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "25a0866cc63281b480cc0c11ddeaccb2ffc57dc9",
      "tree": "97c44600812b98f05f13f0e7a0b8c192ad07dd67",
      "parents": [
        "b3444d164be8f977f4133ef0c6f4a18f2741373f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:54:30 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:20 2010 -0500"
      },
      "message": "NFS: Introduce new-style XDR encoding functions for NFSv2\n\nWe\u0027re interested in taking advantage of the safety benefits of\nxdr_streams.  These data structures allow more careful checking for\nbuffer overflow while encoding.  More careful type checking is also\nintroduced in the new functions.\n\nFor efficiency, we also eventually want to be able to pass xdr_streams\nfrom call_encode() to all XDR encoding functions, rather than building\nan xdr_stream in every XDR encoding function in the kernel.  To do\nthis means all encoders must be ready to handle a passed-in\nxdr_stream.\n\nThe new encoders follow the modern paradigm for XDR encoders: BUG on\nany error, and always return a zero status code.\n\nStatic helper functions are left without the \"inline\" directive.  This\nallows the compiler to choose automatically how to optimize these for\nsize or speed.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b3444d164be8f977f4133ef0c6f4a18f2741373f",
      "tree": "06d1f90f0fabbcded5d091308ea6ca3bf0f7f76a",
      "parents": [
        "4ef5c68f0a40a95d63c210ba7e3751540e1cb1f1",
        "da32dac101263fb5b155407507c548e3ac2a6a2a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 16 08:51:57 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 16 08:51:57 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  lguest: populate initial_page_table\n  lguest: restore boot speed\n  lguest: fix crash lguest_time_init\n"
    },
    {
      "commit": "4ef5c68f0a40a95d63c210ba7e3751540e1cb1f1",
      "tree": "3e84110be38ec7f2f8a203d92fff07ceb89a2505",
      "parents": [
        "9fe4145530e6072cc838beb95ca68cada8c56909",
        "947b10ae0aeda89fc066a7470fdba55f72b0b8fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 16 08:34:22 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 16 08:34:22 2010 -0800"
      },
      "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 regression of garbage collection ioctl\n"
    },
    {
      "commit": "9fe4145530e6072cc838beb95ca68cada8c56909",
      "tree": "72d0c2d45bb92e75f3a0b4e102fbee2904dea4c0",
      "parents": [
        "b0c3844d8af6b9f3f18f31e1b0502fbefa2166be",
        "ab4e0192196b8d4e43a3945742d4996da934a86f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 16 08:33:44 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 16 08:33:44 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: define separate EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2\n  Input: wacom - add another Bamboo Pen ID (0xd4)\n"
    },
    {
      "commit": "da32dac101263fb5b155407507c548e3ac2a6a2a",
      "tree": "fdb5fa8e874fdbe59878481b128b026719045523",
      "parents": [
        "bb4093deb259ea9c92415796a6a139e35272f8a8"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Dec 16 17:03:15 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Dec 16 17:03:15 2010 +1030"
      },
      "message": "lguest: populate initial_page_table\n\nTwo x86 patches broke lguest:\n1) v2.6.35-492-g72d7c3b, which changed x86 to use the memblock allocator.\n\nIn lguest, the host places linear page tables at the top of mem, which\nused to be enough to get us up to the swapper_pg_dir page tables.  With\nthe first patch, the direct mapping tables used that memory:\n\nBefore: kernel direct mapping tables up to 4000000 @ 7000-1a000\nAfter: kernel direct mapping tables up to 4000000 @ 3fed000-4000000\n\nI initially fixed this by lying about the amount of memory we had, so\nthe kernel wouldn\u0027t blatt the lguest boot pagetables (yuk!), but then...\n\n2) v2.6.36-rc8-54-gb40827f, which made x86 boot use initial_page_table.\n\nThis was initialized in a part of head_32.S which isn\u0027t executed by\nlguest; it is then copied into swapper_pg_dir.  So we have to initialize\nit; and anyway we switch to it before we blatt the old tables, so that\nfixes the previous damage as well.\n\nFor the moment, I cut \u0026 pasted the code into lguest\u0027s boot code, but\nnext merge window I will merge them.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nTo: x86@kernel.org\n"
    },
    {
      "commit": "bb4093deb259ea9c92415796a6a139e35272f8a8",
      "tree": "806e7be7f7194d91e9135bc2f6af64a5ca2fdd7b",
      "parents": [
        "bb6f1d9a99f1947d91693de62ed54ac3bf1e2dfe"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Dec 16 17:03:15 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Dec 16 17:03:15 2010 +1030"
      },
      "message": "lguest: restore boot speed\n\nlguest is dumb and drops *all* the pagetables for set_pte (which is\nonly used for kernel mapping manipulation, so it\u0027s OK without highmem).\n\nBut it\u0027s used a lot in boot, too.  As a guest optimization, we\nsuppressed this flushing until the first page switch.  Now we have\ninitial_page_table, that happens much earlier, so extend the heuristic\nto wait until we switch to something other than the swapper_pg_dir or\ninitial_page_table.\n\nAs measured on my laptop under kvm, this dropped the time-to-mount-root\nfrom 48 seconds to 4.3 seconds.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "bb6f1d9a99f1947d91693de62ed54ac3bf1e2dfe",
      "tree": "d65336471dba6eba42413630603d0202ec64dd40",
      "parents": [
        "b0c3844d8af6b9f3f18f31e1b0502fbefa2166be"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Dec 16 17:03:13 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Dec 16 17:03:14 2010 +1030"
      },
      "message": "lguest: fix crash lguest_time_init\n\nfe25c7fc2e \"x86: lguest: Convert to new irq chip functions\" converted\nenable_lguest_irq() to take a struct irq_data *, but didn\u0027t fix the one\ninternal caller.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nTo: x86@kernel.org\n"
    },
    {
      "commit": "947b10ae0aeda89fc066a7470fdba55f72b0b8fc",
      "tree": "93934dcf6b7709ed40e861d3b586f2c3f37f4151",
      "parents": [
        "b0c3844d8af6b9f3f18f31e1b0502fbefa2166be"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu Dec 16 09:57:57 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu Dec 16 14:35:18 2010 +0900"
      },
      "message": "nilfs2: fix regression of garbage collection ioctl\n\nOn 2.6.37-rc1, garbage collection ioctl of nilfs was broken due to the\ncommit 263d90cefc7d82a0 (\"nilfs2: remove own inode hash used for GC\"),\nand leading to filesystem corruption.\n\nThe patch doesn\u0027t queue gc-inodes for log writer if they are reused\nthrough the vfs inode cache.  Here, gc-inode is the inode which\nbuffers blocks to be relocated on GC.  That patch queues gc-inodes in\nnilfs_init_gcinode() function, but this function is not called when\nthey don\u0027t have I_NEW flag.  Thus, some of live blocks are wrongly\noverrode without being moved to new logs.\n\nThis resolves the problem by moving the gc-inode queueing to an outer\nfunction to ensure it\u0027s done right.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "b0c3844d8af6b9f3f18f31e1b0502fbefa2166be",
      "tree": "28fc40804196baed166c4164bc36078ee070f7c0",
      "parents": [
        "c01c8106f43ec7e460eeb56c7a8ae666acdfe5a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 15 17:24:48 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 15 17:24:48 2010 -0800"
      },
      "message": "Linux 2.6.37-rc6\n"
    },
    {
      "commit": "c01c8106f43ec7e460eeb56c7a8ae666acdfe5a0",
      "tree": "8d0d795f813db782ef950a1c0391c5755be007c1",
      "parents": [
        "a4851d8f7d6351a395d36ae8fdcf41745a832d76",
        "52f6c5ad430e41736133acac179607b224eaaa11"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 15 17:24:05 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 15 17:24:05 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:\n  crypto: ghash-intel - ghash-clmulni-intel_glue needs err.h\n"
    },
    {
      "commit": "a4851d8f7d6351a395d36ae8fdcf41745a832d76",
      "tree": "e1d62324316e36eea0146cb9714378edc77f458d",
      "parents": [
        "667c78afaec0ac500908e191e8f236e9578d7b1f",
        "6d5c3aa84b3e431f2d0fc39c73c867d1a4dd8cff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 15 12:41:17 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 15 12:41:17 2010 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: fix typo which broke \u0027..\u0027 detection in ext4_find_entry()\n  ext4: Turn off multiple page-io submission by default\n"
    },
    {
      "commit": "667c78afaec0ac500908e191e8f236e9578d7b1f",
      "tree": "11a469d8a4cfefea2fd3a56be2cda4c7784d54a1",
      "parents": [
        "6c965ff5e7ca844494f1dcf0ec0440146db01294"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Dec 08 12:39:12 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 15 12:34:28 2010 -0800"
      },
      "message": "xen: Provide a variant of __RING_SIZE() that is an integer constant expression\n\nWithout this, gcc 4.5 won\u0027t compile xen-netfront and xen-blkfront, where\nthis is being used to specify array sizes.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Stable Kernel \u003cstable@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c965ff5e7ca844494f1dcf0ec0440146db01294",
      "tree": "47fd9af042fb692e3305c4fd1d549f130ae89c9e",
      "parents": [
        "462e635e5b73ba9a4c03913b77138cd57ce4b050"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@codeaurora.org",
        "time": "Thu Dec 09 15:45:27 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 15 12:31:21 2010 -0800"
      },
      "message": "MAINTAINERS: update MSM git tree\n\nThe MSM main git tree has changed over to this new address.\n\nSigned-off-by: Daniel Walker \u003cdwalker@codeaurora.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "462e635e5b73ba9a4c03913b77138cd57ce4b050",
      "tree": "6ff0e84eecc6252d41d7c08730018c0149e7227f",
      "parents": [
        "0fcdcfbbc98f70f559e4b36773a69972489a6d8f"
      ],
      "author": {
        "name": "Tavis Ormandy",
        "email": "taviso@cmpxchg8b.com",
        "time": "Thu Dec 09 15:29:42 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 15 12:30:36 2010 -0800"
      },
      "message": "install_special_mapping skips security_file_mmap check.\n\nThe install_special_mapping routine (used, for example, to setup the\nvdso) skips the security check before insert_vm_struct, allowing a local\nattacker to bypass the mmap_min_addr security restriction by limiting\nthe available pages for special mappings.\n\nbprm_mm_init() also skips the check, and although I don\u0027t think this can\nbe used to bypass any restrictions, I don\u0027t see any reason not to have\nthe security check.\n\n  $ uname -m\n  x86_64\n  $ cat /proc/sys/vm/mmap_min_addr\n  65536\n  $ cat install_special_mapping.s\n  section .bss\n      resb BSS_SIZE\n  section .text\n      global _start\n      _start:\n          mov     eax, __NR_pause\n          int     0x80\n  $ nasm -D__NR_pause\u003d29 -DBSS_SIZE\u003d0xfffed000 -f elf -o install_special_mapping.o install_special_mapping.s\n  $ ld -m elf_i386 -Ttext\u003d0x10000 -Tbss\u003d0x11000 -o install_special_mapping install_special_mapping.o\n  $ ./install_special_mapping \u0026\n  [1] 14303\n  $ cat /proc/14303/maps\n  0000f000-00010000 r-xp 00000000 00:00 0                                  [vdso]\n  00010000-00011000 r-xp 00001000 00:19 2453665                            /home/taviso/install_special_mapping\n  00011000-ffffe000 rwxp 00000000 00:00 0                                  [stack]\n\nIt\u0027s worth noting that Red Hat are shipping with mmap_min_addr set to\n4096.\n\nSigned-off-by: Tavis Ormandy \u003ctaviso@google.com\u003e\nAcked-by: Kees Cook \u003ckees@ubuntu.com\u003e\nAcked-by: Robert Swiecki \u003cswiecki@google.com\u003e\n[ Changed to not drop the error code - akpm ]\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52f6c5ad430e41736133acac179607b224eaaa11",
      "tree": "f525c1e28ebff9d96b6cee57729b315b0938a652",
      "parents": [
        "0fcdcfbbc98f70f559e4b36773a69972489a6d8f"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Dec 15 17:58:57 2010 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 15 19:44:08 2010 +0800"
      },
      "message": "crypto: ghash-intel - ghash-clmulni-intel_glue needs err.h\n\nAdd missing header file:\n\narch/x86/crypto/ghash-clmulni-intel_glue.c:256: error: implicit declaration of function \u0027IS_ERR\u0027\narch/x86/crypto/ghash-clmulni-intel_glue.c:257: error: implicit declaration of function \u0027PTR_ERR\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "ab4e0192196b8d4e43a3945742d4996da934a86f",
      "tree": "7aeeec6e5fe84dcb1b3026c7cc6c0f81807f0922",
      "parents": [
        "57a7872fa0f03e90be0fa224b9ea533f5b03ee4f"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Dec 14 23:53:21 2010 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Dec 14 23:55:21 2010 -0800"
      },
      "message": "Input: define separate EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2\n\nThe desire to keep old names for the EVIOCGKEYCODE/EVIOCSKEYCODE while\nextending them to support large scancodes was a mistake. While we tried\nto keep ABI intact (and we succeeded in doing that, programs compiled\non older kernels will work on newer ones) there is still a problem with\nrecompiling existing software with newer kernel headers.\n\nNew kernel headers will supply updated ioctl numbers and kernel will\nexpect that userspace will use struct input_keymap_entry to set and\nretrieve keymap data. But since the names of ioctls are still the same\nuserspace will happily compile even if not adjusted to make use of the\nnew structure and will start miraculously fail in the field.\n\nTo avoid this issue let\u0027s revert EVIOCGKEYCODE/EVIOCSKEYCODE definitions\nand add EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2 so that userspace can explicitly\nselect the style of ioctls it wants to employ.\n\nReviewed-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nAcked-by: Jarod Wilson \u003cjarod@redhat.com\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "0fcdcfbbc98f70f559e4b36773a69972489a6d8f",
      "tree": "108d532e9c79b76c6adaf8b564749a19ffbbce66",
      "parents": [
        "6d5e93c2aa1248b25f9de0eaca1dca038e31d79d",
        "2d64672ed38721b7a3815009d79bfb90a1f34a17"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 18:50:10 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 18:50:10 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: It is likely that WORKER_NOT_RUNNING is true\n  MAINTAINERS: Add workqueue entry\n  workqueue: check the allocation of system_unbound_wq\n"
    },
    {
      "commit": "6d5e93c2aa1248b25f9de0eaca1dca038e31d79d",
      "tree": "f1d96e347d0662182d118cb3e2f2180c91146afd",
      "parents": [
        "3d0b6087f3f2c88caef25e1455ff8db0816d4e11",
        "589a594be1fb8815b3f18e517be696c48664f728"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 18:49:40 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 18:49:40 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://neil.brown.name/md\n\n* \u0027for-linus\u0027 of git://neil.brown.name/md:\n  md: protect against NULL reference when waiting to start a raid10.\n  md: fix bug with re-adding of partially recovered device.\n  md: fix possible deadlock in handling flush requests.\n  md: move code in to submit_flushes.\n  md: remove handling of flush_pending in md_submit_flush_data\n"
    },
    {
      "commit": "3d0b6087f3f2c88caef25e1455ff8db0816d4e11",
      "tree": "b04e2fdc51a8f761b432be83c379eedce17e3396",
      "parents": [
        "54efdfeb49f03adfd0196935335890469ed314b9"
      ],
      "author": {
        "name": "Major Lee",
        "email": "major_lee@wistron.com",
        "time": "Fri Dec 10 10:13:49 2010 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 18:48:59 2010 -0800"
      },
      "message": "dw_spi: Fix missing final read in some polling situations\n\nThere is a possibility that the last word of a transaction will be lost\nif data is not ready.  Re-read in poll_transfer() to solve this issue\nwhen poll_mode is enabled.\n\nVerified on SPI touch screen device.\n\nSigned-off-by: Major Lee \u003cmajor_lee@wistron.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54efdfeb49f03adfd0196935335890469ed314b9",
      "tree": "1e041b845897d34b378b4cb8689fbc0a77d7ba53",
      "parents": [
        "dbd9fd63bdc7d73f3822a5e9dfaa6654e530518c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Tue Dec 14 15:29:08 2010 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 18:46:01 2010 -0800"
      },
      "message": "i2c_intel_mid: Fix slash in sysfs name\n\nThis gets caught by the new sanity check code. Instead of the slash use a\ndifferent symbol. This was originally found by Major Lee who proposed a\nrather more complex patch which changed the name according to the chip\ntype.\n\nOn the basis that we are in a late -rc and making Linus grumpy isn\u0027t always\na good idea (however fun) this is a simple alternative.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d5c3aa84b3e431f2d0fc39c73c867d1a4dd8cff",
      "tree": "d03a2ddc636597d96e9333dd79bae22314564e67",
      "parents": [
        "1449032be17abb69116dbc393f67ceb8bd034f92"
      ],
      "author": {
        "name": "Aaro Koskinen",
        "email": "aaro.koskinen@nokia.com",
        "time": "Tue Dec 14 21:45:31 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 14 21:45:31 2010 -0500"
      },
      "message": "ext4: fix typo which broke \u0027..\u0027 detection in ext4_find_entry()\n\nThere should be a check for the NUL character instead of \u00270\u0027.\n\nFortunately the only thing that cares about this is NFS serving, which\nis why we didn\u0027t notice this in the merge window testing.\n\nReported-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Aaro Koskinen \u003caaro.koskinen@nokia.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "dbd9fd63bdc7d73f3822a5e9dfaa6654e530518c",
      "tree": "66e6d109396c68b99f6ad0575390b4d39a3c06da",
      "parents": [
        "ec5d043f2809b9aaf14e6676ddb0dc8c3a6dc8de",
        "21b6e4c7106b2d68a6710506d8706608272fd78b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 17:37:08 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 17:37:08 2010 -0800"
      },
      "message": "Merge branch \u0027sh-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027sh-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:\n  sh: wire up accept4 syscall (non-multiplexed path)\n  sh: Enable deprecated IRQ chip APIs for MFD and GPIOLIB drivers.\n"
    },
    {
      "commit": "ec5d043f2809b9aaf14e6676ddb0dc8c3a6dc8de",
      "tree": "bfa26c277edb20b17b4d7f0975bf29ca6052f4e4",
      "parents": [
        "fc47e672ee2a8dfcde7673997c8b1e0cec38e2c9",
        "c2015dc88a57090bcf67ab7cfcdbc34671598d36"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 17:36:35 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 17:36:35 2010 -0800"
      },
      "message": "Merge branch \u0027omap-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6\n\n* \u0027omap-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6:\n  OMAP2: PRCM: fix some SHIFT macros that were actually bitmasks\n  OMAP2+: PM/serial: fix console semaphore acquire during suspend\n  OMAP1: SRAM: fix size for OMAP1611 SoCs\n  arm: omap2: io: fix clk_get() error check\n  arm: plat-omap: counter_32k: use IS_ERR() instead of NULL check\n  omap: nand: remove hardware ECC as default\n  omap: zoom: wl1271 slot is MMC_CAP_POWER_OFF_CARD\n  omap: PM debug: fix wake-on-timer debugfs dependency\n"
    },
    {
      "commit": "fc47e672ee2a8dfcde7673997c8b1e0cec38e2c9",
      "tree": "28dea58dfef997fd9adfb637b04b5feaae9b8cc1",
      "parents": [
        "478b2a34e7d496b0cc3ae7696362740f954c91ba",
        "85b093bcc5322baa811a03ec73de0909c157f181"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 17:36:10 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 17:36:10 2010 -0800"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-arm\n\n* master.kernel.org:/home/rmk/linux-2.6-arm:\n  ARM: 6535/1: V6 MPCore v6_dma_inv_range and v6_dma_flush_range RWFO fix\n  ARM: 6534/1: Make CONFIG_FPE_NWFPE depend on !CONFIG_THUMB2_KERNEL\n  ARM: 6533/1: Thumb-2: Make CONFIG_THUMB2_KERNEL depend on !CPU_V6\n  Change bcmring Maintainer list.\n  ARM: Update mach-types\n  ARM: 6528/1: Use CTR for the I-cache line size on ARMv7\n  ARM: 6527/1: Use CTR instead of CCSIDR for the D-cache line size on ARMv7\n  ARM: pxa/palm: fix ifdef around gen_nand driver registration\n  ARM: pxa: fix pxa2xx-flash section mismatch\n  ARM: mmp2: remove not used clk_rtc\n"
    },
    {
      "commit": "478b2a34e7d496b0cc3ae7696362740f954c91ba",
      "tree": "e4a9b4035210bde6d21c70f59371da0882aebcba",
      "parents": [
        "b4fe2a03422e6bd20bd8df5e428109a85c9ea961",
        "595a251c0740785fd3c0d2156d78578c7479811e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 17:34:00 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 17:34:00 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  sparc: Write to prom console using indirect buffer.\n  sparc: Delete prom_*getchar().\n  sparc: Pass buffer pointer all the way down to prom_{get,put}char().\n  sparc: Do not export prom_nb{get,put}char().\n  sparc64: Delete prom_setcallback().\n  sparc64: Unexport prom_service_exists().\n  sparc: Kill prom devops_{32,64}.c\n  sparc: Remove prom_pathtoinode()\n  sparc64: Delete prom_puts() unused.\n  SPARC/LEON: removed constant timer initialization as if HZ\u003d100, now it reflects the value of HZ\n"
    },
    {
      "commit": "b4fe2a03422e6bd20bd8df5e428109a85c9ea961",
      "tree": "b6505c0599251421fef39c9fa0655f255aac9ed6",
      "parents": [
        "85cb7f1264c4d9e60ccdce52740238222e77ccd0",
        "2a27a03d3a891e87ca33d27a858b4db734a4cbab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 17:33:40 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 17:33:40 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (75 commits)\n  pppoe.c: Fix kernel panic caused by __pppoe_xmit\n  WAN: Fix a TX IRQ causing BUG() in PC300 and PCI200SYN drivers.\n  bnx2x: Advance a version number to 1.60.01-0\n  bnx2x: Fixed a compilation warning\n  bnx2x: LSO code was broken on BE platforms\n  qlge: Fix deadlock when cancelling worker.\n  net: fix skb_defer_rx_timestamp()\n  cxgb4vf: Ingress Queue Entry Size needs to be 64 bytes\n  phy: add the IC+ IP1001 driver\n  atm: correct sysfs \u0027device\u0027 link creation and parent relationships\n  MAINTAINERS: remove me from tulip\n  SCTP: Fix SCTP_SET_PEER_PRIMARY_ADDR to accpet v4mapped address\n  enic: Bug Fix: Pass napi reference to the isr that services receive queue\n  ipv6: fix nl group when advertising a new link\n  connector: add module alias\n  net: Document the kernel_recvmsg() function\n  r8169: Fix runtime power management\n  hso: IP checksuming doesn\u0027t work on GE0301 option cards\n  xfrm: Fix xfrm_state_migrate leak\n  net: Convert netpoll blocking api in bonding driver to be a counter\n  ...\n"
    },
    {
      "commit": "85cb7f1264c4d9e60ccdce52740238222e77ccd0",
      "tree": "08a5e5af412bdc16576b252c54466d3807d6f25f",
      "parents": [
        "3373c3ddb26848beee7b8a96fb98d89533dbf9d7",
        "7c03b87048f2467087ae7e51392e5fb57ea8f58b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 17:32:56 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 17:32:56 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:\n  [SCSI] hpsa: fix redefinition of PCI_DEVICE_ID_CISSF\n  [SCSI] qla2xxx: Update version number to 8.03.05-k0.\n  [SCSI] qla2xxx: Properly set the return value in qla2xxx_eh_abort function.\n  [SCSI] qla2xxx: Correct issue where NPIV-config data was not being allocated for 82xx parts.\n  [SCSI] qla2xxx: Change MSI initialization from using incorrect request_irq parameter.\n  [SCSI] qla2xxx: Populate Command Type 6 LUN field properly.\n  [SCSI] zfcp: Issue FCP command without holding SCSI host_lock\n  [SCSI] zfcp: Prevent usage w/o holding a reference\n  [SCSI] zfcp: No ERP escalation on gpn_ft eval\n  [SCSI] zfcp: Correct false abort data assignment.\n  [SCSI] zfcp: Fix common FCP request reception\n  [SCSI] Eliminate error handler overload of the SCSI serial number\n  [SCSI] pmcraid: disable msix and expand device config entry\n  [SCSI] bsg: correct fault if queue object removed while dev_t open\n  [SCSI] osd: checking NULL instead of ERR_PTR()\n"
    },
    {
      "commit": "3373c3ddb26848beee7b8a96fb98d89533dbf9d7",
      "tree": "50e8d87831b21cf0260020f6924034d76fe6ebe1",
      "parents": [
        "3907969596091f429b7864cfe4e473a227876a96",
        "8863ada9c47503bb93eba5e3a9ba88e6311db31f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 14:35:04 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 14:35:04 2010 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kgdboc,input: Fix regression with keyboard release key and early debugging\n"
    },
    {
      "commit": "3907969596091f429b7864cfe4e473a227876a96",
      "tree": "7c8e826af7a886a02298c1c0c00a466476c6e626",
      "parents": [
        "66ef6aa63defa54b2c7e8edcc69e0641d2bb61ef",
        "23437b5c50f523a87ca5c02fd883b069ca8be7f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 14:33:33 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 14:33:33 2010 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:\n  ACPI / PM: Do not save/restore NVS on Sony Vaio VGN-NW130D\n  ACPI/HEST: adjust section selection\n  ACPI: eliminate unused variable warning for !ACPI_SLEEP\n  ACPI/PNP: avoid section mismatch warning\n  ACPI thermal: remove two unused functions\n  ACPI: fix a section mismatch\n  ACPI, APEI, use raw spinlock in ERST\n  ACPI: video: fix build for CONFIG_ACPI\u003dn\n  ACPI: video: fix build for VIDEO_OUTPUT_CONTROL\u003dn\n  ACPI: fix allowing to add/remove multiple _OSI strings\n  acpi: fix _OSI string setup regression\n  ACPI: EC: Add another dmi match entry for MSI hardware\n  ACPI battery: update status upon sysfs query\n  ACPI ac: update AC status upon sysfs query\n  ACPI / PM: Do not refcount power resources that can\u0027t be turned on\n  ACPI / PM: Check device state before refcounting power resources\n"
    }
  ],
  "next": "66ef6aa63defa54b2c7e8edcc69e0641d2bb61ef"
}
