)]}'
{
  "log": [
    {
      "commit": "08cc36cbd1ee7d86422713bb21551eed1326b894",
      "tree": "52cc683387f903b34a7f6f798dcdbae385b58db8",
      "parents": [
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179",
        "46f72f57d279688c4524df78edb5738db730eeef"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 30 16:51:43 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 30 16:51:43 2008 -0500"
      },
      "message": "Merge branch \u0027devel\u0027 into next\n"
    },
    {
      "commit": "64672d55d93c26fb4035fd1a84a803cbc09cb058",
      "tree": "6873f9335b925e4c6a5336544a6f6fc1d789604f",
      "parents": [
        "dc0b027dfadfcb8a5504f7d8052754bf8d501ab9"
      ],
      "author": {
        "name": "Peter Staubach",
        "email": "staubach@redhat.com",
        "time": "Tue Dec 23 15:21:56 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:56 2008 -0500"
      },
      "message": "optimize attribute timeouts for \"noac\" and \"actimeo\u003d0\"\n\nHi.\n\nI\u0027ve been looking at a bugzilla which describes a problem where\na customer was advised to use either the \"noac\" or \"actimeo\u003d0\"\nmount options to solve a consistency problem that they were\nseeing in the file attributes.  It turned out that this solution\ndid not work reliably for them because sometimes, the local\nattribute cache was believed to be valid and not timed out.\n(With an attribute cache timeout of 0, the cache should always\nappear to be timed out.)\n\nIn looking at this situation, it appears to me that the problem\nis that the attribute cache timeout code has an off-by-one\nerror in it.  It is assuming that the cache is valid in the\nregion, [read_cache_jiffies, read_cache_jiffies + attrtimeo].  The\ncache should be considered valid only in the region,\n[read_cache_jiffies, read_cache_jiffies + attrtimeo).  With this\nchange, the options, \"noac\" and \"actimeo\u003d0\", work as originally\nexpected.\n\nThis problem was previously addressed by special casing the\nattrtimeo \u003d\u003d 0 case.  However, since the problem is only an off-\nby-one error, the cleaner solution is address the off-by-one\nerror and thus, not require the special case.\n\n    Thanx...\n\n        ps\n\nSigned-off-by: Peter Staubach \u003cstaubach@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "88a9fe8cae3bb52e82489447f45e8d7ba1409ca8",
      "tree": "acef9d0b7d4c8c2e98faf852ab8bc0173842fbe5",
      "parents": [
        "136221fc3219b3805c48db5da065e8e3467175d4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:31 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:31 2008 -0500"
      },
      "message": "SUNRPC: Remove the last remnant of the BKL...\n\nSomehow, this escaped the previous purge. There should be no need to keep\nany extra locks in the XDR callbacks.\n\nThe NFS client XDR code only writes into private objects, whereas all reads\nof shared objects are confined to fields that do not change, such as\nfilehandles...\n\nDitto for lockd, the NFSv2/v3 client mount code, and rpcbind.\n\nThe nfsd XDR code may require the BKL, but since it does a synchronous RPC\ncall from a thread that already holds the lock, that issue is moot.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "86a264abe542cfececb4df129bc45a0338d8cdb9",
      "tree": "30152f04ba847f311028d5ca697f864c16c7ebb3",
      "parents": [
        "f1752eec6145c97163dbce62d17cf5d928e28a27"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:18 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:18 2008 +1100"
      },
      "message": "CRED: Wrap current-\u003ecred and a few other accessors\n\nWrap current-\u003ecred and a few other accessors to hide their actual\nimplementation.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b6dff3ec5e116e3af6f537d4caedcad6b9e5082a",
      "tree": "9e76f972eb7ce9b84e0146c8e4126a3f86acb428",
      "parents": [
        "15a2460ed0af7538ca8e6c610fe607a2cd9da142"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:16 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:16 2008 +1100"
      },
      "message": "CRED: Separate task security context from task_struct\n\nSeparate the task security context from task_struct.  At this point, the\nsecurity data is temporarily embedded in the task_struct with two pointers\npointing to it.\n\nNote that the Alpha arch is altered as it refers to (E)UID and (E)GID in\nentry.S via asm-offsets.\n\nWith comment fixes Signed-off-by: Marc Dionne \u003cmarc.c.dionne@gmail.com\u003e\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "8f4194026bb1e3d95fedb340a2935895845ea1d5",
      "tree": "de645daf64b3fc617f88b70a830eab45d7a69cd7",
      "parents": [
        "c2a2b8d3b299feb7ac62c2825941dec57141f6f4"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:09 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:09 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the SunRPC protocol\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: J. Bruce Fields \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: linux-nfs@vger.kernel.org\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "5f707eb429e2c98dfd564ffbbd9f536bf493d869",
      "tree": "5b17c3f51daa9a47959cdf320696a56c72faa70d",
      "parents": [
        "eac0d18d44705f8a1b72cccec3a453e1a43eb20a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 28 15:21:42 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 28 15:21:42 2008 -0400"
      },
      "message": "SUNRPC: Fix potential race in put_rpccred()\n\nWe have to be careful when we try to unhash the credential in\nput_rpccred(), because we\u0027re not holding the credcache lock, so the call to\nrpcauth_unhash_cred() may fail if someone else has looked the cred up, and\nobtained a reference to it.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eac0d18d44705f8a1b72cccec3a453e1a43eb20a",
      "tree": "b727174dba608adc5c4cbfaea9e19b2c6ac1cf26",
      "parents": [
        "ae05f269400533cbb32bfba131ab528d78dffd16"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 28 15:21:41 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 28 15:21:41 2008 -0400"
      },
      "message": "SUNRPC: Fix rpcauth_prune_expired\n\nWe need to make sure that we don\u0027t remove creds from the cred_unused list\nif they are still under the moratorium, or else they will never get\ngarbage collected.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "95a5afca4a8d2e1cb77e1d4bc6ff9f718dc32f7a",
      "tree": "15452d28df4e4d76fc1276e791a7cc3c6e1a9b3a",
      "parents": [
        "00269b54edbf25f3bb0dccb558ae23a6fc77ed86"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 16 15:24:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 16 15:24:51 2008 -0700"
      },
      "message": "net: Remove CONFIG_KMOD from net/ (towards removing CONFIG_KMOD entirely)\n\nSome code here depends on CONFIG_KMOD to not try to load\nprotocol modules or similar, replace by CONFIG_MODULES\nwhere more than just request_module depends on CONFIG_KMOD\nand and also use try_then_request_module in ebtables.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d2b831416365e8b1f27809b62d5e4260883956cc",
      "tree": "f812eddfe29aed2d821b1d7f6d1fd9a64074a2d2",
      "parents": [
        "a2b2bb8822c78806930bbb4d4c5bb3ae69648fd0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 14 18:13:37 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:55:02 2008 -0400"
      },
      "message": "SUNRPC: Protect creds against early garbage collection\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "98a8e3239427051f5d44f2025b398bdcc3918f37",
      "tree": "aa3e6ba69dbf8575c2c6e10c013aa23d7d638af0",
      "parents": [
        "5c691044ecbca04dd558fca4c754121689fe1b34"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 12 12:25:28 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 14 13:42:49 2008 -0400"
      },
      "message": "SUNRPC: Add a helper rpcauth_lookup_generic_cred()\n\nThe NFSv4 protocol allows clients to negotiate security protocols on the\nfly in the case where an administrator on the server changes the export\nsettings and/or in the case where we may have a filesystem migration event.\n\nInstead of having the NFS client code cache credentials that are tied to a\nparticular AUTH method it is therefore preferable to have a generic credential\nthat can be converted into whatever AUTH is in use by the RPC client when\nthe read/write/sillyrename/... is put on the wire.\n\nWe do this by means of the new \"generic\" credential, which basically just\ncaches the minimal information that is needed to look up an RPCSEC_GSS,\nAUTH_SYS, or AUTH_NULL credential.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5c691044ecbca04dd558fca4c754121689fe1b34",
      "tree": "7a56b63c44766fcca0d7ac245ce0e19077b6f118",
      "parents": [
        "9a559efd4199c9812d339e23cc1b6055366b224f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 12 16:21:07 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 14 13:42:41 2008 -0400"
      },
      "message": "SUNRPC: Add an rpc_credop callback for binding a credential to an rpc_task\n\nWe need the ability to treat \u0027generic\u0027 creds specially, since they want to\nbind instances of the auth cred instead of binding themselves.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9a559efd4199c9812d339e23cc1b6055366b224f",
      "tree": "44ae54434a6bd368693ea76b210448496e222e46",
      "parents": [
        "4ccda2cdd8d156b6f49440653d5d6997e0facf97"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 12 12:24:49 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 14 13:42:38 2008 -0400"
      },
      "message": "SUNRPC: Add a generic RPC credential\n\nAdd an rpc credential that is not tied to any particular auth mechanism,\nbut that can be cached by NFS, and later used to look up a cred for\nwhichever auth mechanism that turns out to be valid when the RPC call is\nbeing made.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4ccda2cdd8d156b6f49440653d5d6997e0facf97",
      "tree": "fd75203f002edfd1657c9ca7bcb5494a7b783cf1",
      "parents": [
        "af093835774931de898a9baf7b4041fa0d100f77"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 12 16:20:55 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 14 13:42:35 2008 -0400"
      },
      "message": "SUNRPC: Clean up rpcauth_bindcred()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "af093835774931de898a9baf7b4041fa0d100f77",
      "tree": "f7617eb4556ead8615f6c26d8b02fcec8f64c6b3",
      "parents": [
        "25337fdc85951dfeac944f16cb565904c619077a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 12 12:12:16 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 14 13:42:32 2008 -0400"
      },
      "message": "SUNRPC: Fix RPCAUTH_LOOKUP_ROOTCREDS\n\nThe current RPCAUTH_LOOKUP_ROOTCREDS flag only works for AUTH_SYS\nauthentication, and then only as a special case in the code. This patch\nremoves the auth_sys special casing, and replaces it with generic code.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "25337fdc85951dfeac944f16cb565904c619077a",
      "tree": "8c0f37eca64775825ea84ade40460862a2ba377e",
      "parents": [
        "9446389ef612096704fdf18fa79bab423d4110f0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 12 14:40:14 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 14 13:42:29 2008 -0400"
      },
      "message": "SUNRPC: Fix a bug in rpcauth_lookup_credcache()\n\nThe hash bucket is for some reason always being set to zero.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "75659ca0c10992dcb39258518368a0f6f56e935d",
      "tree": "5d014ceb2f10158061a23d0d976f9a613d85e659",
      "parents": [
        "fbdde7bd274d74729954190f99afcb1e3d9bbfba",
        "2dfe485a2c8afa54cb069fcf48476f6c90ea3fdf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "message": "Merge branch \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: (22 commits)\n  Remove commented-out code copied from NFS\n  NFS: Switch from intr mount option to TASK_KILLABLE\n  Add wait_for_completion_killable\n  Add wait_event_killable\n  Add schedule_timeout_killable\n  Use mutex_lock_killable in vfs_readdir\n  Add mutex_lock_killable\n  Use lock_page_killable\n  Add lock_page_killable\n  Add fatal_signal_pending\n  Add TASK_WAKEKILL\n  exit: Use task_is_*\n  signal: Use task_is_*\n  sched: Use task_contributes_to_load, TASK_ALL and TASK_NORMAL\n  ptrace: Use task_is_*\n  power: Use task_is_*\n  wait: Use TASK_NORMAL\n  proc/base.c: Use task_is_*\n  proc/array.c: Use TASK_REPORT\n  perfmon: Use task_is_*\n  ...\n\nFixed up conflicts in NFS/sunrpc manually..\n"
    },
    {
      "commit": "5085925902cc4d93b9a4992936edd2aee70a5e15",
      "tree": "4d938ccdf4a32ef9c66d005d96dacb4cfb744216",
      "parents": [
        "3ff7576ddac06c3d07089e241b40826d24bbf1ac"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 25 18:19:37 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:31 2008 -0500"
      },
      "message": "SUNRPC: Mask signals across the call to rpc_call_setup() in rpc_run_task\n\nTo ensure that the RPCSEC_GSS upcall is performed with the correct sigmask.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e8914c65f7f8d4e8701b8e78a12b714872ea0402",
      "tree": "54e0834fce6e8b834ad400e010e76215e7eb76e4",
      "parents": [
        "a6eaf8bdf9308b51ec84e358915fc65400029519"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:39:59 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:28 2008 -0500"
      },
      "message": "SUNRPC: Restrict sunrpc client exports\n\nThe sunrpc client exports are not meant to be part of any official kernel\nAPI: they can change at the drop of a hat. Mark them as internal functions\nusing EXPORT_SYMBOL_GPL.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a6eaf8bdf9308b51ec84e358915fc65400029519",
      "tree": "f704135c09272357d9e9bf2d2a39636006518c3e",
      "parents": [
        "93a44a75b97b9d8a03dd3d3f3247c3d0ec46aa4c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:39:58 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:28 2008 -0500"
      },
      "message": "SUNRPC: Move exported declarations to the function declarations\n\nDo this for all RPC client related functions and XDR functions.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "be879c4e249a8875d7129f3b0c1bb62584dafbd8",
      "tree": "6d6d774ac4dd24ff280e83e1d6a65be29a6dc6f8",
      "parents": [
        "e3a535e1739a9da3cc316ccdfe5cd4bf84d745ac"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jul 11 18:39:02 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jul 19 15:21:39 2007 -0400"
      },
      "message": "SUNRPC: move bkl locking and xdr proc invocation into a common helper\n\nSince every invocation of xdr encode or decode functions takes the BKL now,\nthere\u0027s a lot of redundant lock_kernel/unlock_kernel pairs that we can pull\nout into a common function.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8e1f936b73150f5095448a0fee6d4f30a1f9001d",
      "tree": "0996203e35c629e2ec243d128c7bd91ecd74d24a",
      "parents": [
        "5ad333eb66ff1e52a87639822ae088577669dcf9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 17 04:03:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:00 2007 -0700"
      },
      "message": "mm: clean up and kernelify shrinker registration\n\nI can never remember what the function to register to receive VM pressure\nis called.  I have to trace down from __alloc_pages() to find it.\n\nIt\u0027s called \"set_shrinker()\", and it needs Your Help.\n\n1) Don\u0027t hide struct shrinker.  It contains no magic.\n2) Don\u0027t allocate \"struct shrinker\".  It\u0027s not helpful.\n3) Call them \"register_shrinker\" and \"unregister_shrinker\".\n4) Call the function \"shrink\" not \"shrinker\".\n5) Reduce the 17 lines of waffly comments to 13, but document it properly.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d8558f99fbc5ef5d4ae76b893784005056450f82",
      "tree": "993e2460295fcdc83c8f9ad755790aa066cd0f94",
      "parents": [
        "137d6acaa64afa4cf3d977417424e731ea04705a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jul 10 15:19:26 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:50 2007 -0400"
      },
      "message": "sunrpc: drop BKL around wrap and unwrap\n\nWe don\u0027t need the BKL when wrapping and unwrapping; and experiments by Avishay\nTraeger have found that permitting multiple encryption and decryption\noperations to proceed in parallel can provide significant performance\nimprovements.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Avishay Traeger \u003catraeger@cs.sunysb.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1be27f36601973815171db684c711d30557cf50c",
      "tree": "37119def0079958b1ec444ee6a3b2ec3b15337b5",
      "parents": [
        "1dd17ec693bf4a08b666c2ef76b68ca08ce3c93d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 27 14:29:04 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:37 2007 -0400"
      },
      "message": "SUNRPC: Remove the tk_auth macro...\n\nWe should almost always be deferencing the rpc_auth struct by means of the\ncredential\u0027s cr_auth field instead of the rpc_clnt-\u003ecl_auth anyway. Fix up\nthat historical mistake, and remove the macro that propagated it.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f5c2187cfef628784d8a09b6d0f77888246d0c0f",
      "tree": "8c648bb9210ea3bd24e6c5fe278951e47ff15faa",
      "parents": [
        "9499b4341b56935f61af9e7e354e7d11e70f5258"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 25 17:11:20 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:36 2007 -0400"
      },
      "message": "SUNRPC: Convert the credential garbage collector into a shrinker callback\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9499b4341b56935f61af9e7e354e7d11e70f5258",
      "tree": "d6ef7a4608e405aef3d270a641fa1f2cbaed6c7d",
      "parents": [
        "31be5bf15f3dafffce110eb1afadccbf2e3067b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jun 24 15:57:57 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:36 2007 -0400"
      },
      "message": "SUNRPC: Give credential cache a local spinlock\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "31be5bf15f3dafffce110eb1afadccbf2e3067b4",
      "tree": "6e680e926d79a1c5fe6a5a726c3f16cb3b86adfa",
      "parents": [
        "e092bdcd939416ef911090890096fe07d0281a5e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jun 24 15:55:26 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:36 2007 -0400"
      },
      "message": "SUNRPC: Convert the credcache lookup code to use RCU\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e092bdcd939416ef911090890096fe07d0281a5e",
      "tree": "fdd6800427d470ea1a22d8b2245100277e38a64d",
      "parents": [
        "fc432dd90760a629c57026e57f65ff80a1a31d2f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 23 19:45:36 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:35 2007 -0400"
      },
      "message": "SUNRPC: cleanup rpc credential cache garbage collection\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc432dd90760a629c57026e57f65ff80a1a31d2f",
      "tree": "1df060f199effb8cfd52772e618c0bac7b8d0e9f",
      "parents": [
        "696e38df9d1b256e97b077ecde7afb8dd60364fd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 25 10:15:15 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:35 2007 -0400"
      },
      "message": "SUNRPC: Enforce atomic updates of rpc_cred-\u003ecr_flags\n\nConvert to the use of atomic bitops...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5fe4755e2526a2aa82b7ed8daeb3aed74a236925",
      "tree": "aceb993080fc6aac5861f04d8a8494becb4046eb",
      "parents": [
        "f1c0a8615090359d57e096157feb9f900cbb233c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 23 19:55:31 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:35 2007 -0400"
      },
      "message": "SUNRPC: Clean up rpc credential initialisation\n\nAdd a helper rpc_cred_init()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f1c0a8615090359d57e096157feb9f900cbb233c",
      "tree": "2d76448a7c83a45944161a3d966a42f922c543dd",
      "parents": [
        "de7a8ce38aea529876db3890b61947bc4bc004da"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 23 20:17:58 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:34 2007 -0400"
      },
      "message": "SUNRPC: Mark auth and cred operation tables as constant.\n\nAlso do the same for gss_api operation tables.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "de7a8ce38aea529876db3890b61947bc4bc004da",
      "tree": "2067bae81ea0d39631d4caae9a8a092380f1932c",
      "parents": [
        "5e1550d6a2c2dd33ff0ca5febefd8e9c65c6ca1e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 23 10:46:47 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:34 2007 -0400"
      },
      "message": "SUNRPC: Rename rpcauth_destroy() to rpcauth_release()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc1b356f566fe05929ec2a88ce2c7b15f8b6279f",
      "tree": "7d790ea2d3618b9cb166081a86797411f3547e44",
      "parents": [
        "07a2bf1da4765d987ffd1d8045e92ba032e0ad78"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 09 16:15:46 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:34 2007 -0400"
      },
      "message": "SUNRPC: Fix races in rpcauth_create\n\nSee the FIXME: auth_flavors[] really needs a lock and module refcounting.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3ab9bb7243489f9db3abf3d05521ddfc6b184c0a",
      "tree": "05476c58c87c5578354ab8a3befcb7316c9ef9bc",
      "parents": [
        "03a1256f06cf1f58e33971fb4a524479e75c200e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 09 15:41:42 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:33 2007 -0400"
      },
      "message": "SUNRPC: Fix a memory leak in the auth credcache code\n\nThe leak only affects the RPCSEC_GSS caches, since they are the only ones\nthat are dynamically allocated...\nRename the existing rpcauth_free_credcache() to rpcauth_clear_credcache()\nin order to better describe its role, then add a new function\nrpcauth_destroy_credcache() that actually frees the cache in addition to\nclearing it out.\n\nAlso move the call to destroy the credcache in gss_destroy() to come before\nthe rpc upcall pipe is unlinked.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d9bc125caf592b7d081021f32ce5b717efdf70c8",
      "tree": "263b7066ba22ddce21db610c0300f6eaac6f2064",
      "parents": [
        "43d78ef2ba5bec26d0315859e8324bfc0be23766",
        "ec2f9d1331f658433411c58077871e1eef4ee1b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 12 22:43:25 2007 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 12 22:43:25 2007 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/trondmy/kernel/linux-2.6/\n\nConflicts:\n\n\tnet/sunrpc/auth_gss/gss_krb5_crypto.c\n\tnet/sunrpc/auth_gss/gss_spkm3_token.c\n\tnet/sunrpc/clnt.c\n\nMerge with mainline and fix conflicts.\n"
    },
    {
      "commit": "cca5172a7ec10dfdb0b787cd8e9d5b0b8f179793",
      "tree": "1b9e86cf95ab5e1e2b3180ebe59be2a05ebbe1bf",
      "parents": [
        "d808ad9ab8b1109239027c248c4652503b9d3029"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 15:38:13 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:20:13 2007 -0800"
      },
      "message": "[NET] SUNRPC: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46121cf7d85869bfe9588bac7ccf55aa0bc7f278",
      "tree": "51172f1b47dd8aa99e6f96c495fe7f8e2c0bbc34",
      "parents": [
        "8885cb367f86ce02bed3bf18192d74a53ac3b81f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jan 31 12:14:08 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Feb 03 15:35:10 2007 -0800"
      },
      "message": "SUNRPC: fix print format for tk_pid\n\nThe tk_pid field is an unsigned short.  The proper print format specifier for\nthat type is %5u, not %4d.\n\nAlso clean up some miscellaneous print formatting nits.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d8ed029d6000ba2e2908d9286409e4833c091b4c",
      "tree": "732feaa2e3751df5c81032a30ff4761427492ac4",
      "parents": [
        "7699431301b189fca7ccbb64fe54e5a5170f8497"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Sep 26 22:29:38 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:21 2006 -0700"
      },
      "message": "[SUNRPC]: trivial endianness annotations\n\npure s/u32/__be32/\n\n[AV: large part based on Alexey\u0027s patches]\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "fba3bad488a2eec2d76c067edb7a5ff92ef42431",
      "tree": "a7cee933e9089e5c187008b396ee7bcbdb57ff80",
      "parents": [
        "adb12f63e0f837078c6832fa2c90649ddeaab54f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:19:27 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:52:25 2006 -0500"
      },
      "message": "SUNRPC: Move upcall out of auth-\u003eau_ops-\u003ecrcreate()\n\n This fixes a bug whereby if two processes try to look up the same auth_gss\n credential, they may end up creating two creds, and triggering two upcalls\n because the upcall is performed before the credential is added to the\n credcache.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8a3177604b729ec3b80e43790ee978863ac7551b",
      "tree": "6eeafbdae55e2b0821e524f2c16bca52fa150cdc",
      "parents": [
        "aaaa99423b4b1f9cfd33ea5643d9274c25f62491"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:18:36 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:52:23 2006 -0500"
      },
      "message": "SUNRPC: Fix a lock recursion in the auth_gss downcall\n\n When we look up a new cred in the auth_gss downcall so that we can stuff\n the credcache, we do not want that lookup to queue up an upcall in order\n to initialise it. To do an upcall here not only redundant, but since we\n are already holding the inode-\u003ei_mutex, it will trigger a lock recursion.\n\n This patch allows rpcauth cache searches to indicate that they can cope\n with uninitialised credentials.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8b3a70058bfe711b2d05ba2134178bae623183ce",
      "tree": "6f9e55729938f0a935aa885d29d5a38537fa3a97",
      "parents": [
        "ae0f7d5f83236a43c572a744e4bbb30e8702d821"
      ],
      "author": {
        "name": "Kris Katterjohn",
        "email": "kjak@users.sourceforge.net",
        "time": "Wed Jan 11 15:56:43 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jan 11 16:32:14 2006 -0800"
      },
      "message": "[NET]: Remove more unneeded typecasts on *malloc()\n\nThis removes more unneeded casts on the return value for kmalloc(),\nsock_kmalloc(), and vmalloc().\n\nSigned-off-by: Kris Katterjohn \u003ckjak@users.sourceforge.net\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bbacc402e67abca8794a8401c1621dc0c0202e9",
      "tree": "a0969978295b806b35c943eb16af34b1eacfa47a",
      "parents": [
        "c556b754967afd0878d65de2cfe0675577b0f62f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Nov 01 16:53:32 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Nov 04 15:39:48 2005 -0500"
      },
      "message": "NFS,SUNRPC,NLM: fix unused variable warnings when CONFIG_SYSCTL is disabled\n\n Fix some dprintk\u0027s so that NLM, NFS client, and RPC client compile\n cleanly if CONFIG_SYSCTL is disabled.\n\n Test plan:\n Compile kernel with CONFIG_NFS enabled and CONFIG_SYSCTL disabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "86b9f57dfdf455763d2be73a742a9a88bb664173",
      "tree": "4d153fb7e1452efcbfd170c8ce85f049257c558e",
      "parents": [
        "2226feb6bcd0e5e117a9be3ea3dd3ffc14f3e41e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:41 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:23 2005 -0400"
      },
      "message": "[PATCH] RPC: Eliminate socket.h includes in RPC client\n\n Clean-up: get rid of unnecessary socket.h and in.h includes in the generic\n parts of the RPC client.\n\n Test-plan:\n Compile kernel with CONFIG_NFS enabled.\n\n Version: Thu, 11 Aug 2005 16:06:23 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6a19275ada9137435da58990c8f8d3f58e170bf1",
      "tree": "927f8aa96c9b558a0bed5355dde66df9c0ec8554",
      "parents": [
        "438b6fdebf2a2e8573e7290bc176feb4d4475f43"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jun 22 17:16:23 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:16 2005 -0400"
      },
      "message": "[PATCH] RPC: [PATCH] improve rpcauthauth_create error returns\n\n Currently we return -ENOMEM for every single failure to create a new auth.\n This is actually accurate for auth_null and auth_unix, but for auth_gss it\u0027s a\n bit confusing.\n\n Allow rpcauth_create (and the -\u003ecreate methods) to return errors.  With this\n patch, the user may sometimes see an EINVAL instead.  Whee.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
