)]}'
{
  "log": [
    {
      "commit": "46a15bc3ec425b546d140581c28192ab7877ddc4",
      "tree": "b7a8940d3c26129336429e61f831dfd5b5de30c7",
      "parents": [
        "45dfffebd08c1445493bfa8f0ec05b38714b9b2d"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Feb 21 13:21:01 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Oct 14 16:47:45 2011 +0200"
      },
      "message": "lru_cache: allow multiple changes per transaction\n\nAllow multiple changes to the active set of elements in lru_cache.\nThe only current user of lru_cache, drbd, is driving this generalisation.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "a9efc748d679efb39fe7a8a536dde94cee691604",
      "tree": "0af3013566cd1d5aa638ed97ab18c7131791f17b",
      "parents": [
        "0097f0405d365eff66235f887d47fa0b62b28599"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Feb 21 13:20:58 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Oct 14 16:47:43 2011 +0200"
      },
      "message": "lru_cache: consolidate lc_get and lc_try_get\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "0097f0405d365eff66235f887d47fa0b62b28599",
      "tree": "28bb69ccb4a47335d054450fa8812a7f8894c549",
      "parents": [
        "4738fa16907a933d72bbcae1b8922dc9330fde92"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Feb 21 13:20:57 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Oct 14 16:47:43 2011 +0200"
      },
      "message": "lru_cache.h: fix comments referring to ts_ instead of lc_\n\nFor some time we contemplated calling the \"struct lru_cache\"\na \"struct tracked_set\", and some comments kept the ts_ prefix.\n\nFix those to match the member field names.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "4738fa16907a933d72bbcae1b8922dc9330fde92",
      "tree": "d0a48980a5269758ba01545b4200c548b30b0909",
      "parents": [
        "61610420f764acb835af4a450251dbab2ab6d621"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Feb 21 13:20:55 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Oct 14 16:47:42 2011 +0200"
      },
      "message": "drbd: use clear_bit_unlock() where appropriate\n\nSome open-coded clear_bit(); smp_mb__after_clear_bit();\nshould in fact have been smp_mb__before_clear_bit(); clear_bit();\n\nInstead, use clear_bit_unlock() to annotate the intention,\nand have it do the right thing.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "a08aa355af18c53f17f499c1cc6e2af66a77ba9b",
      "tree": "1eea598cd9000361a30ddf521bca0022aee7d52b",
      "parents": [
        "4440673a95e63ad888a41db596edaa0c55d3a332"
      ],
      "author": {
        "name": "Ilia Mirkin",
        "email": "imirkin@alum.mit.edu",
        "time": "Tue May 24 17:13:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:52 2011 -0700"
      },
      "message": "lru_cache: use correct type in sizeof for allocation\n\nThis has no actual effect, since sizeof(struct hlist_head) \u003d\u003d\nsizeof(struct hlist_head *), but it\u0027s still the wrong type to use.\n\nThe semantic match that finds this problem:\n// \u003csmpl\u003e\n@@\ntype T;\nidentifier x;\n@@\nT *x;\n...\n* x \u003d kzalloc(... * sizeof(T*) * ..., ...);\n// \u003c/smpl\u003e\n\n[akpm@linux-foundation.org: use kcalloc()]\nSigned-off-by: Ilia Mirkin \u003cimirkin@alum.mit.edu\u003e\nAcked-by: Lars Ellenberg \u003clars@linbit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b411b3637fa71fce9cf2acf0639009500f5892fe",
      "tree": "6b88e5202e0f137fef50e95b0441bcafdbf91990",
      "parents": [
        "1a35e0f6443f4266dad4c569c55c57a9032596fa"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Sep 25 16:07:19 2009 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 01 21:17:49 2009 +0200"
      },
      "message": "The DRBD driver\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    }
  ]
}
