)]}'
{
  "log": [
    {
      "commit": "3460f29a27344db8c7af62cafdb961286ef0b6cd",
      "tree": "be7c8acc0c8c971114f8136534c613395a4d2951",
      "parents": [
        "f6048709391336cf27fb5c1cfca8e792103e5a73"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:57:12 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:23 2010 -0500"
      },
      "message": "lockd: Introduce new-style XDR functions for NLMv4\n\nWe\u0027d like to prevent local buffer overflows caused by malicious or\nbroken servers.  New xdr_stream style decoders can do that.\n\nFor efficiency, we also want to be able to pass xdr_streams from\ncall_encode() to all XDR encoding functions, rather than building\nan xdr_stream in every XDR encoding function in the kernel.\n\nSame idea as the NLM v3 XDR overhaul.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2b061f9ef216b6d229b06267f188167fd6ab3d9b",
      "tree": "8ed08aa5bee3a50ac7bf9909e7fc8865b470b0a3",
      "parents": [
        "5f96e5e31b4f4a2f126adfe0586a7555c11b0562"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:55:40 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:21 2010 -0500"
      },
      "message": "lockd: Introduce new-style XDR functions for NLMv3\n\nWe\u0027d like to prevent local buffer overflows caused by malicious or\nbroken servers.  New xdr_stream style decoders can do that.\n\nFor efficiency, we also eventually want to be able to pass xdr_streams\nfrom call_encode() and call_decode() to all XDR encoding functions,\nrather than building an xdr_stream in every XDR encoding and decoding\nfunction in the kernel.\n\nTo do all of this, rewrite the XDR encoding and decoding functions in\nfs/lockd/xdr.c to use xdr_streams.  This makes them more or less\nincompatible with server-side XDR helper functions, so break them out\ninto a separate source file.\n\nStatic helper functions are left without the \"inline\" directive.  This\nallows the compiler to choose automatically how to optimize these for\nsize or speed.\n\nSHARE-related functionality doesn\u0027t seem to be used, as those\nfunctions are hiding behind a #define that isn\u0027t set anywhere that I\ncan find.  And, they\u0027ve been in there forever (at least as far back as\nthe kernel\u0027s git history goes), yet remain unused.  Let\u0027s take the\nopportunity to bin them.  It should be easy enough for someone to\nintroduce proper XDR functions if at some point SHARE-related NLM\nfunctionality is desired.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "af558e33bedab672f5cfd3260bce7445e353fe21",
      "tree": "eb89187b6c12640a00584bd35be035ba332e4af3",
      "parents": [
        "d5b337b4877f7c4e1d761434ee04d045b0201e03"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Sep 06 12:34:25 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Oct 03 16:19:02 2008 -0400"
      },
      "message": "nfsd: common grace period control\n\nRewrite grace period code to unify management of grace period across\nlockd and nfsd.  The current code has lockd and nfsd cooperate to\ncompute a grace period which is satisfactory to them both, and then\nindividually enforce it.  This creates a slight race condition, since\nthe enforcement is not coordinated.  It\u0027s also more complicated than\nnecessary.\n\nHere instead we have lockd and nfsd each inform common code when they\nenter the grace period, and when they\u0027re ready to leave the grace\nperiod, and allow normal locking only after both of them are ready to\nleave.\n\nWe also expect the locks_start_grace()/locks_end_grace() interface here\nto be simpler to build on for future cluster/high-availability work,\nwhich may require (for example) putting individual filesystems into\ngrace, or enforcing grace periods across multiple cluster nodes.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\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"
    }
  ]
}
