)]}'
{
  "log": [
    {
      "commit": "d47166244860eb5dfdb12ee4703968beef8a0db2",
      "tree": "423a78e1aefc84b13800e4e257bee30ac4bbcb75",
      "parents": [
        "92737230dd3f1478033819d4bc20339f8da852da"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:45 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:45 2006 -0500"
      },
      "message": "lockd: Add helper for *_RES callbacks\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "92737230dd3f1478033819d4bc20339f8da852da",
      "tree": "27bc7804a077a29b7614c698bb02632dc4ce228e",
      "parents": [
        "e4cd038a45a46ffbe06a1a72f3f15246e5b041ca"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:45 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:45 2006 -0500"
      },
      "message": "NLM: Add nlmclnt_release_call\n\nAdd a helper function to simplify the freeing of NLM client requests.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e4cd038a45a46ffbe06a1a72f3f15246e5b041ca",
      "tree": "61b926d8644ce6c3888f6891ba44d6db6d116adb",
      "parents": [
        "3a649b884637c4fdff50a6beebc3dc0e6082e048"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:44 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:44 2006 -0500"
      },
      "message": "NLM: Fix nlmclnt_test to not copy private part of locks\n\nThe struct file_lock does not carry a properly initialised lock,\nso don\u0027t copy it as if it were.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3a649b884637c4fdff50a6beebc3dc0e6082e048",
      "tree": "042455741f079fdbd4d33cd7da61c1c9e68db477",
      "parents": [
        "d72b7a6b26b9009b7a05117fe2e04b3a73ae4a5c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:44 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:44 2006 -0500"
      },
      "message": "NLM: Simplify client locks\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d72b7a6b26b9009b7a05117fe2e04b3a73ae4a5c",
      "tree": "dcdbc9386b19e4976cf156baf35985016c1d28f4",
      "parents": [
        "6b45d858ed6821dd687efd3b68929de2e4954fec"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:43 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:43 2006 -0500"
      },
      "message": "NFS: O_DIRECT needs to use a completion\n\nNow that we have aio writes, it is possible for dreq-\u003eoutstanding to be\nzero, but for the I/O not to have completed. Convert struct nfs_direct_req\nto use a completion to signal when the I/O is done.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6b45d858ed6821dd687efd3b68929de2e4954fec",
      "tree": "fcc25885f02133177e2bc093f8cd09879cbd05cf",
      "parents": [
        "606bbba06b11ebcbdf3a4fcd8cce4507c5bd7a4b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:43 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:43 2006 -0500"
      },
      "message": "NFS: Clean up nfs_get_user_pages\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "606bbba06b11ebcbdf3a4fcd8cce4507c5bd7a4b",
      "tree": "b2cb6a1210aa45da2856c0846ad3e835b41629d4",
      "parents": [
        "5eb53f41d11c04aa4ddb9f168b6bbb27b9790348"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:42 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:42 2006 -0500"
      },
      "message": "NFS: fix compiler warnings on 64-bit platforms\n\nIntroduced by NFS aio+dio patches.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled on 64-bit hardware.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5eb53f41d11c04aa4ddb9f168b6bbb27b9790348",
      "tree": "cc8935431e852fc2f500214406713bc83d40042c",
      "parents": [
        "35576cba57f1c042b87d6586b3229d13067264c6"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:42 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:42 2006 -0500"
      },
      "message": "SUNRPC: fix compile warnings on 64-bit platforms\n\nIntroduced by NFS metrics patch.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled on a 64-bit platform.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "35576cba57f1c042b87d6586b3229d13067264c6",
      "tree": "705718c559911986647db9f95ad3cff85cffcff8",
      "parents": [
        "4c060b531006e0711db32a132d6ac7661594b280"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:41 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:41 2006 -0500"
      },
      "message": "NLM: nlmclnt_cancel_callback should accept NLM_LCK_DENIED errors\n\nNLM_LCK_DENIED is a valid error return for an NLM_CANCEL call by the\nclient.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4c060b531006e0711db32a132d6ac7661594b280",
      "tree": "899f281dfec3da7e29ede2e76019b3861116714f",
      "parents": [
        "26bcbf965f857c710adafd16cf424f043006b5dd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:41 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:41 2006 -0500"
      },
      "message": "lockd: Fix Oopses due to list manipulation errors.\n\nThe patch \"stop abusing file_lock_list introduces a couple of bugs since\nthe locks may be copied and need to be removed from the lists when they are\ndestroyed.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "26bcbf965f857c710adafd16cf424f043006b5dd",
      "tree": "fa3c1e4ba07ab3d1e4e61b27c7579c57fd2d5c65",
      "parents": [
        "04266473ecf5cdca242201d9f1ed890afe070fb6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Mar 20 13:44:40 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:40 2006 -0500"
      },
      "message": "lockd: stop abusing file_lock_list\n\nCurrently lockd directly access the file_lock_list from fs/locks.c.\nIt does so to mark locks granted or reclaimable.  This is very\nsuboptimal, because a) lockd needs to poke into locks.c internals, and\nb) it needs to iterate over all locks in the system for marking locks\ngranted or reclaimable.\n\nThis patch adds lists for granted and reclaimable locks to the nlm_host\nstructure instead, and adds locks to those.\n\nnlmclnt_lock:\n\tnow adds the lock to h_granted instead of setting the\n\tNFS_LCK_GRANTED, still O(1)\n\nnlmclnt_mark_reclaim:\n\tgoes away completely, replaced by a list_splice_init.\n\tComplexity reduced from O(locks in the system) to O(1)\n\nreclaimer:\n\titerates over h_reclaim now, complexity reduced from\n\tO(locks in the system) to O(locks per nlm_host)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "04266473ecf5cdca242201d9f1ed890afe070fb6",
      "tree": "c5c13c61db25a999cda87e5c6b4aacba12b44049",
      "parents": [
        "686517f1ad1630c11964d668b556aab79b8c942e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:40 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:40 2006 -0500"
      },
      "message": "lockd: Make lockd use rpc_new_client() instead of rpc_create_client\n\nWhen doing NLM_GRANTED requests, lockd may end up blocking if we use\nrpc_create_client() due to the synchronous call to rpc_ping(). Instead, use\nrpc_new_client().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "686517f1ad1630c11964d668b556aab79b8c942e",
      "tree": "fc62470bef473ce51f6caddb3b187da756b8bffc",
      "parents": [
        "5e1abf8cb713a0b94f5a400c7b9b797990cd9dec"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:39 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:39 2006 -0500"
      },
      "message": "lockd: Make nlmsvc_create_block() use nlmsvc_lookup_host()\n\nCurrently it uses nlmclnt_lookup_host(), which puts the resulting host\nstructure on a different list.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5e1abf8cb713a0b94f5a400c7b9b797990cd9dec",
      "tree": "717a5eb95c4615855edc5f66268154cbe4118326",
      "parents": [
        "6849c0cab69f5d1a0fc7b05fa5bfb3dec53f86df"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:39 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:39 2006 -0500"
      },
      "message": "lockd: Clean up of the server-side GRANTED code\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6849c0cab69f5d1a0fc7b05fa5bfb3dec53f86df",
      "tree": "8bf595be663cc641b000846737c3ba1b6419eb6a",
      "parents": [
        "09c7938c5640a6f22bef074ca6b803dccfdb93e3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:39 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:39 2006 -0500"
      },
      "message": "lockd: Add refcounting to struct nlm_block\n\nOtherwise, the block may disappear from underneath us when in\nnlmsvc_retry_blocked.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "09c7938c5640a6f22bef074ca6b803dccfdb93e3",
      "tree": "71a6a0f66349ae46a0f816de8c8ddf952070af87",
      "parents": [
        "0996905f9301c2ff4c021982c42a15b35e74bf1c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:38 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:38 2006 -0500"
      },
      "message": "lockd: Fix server-side lock blocking code\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0996905f9301c2ff4c021982c42a15b35e74bf1c",
      "tree": "29bffccbd76c2fc0659f6d94a95f95b2d940f7a5",
      "parents": [
        "3feb2d49394b7874348a6e43c076b780c1d222c5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:38 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:38 2006 -0500"
      },
      "message": "lockd: posix_test_lock() should not call locks_copy_lock()\n\nThe caller of posix_test_lock() should never need to look at the lock\nprivate data, so do not copy that information. This also means that there\nis no need to call the fl_release_private methods.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3feb2d49394b7874348a6e43c076b780c1d222c5",
      "tree": "6d27d4170fd9435574bd804033793f9d0d69a355",
      "parents": [
        "5db3a7b2cabe8f0957683f798c4f8fa8605f9ebb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:37 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:37 2006 -0500"
      },
      "message": "NFS: Uninline nfs_writedata_(alloc|free) and nfs_readdata_(alloc|free)\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5db3a7b2cabe8f0957683f798c4f8fa8605f9ebb",
      "tree": "969aa2e7561796b3b8796a2f6645693f7ebe8d20",
      "parents": [
        "a8881f5a5c723f82da84b786d3ca83a0df9e0c33"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:37 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:37 2006 -0500"
      },
      "message": "NFS: Debugging code for nfs_direct_(read|write)_schedule()\n\nMake sure that we\u0027re doing our list accounting correctly.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a8881f5a5c723f82da84b786d3ca83a0df9e0c33",
      "tree": "50e01d4a0d3b803a5103e427e94a316d7ec92c81",
      "parents": [
        "fad61490419b3e494f300e9b2579810ef3bcda31"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:36 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:36 2006 -0500"
      },
      "message": "NFS: O_DIRECT async IO may lose context\n\nThe struct nfs_direct_req currently keeps a pointer to the file descriptor\nwithout referencing it. This may cause problems if the parent process is\nkilled.\n\nThe nfs_open_context should normally have all the information that we\u0027re\ncurrently using the filp for, and unlike fput(), is safe to release from\nan rpciod process context.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fad61490419b3e494f300e9b2579810ef3bcda31",
      "tree": "1bca68921a83d4dc0219aa8d46c3c8e8313965c2",
      "parents": [
        "e17b1fc4b35399935f00a635206e183d9292fe4f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:36 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:36 2006 -0500"
      },
      "message": "nfs: Use UNSTABLE + COMMIT for NFS O_DIRECT writes\n\nCurrently NFS O_DIRECT writes use FILE_SYNC so that a COMMIT is not\nnecessary.  This simplifies the internal logic, but this could be a\ndifficult workload for some servers.\n\nInstead, let\u0027s send UNSTABLE writes, and after they all complete, send a\nCOMMIT for the dirty range.  After the COMMIT returns successfully, then do\nthe wake_up or fire off aio_complete().\n\nTest plan:\nAsync direct I/O tests against Solaris (or any server that requires\ncommitted unstable writes).  Reboot server during test.\n\nBased on an earlier patch by Chuck Lever \u003ccel@netapp.com\u003e\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e17b1fc4b35399935f00a635206e183d9292fe4f",
      "tree": "950fd4a83d7b6ff89286fd89a9871b0da66a4435",
      "parents": [
        "a37ec012d7fd352648c8455d3396ea24001efcd3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:35 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:35 2006 -0500"
      },
      "message": "NFS: Make nfs_commit_alloc() extern\n\nWe need to use nfs_commit_alloc() in fs/nfs/direct.c.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a37ec012d7fd352648c8455d3396ea24001efcd3",
      "tree": "778182e20ada2cf1ce3a5507ab1eec96c16633b2",
      "parents": [
        "15ce4a0c1ce0d5e288398cb9e5493fd4e55e2025"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:35 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:35 2006 -0500"
      },
      "message": "NFS: fix data_update accounting in NFS direct I/O path\n\n^C against \"iozone -I\" is hitting the assertion in nfs_clear_inode().\n\nTest plan:\n\"iozone -i0 -I -a -c\" against a slow server, then control C.  This should\nnot cause an oops.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "15ce4a0c1ce0d5e288398cb9e5493fd4e55e2025",
      "tree": "b40b3096bbbed8b0aa2a29e9374240dd7eaa47a0",
      "parents": [
        "88467055f7654302c12df74e5fe4d12516656a39"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:34 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:34 2006 -0500"
      },
      "message": "NFS: Replace atomic_t variables in nfs_direct_req with a single spin lock\n\nThree atomic_t variables cause a lot of bus locking.  Because they are all\nused in the same places in the code, just use a single spin lock.\n\nNow that the atomic_t variables are gone, we can remove the request size\nlimitation since the code no longer depends on the limited width of atomic_t\non some platforms.\n\nTest plan:\nCompile with CONFIG_NFS and CONFIG_NFS_DIRECTIO enabled.  Millions of fsx\noperations, iozone, OraSim.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "88467055f7654302c12df74e5fe4d12516656a39",
      "tree": "cf1ccdc6a933bcd93665fcea4947e0f7f59d5241",
      "parents": [
        "9eafa8cc521b489f205bf7b0634c99e34e046606"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:34 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:34 2006 -0500"
      },
      "message": "NFS: clean up comments and tab damage in direct.c\n\nClean up tab damage and comments.  Replace \"file_offset\" with more commonly\nused \"pos\".\n\nTest plan:\nCompile with CONFIG_NFS and CONFIG_NFS_DIRECTIO enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9eafa8cc521b489f205bf7b0634c99e34e046606",
      "tree": "5afa96efb2dcd0a211402603977b2ce0428a9741",
      "parents": [
        "c89f2ee5f9223b864725f7344f24a037dfa76568"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:33 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:33 2006 -0500"
      },
      "message": "NFS: support EIOCBQUEUED return in direct write path\n\nFor async iocb\u0027s, the NFS direct write path now returns EIOCBQUEUED,\nand calls aio_complete when all the requested writes are finished.  The\nsynchronous part of the NFS direct write path behaves exactly as it\nwas before.\n\nShared mapped NFS files will have some coherency difficulties when\naccessed concurrently with aio+dio.  Will need to explore how this\nis handled in the local file system case.\n\nTest plan:\naio-stress with \"-O\". OraSim.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c89f2ee5f9223b864725f7344f24a037dfa76568",
      "tree": "b83235bfd96c4a81697609f61b2ce4e3de54e49b",
      "parents": [
        "47989d7454398827500d0e73766270986a3b488f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:33 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:33 2006 -0500"
      },
      "message": "NFS: make iocb available everywhere in direct write path\n\nPass the iocb argument all the way down to the direct write request\nscheduler, and make it available in nfs_direct_write_result.\n\nTest plan:\nCompile the kernel with CONFIG_NFS and CONFIG_NFS_DIRECTIO enabled.\nMillions of fsx-odirect ops.  OraSim.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "47989d7454398827500d0e73766270986a3b488f",
      "tree": "ca7c3ce3ec47d6f16fa1b42be7c468266ed3fce9",
      "parents": [
        "462d5b3296b56289efec426499a83faad4c08d9e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:32 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:32 2006 -0500"
      },
      "message": "NFS: remove support for multi-segment iovs in the direct write path\n\nEliminate the persistent use of automatic storage in all parts of the\nNFS client\u0027s direct write path to pave the way for introducing support\nfor aio against files opened with the O_DIRECT flag.\n\nTest plan:\nCompile the kernel with CONFIG_NFS and CONFIG_NFS_DIRECTIO enabled.\nMillions of fsx-odirect ops.  OraSim.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "462d5b3296b56289efec426499a83faad4c08d9e",
      "tree": "eb4f9a0418e1190958603360cf9bcea0cbb67727",
      "parents": [
        "63ab46abc70b01cb0711301f5ddb08c1c0bb9b1c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:32 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:32 2006 -0500"
      },
      "message": "NFS: make direct write path generate write requests concurrently\n\nDuplicate infrastructure from direct read path that will allow write\npath to generate multiple write requests concurrently.  This will\nenable us to add support for aio in this path.\n\nTemporarily we will lose the ability to do UNSTABLE writes followed by\na COMMIT in the direct write path.  However, all applications I am\naware of that use NFS O_DIRECT currently write in relatively small\nchunks, so this should not be inconvenient in any way.\n\nTest plan:\nMillions of fsx-odirect ops. OraSim.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "63ab46abc70b01cb0711301f5ddb08c1c0bb9b1c",
      "tree": "4d1d03a95f1468d240c3c7e0cd207fc14aa54023",
      "parents": [
        "93619e5989173614bef0013b0bb8a3fe3dbd5a95"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:31 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:31 2006 -0500"
      },
      "message": "NFS: create common routine for handling direct I/O completion\n\nFactor out the common piece of completing an NFS direct I/O request.\n\nTest plan:\nCompile kernel with CONFIG_NFS and CONFIG_NFS_DIRECTIO enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "93619e5989173614bef0013b0bb8a3fe3dbd5a95",
      "tree": "2172226a57bae4db4943d271e5250fd0606a74d1",
      "parents": [
        "bc0fb201b34b12e2d16e8cbd5bb078c1db936304"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:31 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:31 2006 -0500"
      },
      "message": "NFS: create common routine for allocating nfs_direct_req\n\nFactor out a small common piece of the path that allocate nfs_direct_req\nstructures.\n\nTest plan:\nCompile kernel with CONFIG_NFS and CONFIG_NFS_DIRECTIO enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bc0fb201b34b12e2d16e8cbd5bb078c1db936304",
      "tree": "58a9aa8bee2de7e42f81c522115cd10078a6a5ef",
      "parents": [
        "487b83723ed4d4eaafd5109f36560da4f15c6578"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:31 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:31 2006 -0500"
      },
      "message": "NFS: create common routine for waiting for direct I/O to complete\n\nWe\u0027re about to add asynchrony to the NFS direct write path.  Begin by\nabstracting out the common pieces in the read path.\n\nThe first piece is nfs_direct_read_wait, which works the same whether the\nprocess is waiting for a read or a write.\n\nTest plan:\nCompile kernel with CONFIG_NFS and CONFIG_NFS_DIRECTIO enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "487b83723ed4d4eaafd5109f36560da4f15c6578",
      "tree": "8c869604c0b934f5b207c89e90aea9977c5d8ade",
      "parents": [
        "99514f8fdda2beef1ca922b7f9d89c1a2c57fec0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:30 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:30 2006 -0500"
      },
      "message": "NFS: support EIOCBQUEUED return in direct read path\n\nFor async iocb\u0027s, the NFS direct read path should return EIOCBQUEUED and\ncall aio_complete when all the requested reads are finished.  The\nsynchronous part of the NFS direct read path behaves exactly as it was\nbefore.\n\nTest plan:\naio-stress with \"-O\".  OraSim.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "99514f8fdda2beef1ca922b7f9d89c1a2c57fec0",
      "tree": "74a96ad19ed705775d9cd87b79c28aafe0286dee",
      "parents": [
        "0cdd80d07fb0f558dfdb30f6e0b9905f5e5475f1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:30 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:30 2006 -0500"
      },
      "message": "NFS: make iocb available everywhere in direct read path\n\nPass the iocb argument all the way down to the direct read request\nscheduler, and make it available in nfs_direct_read_result.\n\nTest plan:\nCompile the kernel with CONFIG_NFS and CONFIG_NFS_DIRECTIO enabled.\nMillions of fsx-odirect ops.  OraSim.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0cdd80d07fb0f558dfdb30f6e0b9905f5e5475f1",
      "tree": "c25fe5e4bdb4196039bf5b098c1c9f58e98af2e2",
      "parents": [
        "5dd602f20688e08c85ac91e0451c4e6321ed25d7"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:29 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:29 2006 -0500"
      },
      "message": "NFS: remove support for multi-segment iovs in the direct read path\n\nEliminate the persistent use of automatic storage in all parts of the NFS\nclient\u0027s direct read path to pave the way for introducing support for aio\nagainst files opened with the O_DIRECT flag.\n\nTest plan:\nCompile the kernel with CONFIG_NFS and CONFIG_NFS_DIRECTIO enabled.\nMillions of fsx-odirect ops.  OraSim.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5dd602f20688e08c85ac91e0451c4e6321ed25d7",
      "tree": "e89a89d68ec0fcdc6fd18570c0df9daa15e23902",
      "parents": [
        "d4cc948ba97980c55a308eab167a695109796456"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:29 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:29 2006 -0500"
      },
      "message": "NFS: use size_t type for holding rsize bytes in NFS O_DIRECT read path\n\nsize_t is used for holding byte counts, so use it for variables storing rsize.\nNote that the write path will be updated as we add support for async\nO_DIRECT writes.\n\nTest plan:\nNeed to verify that existing comparisons against new size_t variables behave\ncorrectly.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d4cc948ba97980c55a308eab167a695109796456",
      "tree": "fbf3b293b8ac129019723fe53dca0329c7552c13",
      "parents": [
        "b8a32e2b8b7fefff994c89d398b6ac920a195b43"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:28 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:28 2006 -0500"
      },
      "message": "NFS: update comments and function definitions in fs/nfs/direct.c\n\nUpdate to latest coding style standards.  Remove block comments on\nstatically defined functions, and place function definitions all on\none line.\n\nTest plan:\nCompile kernel with CONFIG_NFS and CONFIG_NFS_DIRECTIO.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b8a32e2b8b7fefff994c89d398b6ac920a195b43",
      "tree": "20f0c2610eddb104a8cbf1d7981b34fc962a92ea",
      "parents": [
        "ec06c096edec0755534c7126f4caded69de131c2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:28 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:28 2006 -0500"
      },
      "message": "NFS: clean up NFS client\u0027s a_ops-\u003edirect_IO method\n\nThe NFS client\u0027s a_ops-\u003edirect_IO method, nfs_direct_IO, is required to\nbe present to allow NFS files to be opened with O_DIRECT, but is never\ncalled because the NFS client shunts reads and writes to files opened\nwith O_DIRECT directly to its own routines.\n\nGut the nfs_direct_IO function.  This eliminates the only part of the\nNFS client\u0027s direct I/O path that requires support for multi-segment\niovs, allowing further simplification in subsequent patches.\n\nTest plan:\nCompile the kernel with CONFIG_NFS and CONFIG_NFS_DIRECTIO enabled.  Millions\nof fsx-odirect ops.  OraSim.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ec06c096edec0755534c7126f4caded69de131c2",
      "tree": "1f5b219c09dea1d9886cefe3ea3f7cef560a5e9a",
      "parents": [
        "788e7a89a03e364855583c0ab4649b94925efbb9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:27 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:27 2006 -0500"
      },
      "message": "NFS: Cleanup of NFS read code\n\nSame callback hierarchy inversion as for the NFS write calls. This patch is\nnot strictly speaking needed by the O_DIRECT code, but avoids confusing\ndifferences between the asynchronous read and write code.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "788e7a89a03e364855583c0ab4649b94925efbb9",
      "tree": "4434c93af133a92f550ba0ecc8d3254cb222e72d",
      "parents": [
        "7117bf3dfb10b534a017260d9fc643bc1d0afd2a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:27 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:27 2006 -0500"
      },
      "message": "NFS: Cleanup of NFS write code in preparation for asynchronous o_direct\n\nThis patch inverts the callback hierarchy for NFS write calls.\n\nInstead of having the NFSv2/v3/v4-specific code set up the RPC callback\nops, we allow the original caller to do so. This allows for more\nflexibility w.r.t. how to set up and tear down the nfs_write_data\nstructure while still allowing the NFSv3/v4 code to perform error\nhandling.\n\nThe greater flexibility is needed by the asynchronous O_DIRECT code, which\nwants to be able to hold on to the original nfs_write_data structures after\nthe WRITE RPC call has completed in order to be able to replay them if the\nCOMMIT call determines that the server has rebooted.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7117bf3dfb10b534a017260d9fc643bc1d0afd2a",
      "tree": "a7060dc3d8a5f54c5beb41885620aaf99aac42f9",
      "parents": [
        "8dc7c3115b611c00006eac3ee5b108296432aab7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Mar 20 13:44:26 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:26 2006 -0500"
      },
      "message": "lockd: Remove FL_LOCKD flag\n\nCurrently lockd identifies its own locks using the FL_LOCKD flag.  This\ndoesn\u0027t scale well to multiple lock managers--if we did this in nfsv4 too,\nfor example, we\u0027d be left with only one free flag bit.\n\nInstead, we just check whether the file manager ops (fl_lmops) set on this\nlock are our own.\n\nThe only use for this is in nlm_traverse_locks, which uses it to find locks\nthat need cleaning up when freeing a host or a file.\n\nIn the long run it might be nice to do reference counting instead of\ntraversing all the locks like this....\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8dc7c3115b611c00006eac3ee5b108296432aab7",
      "tree": "be44c59907cbdcb6fdf46d0ad9cc140af757acfc",
      "parents": [
        "2e0af86f618c697b44e2d67dff151256c58201c4"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Mon Mar 20 13:44:26 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:26 2006 -0500"
      },
      "message": "locks,lockd: fix race in nlmsvc_testlock\n\nposix_test_lock() returns a pointer to a struct file_lock which is unprotected\nand can be removed while in use by the caller.  Move the conflicting lock from\nthe return to a parameter, and copy the conflicting lock.\n\nIn most cases the caller ends up putting the copy of the conflicting lock on\nthe stack.  On i386, sizeof(struct file_lock) appears to be about 100 bytes.\nWe\u0027re assuming that\u0027s reasonable.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2e0af86f618c697b44e2d67dff151256c58201c4",
      "tree": "967c708244ca190cc00d1c943704002467546151",
      "parents": [
        "a85f193e2fb7d53e48ae6a9d9ea990bfb4cea555"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Mon Mar 20 13:44:26 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:26 2006 -0500"
      },
      "message": "locks: remove unused posix_block_lock\n\nposix_lock_file() is used to add a blocked lock to Lockd\u0027s block, so\nposix_block_lock() is no longer needed.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a85f193e2fb7d53e48ae6a9d9ea990bfb4cea555",
      "tree": "f992c9b6b0ba6f1726a48af99a0251270d32e821",
      "parents": [
        "5de0e5024a4e21251fd80dbfdb83316ce97086bc"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Mon Mar 20 13:44:25 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:25 2006 -0500"
      },
      "message": "lockd: make nlmsvc_lock use only posix_lock_file\n\nReorganize nlmsvc_lock() to make full use of posix_lock_file(), which does\neveything nlmsvc_lock() needs - no need to call posix_test_lock(),\nposix_locks_deadlock(), or posix_block_lock() separately.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5de0e5024a4e21251fd80dbfdb83316ce97086bc",
      "tree": "fa34eeee2aa007fb49b34c45e55aafc8b67c6e37",
      "parents": [
        "15dadef9460ad8d3b1d5ede1c1697dc79af44a72"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Mon Mar 20 13:44:25 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:25 2006 -0500"
      },
      "message": "lockd: simplify nlmsvc_grant_blocked\n\nReorganize nlmsvc_grant_blocked() to make full use of posix_lock_file().  Note\nthat there\u0027s no need for separate calls to posix_test_lock(),\nposix_locks_deadlock(), or posix_block_lock().\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "15dadef9460ad8d3b1d5ede1c1697dc79af44a72",
      "tree": "e95ff41246a7fb25ad523e1868166d2f2d9ef2e9",
      "parents": [
        "1e7cb3dc12dbbac690d78c84f9c7cb11132ed121"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Mon Mar 20 13:44:24 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:24 2006 -0500"
      },
      "message": "lockd: clean up nlmsvc_lock\n\nSlightly more consistent dprintk error reporting, consolidate some up()\u0027s.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1e7cb3dc12dbbac690d78c84f9c7cb11132ed121",
      "tree": "a6bc36250a6fe5a754b464099a50baf98ce36e78",
      "parents": [
        "e95b85ec9d8c8ad4667f746aa4c9d22c281efc44"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:24 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:24 2006 -0500"
      },
      "message": "NFS: directory trace messages\n\nReuse NFSDBG_DIRCACHE and NFSDBG_LOOKUPCACHE to provide additional\ndiagnostic messages that trace the operation of the NFS client\u0027s\ndirectory behavior.  A few new messages are now generated when NFSDBG_VFS\nis active, as well, to trace normal VFS activity.  This compromise\nprovides better trace debugging for those who use pre-built kernels,\nwithout adding a lot of extra noise to the standard debug settings.\n\nTest-plan:\nEnable NFS trace debugging with flags 1, 2, or 4.  You should be able to\nsee different types of trace messages with each flag setting.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e95b85ec9d8c8ad4667f746aa4c9d22c281efc44",
      "tree": "64996f0b60aee3f95396922ff6939ec8dc35b4d3",
      "parents": [
        "dead28da8e3fb32601d38fb32b7021122e0a3d21"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:23 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:23 2006 -0500"
      },
      "message": "SUNRPC: minor cleanup\n\nRPC_DEBUG_DATA no longer needed in net/sunrpc/xprt.c.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dead28da8e3fb32601d38fb32b7021122e0a3d21",
      "tree": "a1a23e27e08345c86ed0d9812f848470b615eb34",
      "parents": [
        "cc0175c1dc1de8f6af0eb0631dcc5b999a6fcc42"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:23 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:23 2006 -0500"
      },
      "message": "SUNRPC: eliminate rpc_call()\n\nClean-up: replace rpc_call() helper with direct call to rpc_call_sync.\n\nThis makes NFSv2 and NFSv3 synchronous calls more computationally\nefficient, and reduces stack consumption in functions that used to\ninvoke rpc_call more than once.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.  Connectathon on NFS version 2,\nversion 3, and version 4 mount points.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cc0175c1dc1de8f6af0eb0631dcc5b999a6fcc42",
      "tree": "b219a9c16f0ef3ff0982450c32aa0f09d503782a",
      "parents": [
        "4ece3a2d18fd7fe1d4972284a8c98c569020093f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "message": "SUNRPC: display human-readable procedure name in rpc_iostats output\n\nAdd fields to the rpc_procinfo struct that allow the display of a\nhuman-readable name for each procedure in the rpc_iostats output.\n\nAlso fix it so that the NFSv4 stats are broken up correctly by\nsub-procedure number.  NFSv4 uses only two real RPC procedures:\nNULL, and COMPOUND.\n\nTest plan:\nMount with NFSv2, NFSv3, and NFSv4, and do \"cat /proc/self/mountstats\".\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4ece3a2d18fd7fe1d4972284a8c98c569020093f",
      "tree": "bc71e99d3e4fcc7fc34fea911981f2692377f5b5",
      "parents": [
        "11c556b3d8d481829ab5f9933a25d29b00913b5a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "message": "NFS: add RPC I/O statistics to /proc/self/mountstats\n\nNFS client now shows various RPC I/O metrics in /proc/self/mountstats.\n\nTest plan:\nMount/umount while doing \"cat /proc/self/mountstats\", multiple iterations\nof connectathon locking suite.  Test with NFS version 2, 3, and 4.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "11c556b3d8d481829ab5f9933a25d29b00913b5a",
      "tree": "d1127fa5d22aeb035ca9977abbc73a29d5436fbe",
      "parents": [
        "ef759a2e54ed434b2f72b52a14edecd6d4eadf74"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "message": "SUNRPC: provide a mechanism for collecting stats in the RPC client\n\nAdd a simple mechanism for collecting stats in the RPC client.  Stats are\ntabulated during xprt_release.  Note that per_cpu shenanigans are not\nrequired here because the RPC client already serializes on the transport\nwrite lock.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.  Basic performance regression\ntesting with high-speed networking and high performance server.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ef759a2e54ed434b2f72b52a14edecd6d4eadf74",
      "tree": "aa495ef4691387839146683dfae0f0084fbe6137",
      "parents": [
        "262ca07de4d7f1bff20361c1353bb14b3607afb2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:17 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:17 2006 -0500"
      },
      "message": "SUNRPC: introduce per-task RPC iostats\n\nAccount for various things that occur while an RPC task is executed.\nSeparate timers for RPC round trip and RPC execution time show how\nlong RPC requests wait in queue before being sent.  Eventually these\nwill be accumulated at xprt_release time in one place where they can\nbe viewed from userland.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "262ca07de4d7f1bff20361c1353bb14b3607afb2",
      "tree": "e448a66b4549bbd660f76e81da0067d762a4732e",
      "parents": [
        "e19b63dafdf7d615b0d36b90990a07e7792b9d3a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:16 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:16 2006 -0500"
      },
      "message": "SUNRPC: add a handful of per-xprt counters\n\nMonitor generic transport events.  Add a transport switch callout to\nformat transport counters for export to user-land.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e19b63dafdf7d615b0d36b90990a07e7792b9d3a",
      "tree": "45474992fd5d6a1f4c4c49068ec6383429618515",
      "parents": [
        "67ec9f46b889bfb1ab0a4e307d53929d5f0692bf"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:15 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:15 2006 -0500"
      },
      "message": "SUNRPC: track length of RPC wait queues\n\nRPC wait queue length will eventually be exported to userland via the RPC\niostats interface.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "67ec9f46b889bfb1ab0a4e307d53929d5f0692bf",
      "tree": "fe9cb38a7ead5bf4894b22bdc10af5d513695781",
      "parents": [
        "006ea73e5fa82915d0ac7a3f15ee7c688433236d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:15 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:15 2006 -0500"
      },
      "message": "NFS: report how long an NFS file system has been mounted\n\nAdd a field in nfs_server to record a timestamp when a mount succeeds.\nReport the number of seconds the file system has been mounted via\nnfs_show_stats().\n\nTest plan:\nMount an NFS file system, watch the mountstats reports and compare with\nclock time.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "006ea73e5fa82915d0ac7a3f15ee7c688433236d",
      "tree": "0f522982fe3d01a74f1ad9f5f713cbd10a6b09bd",
      "parents": [
        "91d5b47023b608227d605d1e916b29dd0215bff7"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:14 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:14 2006 -0500"
      },
      "message": "NFS: add hooks to account for NFSERR_JUKEBOX errors\n\nMake an inode or an nfs_server struct available in the logic that handles\nJUKEBOX/DELAY type errors so the NFS client can account for them.\n\nThis patch is split out from the main nfs iostat patch to highlight minor\narchitectural changes required to support this statistic.\n\nTest plan:\nNone.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "91d5b47023b608227d605d1e916b29dd0215bff7",
      "tree": "31dbb285639ea68db3abc0c4129988f02d50f11a",
      "parents": [
        "d9ef5a8c26aab09762afce43df64736720b4860e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:14 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:14 2006 -0500"
      },
      "message": "NFS: add I/O performance counters\n\nInvoke the byte and event counter macros where we want to count bytes and\nevents.\n\nClean-up: fix a possible NULL dereference in nfs_lock, and simplify\nnfs_file_open.\n\nTest-plan:\nfsx and iozone on UP and SMP systems, with and without pre-emption.  Watch\nfor memory overwrite bugs, and performance loss (significantly more CPU\nrequired per op).\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d9ef5a8c26aab09762afce43df64736720b4860e",
      "tree": "01ec0e16b19d7e418f26f1218113bb0f90b1a2e1",
      "parents": [
        "c8bded96aa8735823e53c95a26177987ebb19a90"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:13 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:13 2006 -0500"
      },
      "message": "NFS: introduce mechanism for tracking NFS client metrics\n\nAdd a per-superblock performance counter facility to the NFS client.  This\nfacility mimics the counters available for block devices and for\nnetworking.  Expose these new counters via the new /proc/self/mountstats\ninterface.\n\nThanks to Andrew Morton and Trond Myklebust for their review and comments.\n\nTest plan:\nfsx and iozone on UP and SMP systems, with and without pre-emption.  Watch\nfor memory overwrite bugs, and performance loss (significantly more CPU\nrequired per op).\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c8bded96aa8735823e53c95a26177987ebb19a90",
      "tree": "95c6c3f5ab5c331d12f986323175615862aff8cb",
      "parents": [
        "7a480e250c7ca9187275d8574ae9e48a6b602cb9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:13 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:13 2006 -0500"
      },
      "message": "NFS: clean up some mount options\n\nGet rid of \"lock\" and \"posix\", and spell out \"vers\u003d\".\n\nTest plan:\nNone.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7a480e250c7ca9187275d8574ae9e48a6b602cb9",
      "tree": "0c3744235b3469c10b791fc5cd80b82f9734d37b",
      "parents": [
        "b4629fe2f094b719847f31be1ee5ab38300038b2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:12 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:12 2006 -0500"
      },
      "message": "NFS: show retransmit settings when displaying mount options\n\nSometimes it\u0027s important to know the exact RPC retransmit settings the\nkernel is using for an NFS mount point.  Add this facility to the NFS\nclient\u0027s show_options method.\n\nTest plan:\nSet various retransmit settings via the mount command, and check that the\nsettings are reflected in /proc/mounts.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b4629fe2f094b719847f31be1ee5ab38300038b2",
      "tree": "158b3aabf291ef9462e3e02493fb4c45265f9e8e",
      "parents": [
        "1356b8c28d67cafd74f7e7dcfb39bf53681790a5"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:12 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:12 2006 -0500"
      },
      "message": "VFS: New /proc file /proc/self/mountstats\n\nCreate a new file under /proc/self, called mountstats, where mounted file\nsystems can export information (configuration options, performance counters,\nand so on).  Use a mechanism similar to /proc/mounts and s_ops-\u003eshow_options.\n\nThis mechanism does not violate namespace security, and is safe to use while\nother processes are unmounting file systems.\n\nThanks to Mike Waychison for his review and comments.\n\nTest-plan:\nTest concurrent mount/unmount operations while cat\u0027ing /proc/self/mountstats.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1356b8c28d67cafd74f7e7dcfb39bf53681790a5",
      "tree": "d9139a8a6c672317363a4a15a3f7ef59bc494b7b",
      "parents": [
        "24bd68f46b1ad08d69bf32779f860df867780a7a"
      ],
      "author": {
        "name": "Levent Serinol",
        "email": "lserinol@gmail.com",
        "time": "Mon Mar 20 13:44:11 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:11 2006 -0500"
      },
      "message": "SUNRPC: more verbose output for rpc auth weak error\n\nThis patch adds server ip address to be printed out when \"server\nrequires stronger authentication\" error occured.\n\nSigned-off-by: Levent Serinol \u003clserinol@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24bd68f46b1ad08d69bf32779f860df867780a7a",
      "tree": "276d338a4de69ffc8d93ec22b0154a389081455e",
      "parents": [
        "c9d5128a10a4974f72674ff3463da4db439e8b04"
      ],
      "author": {
        "name": "Goldwyn Rodrigues",
        "email": "rgoldwyn@gmail.com",
        "time": "Mon Mar 20 13:44:11 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:11 2006 -0500"
      },
      "message": "NFS: Code comments update in NFS\n\nread_cache_mtime is no longer used in nfs_inode. This patch removes\nreferences of read_cache_mtime in the code comments.\n\nSigned-off-by: Goldwyn Rodrigues \u003crgoldwyn@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c9d5128a10a4974f72674ff3463da4db439e8b04",
      "tree": "304b277f5388e8285f56535db654051d0f4a2fc0",
      "parents": [
        "bd6475454c774bd9dbe6078d94bbf72b1d3b65f4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 20 13:44:11 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:11 2006 -0500"
      },
      "message": "NFS: sem2mutex idmap.c\n\nsemaphore to mutex conversion.\n\nthe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nbuild and boot tested.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bd6475454c774bd9dbe6078d94bbf72b1d3b65f4",
      "tree": "641c38589e2aa02a22db229be7d77c9c342a81cb",
      "parents": [
        "a162a6b804b48c605d1fd35e1861a5d32d00ad3f"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Mon Mar 20 13:44:10 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:10 2006 -0500"
      },
      "message": "NFS: kzalloc conversion in fs/nfs\n\nthis converts fs/nfs to kzalloc() usage.\ncompile tested with make allyesconfig\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a162a6b804b48c605d1fd35e1861a5d32d00ad3f",
      "tree": "50b6aa7f5da5e4c34da2f9d34b93c667c5d6c054",
      "parents": [
        "967b9281361481aecf323563886ef972ee88c681"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:10 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:10 2006 -0500"
      },
      "message": "NFSv4: Kill braindead gcc warnings\n\nnfs4_open_revalidate: \u0027res\u0027 may be used uninitialized\nnfs4_callback_compound: ‘hdr_res.nops’ may be used uninitialized\n\t\t\t\u0027op_nr’ may be used uninitialized\nencode_getattr_res: ‘savep’ may be used uninitialized\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "967b9281361481aecf323563886ef972ee88c681",
      "tree": "de7ced8972fdff5011d43a6fe24c2c7ac7cc0cb6",
      "parents": [
        "12de3b35ea549c5819f287508d7afab0bf3ac44d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:09 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:09 2006 -0500"
      },
      "message": "NFSv4: Do not call rpciod_down() before call to destroy_nfsv4_state()\n\nThe reason is that the idmapper cleanup may call flush_workqueue() on\nrpciod_workqueue.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "12de3b35ea549c5819f287508d7afab0bf3ac44d",
      "tree": "c1b7f96236c4b19bcd911705017bf31bcbc2b605",
      "parents": [
        "24c5d9d7ea5a64fb5f157d17aa2c67a3300f8a08"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:09 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:09 2006 -0500"
      },
      "message": "SUNRPC: Ensure that rpc_mkpipe returns a refcounted dentry\n\nIf not, we cannot guarantee that idmap-\u003eidmap_dentry, gss_auth-\u003edentry and\nclnt-\u003ecl_dentry are valid dentries.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24c5d9d7ea5a64fb5f157d17aa2c67a3300f8a08",
      "tree": "8bb08d685a2f4a64a235561498f9113182b411dc",
      "parents": [
        "f344f6df4b2baa3e5c553c461735dfaf92f44be7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:08 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:08 2006 -0500"
      },
      "message": "SUNRPC: Run rpci-\u003equeue_timeout on the rpciod workqueue instead of generic\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f344f6df4b2baa3e5c553c461735dfaf92f44be7",
      "tree": "bf8acb09763c5f5f87d8c23047b8ecbb826dd385",
      "parents": [
        "fb374d24f225f38f13dbffb65dd7ec72daf08dba"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Mon Mar 20 13:44:08 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:08 2006 -0500"
      },
      "message": "SUNRPC: Auto-load RPC authentication kernel modules\n\nThis patch adds a request_module call to rpcauth_create which will try\nto auto-load the kernel module for the requested authentication flavor.\nFor kernels with modular sunrpc, this reduces the admin overhead for\nthe user.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fb374d24f225f38f13dbffb65dd7ec72daf08dba",
      "tree": "bc87f6acbcb7a36ccb69930a6d10deed4fd1514a",
      "parents": [
        "c8d149f3dbd582a101aa7da7bdd6c3316efd11b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:08 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:08 2006 -0500"
      },
      "message": "NFS: reduce the number of false cache invalidations.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c8d149f3dbd582a101aa7da7bdd6c3316efd11b4",
      "tree": "51f1d97f02ffb7e02d6f7534ab9c9fce5fa6dc20",
      "parents": [
        "ca62b9c3f7b8679ada4de94d2ab7098c6860c3d7"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Mon Mar 20 13:44:07 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:07 2006 -0500"
      },
      "message": "NFS: \"const static\" vs \"static const\" in nfs4\n\nMy previous \"const static\" vs \"static const\" cleanup missed a single case,\npatch below takes care of it.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ca62b9c3f7b8679ada4de94d2ab7098c6860c3d7",
      "tree": "c4eb7adef74b2ccdf5b928f698d80f6cdcb6f708",
      "parents": [
        "755c1e20cd2ad56e5c567fa05769eb98a3eef72b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:07 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:07 2006 -0500"
      },
      "message": "NFSv4: Don\u0027t invalidate cached attributes if change attribute is unchanged\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "755c1e20cd2ad56e5c567fa05769eb98a3eef72b",
      "tree": "afc643f89b342011af6a14ee24b999f9106f6c2b",
      "parents": [
        "7bab377fcb495ee2e5a1cd69d235f8d84c76e3af"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:06 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:06 2006 -0500"
      },
      "message": "NFS: writes should not clobber utimes() calls\n\nEnsure that we flush out writes in the case when someone calls utimes() in\norder to set the file times.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7bab377fcb495ee2e5a1cd69d235f8d84c76e3af",
      "tree": "67f03fbc543632ccf71075af250635201b43801b",
      "parents": [
        "36943fa4b2701b9ef2d60084c85ecbe634aec252"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:06 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:06 2006 -0500"
      },
      "message": "lockd: Don\u0027t expose the process pid to the NLM server\n\nInstead we use the nlm_lockowner-\u003epid.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "36943fa4b2701b9ef2d60084c85ecbe634aec252",
      "tree": "a234dbfff1f7d46a8202e0666ac7666d39b420ae",
      "parents": [
        "47831f35b83e43c804215712dd0c834c92e8a441"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:05 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:05 2006 -0500"
      },
      "message": "NLM: nlm_alloc_call should not immediately fail on signal\n\nCurrently, nlm_alloc_call tests for a signal before it even tries to\nallocate memory.\nFix it so that it tries at least once.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "47831f35b83e43c804215712dd0c834c92e8a441",
      "tree": "3345007cf56b73495386a59deb6e3d7caf01f875",
      "parents": [
        "1dd594b21b2d98e56f2b1fe92bb222276b28de41"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:05 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:05 2006 -0500"
      },
      "message": "VFS: Fix __posix_lock_file() copy of private lock area\n\nThe struct file_lock-\u003efl_u area must be copied using the fl_copy_lock()\noperation.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1dd594b21b2d98e56f2b1fe92bb222276b28de41",
      "tree": "c11a062713429112f162dc986a1b4002b0da1c83",
      "parents": [
        "cd52ed35535ef443f08bf5cd3331d350272885b8"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 20 13:44:04 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:04 2006 -0500"
      },
      "message": "NFS: Fix buglet in fs/nfs/write.c\n\nI\u0027ve been reading through fs/nfs/write.c trying to track down a bug\nthat seems to be related to pages loosing a refcount and getting\nfreed too early (you interested in detail??) and I spotted a little\nbug which the following patch should fix.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cd52ed35535ef443f08bf5cd3331d350272885b8",
      "tree": "135c3a80b21ce478816229dc82586b12754eb49f",
      "parents": [
        "b92dccf65bab3b6b7deb79ff3321dc256eb0f53b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:04 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:04 2006 -0500"
      },
      "message": "NFS: Avoid races between writebacks and truncation\n\nCurrently, there is no serialisation between NFS asynchronous writebacks\nand truncation at the page level due to the fact that nfs_sync_inode()\ncannot lock the pages that it is about to write out.\n\nThis means that it is possible to be flushing out data (and calling something\nlike set_page_writeback()) while the page cache is busy evicting the page.\nOops...\n\nUse the hooks provided in try_to_release_page() to ensure that dirty pages\nare always written back to storage before we evict them.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b92dccf65bab3b6b7deb79ff3321dc256eb0f53b",
      "tree": "78a1436441bdfc1c2cc7928d9fdff50c0579013f",
      "parents": [
        "7705a8792b0fc82fd7d4dd923724606bbfd9fb20"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:03 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:03 2006 -0500"
      },
      "message": "NFS: Fix a busy inodes issue...\n\nThe nfs_open_context may live longer than the file descriptor that spawned\nit, so it needs to carry a reference to the vfsmount. If not, then\ngeneric_shutdown_super() may end up being called before reads and writes\nhave been flushed out.\n\nMake a couple of functions static while we\u0027re at it...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7705a8792b0fc82fd7d4dd923724606bbfd9fb20",
      "tree": "df3ca7b17c7d8b14f78885308cc22482565561fe",
      "parents": [
        "2be1aaf988e8b6775eece8374f4fd195b21cc4c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 19 21:53:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 19 21:53:29 2006 -0800"
      },
      "message": "Linux 2.6.16\n"
    },
    {
      "commit": "2be1aaf988e8b6775eece8374f4fd195b21cc4c4",
      "tree": "c441ef599ee574405e0d37bc1403d30aa7d7da18",
      "parents": [
        "4657190936883adb819f81957e33439d447c0035"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@suse.de",
        "time": "Sun Mar 19 19:04:17 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 19 21:14:36 2006 -0800"
      },
      "message": "[PATCH] Remove obsolete CREDITS address\n\nThis address is going to be obsolete, so I should update it.\n"
    },
    {
      "commit": "4657190936883adb819f81957e33439d447c0035",
      "tree": "70342debfb779a8b10d2a8440c1ae99593806079",
      "parents": [
        "4a29cc2e503b33a1e96db4c3f9a94165f153f259",
        "9007c9a2b03ea325ee593a161dbf01dbb8222d7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 19 21:12:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 19 21:12:00 2006 -0800"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus:\n  [MIPS] SB1: Check for -mno-sched-prolog if building corelis debug kernel.\n  [MIPS] Sibyte: Fix race in sb1250_gettimeoffset().\n  [MIPS] Sibyte: Fix interrupt timer off by one bug.\n  [MIPS] Sibyte: Fix M_SCD_TIMER_INIT and M_SCD_TIMER_CNT wrong field width.\n  [MIPS] Protect more of timer_interrupt() by xtime_lock.\n  [MIPS] Work around bad code generation for \u003casm/io.h\u003e.\n  [MIPS] Simple patch to power off DBAU1200\n  [MIPS] Fix DBAu1550 software power off.\n  [MIPS] local_r4k_flush_cache_page fix\n  [MIPS] SB1: Fix interrupt disable hazard.\n  [MIPS] Get rid of the IP22-specific code in arclib.\n  Update MAINTAINERS entry for MIPS.\n"
    },
    {
      "commit": "4a29cc2e503b33a1e96db4c3f9a94165f153f259",
      "tree": "74645b5ef3a92ad9857ed63d6446e2be0535060c",
      "parents": [
        "c7c694d196a39af6e644e24279953d04f30362db"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "mchan@broadcom.com",
        "time": "Sun Mar 19 13:21:12 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 19 13:21:12 2006 -0800"
      },
      "message": "[TG3]: 40-bit DMA workaround part 2\n\nThe 40-bit DMA workaround recently implemented for 5714, 5715, and\n5780 needs to be expanded because there may be other tg3 devices\nbehind the EPB Express to PCIX bridge in the 5780 class device.\n\nFor example, some 4-port card or mother board designs have 5704 behind\nthe 5714.\n\nAll devices behind the EPB require the 40-bit DMA workaround.\n\nThanks to Chris Elmquist again for reporting the problem and testing\nthe patch.\n\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c7c694d196a39af6e644e24279953d04f30362db",
      "tree": "cb78fead47ce86245179fe0a52119c70b30b59cb",
      "parents": [
        "60a6dc55b93b3321afa52f650a149fb7e87fa85a"
      ],
      "author": {
        "name": "Ralf Baechle DL5RB",
        "email": "ralf@linux-mips.org",
        "time": "Sun Mar 19 13:20:06 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 19 13:20:06 2006 -0800"
      },
      "message": "[AX.25]: Fix potencial memory hole.\n\nIf the AX.25 dialect chosen by the sysadmin is set to DAMA master / 3\n(or DAMA slave / 2, if CONFIG_AX25_DAMA_SLAVE\u003dn) ax25_kick() will fall\nthrough the switch statement without calling ax25_send_iframe() or any\nother function that would eventually free skbn thus leaking the packet.\n\nFix by restricting the sysctl inferface to allow only actually supported\nAX.25 dialects.\n\nThe system administration mistake needed for this to happen is rather\nunlikely, so this is an uncritical hole.\n\nCoverity #651.\n\nSigned-off-by: Ralf Baechle DL5RB \u003cralf@linux-mips.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60a6dc55b93b3321afa52f650a149fb7e87fa85a",
      "tree": "efecc6f31f68df2d7db8b7baaf2ca3f2b49cd773",
      "parents": [
        "7215fdb214ad8d76c9d667be07f870f0f0544959"
      ],
      "author": {
        "name": "Michael Krufky",
        "email": "mkrufky@linuxtv.org",
        "time": "Wed Mar 15 02:36:13 2006 -0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 18 12:12:18 2006 -0800"
      },
      "message": "[PATCH] Kconfig: swap VIDEO_CX88_ALSA and VIDEO_CX88_DVB\n\nVIDEO_CX88_ALSA should not be between VIDEO_CX88_DVB and\nVIDEO_CX88_DVB_ALL_FRONTENDS\n\nWhen cx88-alsa was added to cx88/Kconfig, it was added in between\nVIDEO_CX88_DVB and VIDEO_CX88_DVB_ALL_FRONTENDS.  This caused\nundesireable effects to the appearance of the menu options in\nmenuconfig.\n\nThis fix reorders cx88-alsa and cx88-dvb in Kconfig, to match saa7134,\nand restore the correct menuconfig appearance.\n\nSigned-off-by: Michael Krufky \u003cmkrufky@linuxtv.org\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7215fdb214ad8d76c9d667be07f870f0f0544959",
      "tree": "9b6efd33cdceacaf3e488dd78f2d4204c4001afa",
      "parents": [
        "2d61b86775a5676a8fba2ba2f0f869564e35c630"
      ],
      "author": {
        "name": "Markus Rechberger",
        "email": "mrechberger@gmail.com",
        "time": "Tue Feb 07 08:49:13 2006 -0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 18 10:52:45 2006 -0800"
      },
      "message": "[PATCH] Fixed em28xx based system lockup\n\nFixed em28xx based system lockup, device needs to be initialized before\nstarting the isoc transfer otherwise the system will completly lock up.\n\nSigned-off-by: Markus Rechberger \u003cmrechberger@gmail.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2d61b86775a5676a8fba2ba2f0f869564e35c630",
      "tree": "afdb967ec1bb3ddd212acdd8f25675c371f7e6e7",
      "parents": [
        "265a92856b17524c87da0258ac0d3cec80ae1d35"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sat Mar 18 20:41:10 2006 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 18 10:49:36 2006 -0800"
      },
      "message": "[PATCH] disable unshare(CLONE_VM) for now\n\nsys_unshare() does mmput(new_mm).  This is not enough if we have\nmm-\u003ecore_waiters.\n\nThis patch is a temporary fix for soon to be released 2.6.16.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\n[ Checked with Uli: \"I\u0027m not planning to use unshare(CLONE_VM).  It\u0027s\n  not needed for any functionality planned so far.  What we (as in Red\n  Hat) need unshare() for now is the filesystem side.\" ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9007c9a2b03ea325ee593a161dbf01dbb8222d7e",
      "tree": "e1114ae8970129b6793cbdf2d28f7dd424383433",
      "parents": [
        "a904f7478561464f9fe74929b81fec237b6ff4c3"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Mar 18 16:59:31 2006 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Mar 18 16:59:31 2006 +0000"
      },
      "message": "[MIPS] SB1: Check for -mno-sched-prolog if building corelis debug kernel.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "a904f7478561464f9fe74929b81fec237b6ff4c3",
      "tree": "6018ab25ea391aad0f4f33f0613e2b9fdbe36637",
      "parents": [
        "4308cb16286c96d980570cc5319173b524220c06"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Mar 15 00:03:29 2006 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Mar 18 16:59:30 2006 +0000"
      },
      "message": "[MIPS] Sibyte: Fix race in sb1250_gettimeoffset().\n    \nFrom Dave Johnson \u003cdjohnson+linuxmips@sw.starentnetworks.com\u003e:\n    \nsb1250_gettimeoffset() simply reads the current cpu 0 timer remaining\nvalue, however once this counter reaches 0 and the interrupt is raised,\nit immediately resets and begins to count down again.\n    \nIf sb1250_gettimeoffset() is called on cpu 1 via do_gettimeofday() after\nthe timer has reset but prior to cpu 0 processing the interrupt and\ntaking write_seqlock() in timer_interrupt() it will return a full value\n(or close to it) causing time to jump backwards 1ms. Once cpu 0 handles\nthe interrupt and timer_interrupt() gets far enough along it will jump\nforward 1ms.\n    \nFix this problem by implementing mips_hpt_*() on sb1250 using a spare\ntimer unrelated to the existing periodic interrupt timers. It runs at\n1Mhz with a full 23bit counter.  This eliminated the custom\ndo_gettimeoffset() for sb1250 and allowed use of the generic\nfixed_rate_gettimeoffset() using mips_hpt_*() and timerhi/timerlo.\n    \nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "4308cb16286c96d980570cc5319173b524220c06",
      "tree": "89ffe22e6fd71d320b51ce8817a11cdaba3ae503",
      "parents": [
        "a77f124294822203660b0926392b963cfa72fcf4"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Mar 14 23:52:47 2006 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Mar 18 16:59:30 2006 +0000"
      },
      "message": "[MIPS] Sibyte: Fix interrupt timer off by one bug.\n    \nFrom Dave Johnson \u003cdjohnson+linuxmips@sw.starentnetworks.com\u003e:\n    \nThe timers need to be loaded with 1 less than the desired interval not\nthe interval itself.\n    \nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "a77f124294822203660b0926392b963cfa72fcf4",
      "tree": "f35e524abbfe9f6d75b99ffbc35a7592b9f4964d",
      "parents": [
        "d6bd0e6b32ea72be91e5789b1e838c244f8a05d9"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Mar 14 23:47:35 2006 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Mar 18 16:59:29 2006 +0000"
      },
      "message": "[MIPS] Sibyte: Fix M_SCD_TIMER_INIT and M_SCD_TIMER_CNT wrong field width.\n    \nFrom Dave Johnson \u003cdjohnson+linuxmips@sw.starentnetworks.com\u003e:\n    \nField width should be 23 bits not 20 bits.\n    \nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "d6bd0e6b32ea72be91e5789b1e838c244f8a05d9",
      "tree": "2eb5551533165cb7772ffdef3d8cbdbac1050cb6",
      "parents": [
        "966f4406d903a4214fdc74bec54710c6232a95b8"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Mar 14 23:46:58 2006 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Mar 18 16:59:29 2006 +0000"
      },
      "message": "[MIPS] Protect more of timer_interrupt() by xtime_lock.\n    \nFrom Dave Johnson \u003cdjohnson+linuxmips@sw.starentnetworks.com\u003e:\n\n* do_timer() expects the arch-specific handler to take the lock as it\n  modifies jiffies[_64] and xtime.\n* writing timerhi/lo in timer_interrupt() will mess up\n  fixed_rate_gettimeoffset() which reads timerhi/lo.\n    \nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "966f4406d903a4214fdc74bec54710c6232a95b8",
      "tree": "20d7f57eae99fe83b8fbdae112a6a0facc5b552d",
      "parents": [
        "66a9a4ffda3474b193f36ed579cee06c597952f3"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Mar 15 11:36:31 2006 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Mar 18 16:59:28 2006 +0000"
      },
      "message": "[MIPS] Work around bad code generation for \u003casm/io.h\u003e.\n    \nIf a call to set_io_port_base() was being followed by usage of\nmips_io_port_base in the same function gcc was possibly using the old\nvalue due to some clever abuse of const.  Adding a barrier will keep\nthe optimization and result in correct code with latest gcc.\n    \nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "66a9a4ffda3474b193f36ed579cee06c597952f3",
      "tree": "5a3a21cd5e1e7003462693de38cc2715765fa102",
      "parents": [
        "86dde15b3dc36dda4bbc32a8da607675ce63ef23"
      ],
      "author": {
        "name": "Matej Kupljen",
        "email": "matej.kupljen@ultra.si",
        "time": "Wed Nov 30 10:20:01 2005 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Mar 18 16:59:28 2006 +0000"
      },
      "message": "[MIPS] Simple patch to power off DBAU1200\n    \nSigned-off-by: Matej Kupljen \u003cmatej.kupljen@ultra.si\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "86dde15b3dc36dda4bbc32a8da607675ce63ef23",
      "tree": "07af8e4e1a28efdd8bb0476dbcab02e8a40697bc",
      "parents": [
        "de62893bc0725f8b5f0445250577cd7a10b2d8f8"
      ],
      "author": {
        "name": "Sergei Shtylylov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Tue Mar 14 07:20:00 2006 +0300"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Mar 18 16:59:27 2006 +0000"
      },
      "message": "[MIPS] Fix DBAu1550 software power off.\n    \nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "de62893bc0725f8b5f0445250577cd7a10b2d8f8",
      "tree": "3a5d77b8e8aa66113431ebe287c552749c2e8fee",
      "parents": [
        "a3c4946db4fe64cb21b66a09e89890678aac6d65"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Mon Mar 13 18:23:03 2006 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Mar 18 16:59:27 2006 +0000"
      },
      "message": "[MIPS] local_r4k_flush_cache_page fix\n    \nIf dcache_size !\u003d icache_size or dcache_size !\u003d scache_size, or\nset-associative cache, icache/scache does not flushed properly.  Make\nblast_?cache_page_indexed() masks its index value correctly.  Also,\nuse physical address for physically indexed pcache/scache.\n    \nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "a3c4946db4fe64cb21b66a09e89890678aac6d65",
      "tree": "3b63d5e765af3eedbc1cda84135f1b702a43a6f2",
      "parents": [
        "3a2f735700332621274aca752be3b6f839fa47e7"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 13 16:16:29 2006 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Mar 18 16:59:26 2006 +0000"
      },
      "message": "[MIPS] SB1: Fix interrupt disable hazard.\n    \nThe SB1 core has a three cycle interrupt disable hazard but we were\nwrongly treating it as fully interlocked.\n    \nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "3a2f735700332621274aca752be3b6f839fa47e7",
      "tree": "262a0bd63762b1874e6bace2cacfeb8dea129b5c",
      "parents": [
        "7425b3403131d652c24f5047574e6c21034813ed"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Mar 10 19:47:17 2006 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Mar 18 16:59:26 2006 +0000"
      },
      "message": "[MIPS] Get rid of the IP22-specific code in arclib.\n    \nThis breaks the kernel build if sgiwd93 was configured as a module.\n    \nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    }
  ],
  "next": "7425b3403131d652c24f5047574e6c21034813ed"
}
