)]}'
{
  "log": [
    {
      "commit": "b9d9c82b4d081feb464f62dfc786c8621d09ecd2",
      "tree": "511d15b4d7aaba80a2c0fe49622a3224ca386122",
      "parents": [
        "23681e479129854305da1da32f7f1eaf635ef22c"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@suse.de",
        "time": "Thu Jun 15 15:31:56 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 12:40:49 2006 -0700"
      },
      "message": "[PATCH] Driver core: add generic \"subsystem\" link to all devices\n\nLike the SUBSYTEM\u003d key we find in the environment of the uevent, this\ncreates a generic \"subsystem\" link in sysfs for every device. Userspace\nusually doesn\u0027t care at all if its a \"class\" or a \"bus\" device. This\nprovides an unified way to determine the subsytem of a device, regardless\nof the way the driver core has created it.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1a2acc9e9214699a99389e323e6686e9e0e2ca67",
      "tree": "8f8072ba0624ceb63ac0115a81d85435323fe79c",
      "parents": [
        "d8c3291c73b958243b33f8509d4507e76dafd055"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri May 12 12:08:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri May 12 12:08:46 2006 -0700"
      },
      "message": "Revert \"[BLOCK] Fix oops on removal of SD/MMC card\"\n\nThis reverts commit 56cf6504fc1c0c221b82cebc16a444b684140fb7.\n\nBoth Erik Mouw and Andrew Vasquez independently pinpointed this commit\nas causing problems, where the slab cache for a driver is never released\n(most obviously causing problems when immediately re-loading that\ndriver, resulting in a \"kmem_cache_create: duplicate cache \u003cxyz\u003e\"\nmessage, but it can also cause other trouble).\n\nJames Bottomley dug into it, and reports:\n\n  \"OK, here\u0027s the scoop.  The problem patch adds a get of driverfs_dev in\n   add_disk(), but doesn\u0027t put it again until disk_release() (which occurs\n   on final put_disk() of the gendisk).\n\n   However, in SCSI, the driverfs_dev is the sdev_gendev.  That means\n   there\u0027s a reference held on sdev_gendev  until final disk put.\n   Unfortunately, we use the driver model driver_remove to trigger\n   del_gendisk (which removes the gendisk from visibility and decrements\n   the refcount), so we\u0027ve introduced an unbreakable deadlock in the\n   reference counting with this.\n\n   I suggest simply reversing this patch at the moment.  If Russell and\n   Jens can tell me what they\u0027re trying to do I\u0027ll see if there\u0027s another\n   way to do it.\"\n\nso hereby the patch gets reverted, waiting for a better fix.\n\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nCc: Erik Mouw \u003cerik@harddisk-recovery.com\u003e\nCc: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "56cf6504fc1c0c221b82cebc16a444b684140fb7",
      "tree": "95c74c06397dfe29081afb7a38ad6f1810e0704b",
      "parents": [
        "d98550e334715b2d9e45f8f0f4e1608720108640"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Fri May 05 17:57:52 2006 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri May 05 17:57:52 2006 +0100"
      },
      "message": "[BLOCK] Fix oops on removal of SD/MMC card\n\nThe block layer keeps a reference (driverfs_dev) to the struct\ndevice associated with the block device, and uses it internally\nfor generating uevents in block_uevent.\n\nBlock device uevents include umounting the partition, which can\noccur after the backing device has been removed.\n\nUnfortunately, this reference is not counted.  This means that\nif the struct device is removed from the device tree, the block\nlayers reference will become stale.\n\nGuard against this by holding a reference to the struct device\nin add_disk(), and only drop the reference when we\u0027re releasing\nthe gendisk kobject - in other words when we can be sure that no\nfurther uevents will be generated for this block device.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nAcked-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "68eef3b4791572ecb70249c7fb145bb3742dd899",
      "tree": "1f61fce839cec8d672ae06a423d46f0a6fcd924d",
      "parents": [
        "a2c348fe0117adced11e374329a5ea3f7c43cb41"
      ],
      "author": {
        "name": "Joe Korty",
        "email": "joe.korty@ccur.com",
        "time": "Fri Mar 31 02:30:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:53 2006 -0800"
      },
      "message": "[PATCH] Simplify proc/devices and fix early termination regression\n\nMake baby-simple the code for /proc/devices.  Based on the proven design\nfor /proc/interrupts.\n\nThis also fixes the early-termination regression 2.6.16 introduced, as\ndemonstrated by:\n\n    # dd if\u003d/proc/devices bs\u003d1\n    Character devices:\n      1 mem\n    27+0 records in\n    27+0 records out\n\nThis should also work (but is untested) when /proc/devices \u003e4096 bytes,\nwhich I believe is what the original 2.6.16 rewrite fixed.\n\n[akpm@osdl.org: cleanups, simplifications]\nSigned-off-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "837c7878771c15ed8d85ecf814ece7fcb4551b46",
      "tree": "28b06f0734958802ab98e1e6712ac3c6bf8f2518",
      "parents": [
        "4c5d0bbde9669cfb7f7fd4670dc9a117aea90384"
      ],
      "author": {
        "name": "Ben Woodard",
        "email": "woodard@redhat.com",
        "time": "Wed Mar 22 08:09:31 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Mon Mar 27 09:29:02 2006 +0200"
      },
      "message": "[BLOCK] increase size of disk stat counters\n\nThe kernel\u0027s representation of the disk statistics uses the type unsigned\nwhich is 32b on both 32b and 64b platforms.  Unfortunately, most system\ntools that work with these numbers that are exported in /proc/diskstats\nincluding iostat read these numbers into unsigned longs.  This works fine\non 32b platforms and when the number of IO transactions are small on 64b\nplatforms.  However, when the numbers wrap on 64b platforms \u0026 you read the\nnumbers into unsigned longs, and compare the numbers to previous readings,\nthen you get an unsigned representation of a negative number.  This looks\nlike a very large 64b number \u0026 gives you bizarre readouts in iostat:\n\nilc4: Device:    rrqm/s wrqm/s r/s    w/s  rsec/s  wsec/s    rkB/s wkB/s avgrq-sz avgqu-sz   await  svctm  %util\nilc4: sda        5.50   0.00   143.96 0.00 307496983987862656.00 0.00 153748491993931328.00     0.00 2136028725038430.00     7.94   55.12    5.59  80.42\n\nThough fixing iostat in user space is possible, and a quick survey\nindicates that several other similar tools also use unsigned longs when\nprocessing /proc/diskstats.  Therefore, it seems like a better approach\nwould be to extend the length of the disk_stats structure on 64b\narchitectures to 64b.  The following patch does that.  It should not affect\nthe operation on 32b platforms.\n\nSigned-off-by: Ben Woodard \u003cwoodard@redhat.com\u003e\nCc: Rick Lindsley \u003cricklind@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "58383af629efb07e5a0694e445eda0c65b16e1de",
      "tree": "228369b2e56411c91ee1356957c0aa2dc0d033e5",
      "parents": [
        "8b5536bbee53620f8d5f367987e5727ba36d886d"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Feb 06 14:12:43 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 20 13:42:58 2006 -0800"
      },
      "message": "[PATCH] kobj_map semaphore to mutex conversion\n\nConvert the kobj_map code to use a mutex instead of a semaphore.  It\nconverts the single two users as well, genhd.c and char_dev.c.\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7170be5f586b59bdcdab082778a5d9203ba7b667",
      "tree": "00d34a062c5bbab83315232078296567037bd3f4",
      "parents": [
        "faf3a98918aa5f14a29e0d246e194be58b9357f0"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@redhat.com",
        "time": "Sat Jan 14 13:20:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 18:25:19 2006 -0800"
      },
      "message": "[PATCH] convert /proc/devices to use seq_file interface\n\nA Christoph suggested that the /proc/devices file be converted to use the\nseq_file interface.  This patch does that.\n\nI\u0027ve obxerved one or two installation that had sufficiently large sans that\nthey overran the 4k limit on /proc/devices.\n\nSigned-off-by: Neil Horman \u003cnhorman@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "312c004d36ce6c739512bac83b452f4c20ab1f62",
      "tree": "e61e8331680a0da29557fe21414d3b31e62c9293",
      "parents": [
        "5f123fbd80f4f788554636f02bf73e40f914e0d6"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@suse.de",
        "time": "Wed Nov 16 09:00:00 2005 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 04 16:18:08 2006 -0800"
      },
      "message": "[PATCH] driver core: replace \"hotplug\" by \"uevent\"\n\nLeave the overloaded \"hotplug\" word to susbsystems which are handling\nreal devices. The driver core does not \"plug\" anything, it just exports\nthe state to userspace and generates events.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "47a004103d663bbba8c7c433a710a86f44351cf3",
      "tree": "91bf9479fa43e7a13b02b2f6b957373b5b28b5ef",
      "parents": [
        "cff3ba2204a0797b05150a4b2b7f40a55023d952"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Nov 09 13:38:47 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Nov 12 10:55:21 2005 +0100"
      },
      "message": "[BLOCK] Document the READ/WRITE splitup of the disk stats\n\nUse the symbolic name where appropriate and add a comment to the\ndisk_stats structure.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "3a65dfe8c088143c7155cfd36a72f4b0ad2fc4b2",
      "tree": "db930c9f71f94d3ee674f65e38c38e95ca97227e",
      "parents": [
        "0f3278d14f0255e4cd9e07ccefc33ff12d8bb59c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Nov 04 08:43:35 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Nov 04 08:43:35 2005 +0100"
      },
      "message": "[BLOCK] Move all core block layer code to new block/ directory\n\ndrivers/block/ is right now a mix of core and driver parts. Lets move\nthe core parts to a new top level directory. Al will move the fs/\nrelated block parts to block/ next.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "a362357b6cd62643d4dda3b152639303d78473da",
      "tree": "fe4ce823e638ded151edcb142f28a240860f0d33",
      "parents": [
        "d72d904a5367ad4ca3f2c9a2ce8c3a68f0b28bf0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Nov 01 09:26:16 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Nov 01 09:26:16 2005 +0100"
      },
      "message": "[BLOCK] Unify the seperate read/write io stat fields into arrays\n\nInstead of having -\u003eread_sectors and -\u003ewrite_sectors, combine the two\ninto -\u003esectors[2] and similar for the other fields. This saves a branch\nseveral places in the io path, since we don\u0027t have to care for what the\nactual io direction is. On my x86-64 box, that\u0027s 200 bytes less text in\njust the core (not counting the various drivers).\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "a7fd67062efc5b0fc9a61368c607fa92d1d57f9e",
      "tree": "8b91f198640608bd99f4e4764394e5134220abcf",
      "parents": [
        "d8539d81aeee4dbdc0624a798321e822fb2df7ae"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@suse.de",
        "time": "Sat Oct 01 14:49:43 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 09:52:51 2005 -0700"
      },
      "message": "[PATCH] add sysfs attr to re-emit device hotplug event\n\nA \"coldplug + udevstart\" can be simple like this:\n  for i in /sys/block/*/*/uevent; do echo 1 \u003e $i; done\n  for i in /sys/class/*/*/uevent; do echo 1 \u003e $i; done\n  for i in /sys/bus/*/devices/*/uevent; do echo 1 \u003e $i; done\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f62c6d0a2607b2d1fdf280d4d1467a7a6e24c67d",
      "tree": "b95a3ebe7a0e2703c38636530313bcc1dfd96564",
      "parents": [
        "f23ef184b486ac021b6a471b4e94cfa04860d3b0"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@redhat.com",
        "time": "Tue Sep 06 15:17:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:30 2005 -0700"
      },
      "message": "[PATCH] Add missing overflow check in get_blkdev_list\n\nPatch to clean up missing overflow check in get_blkdev_list.  The printf\nwhich adds the \"Block Devices\" string in /proc/devices can overflow the\npresented page if get_chrdev_list eats up the entire 4k space.\n\nSigned-off-by: Neil Horman \u003cnhorman@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ac20427ef6aa63da663bdc88b71d16f7394f5e23",
      "tree": "49ba4f88c5cea42d59b386c508174f585efc8a01",
      "parents": [
        "3bc1ee3e8f1c05c0f64a479c6d56eb34a6190599"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@redhat.com",
        "time": "Thu Jun 23 00:09:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:19 2005 -0700"
      },
      "message": "[PATCH] add check to /proc/devices read routines\n\nPatch to add check to get_chrdev_list and get_blkdev_list to prevent reads\nof /proc/devices from spilling over the provided page if more than 4096\nbytes of string data are generated from all the registered character and\nblock devices in a system\n\nSigned-off-by: Neil Horman \u003cnhorman@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1946089a109251655c5438d92c539bd2930e71ea",
      "tree": "819a492d5a7c4e6e695b150a86abeb99d5ac46eb",
      "parents": [
        "8c5a09082f4e61a176382e96a831a0636b918602"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Thu Jun 23 00:08:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:09 2005 -0700"
      },
      "message": "[PATCH] NUMA aware block device control structure allocation\n\nPatch to allocate the control structures for for ide devices on the node of\nthe device itself (for NUMA systems).  The patch depends on the Slab API\nchange patch by Manfred and me (in mm) and the pcidev_to_node patch that I\nposted today.\n\nDoes some realignment too.\n\nSigned-off-by: Justin M. Forbes \u003cjmforbes@linuxtx.org\u003e\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Pravin Shelar \u003cpravin@calsoftinc.com\u003e\nSigned-off-by: Shobhit Dayal \u003cshobhit@calsoftinc.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6c1852a08e444a2e66367352a99c0e93c8bf3e97",
      "tree": "ffa075f75b7eb0e5b1399aeb8e34e6cf9a631a10",
      "parents": [
        "fc7e4828995d8c9e4c9597f8a19179e4ab53f73e"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Fri Apr 29 01:26:06 2005 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:03 2005 -0700"
      },
      "message": "[PATCH] sysfs: (driver/block) if show/store is missing return -EIO\n\nsysfs: fix drivers/block so if an attribute doesn\u0027t implement\n       show or store method read/write will return -EIO\n       instead of 0 or -EINVAL.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "2ef41634def0fcb0def3e3c90220c651ca478cb3",
      "tree": "86fb9c439ad5043d38d69588975e84bd8b565619",
      "parents": [
        "91bb52416854dfd581efe6e2a0aca8dc655f043e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu May 05 16:15:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:44 2005 -0700"
      },
      "message": "[PATCH] remove do_sync parameter from __invalidate_device\n\nThe only caller that ever sets it can call fsync_bdev itself easily.  Also\nupdate some comments.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003cviro@parcelfarce.linux.theplanet.co.uk\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"
    }
  ]
}
