)]}'
{
  "log": [
    {
      "commit": "c3279d1454cdfed02a557d789d8a6d08ab4cbe70",
      "tree": "2591c7c0886f9b6b63aa40e3ef3caa984370c38b",
      "parents": [
        "0c002c2f74e10baa9021d3ecc50585c6eafea568"
      ],
      "author": {
        "name": "Andrew Patterson",
        "email": "andrew.patterson@hp.com",
        "time": "Thu Sep 04 14:27:25 2008 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:12 2008 +0200"
      },
      "message": "Adjust block device size after an online resize of a disk.\n\nThe revalidate_disk routine now checks if a disk has been resized by\ncomparing the gendisk capacity to the bdev inode size.  If they are\ndifferent (usually because the disk has been resized underneath the kernel)\nthe bdev inode size is adjusted to match the capacity.\n\nSigned-off-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0c002c2f74e10baa9021d3ecc50585c6eafea568",
      "tree": "c7d29fe0968b852f798f78bbd9231df155c56180",
      "parents": [
        "243294dae09c909c0442c8f04d470b69c3c19d6e"
      ],
      "author": {
        "name": "Andrew Patterson",
        "email": "andrew.patterson@hp.com",
        "time": "Thu Sep 04 14:27:20 2008 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:12 2008 +0200"
      },
      "message": "Wrapper for lower-level revalidate_disk routines.\n\nThis is a wrapper for the lower-level revalidate_disk call-backs such\nas sd_revalidate_disk(). It allows us to perform pre and post\noperations when calling them.\n\nWe will use this wrapper in a later patch to adjust block device sizes\nafter an online resize (a _post_ operation).\n\nSigned-off-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "818827669d85b84241696ffef2de485db46b0b5e",
      "tree": "694d09728733e65d604bf3e1f13679db73fc1d9a",
      "parents": [
        "839e96afba87117befd39cf4e43f156edc8047a7"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Sep 02 16:20:19 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:11 2008 +0200"
      },
      "message": "block: make blk_rq_map_user take a NULL user-space buffer\n\nThis patch changes blk_rq_map_user to accept a NULL user-space buffer\nwith a READ command if rq_map_data is not NULL. Thus a caller can pass\npage frames to lk_rq_map_user to just set up a request and bios with\npage frames propely. bio_uncopy_user (called via blk_rq_unmap_user)\ndoesn\u0027t copy data to user space with such request.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "879040742cf09f2360a9ac41846288707e4e567c",
      "tree": "7768750efd0d8ef28a183f8cd781b0c878212795",
      "parents": [
        "4d8ab62e087d9300883b82c2662e73e6eef803a3"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Aug 28 15:05:58 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:11 2008 +0200"
      },
      "message": "block: add blk_rq_aligned helper function\n\nThis adds blk_rq_aligned helper function to see if alignment and\npadding requirement is satisfied for DMA transfer. This also converts\nblk_rq_map_kern and __blk_rq_map_user to use the helper function.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "152e283fdfea0cd11e297d982378b55937842dde",
      "tree": "a97a57108353f167a1e2911e8ee09c527ef42d3e",
      "parents": [
        "a3bce90edd8f6cafe3f63b1a943800792e830178"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Aug 28 16:17:06 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:10 2008 +0200"
      },
      "message": "block: introduce struct rq_map_data to use reserved pages\n\nThis patch introduces struct rq_map_data to enable bio_copy_use_iov()\nuse reserved pages.\n\nCurrently, bio_copy_user_iov allocates bounce pages but\ndrivers/scsi/sg.c wants to allocate pages by itself and use\nthem. struct rq_map_data can be used to pass allocated pages to\nbio_copy_user_iov.\n\nThe current users of bio_copy_user_iov simply passes NULL (they don\u0027t\nwant to use pre-allocated pages).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Douglas Gilbert \u003cdougg@torque.net\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a3bce90edd8f6cafe3f63b1a943800792e830178",
      "tree": "c07a2962987e57997b4ff6f6c63febe1feaa0a9c",
      "parents": [
        "45333d5a31296d0af886d94f1d08f128231cab8e"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Aug 28 16:17:05 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:10 2008 +0200"
      },
      "message": "block: add gfp_mask argument to blk_rq_map_user and blk_rq_map_user_iov\n\nCurrently, blk_rq_map_user and blk_rq_map_user_iov always do\nGFP_KERNEL allocation.\n\nThis adds gfp_mask argument to blk_rq_map_user and blk_rq_map_user_iov\nso sg can use it (sg always does GFP_ATOMIC allocation).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Douglas Gilbert \u003cdougg@torque.net\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ab780f1ece0dc8d5e8e8e85435acc5e4747ccda3",
      "tree": "4085b6c929a44de229eb5ef13fa2079211ea5512",
      "parents": [
        "c7c22e4d5c1fdebfac4dba76de7d0338c2b0d832"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Aug 26 10:25:02 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:09 2008 +0200"
      },
      "message": "block: inherit CPU completion on bio-\u003erq and rq-\u003erq merges\n\nSomewhat incomplete, as we do allow merges of requests and bios\nthat have different completion CPUs given. This is done on the\nassumption that a larger IO is still more beneficial than CPU\nlocality.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c7c22e4d5c1fdebfac4dba76de7d0338c2b0d832",
      "tree": "ecc3d2517b3471ccc35d4cb4e3b48d4b57205061",
      "parents": [
        "18887ad910e56066233a07fd3cfb2fa11338b782"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Sep 13 20:26:01 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:09 2008 +0200"
      },
      "message": "block: add support for IO CPU affinity\n\nThis patch adds support for controlling the IO completion CPU of\neither all requests on a queue, or on a per-request basis. We export\na sysfs variable (rq_affinity) which, if set, migrates completions\nof requests to the CPU that originally submitted it. A bio helper\n(bio_set_completion_cpu()) is also added, so that queuers can ask\nfor completion on that specific CPU.\n\nIn testing, this has been show to cut the system time by as much\nas 20-40% on synthetic workloads where CPU affinity is desired.\n\nThis requires a little help from the architecture, so it\u0027ll only\nwork as designed for archs that are using the new generic smp\nhelper infrastructure.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "18887ad910e56066233a07fd3cfb2fa11338b782",
      "tree": "a8d14ba47f15c58e36b26c82fa4ae4ad7526c80a",
      "parents": [
        "b646fc59b332ef307895558c9cd1359dc2d25813"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 28 13:08:45 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:09 2008 +0200"
      },
      "message": "block: make kblockd_schedule_work() take the queue as parameter\n\nPreparatory patch for checking queuing affinity.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3e1a7ff8a0a7b948f2684930166954f9e8e776fe",
      "tree": "0a8642f5cdbc6ddfdd66dc7241c915e57b3cb7ff",
      "parents": [
        "689d6fac40b41c7bf154f362deaf442548e4dc81"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:17 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: allow disk to have extended device number\n\nNow that disk and partition handlings are mostly unified, it\u0027s easy to\nallow disk to have extended device number.  This patch makes\nadd_disk() use extended device number if disk-\u003eminors is zero.  Both\nsd and ide-disk are updated to use this.\n\n* sd_format_disk_name() is implemented which can generically determine\n  the drive name.  This removes disk number restriction stemming from\n  limited device names.\n\n* If sd index goes over SD_MAX_DISKS (which can be increased now BTW),\n  sd simply doesn\u0027t initialize minors letting block layer choose\n  extended device number.\n\n* If CONFIG_DEBUG_EXT_DEVT is set, both sd and ide-disk always set\n  minors to 0 and use extended device numbers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "689d6fac40b41c7bf154f362deaf442548e4dc81",
      "tree": "5989dc5767f657272194ee8c7d69c6db1e62dab7",
      "parents": [
        "540eed5637b766bb1e881ef744c42617760b4815"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:16 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: replace @ext_minors with GENHD_FL_EXT_DEVT\n\nWith previous changes, it\u0027s meaningless to limit the number of\npartitions.  Replace @ext_minors with GENHD_FL_EXT_DEVT such that\nsetting the flag allows the disk to have maximum number of allowed\npartitions (only limited by the number of entries in parsed_partitions\nas determined by MAX_PART constant).\n\nThis kills not-too-pretty alloc_disk_ext[_node]() functions and makes\n@minors parameter to alloc_disk[_node]() unnecessary.  The parameter\nis left alone to avoid disturbing the users.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "540eed5637b766bb1e881ef744c42617760b4815",
      "tree": "8bdf54967a8290f780216f767291623e67ee7e9b",
      "parents": [
        "074a7aca7afa6f230104e8e65eba3420263714a5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:15 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: make partition array dynamic\n\ndisk-\u003e__part used to be statically allocated to the maximum possible\nnumber of partitions.  This patch makes partition array allocation\ndynamic.  The added overhead is minimal as only real change is one\nmemory dereference changed to RCU one.  This saves both a bit of\nmemory and cpu cycles iterating through unoccupied slots and makes\nincreasing partition limit easier.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "074a7aca7afa6f230104e8e65eba3420263714a5",
      "tree": "f418313e45bd55be8156c8a3e8f9a216cf63058d",
      "parents": [
        "eddb2e26b5ee3c5da68ba4bf1921ba20e2097bff"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:14 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: move stats from disk to part0\n\nMove stats related fields - stamp, in_flight, dkstats - from disk to\npart0 and unify stat handling such that...\n\n* part_stat_*() now updates part0 together if the specified partition\n  is not part0.  ie. part_stat_*() are now essentially all_stat_*().\n\n* {disk|all}_stat_*() are gone.\n\n* part_round_stats() is updated similary.  It handles part0 stats\n  automatically and disk_round_stats() is killed.\n\n* part_{inc|dec}_in_fligh() is implemented which automatically updates\n  part0 stats for parts other than part0.\n\n* disk_map_sector_rcu() is updated to return part0 if no part matches.\n  Combined with the above changes, this makes NULL special case\n  handling in callers unnecessary.\n\n* Separate stats show code paths for disk are collapsed into part\n  stats show code paths.\n\n* Rename disk_stat_lock/unlock() to part_stat_lock/unlock()\n\nWhile at it, reposition stat handling macros a bit and add missing\nparentheses around macro parameters.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "eddb2e26b5ee3c5da68ba4bf1921ba20e2097bff",
      "tree": "7a24f3f3cb577f344491dc57ea441060fac9d9a9",
      "parents": [
        "0762b8bde9729f10f8e6249809660ff2ec3ad735"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:13 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: kill GENHD_FL_FAIL and use part0-\u003emake_it_fail\n\nGENHD_FL_FAIL for disk is what make_it_fail is for parts.  Kill it and\nuse part0-\u003emake_it_fail.  Sysfs node handling is unified too.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0762b8bde9729f10f8e6249809660ff2ec3ad735",
      "tree": "12aa94ef16b840f713f833c712d335646c816dc1",
      "parents": [
        "4c46501d1659475dc6c89554af6ce7fe6ecf615c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:12 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: always set bdev-\u003ebd_part\n\nTill now, bdev-\u003ebd_part is set only if the bdev was for parts other\nthan part0.  This patch makes bdev-\u003ebd_part always set so that code\npaths don\u0027t have to differenciate common handling.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4c46501d1659475dc6c89554af6ce7fe6ecf615c",
      "tree": "03bfdf77e2d20c3190ba62532c783ab7f6a2640d",
      "parents": [
        "b7db9956e57c8151b930d5e5fe5c766e6aad3ff7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:11 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: move holder_dir from disk to part0\n\nMove disk-\u003eholder_dir to part0-\u003eholder_dir.  Kill now mostly\nsuperflous bdev_get_holder().\n\nWhile at it, kill superflous kobject_get/put() around holder_dir,\nslave_dir and cmd_filter creation and collapse\ndisk_sysfs_add_subdirs() into register_disk().  These serve no purpose\nbut obfuscating the code.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b7db9956e57c8151b930d5e5fe5c766e6aad3ff7",
      "tree": "d663a8687fff481abb1498c2ea0eac01ef81cb26",
      "parents": [
        "e56105214943ce5f0901d20e972a7cfd0d1d0656"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:10 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:07 2008 +0200"
      },
      "message": "block: move policy from disk to part0\n\nMove disk-\u003epolicy to part0-\u003epolicy.  Implement and use get_disk_ro().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e56105214943ce5f0901d20e972a7cfd0d1d0656",
      "tree": "e7b5abffa47f5bfc664fdbb27025872827514089",
      "parents": [
        "548b10eb2959c96cef6fc29fc96e0931eeb53bc5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:09 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:07 2008 +0200"
      },
      "message": "block: unify sysfs size node handling\n\nNow that capacity and __dev are moved to part0, part0 and others can\nshare the same method.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "548b10eb2959c96cef6fc29fc96e0931eeb53bc5",
      "tree": "7166bc04336b80a69f87a9add097919b418f4f43",
      "parents": [
        "80795aefb76d10c5d698e60c7e7750b5330787da"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 29 09:01:47 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:07 2008 +0200"
      },
      "message": "block: move __dev from disk to part0\n\nMove disk-\u003e__dev to part0-\u003e__dev.  This simplifies bdget_disk() and\nlookup_devt() and allows common sysfs attributes to be unified.\npart_to_disk() is updated to handle part0 -\u003e disk.\n\nUpdated to include a fix from Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e,\nhe writes:\n\n\"part0 is a \"special\" partition and doesn\u0027t need to have capacity set - this\nfixes regression caused by \"block: move __dev from disk to part0\" commit.\"\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "80795aefb76d10c5d698e60c7e7750b5330787da",
      "tree": "f22a55483cb2fe77580ee1507c1124bc73b93c3d",
      "parents": [
        "b5d0b9df0ba5d9a044f3a21e7544f53d90bd1465"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:07 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:07 2008 +0200"
      },
      "message": "block: move capacity from disk to part0\n\nMove disk-\u003ecapacity to part0-\u003enr_sects and convert all users who\ndirectly accessed the field to use {get|set}_capacity().  This is done\nearly to allow the __dev field to be moved.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b5d0b9df0ba5d9a044f3a21e7544f53d90bd1465",
      "tree": "d3347c1cfc59cf5d38c2c9adc2423f9d9b4cf818",
      "parents": [
        "ed9e1982347b36573cd622ee5f4e2a7ccd79b3fd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 03 09:06:42 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:07 2008 +0200"
      },
      "message": "block: introduce partition 0\n\ngenhd and partition code handled disk and partitions separately.  All\ninformation about the whole disk was in struct genhd and partitions in\nstruct hd_struct.  However, the whole disk (part0) and other\npartitions have a lot in common and the data structures end up having\ngood number of common fields and thus separate code paths doing the\nsame thing.  Also, the partition array was indexed by partno - 1 which\ngets pretty confusing at times.\n\nThis patch introduces partition 0 and makes the partition array\nindexed by partno.  Following patches will unify the handling of disk\nand parts piece-by-piece.\n\nThis patch also implements disk_partitionable() which tests whether a\ndisk is partitionable.  With coming dynamic partition array change,\nthe most common usage of disk_max_parts() will be testing whether a\ndisk is partitionable and the number of max partitions will become\nmuch less important.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ed9e1982347b36573cd622ee5f4e2a7ccd79b3fd",
      "tree": "79d834094d655ec97cfc0a382a9207ebc8e711a5",
      "parents": [
        "870d6656126add8e383645732b03df2b7ccd4f94"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:05 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:07 2008 +0200"
      },
      "message": "block: implement and use {disk|part}_to_dev()\n\nImplement {disk|part}_to_dev() and use them to access generic device\ninstead of directly dereferencing {disk|part}-\u003edev.  To make sure no\nuser is left behind, rename generic devices fields to __dev.\n\nThis is in preparation of unifying partition 0 handling with other\npartitions.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1f0142905d4812966831613847db38a66da29eb8",
      "tree": "0db3c802fccfa7b2b8b74bfd0078258e8fb8e22d",
      "parents": [
        "bcce3de1be61e424deef35d1e86e86a35c4b6e65"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:47:23 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:06 2008 +0200"
      },
      "message": "block: adjust formatting for large minors and add ext_range sysfs attr\n\nWith extended minors and the soon-to-follow debug feature, large minor\nnumbers for block devices will be common.  This patch does the\nfollowings to make printouts pretty.\n\n* Adapt print formats such that large minors don\u0027t break the\n  formatting.\n\n* For extended MAJ:MIN, %02x%02x for MAJ:MIN used in\n  printk_all_partitions() doesn\u0027t cut it anymore.  Update it such that\n  %03x:%05x is used if either MAJ or MIN doesn\u0027t fit in %02x.\n\n* Implement ext_range sysfs attribute which shows total minors the\n  device can use including both conventional minor space and the\n  extended one.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bcce3de1be61e424deef35d1e86e86a35c4b6e65",
      "tree": "cfdefb52bc37c61dfac160951a9beb86d5cd9ba0",
      "parents": [
        "c9959059161ddd7bf4670cf47367033d6b2f79c4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:47:22 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:06 2008 +0200"
      },
      "message": "block: implement extended dev numbers\n\nImplement extended device numbers.  A block driver can tell block\nlayer that it wants to use extended device numbers.  After the usual\nminor space is used up, block layer automatically allocates devt\u0027s\nfrom EXT_BLOCK_MAJOR.\n\nCurrently only one major number is allocated for this but as the\nallocation is strictly on-demand, ~1mil minor space under it should\nsuffice unless the system actually has more than ~1mil partitions and\nif that ever happens adding more majors to the extended devt area is\neasy.\n\nDue to internal implementation issues, the first partition can\u0027t be\nallocated on the extended area.  In other words, genhd-\u003eminors should\nat least be 1.  This limitation will be lifted by later changes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c9959059161ddd7bf4670cf47367033d6b2f79c4",
      "tree": "6454db55f8e34361fe472358e10e0c5cfac1e366",
      "parents": [
        "e71bf0d0ee89e51b92776391c5634938236977d5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:47:21 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:06 2008 +0200"
      },
      "message": "block: fix diskstats access\n\nThere are two variants of stat functions - ones prefixed with double\nunderbars which don\u0027t care about preemption and ones without which\ndisable preemption before manipulating per-cpu counters.  It\u0027s unclear\nwhether the underbarred ones assume that preemtion is disabled on\nentry as some callers don\u0027t do that.\n\nThis patch unifies diskstats access by implementing disk_stat_lock()\nand disk_stat_unlock() which take care of both RCU (for partition\naccess) and preemption (for per-cpu counter access).  diskstats access\nshould always be enclosed between the two functions.  As such, there\u0027s\nno need for the versions which disables preemption.  They\u0027re removed\nand double underbars ones are renamed to drop the underbars.  As an\nextra argument is added, there\u0027s no danger of using the old version\nunconverted.\n\ndisk_stat_lock() uses get_cpu() and returns the cpu index and all\ndiskstat functions which access per-cpu counters now has @cpu\nargument to help RT.\n\nThis change adds RCU or preemption operations at some places but also\ncollapses several preemption ops into one at others.  Overall, the\nperformance difference should be negligible as all involved ops are\nvery lightweight per-cpu ones.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e71bf0d0ee89e51b92776391c5634938236977d5",
      "tree": "9fc62352a40ad388deebdd8ed497cab926cf0470",
      "parents": [
        "f331c0296f2a9fee0d396a70598b954062603015"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 03 09:03:02 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:06 2008 +0200"
      },
      "message": "block: fix disk-\u003epart[] dereferencing race\n\ndisk-\u003epart[] is protected by its matching bdev\u0027s lock.  However,\nnon-critical accesses like collecting stats and printing out sysfs and\nproc information used to be performed without any locking.  As\npartitions can come and go dynamically, partitions can go away\nunderneath those non-critical accesses.  As some of those accesses are\nwrites, this theoretically can lead to silent corruption.\n\nThis patch fixes the race by using RCU for the partition array and dev\nreference counter to hold partitions.\n\n* Rename disk-\u003epart[] to disk-\u003e__part[] to make sure no one outside\n  genhd layer proper accesses it directly.\n\n* Use RCU for disk-\u003e__part[] dereferencing.\n\n* Implement disk_{get|put}_part() which can be used to get and put\n  partitions from gendisk respectively.\n\n* Iterators are implemented to help iterate through all partitions\n  safely.\n\n* Functions which require RCU readlock are marked with _rcu suffix.\n\n* Use disk_put_part() in __blkdev_put() instead of directly putting\n  the contained kobject.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f331c0296f2a9fee0d396a70598b954062603015",
      "tree": "f74c467d58940131d97d90c4ea549843185e6ef0",
      "parents": [
        "cf771cb5a7b716f3f9e532fd42a1e3a0a75adec5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 03 09:01:48 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:05 2008 +0200"
      },
      "message": "block: don\u0027t depend on consecutive minor space\n\n* Implement disk_devt() and part_devt() and use them to directly\n  access devt instead of computing it from -\u003emajor and -\u003efirst_minor.\n\n  Note that all references to -\u003emajor and -\u003efirst_minor outside of\n  block layer is used to determine devt of the disk (the part0) and as\n  -\u003emajor and -\u003efirst_minor will continue to represent devt for the\n  disk, converting these users aren\u0027t strictly necessary.  However,\n  convert them for consistency.\n\n* Implement disk_max_parts() to avoid directly deferencing\n  genhd-\u003eminors.\n\n* Update bdget_disk() such that it doesn\u0027t assume consecutive minor\n  space.\n\n* Move devt computation from register_disk() to add_disk() and make it\n  the only one (all other usages use the initially determined value).\n\nThese changes clean up the code and will help disk-\u003epart dereference\nfix and extended block device numbers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "cf771cb5a7b716f3f9e532fd42a1e3a0a75adec5",
      "tree": "c16cf6adc4d2e51eaee77088ecf126b721f8f3c7",
      "parents": [
        "310a2c1012934f590192377f65940cad4aa72b15"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 03 09:01:09 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:05 2008 +0200"
      },
      "message": "block: make variable and argument names more consistent\n\nIn hd_struct, @partno is used to denote partition number and a number\nof other places use @part to denote hd_struct.  Functions use @part\nand @index instead.  This causes confusion and makes it difficult to\nuse consistent variable names for hd_struct.  Always use @partno if a\nvariable represents partition number.\n\nAlso, print out functions use @f or @part for seq_file argument.  Use\n@seqf uniformly instead.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "310a2c1012934f590192377f65940cad4aa72b15",
      "tree": "ed30346abf07c5a7e94719f567368d5642af1f95",
      "parents": [
        "88e341261ca4d39eec21b212961c77eff51105f7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:47:17 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:04 2008 +0200"
      },
      "message": "block: misc updates\n\nThis patch makes the following misc updates in preparation for\ndisk-\u003epart dereference fix and extended block devt support.\n\n* implment part_to_disk()\n\n* fix comment about gendisk-\u003epart indexing\n\n* rename get_part() to disk_map_sector()\n\n* don\u0027t use n which is always zero while printing disk information in\n  diskstats_show()\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5a3ceb861663040f9ef0176df4aaa494bba5e352",
      "tree": "035472164252c3b54071f044c161b312b6bc8b44",
      "parents": [
        "a1ed5b0cffe4b16a93a6a3390e8cee0fbef94f86"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:50:19 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:04 2008 +0200"
      },
      "message": "driver-core: use klist for class device list and implement iterator\n\nIterating over entries using callback usually isn\u0027t too fun especially\nwhen the entry being iterated over can\u0027t be manipulated freely.  This\npatch converts class-\u003ep-\u003eclass_devices to klist and implements class\ndevice iterator so that the users can freely build their own control\nstructure.  The users are also free to call back into class code\nwithout worrying about locking.\n\nclass_for_each_device() and class_find_device() are converted to use\nthe new iterators, so their users don\u0027t have to worry about locking\nanymore either.\n\nNote: This depends on klist-dont-iterate-over-deleted-entries patch\nbecause class_intf-\u003eadd/remove_dev() depends on proper synchronization\nwith device removal.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a1ed5b0cffe4b16a93a6a3390e8cee0fbef94f86",
      "tree": "1f07794d793124c0ab514378d9179f595769a813",
      "parents": [
        "710027a48ede75428cc68eaa8ae2269b1e356e2c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:50:16 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:04 2008 +0200"
      },
      "message": "klist: don\u0027t iterate over deleted entries\n\nA klist entry is kept on the list till all its current iterations are\nfinished; however, a new iteration after deletion also iterates over\ndeleted entries as long as their reference count stays above zero.\nThis causes problems for cases where there are users which iterate\nover the list while synchronized against list manipulations and\nnatuarally expect already deleted entries to not show up during\niteration.\n\nThis patch implements dead flag which gets set on deletion so that\niteration can skip already deleted entries.  The dead flag piggy backs\non the lowest bit of knode-\u003en_klist and only visible to klist\nimplementation proper.\n\nWhile at it, drop klist_iter-\u003ei_head as it\u0027s redundant and doesn\u0027t\noffer anything in semantics or performance wise as klist_iter-\u003ei_klist\nis dereferenced on every iteration anyway.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5b99c2ffa980528a197f26c7d876cceeccce8dd5",
      "tree": "65e3bbbccb3f796f0569c47fcfc00e222cd3066e",
      "parents": [
        "960e739d9e9f1c2346d8bdc65299ee2e1ed42218"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Aug 15 10:56:11 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:03 2008 +0200"
      },
      "message": "block: make bi_phys_segments an unsigned int instead of short\n\nraid5 can overflow with more than 255 stripes, and we can increase it\nto an int for free on both 32 and 64-bit archs due to the padding.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5df97b91b5d7ed426034fcc84cb6e7cf682b8838",
      "tree": "727b9fb778f72d2b1ff44c007fb5209bacf67f4a",
      "parents": [
        "b8b3e16cfe6435d961f6aaebcfd52a1ff2a988c5"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Aug 15 10:20:02 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:03 2008 +0200"
      },
      "message": "drop vmerge accounting\n\nRemove hw_segments field from struct bio and struct request. Without virtual\nmerge accounting they have no purpose.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b8b3e16cfe6435d961f6aaebcfd52a1ff2a988c5",
      "tree": "5832535c112c0504590256cb8a0bcabc6e282be3",
      "parents": [
        "6a421c1dc94b12923294a359822346f12492de5e"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Aug 15 10:15:19 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:03 2008 +0200"
      },
      "message": "block: drop virtual merging accounting\n\nRemove virtual merge accounting.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "766ca4428d1239a970926856c447310c9c191af2",
      "tree": "ddf5f709a4a0c67aabd4af5166f8735d5228d671",
      "parents": [
        "1a8e2bddd5c29008f311613e75925fecbf522c5b"
      ],
      "author": {
        "name": "Fernando Luis Vázquez Cao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Thu Aug 14 09:59:13 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:02 2008 +0200"
      },
      "message": "virtio_blk: use a wrapper function to access io context information of IO requests\n\nstruct request has an ioprio member but it is never updated because\ncurrently bios do not hold io context information. The implication of\nthis is that virtio_blk ends up passing useless information to the\nbackend driver.\n\nThat said, some IO schedulers such as CFQ do store io context\ninformation in struct request, but use private members for that, which\nmeans that that information cannot be directly accessed in a IO\nscheduler-independent way.\n\nThis patch adds a function to obtain the ioprio of a request. We should\navoid accessing ioprio directly and use this function instead, so that\nits users do not have to care about future changes in block layer\nstructures or what the currently active IO controller is.\n\nThis patch does not introduce any functional changes but paves the way\nfor future clean-ups and enhancements.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1a8e2bddd5c29008f311613e75925fecbf522c5b",
      "tree": "e12f30d3efd7c8f89ba89e8b21a4df17f1488c3e",
      "parents": [
        "e17fc0a1ccf88f6d4dcb363729f3141b0958c325"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Aug 13 12:35:09 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:02 2008 +0200"
      },
      "message": "Kill REQ_TYPE_FLUSH\n\nIt was only used by ps3disk, and it should probably have been\nREQ_TYPE_LINUX_BLOCK + REQ_LB_OP_FLUSH.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e17fc0a1ccf88f6d4dcb363729f3141b0958c325",
      "tree": "0a7c2dc1c3159c2af14d87c67ca83e158b2c78b5",
      "parents": [
        "d30a2605be9d5132d95944916e8f578fcfe4f976"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sat Aug 09 16:42:20 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:02 2008 +0200"
      },
      "message": "Allow elevators to sort/merge discard requests\n\nBut blkdev_issue_discard() still emits requests which are interpreted as\nsoft barriers, because naïve callers might otherwise issue subsequent\nwrites to those same sectors, which might cross on the queue (if they\u0027re\nreallocated quickly enough).\n\nCallers still _can_ issue non-barrier discard requests, but they have to\ntake care of queue ordering for themselves.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d30a2605be9d5132d95944916e8f578fcfe4f976",
      "tree": "91a8161cb09536ab838ef47fceabb0da0bea9256",
      "parents": [
        "2ebca85abcfcbaaf1c0b242e39fc88ad3da90090"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Aug 11 15:58:42 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:02 2008 +0200"
      },
      "message": "Add BLKDISCARD ioctl to allow userspace to discard sectors\n\nWe may well want mkfs tools to use this to mark the whole device as\nunwanted before they format it, for example.\n\nThe ioctl takes a pair of uint64_ts, which are start offset and length\nin _bytes_. Although at the moment it might make sense for them both to\nbe in 512-byte sectors, I don\u0027t want to limit the ABI to that.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "27b29e86bf3d4b3cf6641a0efd78ed11a9b633b2",
      "tree": "0cfa20e8f07ee9d57e43a5371b4d97eeb8202081",
      "parents": [
        "fdc53971bce56d299cb5f1f06ecbff30b34cbaf2"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sun Aug 10 11:21:57 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:01 2008 +0200"
      },
      "message": "blktrace: support discard requests\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "eae9acd13a8d14b50c00a961fa959606f34bbd92",
      "tree": "cbd16bf7fe9db99f6916408953c6243aca175121",
      "parents": [
        "8c540a96c175bdf55bda8707db04cec78b816454"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Aug 05 18:08:25 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:01 2008 +0200"
      },
      "message": "Support \u0027discard sectors\u0027 operation in translation layer support core\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fb2dce862d9f9a68e6b9374579056ec9eca02a63",
      "tree": "888e0fd7248c9329fa1aa3981043a2dc2457d488",
      "parents": [
        "d628eaef310533767ce68664873869c2d7f78f09"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Aug 05 18:01:53 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:01 2008 +0200"
      },
      "message": "Add \u0027discard\u0027 request handling\n\nSome block devices benefit from a hint that they can forget the contents\nof certain sectors. Add basic support for this to the block core, along\nwith a \u0027blkdev_issue_discard()\u0027 helper function which issues such\nrequests.\n\nThe caller doesn\u0027t get to provide an end_io functio, since\nblkdev_issue_discard() will automatically split the request up into\nmultiple bios if appropriate. Neither does the function wait for\ncompletion -- it\u0027s expected that callers won\u0027t care about when, or even\n_if_, the request completes. It\u0027s only a hint to the device anyway. By\ndefinition, the file system doesn\u0027t _care_ about these sectors any more.\n\n[With feedback from OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e and\nJens Axboe \u003cjens.axboe@oracle.com]\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d628eaef310533767ce68664873869c2d7f78f09",
      "tree": "12d6a9e6db000d89deb7ab01d55d2e7b9e6f42c5",
      "parents": [
        "36144077bce9f89763ce994bc631cbd1c9db7785"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sat Aug 09 16:22:17 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:01 2008 +0200"
      },
      "message": "Fix up comments about matching flags between bio and rq\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a9c701e594669dd49fed448c27c64f20cfacc8a7",
      "tree": "f5524a3612ccbfa758a2b9808111297d7ba17698",
      "parents": [
        "7a67f63b3233ff28e753854fe27891c44f8588ae"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Aug 08 11:04:44 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:00 2008 +0200"
      },
      "message": "block: use bio_has_data() to check for data carrying bio\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7a67f63b3233ff28e753854fe27891c44f8588ae",
      "tree": "0383a42c135605f976c126b263c07fb250b3ffca",
      "parents": [
        "35e396cd100489dfe8f5a76e3613fb8049ffdff3"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Aug 08 11:17:12 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:00 2008 +0200"
      },
      "message": "block: add bio_has_data() to detect whether a bio carries data or not\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f1ea7254726d25a333056619ec6b1a8ee1b7358d",
      "tree": "ad0a6307890595172406fda45ec763f7a6bb8686",
      "parents": [
        "ba9b0c11285bcdaa3243c4123e924094b626c740",
        "ca09a237b8c6b053e101a4a83bc30d2c48435bd5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 06 14:27:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 06 14:27:57 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:\n  ide: workaround for bogus gcc warning in ide_sysfs_register_port()\n  ide-cd: Optiarc DVD RW AD-7200A does play audio\n  IDE: Fix platform device registration in Swarm IDE driver (v2)\n  ide-dma: fix ide_build_dmatable() for TRM290\n  ide-cd: temporary tray close fix\n"
    },
    {
      "commit": "fd3d2764ee5aad862e51c21b8239561acdea8c2f",
      "tree": "711696fcca098a4f44b208850b1aea05549b9167",
      "parents": [
        "4a16ff4c692d49f0caeabe08e6d3ae28a0ad4d04"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Oct 03 22:43:38 2008 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Oct 06 01:22:29 2008 +0100"
      },
      "message": "[MIPS] IP27: Fix build errors if CONFIG_MAPPED_KERNEL\u003dy\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "f20f258603ebc5da91e76884cf0c0d7ac9804b1c",
      "tree": "76d22f7e68264236871882c1eb250587e5123c3a",
      "parents": [
        "fec6ed1d1f9b78a6acb4a3eb2c46c812ac2e96f0"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "petkovbb@gmail.com",
        "time": "Sun Oct 05 18:23:27 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sun Oct 05 18:23:27 2008 +0200"
      },
      "message": "ide-cd: temporary tray close fix\n\nThis one fixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d11602.\n\nA more generic fix for drives which cannot autoclose tray will follow.\n\nSigned-off-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n[bart: add an extra parentheses for consistency with the rest of kernel code]\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "897312bd240357c88ce906633703c324c6f0a5cd",
      "tree": "69f36bf034c096d6a65ac9d9333e599fe6f0113a",
      "parents": [
        "f2fe1638f624467ae583b1a41a01804405f29eee"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Oct 03 15:23:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 03 18:22:18 2008 -0700"
      },
      "message": "include/linux/stacktrace.h: declare struct task_struct\n\ninclude/linux/stacktrace.h:13: warning:\n \u0027struct task_struct\u0027 declared inside parameter list\n\n(This might be a hard error on sparc64, which uses this header and has\n-Werror)\n\nReported-by: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8531a35e5e275b17c57c39b7911bc2b37025f28c",
      "tree": "c593e23c875d0639a8f422c0ceb8b2a7738d143e",
      "parents": [
        "d2bb01b042a38219fbddaafc214c5beb96248d2f"
      ],
      "author": {
        "name": "Kevin D. Kissell",
        "email": "kevink@paralogos.com",
        "time": "Tue Sep 09 21:48:52 2008 +0200"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Oct 03 17:58:58 2008 +0100"
      },
      "message": "[MIPS] SMTC: Fix SMTC dyntick support.\n\nRework of SMTC support to make it work with the new clock event system,\nallowing \"tickless\" operation, and to make it compatible with the use of\nthe \"wait_irqoff\" idle loop.  The new clocking scheme means that the\npreviously optional IPI instant replay mechanism is now required, and has\nbeen made more robust.\n\nSigned-off-by: Kevin D. Kissell \u003ckevink@paralogos.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "d2bb01b042a38219fbddaafc214c5beb96248d2f",
      "tree": "6a0380166400d7ad2b61dead8dab933ba8d43d6a",
      "parents": [
        "9cc123631b6630948eb5059d218f44424888daa7"
      ],
      "author": {
        "name": "Kevin D. Kissell",
        "email": "kevink@paralogos.com",
        "time": "Tue Sep 09 21:35:01 2008 +0200"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Oct 03 17:58:58 2008 +0100"
      },
      "message": "[MIPS] SMTC: Close tiny holes in the SMTC IPI replay system.\n\nSigned-off-by: Kevin D. Kissell \u003ckevink@paralogos.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "b7e4226e4f427b59dc8e9c45a2a1a1ed1353a140",
      "tree": "f2d3286896807f0b8f16e94c4d09d0bcd6240315",
      "parents": [
        "95b866d5afcafee00fc9ad70665e48c86d8c4e0f"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Oct 01 21:52:41 2008 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Oct 03 17:58:56 2008 +0100"
      },
      "message": "[MIPS] Build fix: Fix irq flags type\n\nThough from a hardware perspective it would be sensible to use only a\n32-bit unsigned int type Linux defines interrupt flags to be stored in\nan unsigned long and nothing else.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "4b19de6d1cb07c8bcb6778e771f9cfd5bcfdfd3e",
      "tree": "3c570060d915cb1e140fbdbbfb4a9efde26a37ff",
      "parents": [
        "6c1b7f680dd4f550fa6f91f148cc6fa2c4bd0737"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Oct 02 14:50:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 02 15:53:13 2008 -0700"
      },
      "message": "mm: tiny-shmem nommu fix\n\nThe previous patch db203d53d474aa068984e409d807628f5841da1b (\"mm:\ntiny-shmem fix lock ordering: mmap_sem vs i_mutex\") to fix the lock\nordering in tiny-shmem breaks shared anonymous and IPC memory on NOMMU\narchitectures because it was using the expanding truncate to signal ramfs\nto allocate a physically contiguous RAM backing the inode (otherwise it is\nunusable for \"memory mapping\" it to userspace).\n\nHowever do_truncate is what caused the lock ordering error, due to it\ntaking i_mutex.  In this case, we can actually just call ramfs directly to\nallocate memory for the mapping, rather than go via truncate.\n\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "16dbc6c9616363fe53811abcbd935336dc0a0f01",
      "tree": "def1129950caf1e861563b7cbdc1874e7c41fc5c",
      "parents": [
        "08650869e0ec581f8d88cfdb563d37f5383abfe2"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Thu Oct 02 14:50:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 02 15:53:13 2008 -0700"
      },
      "message": "inotify: fix lock ordering wrt do_page_fault\u0027s mmap_sem\n\nFix inotify lock order reversal with mmap_sem due to holding locks over\ncopy_to_user.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReported-by: \"Daniel J Blueman\" \u003cdaniel.blueman@gmail.com\u003e\nTested-by: \"Daniel J Blueman\" \u003cdaniel.blueman@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae1cfb1174c87b43b0639e35e782b7b2c95fb4ff",
      "tree": "656145b6eaaa0b21848fa3a97a2de665f4a5ec7c",
      "parents": [
        "de59985e3a623d4d5d6207f1777398ca0606ab1c",
        "0523820482dcb42784572ffd2296c2f08c275a2b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 01 09:37:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 01 09:37:04 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  af_key: Free dumping state on socket close\n  XFRM,IPv6: initialize ip6_dst_blackhole_ops.kmem_cachep\n  ipv6: NULL pointer dereferrence in tcp_v6_send_ack\n  tcp: Fix NULL dereference in tcp_4_send_ack()\n  sctp: Fix kernel panic while process protocol violation parameter\n  iucv: Fix mismerge again.\n  ipsec: Fix pskb_expand_head corruption in xfrm_state_check_space\n"
    },
    {
      "commit": "cf4b0b2c9520728e170f7a3061e24dbae0b56ed4",
      "tree": "84b014876a95340c66755bbbf6e943478bc4419a",
      "parents": [
        "94aca1dac6f6d21f4b07e4864baf7768cabcc6e7",
        "ccc7dadf736639da86f3e0c86832c11a66fc8221"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 30 08:39:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 30 08:39:28 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimer: prevent migration of per CPU hrtimers\n  hrtimer: mark migration state\n  hrtimer: fix migration of CB_IRQSAFE_NO_SOFTIRQ hrtimers\n  hrtimer: migrate pending list on cpu offline\n\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nTested-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ba0166708ef4da7eeb61dd92bbba4d5a749d6561",
      "tree": "0e28c1d17b67d24125df4f05cbcca94c7e90ccd3",
      "parents": [
        "8b122efd13a227d35d5ca242561770db1b5e3658"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Sep 30 05:32:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 30 05:32:24 2008 -0700"
      },
      "message": "sctp: Fix kernel panic while process protocol violation parameter\n\nSince call to function sctp_sf_abort_violation() need paramter \u0027arg\u0027 with\n\u0027struct sctp_chunk\u0027 type, it will read the chunk type and chunk length from\nthe chunk_hdr member of chunk. But call to sctp_sf_violation_paramlen()\nalways with \u0027struct sctp_paramhdr\u0027 type\u0027s parameter, it will be passed to\nsctp_sf_abort_violation(). This may cause kernel panic.\n\n   sctp_sf_violation_paramlen()\n     |-- sctp_sf_abort_violation()\n        |-- sctp_make_abort_violation()\n\nThis patch fixed this problem. This patch also fix two place which called\nsctp_sf_violation_paramlen() with wrong paramter type.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccc7dadf736639da86f3e0c86832c11a66fc8221",
      "tree": "3f1c0df0a291fec4a10d72cc1ab278ad81e697c5",
      "parents": [
        "b00c1a99e7758f794923c61e5cd55268d61c9469"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 15:47:42 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 17:09:14 2008 +0200"
      },
      "message": "hrtimer: prevent migration of per CPU hrtimers\n\nImpact: per CPU hrtimers can be migrated from a dead CPU\n\nThe hrtimer code has no knowledge about per CPU timers, but we need to\nprevent the migration of such timers and warn when such a timer is\nactive at migration time.\n\nExplicitely mark the timers as per CPU and use a more understandable\nmode descriptor for the interrupts safe unlocked callback mode, which\nis used by hrtimer_sleeper and the scheduler code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b00c1a99e7758f794923c61e5cd55268d61c9469",
      "tree": "aace17598caf3dfaa01f8f2f4c6e587bb1f9a2f8",
      "parents": [
        "41e1022eae71707f1ce6801a746f70b1e57b7567"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 15:44:46 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 17:09:14 2008 +0200"
      },
      "message": "hrtimer: mark migration state\n\nImpact: during migration active hrtimers can be seen as inactive\n\nThe migration code removes the hrtimers from the queues of the dead\nCPU and sets the state temporary to INACTIVE. The enqueue code sets it\nto ACTIVE/PENDING again.\n\nPrevent that the wrong state can be seen by using a separate migration\nstate bit.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "703a1edcd1534468fc18f733c03bd91a65c8c6f0",
      "tree": "4861a7d6e8c600c8d872eb9f3336d6d91eeea614",
      "parents": [
        "95dbf1dbe39ed336a3e72116c95cfa98dd3457e6"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Sep 26 10:36:42 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Sep 26 10:36:42 2008 -0500"
      },
      "message": "kgdb, x86_64: fix PS CS SS registers in gdb serial\n\nOn x86_64 the gdb serial register structure defines the PS (also known\nas eflags), CS and SS registers as 4 bytes entities.\n\nThis patch splits the x86_64 regnames enum into a 32 and 64 version to\naccount for the 32 bit entities in the gdb serial packets.\n\nAlso the program counter is properly filled in for the sleeping\nthreads.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "95dbf1dbe39ed336a3e72116c95cfa98dd3457e6",
      "tree": "47a387fffb1076ce3213b3f44a8147ae875424c3",
      "parents": [
        "d7161a65341556bacb5e6654e133803f46f51063"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Sep 26 10:36:42 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Sep 26 10:36:42 2008 -0500"
      },
      "message": "kgdb, x86_64: gdb serial has BX and DX reversed\n\nThe BX and DX registers in the gdb serial register packet need to be\nflipped for gdb to receive the correct data.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "1126388609dee3f2aca2a64de7b0709d0fede785",
      "tree": "4ab6b74ddcc7d4d1743b87efaf943da1e32fbcfe",
      "parents": [
        "08ec3c2d45bac41c782acb4e3331ac5881b2c68a",
        "5291925a9a65ea334f6e887d0f01dd119b8e2b2e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 24 16:38:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 24 16:38:52 2008 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus:\n  [MIPS] Fixe the definition of PTRS_PER_PGD\n  [MIPS] au1000: Fix gpio direction\n"
    },
    {
      "commit": "b4f151ff899362fec952c45d166252c9912c041f",
      "tree": "7c4453472c21c7d3368b19a504c6841606f36c60",
      "parents": [
        "7a528159b93bc52c14aedff55d53e741227fc846"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 24 17:48:26 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 24 16:38:17 2008 -0700"
      },
      "message": "MN10300: Move asm-arm/cnt32_to_63.h to include/linux/\n\nMove asm-arm/cnt32_to_63.h to include/linux/ so that MN10300 can make\nuse of it too.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a528159b93bc52c14aedff55d53e741227fc846",
      "tree": "742e5b26440ef2c253d543a2b0a4bed8d3496f1e",
      "parents": [
        "fb478da5ba69ecf40729ae8ab37ca406b1e5be48",
        "16ec4700127d479143c77fd9128dfa17ab572963"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 24 15:33:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 24 15:33:50 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  9p: fix put_data error handling\n  9p: use an IS_ERR test rather than a NULL test\n  9p: introduce missing kfree\n  9p-trans_fd: fix and clean up module init/exit paths\n  9p-trans_fd: don\u0027t do fs segment mangling in p9_fd_poll()\n  9p-trans_fd: clean up p9_conn_create()\n  9p-trans_fd: fix trans_fd::p9_conn_destroy()\n  9p: implement proper trans module refcounting and unregistration\n"
    },
    {
      "commit": "72029fe85d8d060b3f966f2dbc36b3c75b5a6532",
      "tree": "ef8948240b0aff2a366136a8303afc70e6c84da8",
      "parents": [
        "72d31053f62c4bc464c2783974926969614a8649"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 24 16:22:23 2008 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.austin.ibm.com",
        "time": "Wed Sep 24 16:22:23 2008 -0500"
      },
      "message": "9p: implement proper trans module refcounting and unregistration\n\n9p trans modules aren\u0027t refcounted nor were they unregistered\nproperly.  Fix it.\n\n* Add 9p_trans_module-\u003eowner and reference the module on each trans\n  instance creation and put it on destruction.\n\n* Protect v9fs_trans_list with a spinlock.  This isn\u0027t strictly\n  necessary as the list is manipulated only during module loading /\n  unloading but it\u0027s a good idea to make the API safe.\n\n* Unregister trans modules when the corresponding module is being\n  unloaded.\n\n* While at it, kill unnecessary EXPORT_SYMBOL on p9_trans_fd_init().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "5291925a9a65ea334f6e887d0f01dd119b8e2b2e",
      "tree": "7cacbbf17ae6b22d9be55c4b862fa064082bf531",
      "parents": [
        "44ce17192a01218b242e032237e1d2e52ef50429"
      ],
      "author": {
        "name": "Jack Tan",
        "email": "jack.tan@windriver.com",
        "time": "Tue Sep 23 22:52:34 2008 +0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Sep 24 00:26:55 2008 +0200"
      },
      "message": "[MIPS] Fixe the definition of PTRS_PER_PGD\n\nWhen we use \u003e 4KB\u0027s page size the original definition is not consistent\nwith PGDIR_SIZE. For exeample, if we use 16KB page size the PGDIR_SHIFT is\n(14-2) + 14 \u003d 26, PGDIR_SIZE is 2^26，so the PTRS_PER_PGD should be:\n\n\t2^32/2^26 \u003d 2^6\n\nbut the original definition of PTRS_PER_PGD is 4096 (PGDIR_ORDER \u003d 0).\n\nSo, this definition needs to be consistent with the PGDIR_SIZE.\n\nAnd the new definition is consistent with the PGD init in pagetable_init().\n\nSigned-off-by: Dajie Tan \u003cjiankemeng@gmail.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "8553f321e0fd29821135ac4797b5f37bf80ae2e9",
      "tree": "fa64ef70c4e503f62a09b56b792bb63b791aa121",
      "parents": [
        "be3be8905854d2fcf6030f1da9ebc221e9e2c5f1",
        "f8e256c687eb53850685747757c8d75e58756e15"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 23 14:57:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 23 14:57:36 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timers: fix build error in !oneshot case\n  x86: c1e_idle: don\u0027t mark TSC unstable if CPU has invariant TSC\n  x86: prevent C-states hang on AMD C1E enabled machines\n  clockevents: prevent mode mismatch on cpu online\n  clockevents: check broadcast device not tick device\n  clockevents: prevent stale tick_next_period for onlining CPUs\n  x86: prevent stale state of c1e_mask across CPU offline/online\n  clockevents: prevent cpu online to interfere with nohz\n"
    },
    {
      "commit": "e002bcc2f8e766a96472379e3b4a8a4e8938a93e",
      "tree": "05135f2664b399bb28323fa7a9c721be698da792",
      "parents": [
        "75f500204c645787c27d6085d39291946c928e02",
        "b08508c40adf3fd1330aabc4f37d3254179776c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 23 12:15:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 23 12:15:50 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI: fix compiler warnings in pci_get_subsys()\n  PCI: Fix pcie_aspm\u003dforce\n"
    },
    {
      "commit": "c32a162fd420fe8dfb049db941b2438061047fcc",
      "tree": "bea33ba6fb2d63044b00e6603a226d8b65ce973b",
      "parents": [
        "683f40d7e7eee06811db43cb4c45349eab0d539e"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill@shutemov.name",
        "time": "Mon Sep 22 13:57:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 23 08:09:13 2008 -0700"
      },
      "message": "smb.h: do not include linux/time.h in userspace\n\nlinux/time.h conflicts with time.h from glibc\n\nIt breaks building smbmount from samba.  It\u0027s regression introduced by\ncommit 76308da (\" smb.h: uses struct timespec but didn\u0027t include\nlinux/time.h\").\n\nSigned-off-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: \u003cstable@kernel.org\u003e             [2.6.26.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a8d6829044901a67732904be5f1eacdf8539604f",
      "tree": "9540f55fd2beb716a5dda0146e3e742c5a48e380",
      "parents": [
        "27ce4cb4a0c7cf59b9a9952266883862f2e4c99f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 22 19:02:25 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 23 11:38:53 2008 +0200"
      },
      "message": "x86: prevent C-states hang on AMD C1E enabled machines\n\nImpact: System hang when AMD C1E machines switch into C2/C3\n\nAMD C1E enabled systems do not work with normal ACPI C-states \neven if the BIOS is advertising them. Limit the C-states to \nC1 for the ACPI processor idle code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4faac97d44ac27bdbb010a9c3597401a8f89341f",
      "tree": "680f128d2bf1cec0fdc77f7a8cb3f3f54264d282",
      "parents": [
        "6441402b1f173fa38e561d3cee7c01c32e5281ad"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 22 18:54:29 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 23 11:38:52 2008 +0200"
      },
      "message": "x86: prevent stale state of c1e_mask across CPU offline/online\n\nImpact: hang which happens across CPU offline/online on AMD C1E systems.\n\nWhen a CPU goes offline then the corresponding bit in the broadcast\nmask is cleared. For AMD C1E enabled CPUs we do not reenable the\nbroadcast when the CPU comes online again as we do not clear the\ncorresponding bit in the c1e_mask, which keeps track which CPUs\nhave been switched to broadcast already. So on those !$@#\u0026 machines\nwe never switch back to broadcasting after a CPU offline/online cycle.\n\nClear the bit when the CPU plays dead.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5a0cd4eb661fea095ff9962060c21c161a9ed43f",
      "tree": "7e1e7a044fc9d04d2da246a58a52bd07c4e5fef0",
      "parents": [
        "b4df9d88a62c6db4cee0d96507a27527bf205dde",
        "7e2c23285454ecc8c8159b86d6343efe222ca3ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 19 16:18:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 19 16:18:21 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  IPoIB: Fix deadlock on RTNL between bcast join comp and ipoib_stop()\n  RDMA/nes: Fix client side QP destroy\n  IB/mlx4: Fix up fast register page list format\n  mlx4_core: Set RAE and init mtt_sz field in FRMR MPT entries\n"
    },
    {
      "commit": "45e9c0de2e86485f8b6633fd64ab19cfbff167f6",
      "tree": "0d4b478f259ea083e3f94363eebdf518413162ae",
      "parents": [
        "c8b0f4382cd7b5e58b17bd30d16898b7f249813c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Sep 15 16:43:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 16 19:39:33 2008 -0700"
      },
      "message": "warn: Turn the netdev timeout WARN_ON() into a WARN()\n\nthis patch turns the netdev timeout WARN_ON_ONCE() into a WARN_ONCE(),\nso that the device and driver names are inside the warning message.\nThis helps automated tools like kerneloops.org to collect the data\nand do statistics, as well as making it more likely that humans\ncut-n-paste the important message as part of a bugreport.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef3d7714f6b75b51825ad0384b5ce48358427e50",
      "tree": "57d7b06320367bf8ec2074f999aae7f9739c9269",
      "parents": [
        "49f276be7ce12d90b6941a000b09e61b68e6c4f2"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 16 15:00:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 16 19:35:05 2008 -0700"
      },
      "message": "Fix PNP build failure, bugzilla #11276\n\nThis fill fix the following regression list entry:\n\nBug-Entry\t: http://bugzilla.kernel.org/show_bug.cgi?id\u003d11276\nSubject\t\t: build error: CONFIG_OPTIMIZE_INLINING\u003dy causes gcc 4.2 to do stupid things\nSubmitter\t: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nDate\t\t: 2008-08-06 17:18 (38 days old)\nReferences\t: http://marc.info/?l\u003dlinux-kernel\u0026m\u003d121804329014332\u0026w\u003d4\n\t\t  http://lkml.org/lkml/2008/7/22/353\nHandled-By\t: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nPatch\t\t: http://lkml.org/lkml/2008/7/22/364\n\nwith what I believe is a better fix than the one referenced\nin the regression entry above.\n\nThese PNP header interfaces try to work in such a way that\nyou can reference some of them even if PNP is not enabled,\nand the compiler was expected to optimize everything away.\n\nWhich is mostly fine, except that there was one interface\nfor which there was not provided an inline \"NOP\" implementation.\n\nOnce we add that, all of these compile failures cannot handle\nany more.\n\npnp: Provide NOP inline implementation of pnp_get_resource() when !PNP\n\nFixes kernel bugzilla #11276.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b08508c40adf3fd1330aabc4f37d3254179776c4",
      "tree": "53a9605ef9d9c937465fa47b05fb9b1a5b52f2e0",
      "parents": [
        "e1f4f59d1ab9ebac44830d6ae450fb358ac559d3"
      ],
      "author": {
        "name": "Greg KH",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 26 08:20:34 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Sep 16 15:52:08 2008 -0700"
      },
      "message": "PCI: fix compiler warnings in pci_get_subsys()\n\npci_get_subsys() changed in 2.6.26 so that the from pointer is modified\nwhen the call is being invoked, so fix up the \u0027const\u0027 marking of it that\nthe compiler is complaining about.\n\nReported-by: Rufus \u0026 Azrael \u003crufus-azrael@numericable.fr\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "29bdc88384c2b24e37e5760df0dc898546083d6b",
      "tree": "9d8fe16ac4728ab669f81a763effda21301d9ddf",
      "parents": [
        "c9257433f2eaf8803a1f3d3be5d984232db41ffe"
      ],
      "author": {
        "name": "Vladimir Sokolovsky",
        "email": "vlad@mellanox.co.il",
        "time": "Mon Sep 15 14:25:23 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Sep 15 14:25:23 2008 -0700"
      },
      "message": "IB/mlx4: Fix up fast register page list format\n\nByte swap the addresses in the page list for fast register work requests\nto big endian to match what the HCA expectx.  Also, the addresses must\nhave the \"present\" bit set so that the HCA knows it can access them.\nOtherwise the HCA will fault the first time it accesses the memory\nregion.\n\nSigned-off-by: Vladimir Sokolovsky \u003cvlad@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "7c22a3d853804d2716ef4f90cdd693a83819ba11",
      "tree": "b0f5f71166c85e4178d9b3658be9a2ab35591bd6",
      "parents": [
        "0cb60efd03ed82d02f44a14594714367e59e8abc",
        "97b697a11b07e2ebfa69c488132596cc5eb24119"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 13 14:48:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 13 14:48:14 2008 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  [libata] LBA28/LBA48 off-by-one bug in ata.h\n  sata_inic162x: enable LED blinking\n  ata: duplicate variable sparse warning\n"
    },
    {
      "commit": "c19e80808b34b3de5c20884f11f58c3b6988daff",
      "tree": "97a19986b95a23fb9da450e7d6b19fcc94ed6da9",
      "parents": [
        "344a7829c421ce6c626cb94c6576f66a7c28a871",
        "cff502a38394fd33693f6233e03fca363dfa956d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 13 14:46:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 13 14:46:57 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  niu: panic on reset\n  netlink: fix overrun in attribute iteration\n  [Bluetooth] Fix regression from using default link policy\n  ath9k: Assign seq# when mac80211 requests this\n"
    },
    {
      "commit": "8e82f8c34b1759ae0d80fe96101746ec51fb1ba4",
      "tree": "376e4c63b96c214bc50290742996b0b9b4b01e10",
      "parents": [
        "8d99f83b9478768d3a8d7d1bcd9bd182c75a0447"
      ],
      "author": {
        "name": "Alex Dubov",
        "email": "oakad@yahoo.com",
        "time": "Sat Sep 13 02:33:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 13 14:41:52 2008 -0700"
      },
      "message": "memstick: fix MSProHG 8-bit interface mode support\n\n- 8-bit interface mode never worked properly.  The only adapter I have\n  which supports the 8b mode (the Jmicron) had some problems with its\n  clock wiring and they discovered it only now.  We also discovered that\n  ProHG media is more sensitive to the ordering of initialization\n  commands.\n\n- Make the driver fall back to highest supported mode instead of always\n  falling back to serial.  The driver will attempt the switch to 8b mode\n  for any new MSPro card, but not all of them support it.  Previously,\n  these new cards ended up in serial mode, which is not the best idea\n  (they work fine with 4b, after all).\n\n- Edit some macros for better conformance to Sony documentation\n\nSigned-off-by: Alex Dubov \u003coakad@yahoo.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5bead2a0680687b9576d57c177988e8aa082b922",
      "tree": "25d8db69bd7b353131f9a5260d024d3018eeffa0",
      "parents": [
        "7e96445533ac3f4f7964646a202ff3620602fab4"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Sat Sep 13 02:33:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 13 14:41:52 2008 -0700"
      },
      "message": "mm: mark the correct zone as full when scanning zonelists\n\nThe iterator for_each_zone_zonelist() uses a struct zoneref *z cursor when\nscanning zonelists to keep track of where in the zonelist it is.  The\nzoneref that is returned corresponds to the the next zone that is to be\nscanned, not the current one.  It was intended to be treated as an opaque\nlist.\n\nWhen the page allocator is scanning a zonelist, it marks elements in the\nzonelist corresponding to zones that are temporarily full.  As the\nzonelist is being updated, it uses the cursor here;\n\n  if (NUMA_BUILD)\n        zlc_mark_zone_full(zonelist, z);\n\nThis is intended to prevent rescanning in the near future but the zoneref\ncursor does not correspond to the zone that has been found to be full.\nThis is an easy misunderstanding to make so this patch corrects the\nproblem by changing zoneref cursor to be the current zone being scanned\ninstead of the next one.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.26.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dea420ce0e2973e8ef1fd11fde6804c8d03a82ad",
      "tree": "b5dcf39a9d36693eac02813db2b603500e545e59",
      "parents": [
        "665020c35e89a9e0643e21561e4f8f967f4f2c4b"
      ],
      "author": {
        "name": "Hiroshi DOYU",
        "email": "Hiroshi.DOYU@nokia.com",
        "time": "Sat Sep 13 02:33:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 13 14:41:50 2008 -0700"
      },
      "message": "include/linux/ioport.h: add missing macro argument for devm_release_* family\n\nakpm: these have no callers at this time, but they shall soon, so let\u0027s\nget them right.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Hiroshi DOYU \u003cHiroshi.DOYU@nokia.com\u003e\nCc: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97b697a11b07e2ebfa69c488132596cc5eb24119",
      "tree": "942176291faf6ab0dff6297708ca8b98f6e2e8c1",
      "parents": [
        "99580664aa83ca04bb52988d504a4195b41833b0"
      ],
      "author": {
        "name": "Taisuke Yamada",
        "email": "tai@rakugaki.org",
        "time": "Sat Sep 13 16:46:15 2008 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Sat Sep 13 16:46:15 2008 -0400"
      },
      "message": "[libata] LBA28/LBA48 off-by-one bug in ata.h\n\nI recently bought 3 HGST P7K500-series 500GB SATA drives and\nhad trouble accessing the block right on the LBA28-LBA48 border.\nHere\u0027s how it fails (same for all 3 drives):\n\n  # dd if\u003d/dev/sdc bs\u003d512 count\u003d1 skip\u003d268435455 \u003e /dev/null\n  dd: reading `/dev/sdc\u0027: Input/output error\n  0+0 records in\n  0+0 records out\n  0 bytes (0 B) copied, 0.288033 seconds, 0.0 kB/s\n  # dmesg\n  ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0\n  ata1.00: BMDMA stat 0x25\n  ata1.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in\n  res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)\n  ata1.00: status: { DRDY ERR }\n  ata1.00: error: { ABRT }\n  ata1.00: configured for UDMA/33\n  ata1: EH complete\n  ...\n\nAfter some investigations, it turned out this seems to be caused\nby misinterpretation of the ATA specification on LBA28 access.\nFollowing part is the code in question:\n\n  \u003d\u003d\u003d include/linux/ata.h \u003d\u003d\u003d\n  static inline int lba_28_ok(u64 block, u32 n_block)\n  {\n    /* check the ending block number */\n    return ((block + n_block - 1) \u003c ((u64)1 \u003c\u003c 28)) \u0026\u0026 (n_block \u003c\u003d 256);\n  }\n\nHGST drive (sometimes) fails with LBA28 access of {block \u003d 0xfffffff,\nn_block \u003d 1}, and this behavior seems to be comformant. Other drives,\nincluding other HGST drives are not that strict, through.\n\n\u003eFrom the ATA specification:\n(http://www.t13.org/Documents/UploadedDocuments/project/d1410r3b-ATA-ATAPI-6.pdf)\n\n  8.15.29  Word (61:60): Total number of user addressable sectors\n  This field contains a value that is one greater than the total number\n  of user addressable sectors (see 6.2). The maximum value that shall\n  be placed in this field is 0FFFFFFFh.\n\nSo the driver shouldn\u0027t use the value of 0xfffffff for LBA28 request\nas this exceeds maximum user addressable sector. The logical maximum\nvalue for LBA28 is 0xffffffe.\n\nThe obvious fix is to cut \"- 1\" part, and the patch attached just do\nthat. I\u0027ve been using the patched kernel for about a month now, and\nthe same fix is also floating on the net for some time. So I believe\nthis fix works reliably.\n\nJust FYI, many Windows/Intel platform users also seems to be struck\nby this, and HGST has issued a note pointing to Intel ICH8/9 driver.\n\n  \"28-bit LBA command is being used to access LBAs 29-bits in length\"\nhttp://www.hitachigst.com/hddt/knowtree.nsf/cffe836ed7c12018862565b000530c74/b531b8bce8745fb78825740f00580e23\n\nAlso, *BSDs seems to have similar fix included sometime around ~2004,\nthrough I have not checked out exact portion of the code.\n\nSigned-off-by: Taisuke Yamada \u003ctai@rakugaki.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "1045b03e07d85f3545118510a587035536030c1c",
      "tree": "77576a1f1ea8184d6701a89c2e624919ce3e837a",
      "parents": [
        "69da6b87fcb270f758fe75141c32e041f8db510c"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Thu Sep 11 19:05:29 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 11 19:05:29 2008 -0700"
      },
      "message": "netlink: fix overrun in attribute iteration\n\nkmemcheck reported this:\n\n  kmemcheck: Caught 16-bit read from uninitialized memory (f6c1ba30)\n  0500110001508abf050010000500000002017300140000006f72672e66726565\n   i i i i i i i i i i i i i u u u u u u u u u u u u u u u u u u u\n                                   ^\n\n  Pid: 3462, comm: wpa_supplicant Not tainted (2.6.27-rc3-00054-g6397ab9-dirty #13)\n  EIP: 0060:[\u003cc05de64a\u003e] EFLAGS: 00010296 CPU: 0\n  EIP is at nla_parse+0x5a/0xf0\n  EAX: 00000008 EBX: fffffffd ECX: c06f16c0 EDX: 00000005\n  ESI: 00000010 EDI: f6c1ba30 EBP: f6367c6c ESP: c0a11e88\n   DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\n  CR0: 8005003b CR2: f781cc84 CR3: 3632f000 CR4: 000006d0\n  DR0: c0ead9bc DR1: 00000000 DR2: 00000000 DR3: 00000000\n  DR6: ffff4ff0 DR7: 00000400\n   [\u003cc05d4b23\u003e] rtnl_setlink+0x63/0x130\n   [\u003cc05d5f75\u003e] rtnetlink_rcv_msg+0x165/0x200\n   [\u003cc05ddf66\u003e] netlink_rcv_skb+0x76/0xa0\n   [\u003cc05d5dfe\u003e] rtnetlink_rcv+0x1e/0x30\n   [\u003cc05dda21\u003e] netlink_unicast+0x281/0x290\n   [\u003cc05ddbe9\u003e] netlink_sendmsg+0x1b9/0x2b0\n   [\u003cc05beef2\u003e] sock_sendmsg+0xd2/0x100\n   [\u003cc05bf945\u003e] sys_sendto+0xa5/0xd0\n   [\u003cc05bf9a6\u003e] sys_send+0x36/0x40\n   [\u003cc05c03d6\u003e] sys_socketcall+0x1e6/0x2c0\n   [\u003cc020353b\u003e] sysenter_do_call+0x12/0x3f\n   [\u003cffffffff\u003e] 0xffffffff\n\nThis is the line in nla_ok():\n\n  /**\n   * nla_ok - check if the netlink attribute fits into the remaining bytes\n   * @nla: netlink attribute\n   * @remaining: number of bytes remaining in attribute stream\n   */\n  static inline int nla_ok(const struct nlattr *nla, int remaining)\n  {\n          return remaining \u003e\u003d sizeof(*nla) \u0026\u0026\n                 nla-\u003enla_len \u003e\u003d sizeof(*nla) \u0026\u0026\n                 nla-\u003enla_len \u003c\u003d remaining;\n  }\n\nIt turns out that remaining can become negative due to alignment in\nnla_next(). But GCC promotes \"remaining\" to unsigned in the test\nagainst sizeof(*nla) above. Therefore the test succeeds, and the\nnla_for_each_attr() may access memory outside the received buffer.\n\nA short example illustrating this point is here:\n\n  #include \u003cstdio.h\u003e\n\n  main(void)\n  {\n          printf(\"%d\\n\", -1 \u003e\u003d sizeof(int));\n  }\n\n...which prints \"1\".\n\nThis patch adds a cast in front of the sizeof so that GCC will make\na signed comparison and fix the illegal memory dereference. With the\npatch applied, there is no kmemcheck report.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nAcked-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d242a263618ba7f0f9a41dd91b347d19e704bbe",
      "tree": "1c532ca96d543bd2335a5915d9c7646ffe776eba",
      "parents": [
        "a0a4a2cb0d69446c084792a40884d911dfc3cf27",
        "2dc75d3c3b49c64fd26b4832a7efb75546cb3fc5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 11 08:42:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 11 08:42:55 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: disable sysfs parts of the disk command filter\n"
    },
    {
      "commit": "29cd195e078db0d90dd447a156039513ecdd8f16",
      "tree": "597d84bcde72b5710d5b178f4aadb484f9e83172",
      "parents": [
        "c529b7e2db948e240c48c54a83d0b6279275e57d",
        "01b291bd66564b4bd826326af6bd0b6d17e99439"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 11 08:41:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 11 08:41:17 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:\n  [SCSI] fix check of PQ and PDT bits for WLUNs\n  [SCSI] make scsi_check_sense HARDWARE_ERROR return ADD_TO_MLQUEUE on retry\n  [SCSI] scsi_dh: make check_sense return ADD_TO_MLQUEUE\n  [SCSI] zfcp: Remove duplicated unlikely() macros.\n  [SCSI] zfcp: channel cannot be detached due to refcount imbalance\n  [SCSI] zfcp: Fix reference counter for remote ports\n  [SCSI] zfcp: Simplify ccw notify handler\n  [SCSI] zfcp: Correctly query end flag in gpn_ft response\n  [SCSI] zfcp: Fix request queue locking\n  [SCSI] sd: select CRC_T10DIF only when necessary\n"
    },
    {
      "commit": "2dc75d3c3b49c64fd26b4832a7efb75546cb3fc5",
      "tree": "908ae81851ca06d46a680d8e6c33afdfb292c131",
      "parents": [
        "adee14b2e1557d0a8559f29681732d05a89dfc35"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Sep 11 14:20:23 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Sep 11 14:20:23 2008 +0200"
      },
      "message": "block: disable sysfs parts of the disk command filter\n\nWe still have life time issues with the sysfs command filter kobject,\nso disable it for 2.6.27 release. We can revisit this and make it work\nproperly for 2.6.28, for 2.6.27 release it\u0027s too risky.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "91cd99f677ada2af90b06cb1f59e99f27ade5740",
      "tree": "b721c3216f9a33a44efede51831398bd24f9e858",
      "parents": [
        "5b0dac745f2e43836e8fb2920391834d8a8f7fed",
        "e550dfb0c2c31b6363aa463a035fc9f8dcaa3c9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 09 16:25:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 09 16:25:58 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  ipv6: Fix OOPS in ip6_dst_lookup_tail().\n  ipsec: Restore larval states and socket policies in dump\n  [Bluetooth] Reject L2CAP connections on an insecure ACL link\n  [Bluetooth] Enforce correct authentication requirements\n  [Bluetooth] Fix reference counting during ACL config stage\n"
    },
    {
      "commit": "deac93df26b20cf8438339b5935b5f5643bc30c9",
      "tree": "8e67edd505e4a8bde380c724b67ce9ca98b8ee91",
      "parents": [
        "7ae115b4f50d3c5824f1a15e572b5de9d1b06d35"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Sep 03 20:43:36 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 09 11:51:15 2008 -0700"
      },
      "message": "lib: Correct printk %pF to work on all architectures\n\nIt was introduced by \"vsprintf: add support for \u0027%pS\u0027 and \u0027%pF\u0027 pointer\nformats\" in commit 0fe1ef24f7bd0020f29ffe287dfdb9ead33ca0b2.  However,\nthe current way its coded doesn\u0027t work on parisc64.  For two reasons: 1)\nparisc isn\u0027t in the #ifdef and 2) parisc has a different format for\nfunction descriptors\n\nMake dereference_function_descriptor() more accommodating by allowing\narchitecture overrides.  I put the three overrides (for parisc64, ppc64\nand ia64) in arch/kernel/module.c because that\u0027s where the kernel\ninternal linker which knows how to deal with function descriptors sits.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd9ec7d31ffc36917dc7cac0fd0435f587a572d4",
      "tree": "844da38556f1334959d47bab1d04d0937df8efa5",
      "parents": [
        "82a28c794f27aac17d7a3ebd7f14d731a11a5532",
        "e7c29cb16c833441fd2160642bb13025f4e7ac70"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 09 02:11:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 09 02:11:11 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6\n"
    },
    {
      "commit": "e7c29cb16c833441fd2160642bb13025f4e7ac70",
      "tree": "7ba44be60b7bf9c4e7bee459735ebabdc85eb8fd",
      "parents": [
        "09ab6f4c2376a0fc31abde1e2991513f900ea825"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "message": "[Bluetooth] Reject L2CAP connections on an insecure ACL link\n\nThe Security Mode 4 of the Bluetooth 2.1 specification has strict\nauthentication and encryption requirements. It is the initiators job\nto create a secure ACL link. However in case of malicious devices, the\nacceptor has to make sure that the ACL is encrypted before allowing\nany kind of L2CAP connection. The only exception here is the PSM 1 for\nthe service discovery protocol, because that is allowed to run on an\ninsecure ACL link.\n\nPreviously it was enough to reject a L2CAP connection during the\nconnection setup phase, but with Bluetooth 2.1 it is forbidden to\ndo any L2CAP protocol exchange on an insecure link (except SDP).\n\nThe new hci_conn_check_link_mode() function can be used to check the\nintegrity of an ACL link. This functions also takes care of the cases\nwhere Security Mode 4 is disabled or one of the devices is based on\nan older specification.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "09ab6f4c2376a0fc31abde1e2991513f900ea825",
      "tree": "f002d719a8a9a2c6344f06a5b9346bc053b4054d",
      "parents": [
        "f1c08ca559387ab30992055596d54061dfa022b1"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "message": "[Bluetooth] Enforce correct authentication requirements\n\nWith the introduction of Security Mode 4 and Simple Pairing from the\nBluetooth 2.1 specification it became mandatory that the initiator\nrequires authentication and encryption before any L2CAP channel can\nbe established. The only exception here is PSM 1 for the service\ndiscovery protocol (SDP). It is meant to be used without any encryption\nsince it contains only public information. This is how Bluetooth 2.0\nand before handle connections on PSM 1.\n\nFor Bluetooth 2.1 devices the pairing procedure differentiates between\nno bonding, general bonding and dedicated bonding. The L2CAP layer\nwrongly uses always general bonding when creating new connections, but it\nshould not do this for SDP connections. In this case the authentication\nrequirement should be no bonding and the just-works model should be used,\nbut in case of non-SDP connection it is required to use general bonding.\n\nIf the new connection requires man-in-the-middle (MITM) protection, it\nalso first wrongly creates an unauthenticated link key and then later on\nrequests an upgrade to an authenticated link key to provide full MITM\nprotection. With Simple Pairing the link key generation is an expensive\noperation (compared to Bluetooth 2.0 and before) and doing this twice\nduring a connection setup causes a noticeable delay when establishing\na new connection. This should be avoided to not regress from the expected\nBluetooth 2.0 connection times. The authentication requirements are known\nup-front and so enforce them.\n\nTo fulfill these requirements the hci_connect() function has been extended\nwith an authentication requirement parameter that will be stored inside\nthe connection information and can be retrieved by userspace at any\ntime. This allows the correct IO capabilities exchange and results in\nthe expected behavior.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "e1d7bf14999469b16e86889ac71c94a9d0d2f5f4",
      "tree": "32d56c2faac08ac02730a46498183e7222744705",
      "parents": [
        "e228c1b51ef572843827630e643a682ef492b933",
        "291c54ff764d12ecc9a916cb478a0bbb45c5990e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 08 15:47:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 08 15:47:21 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: arch_reinit_sched_domains() must destroy domains to force rebuild\n  sched, cpuset: rework sched domains and CPU hotplug handling (v4)\n"
    },
    {
      "commit": "bcbc713470283bc82d043fd23b02e41a9eb8dee5",
      "tree": "2cd88a1b83dad55dc9e489f151114c0717015ac5",
      "parents": [
        "b364e2f5262e972e731a576dfc6ede0689a6c19e",
        "8d4698f7a54a492a1b96c505b30fe750ae3e61d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 08 15:43:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 08 15:43:44 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  bridge: don\u0027t allow setting hello time to zero\n  netns : fix kernel panic in timewait socket destruction\n  pkt_sched: Fix qdisc state in net_tx_action()\n  netfilter: nf_conntrack_irc: make sure string is terminated before calling simple_strtoul\n  netfilter: nf_conntrack_gre: nf_ct_gre_keymap_flush() fixlet\n  netfilter: nf_conntrack_gre: more locking around keymap list\n  netfilter: nf_conntrack_sip: de-static helper pointers\n"
    },
    {
      "commit": "d315492b1a6ba29da0fa2860759505ae1b2db857",
      "tree": "1019a3c34af19939733e6d1e7d3163c73c73eb69",
      "parents": [
        "e8a83e10d7dfe5d0841062780769b30f65417e15"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Mon Sep 08 13:17:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 08 13:17:27 2008 -0700"
      },
      "message": "netns : fix kernel panic in timewait socket destruction\n\nHow to reproduce ?\n - create a network namespace\n - use tcp protocol and get timewait socket\n - exit the network namespace\n - after a moment (when the timewait socket is destroyed), the kernel\n   panics.\n\n# BUG: unable to handle kernel NULL pointer dereference at\n0000000000000007\nIP: [\u003cffffffff821e394d\u003e] inet_twdr_do_twkill_work+0x6e/0xb8\nPGD 119985067 PUD 11c5c0067 PMD 0\nOops: 0000 [1] SMP\nCPU 1\nModules linked in: ipv6 button battery ac loop dm_mod tg3 libphy ext3 jbd\nedd fan thermal processor thermal_sys sg sata_svw libata dock serverworks\nsd_mod scsi_mod ide_disk ide_core [last unloaded: freq_table]\nPid: 0, comm: swapper Not tainted 2.6.27-rc2 #3\nRIP: 0010:[\u003cffffffff821e394d\u003e] [\u003cffffffff821e394d\u003e]\ninet_twdr_do_twkill_work+0x6e/0xb8\nRSP: 0018:ffff88011ff7fed0 EFLAGS: 00010246\nRAX: ffffffffffffffff RBX: ffffffff82339420 RCX: ffff88011ff7ff30\nRDX: 0000000000000001 RSI: ffff88011a4d03c0 RDI: ffff88011ac2fc00\nRBP: ffffffff823392e0 R08: 0000000000000000 R09: ffff88002802a200\nR10: ffff8800a5c4b000 R11: ffffffff823e4080 R12: ffff88011ac2fc00\nR13: 0000000000000001 R14: 0000000000000001 R15: 0000000000000000\nFS: 0000000041cbd940(0000) GS:ffff8800bff839c0(0000)\nknlGS:0000000000000000\nCS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b\nCR2: 0000000000000007 CR3: 00000000bd87c000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess swapper (pid: 0, threadinfo ffff8800bff9e000, task\nffff88011ff76690)\nStack: ffffffff823392e0 0000000000000100 ffffffff821e3a3a\n0000000000000008\n0000000000000000 ffffffff821e3a61 ffff8800bff7c000 ffffffff8203c7e7\nffff88011ff7ff10 ffff88011ff7ff10 0000000000000021 ffffffff82351108\nCall Trace:\n\u003cIRQ\u003e [\u003cffffffff821e3a3a\u003e] ? inet_twdr_hangman+0x0/0x9e\n[\u003cffffffff821e3a61\u003e] ? inet_twdr_hangman+0x27/0x9e\n[\u003cffffffff8203c7e7\u003e] ? run_timer_softirq+0x12c/0x193\n[\u003cffffffff820390d1\u003e] ? __do_softirq+0x5e/0xcd\n[\u003cffffffff8200d08c\u003e] ? call_softirq+0x1c/0x28\n[\u003cffffffff8200e611\u003e] ? do_softirq+0x2c/0x68\n[\u003cffffffff8201a055\u003e] ? smp_apic_timer_interrupt+0x8e/0xa9\n[\u003cffffffff8200cad6\u003e] ? apic_timer_interrupt+0x66/0x70\n\u003cEOI\u003e [\u003cffffffff82011f4c\u003e] ? default_idle+0x27/0x3b\n[\u003cffffffff8200abbd\u003e] ? cpu_idle+0x5f/0x7d\n\n\nCode: e8 01 00 00 4c 89 e7 41 ff c5 e8 8d fd ff ff 49 8b 44 24 38 4c 89 e7\n65 8b 14 25 24 00 00 00 89 d2 48 8b 80 e8 00 00 00 48 f7 d0 \u003c48\u003e 8b 04 d0\n48 ff 40 58 e8 fc fc ff ff 48 89 df e8 c0 5f 04 00\nRIP [\u003cffffffff821e394d\u003e] inet_twdr_do_twkill_work+0x6e/0xb8\nRSP \u003cffff88011ff7fed0\u003e\nCR2: 0000000000000007\n\nThis patch provides a function to purge all timewait sockets related\nto a network namespace. The timewait sockets life cycle is not tied with\nthe network namespace, that means the timewait sockets stay alive while\nthe network namespace dies. The timewait sockets are for avoiding to\nreceive a duplicate packet from the network, if the network namespace is\nfreed, the network stack is removed, so no chance to receive any packets\nfrom the outside world. Furthermore, having a pending destruction timer\non these sockets with a network namespace freed is not safe and will lead\nto an oops if the timer callback which try to access data belonging to \nthe namespace like for example in:\n\tinet_twdr_do_twkill_work\n\t\t-\u003e NET_INC_STATS_BH(twsk_net(tw), LINUX_MIB_TIMEWAITED);\n\nPurging the timewait sockets at the network namespace destruction will:\n 1) speed up memory freeing for the namespace\n 2) fix kernel panic on asynchronous timewait destruction\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64f996f670e9477072a43b226294ea1cc153f6ac",
      "tree": "5cffca570e164bcd190b5044f6eb0f7c8180f262",
      "parents": [
        "f5325225658737e6c9cb8e24373e2c281a90be2a",
        "23952a96ae738277f3139b63d622e22984589031"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:36:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:36:23 2008 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: cpu_init(): fix memory leak when using CPU hotplug\n  x86: pda_init(): fix memory leak when using CPU hotplug\n  x86, xen: Use native_pte_flags instead of native_pte_val for .pte_flags\n  x86: move mtrr cpu cap setting early in early_init_xxxx\n  x86: delay early cpu initialization until cpuid is done\n  x86: use X86_FEATURE_NOPL in alternatives\n  x86: add NOPL as a synthetic CPU feature bit\n  x86: boot: stub out unimplemented CPU feature words\n"
    },
    {
      "commit": "f5325225658737e6c9cb8e24373e2c281a90be2a",
      "tree": "f1daf00b394b543876b6ffbfd67c050c3bb1b114",
      "parents": [
        "4747832b56a95dbeb0cef4714e6fcc766eed0a95",
        "4ab6a219113197425ac112e35e1ec8062c69888e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:33:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:33:26 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  clocksource, acpi_pm.c: check for monotonicity\n  clocksource, acpi_pm.c: use proper read function also in errata mode\n  ntp: fix calculation of the next jiffie to trigger RTC sync\n  x86: HPET: read back compare register before reading counter\n  x86: HPET fix moronic 32/64bit thinko\n  clockevents: broadcast fixup possible waiters\n  HPET: make minimum reprogramming delta useful\n  clockevents: prevent endless loop lockup\n  clockevents: prevent multiple init/shutdown\n  clockevents: enforce reprogram in oneshot setup\n  clockevents: prevent endless loop in periodic broadcast handler\n  clockevents: prevent clockevent event_handler ending up handler_noop\n"
    },
    {
      "commit": "a22a9a90cfbcc91c3e0f8dc8549535e2786d3e7e",
      "tree": "799e60e111e2f5179c7ffd81483abd1d2397003b",
      "parents": [
        "70bb08962ea9bd50797ae9f16b2493f5f7c65053",
        "0011036beeffeada15acd1936d67988de21ca65e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:32:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:32:21 2008 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus:\n  [MIPS] Probe initrd header only if explicitly specified\n  [MIPS] TX39xx: Add missing local_flush_icache_range initialization\n  [MIPS] TXx9: Fix txx9_pcode initialization\n  [MIPS] Fix WARNING: at kernel/smp.c:290\n  [MIPS] Fix data bus error recovery\n"
    },
    {
      "commit": "291c54ff764d12ecc9a916cb478a0bbb45c5990e",
      "tree": "bb89231e59e51520d91f102663b793bd34125c41",
      "parents": [
        "49048622eae698e5c4ae61f7e71200f265ccc529",
        "dfb512ec4834116124da61d6c1ee10fd0aa32bd6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 21:03:16 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 21:03:16 2008 +0200"
      },
      "message": "Merge branch \u0027sched/cpuset\u0027 into sched/urgent\n"
    },
    {
      "commit": "dfb512ec4834116124da61d6c1ee10fd0aa32bd6",
      "tree": "ea4f847f2a29face1b5774c6d44ec41bf92e302b",
      "parents": [
        "cf417141cbb3a4ceb5cca15b2c1f099bd0a6603c"
      ],
      "author": {
        "name": "Max Krasnyansky",
        "email": "maxk@qualcomm.com",
        "time": "Fri Aug 29 13:11:41 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 19:22:15 2008 +0200"
      },
      "message": "sched: arch_reinit_sched_domains() must destroy domains to force rebuild\n\nWhat I realized recently is that calling rebuild_sched_domains() in\narch_reinit_sched_domains() by itself is not enough when cpusets are enabled.\npartition_sched_domains() code is trying to avoid unnecessary domain rebuilds\nand will not actually rebuild anything if new domain masks match the old ones.\n\nWhat this means is that doing\n     echo 1 \u003e /sys/devices/system/cpu/sched_mc_power_savings\non a system with cpusets enabled will not take affect untill something changes\nin the cpuset setup (ie new sets created or deleted).\n\nThis patch fixes restore correct behaviour where domains must be rebuilt in\norder to enable MC powersaving flags.\n\nTest on quad-core Core2 box with both CONFIG_CPUSETS and !CONFIG_CPUSETS.\nAlso tested on dual-core Core2 laptop. Lockdep is happy and things are working\nas expected.\n\nSigned-off-by: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nTested-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b6734c35af028f06772c0b2c836c7d579e6d4dad",
      "tree": "ecdfc0dc851f440b0f5861b8c3fe6b582d516d1b",
      "parents": [
        "b74b06c5f6612a72298f37baa65460a59c26ca67"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 18 17:39:32 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Sep 05 16:13:52 2008 -0700"
      },
      "message": "x86: add NOPL as a synthetic CPU feature bit\n\nThe long noops (\"NOPL\") are supposed to be detected by family \u003e\u003d 6.\nUnfortunately, several non-Intel x86 implementations, both hardware\nand software, don\u0027t obey this dictum.  Instead, probe for NOPL\ndirectly by executing a NOPL instruction and see if we get #UD.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "22f30168d296dbb54a21ebad44c9d735bca6f67b",
      "tree": "6006e18acb6b1157d9b1b0cf9790f4369d84bc4c",
      "parents": [
        "34a35bddb9382fc2663e3137875ee58928f7d704"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Sep 05 14:00:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 05 14:39:38 2008 -0700"
      },
      "message": "tracehook: comment pasto fixes\n\nFix some pasto\u0027s in comments in the new linux/tracehook.h and\nasm-generic/syscall.h files.\n\nReported-by: Wenji Huang \u003cwenji.huang@oracle.com\u003e\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "11d55d2cba6e867be8955e5ae011c54c556b849f"
}
