)]}'
{
  "log": [
    {
      "commit": "5b7b18ccdeb17dcc4a2ddbf4ce87094c7365f4b9",
      "tree": "cf60c476ba42f3e8aad609d0248b61074f5d65be",
      "parents": [
        "1aef821a6b3aeca8c19d06aee012ed9db617d1e3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Mar 25 03:07:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:52 2006 -0800"
      },
      "message": "[PATCH] drivers/block/nbd.c: don\u0027t defer compile error to runtime\n\nIf we can detect a problem at compile time, the compilation should fail.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "82d4dc5adb0055393248ad4ab8de392fac708a12",
      "tree": "9827f519dc04c76138fac0ee90d1cc34ac9af24b",
      "parents": [
        "f85221dd74f2708b78a2aa54de59944e44206d0e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 23 03:00:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:13 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: drivers/block/nbd.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\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Clements \u003cPaul.Clements@steeleye.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9fa37fd1627ec804e57ae0388555719b03b39f20",
      "tree": "869e4b4d8feb2e3ce240fa32cfa549ab61115153",
      "parents": [
        "a885c8c4316e1c1d2d2c8755da3f3d14f852528d"
      ],
      "author": {
        "name": "taneli.vahakangas@netsonic.fi",
        "email": "taneli.vahakangas@netsonic.fi",
        "time": "Sun Jan 08 01:03:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:54 2006 -0800"
      },
      "message": "[PATCH] nbd: remove duplicate assignment\n\n      \u003cstuartm@connecttech.com\u003e\n\nSent by Paul Clements \u003cpaul.clements@steeleye.com\u003e, who needs to read\nDocumentation/SubmittingPatches..\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d99cf9d679a520d67f81d805b7cb91c68e1847f0",
      "tree": "415aefe6d168df27c006fcc53b1ea5242eabaaea",
      "parents": [
        "7ed40918a386afc2e14a6d3da563ea6d13686c25",
        "e650c305ec3178818b317dad37a6d9c7fa8ba28d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 09:01:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 09:01:25 2006 -0800"
      },
      "message": "Merge branch \u0027post-2.6.15\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n\nManual fixup for merge with Jens\u0027 \"Suspend support for libata\", commit\nID 9b847548663ef1039dd49f0eb4463d001e596bc3.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b2f0260c74324abca76ccaa42d426af163125e7",
      "tree": "881f76200dc3489b11497528feb72d6eae93bddb",
      "parents": [
        "bd6a59b22fd3bd044bb14978b885bcd042a10e8e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 06 00:09:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:20 2006 -0800"
      },
      "message": "[PATCH] nbd: fix TX/RX race condition\n\nJanos Haar of First NetCenter Bt.  reported numerous crashes involving the\nNBD driver.  With his help, this was tracked down to bogus bio vectors\nwhich in turn was the result of a race condition between the\nreceive/transmit routines in the NBD driver.\n\nThe bug manifests itself like this:\n\nCPU0\t\t\t\tCPU1\ndo_nbd_request\n\tadd req to queuelist\n\tnbd_send_request\n\t\tsend req head\n\t\tfor each bio\n\t\t\tkmap\n\t\t\tsend\n\t\t\t\tnbd_read_stat\n\t\t\t\t\tnbd_find_request\n\t\t\t\t\tnbd_end_request\n\t\t\tkunmap\n\nWhen CPU1 finishes nbd_end_request, the request and all its associated\nbio\u0027s are freed.  So when CPU0 calls kunmap whose argument is derived from\nthe last bio, it may crash.\n\nUnder normal circumstances, the race occurs only on the last bio.  However,\nif an error is encountered on the remote NBD server (such as an incorrect\nmagic number in the request), or if there were a bug in the server, it is\npossible for the nbd_end_request to occur any time after the request\u0027s\naddition to the queuelist.\n\nThe following patch fixes this problem by making sure that requests are not\nadded to the queuelist until after they have been completed transmission.\n\nIn order for the receiving side to be ready for responses involving\nrequests still being transmitted, the patch introduces the concept of the\nactive request.\n\nWhen a response matches the current active request, its processing is\ndelayed until after the tranmission has come to a stop.\n\nThis has been tested by Janos and it has been successful in curing this\nrace condition.\n\nFrom: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n\n  Here is an updated patch which removes the active_req wait in\n  nbd_clear_queue and the associated memory barrier.\n\n  I\u0027ve also clarified this in the comment.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: \u003cdjani22@dynamicweb.hu\u003e\nCc: Paul Clements \u003cPaul.Clements@SteelEye.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8ffdc6550c47f75ca4e6c9f30a2a89063e035cf2",
      "tree": "a478b9acef5c66242a964154f7ad3a0ea750ef0f",
      "parents": [
        "64100099ed22f71cce656c5c2caecf5c9cf255dc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Jan 06 09:49:03 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jan 06 09:49:03 2006 +0100"
      },
      "message": "[BLOCK] add @uptodate to end_that_request_last() and @error to rq_end_io_fn()\n\nadd @uptodate argument to end_that_request_last() and @error\nto rq_end_io_fn().  there\u0027s no generic way to pass error code\nto request completion function, making generic error handling\nof non-fs request difficult (rq-\u003eerrors is driver-specific and\neach driver uses it differently).  this patch adds @uptodate\nto end_that_request_last() and @error to rq_end_io_fn().\n\nfor fs requests, this doesn\u0027t really matter, so just using the\nsame uptodate argument used in the last call to\nend_that_request_first() should suffice.  imho, this can also\nhelp the generic command-carrying request jens is working on.\n\nSigned-off-by: tejun heo \u003chtejun@gmail.com\u003e\nSigned-Off-By: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "40be0c28b33ff0821594a3fa7126354dfe6eccd1",
      "tree": "a62e93e866a2c7fdbe732adb634a6bba294beded",
      "parents": [
        "4750e2c0c59e0c84c6c036b3d96ebd88365ae7ee"
      ],
      "author": {
        "name": "Lars Marowsky-Bree",
        "email": "lmb@suse.de",
        "time": "Sun May 01 08:59:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:07 2005 -0700"
      },
      "message": "[PATCH] nbd: Don\u0027t create all MAX_NBD devices by default all the time\n\nThis patches adds the \"nbds_max\" parameter to the nbd kernel module, which\nlimits the number of nbds allocated.  Previously, always all 128 entries\nwere allocated unconditionally, which used to waste resources and\nneedlessly flood the hotplug system with events.  (Defaults to 16 now.)\n\nSigned-off-by: Lars Marowsky-Bree \u003clmb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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"
    }
  ]
}
