)]}'
{
  "log": [
    {
      "commit": "8d40fa2492eb3dcf02468eef2f6bba450be42b22",
      "tree": "7ef6d3d02bbb26d23c2543fca3d35bb296955b79",
      "parents": [
        "3e24ad2ff9d477f949acd0982cf12e58812210cb"
      ],
      "author": {
        "name": "jvrao",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Mon Aug 30 13:23:20 2010 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:45 2010 -0500"
      },
      "message": "fs/9p: Remove the redundant rsize calculation in v9fs_file_write()\n\nthe same calculation is done in p9_client_write\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "3e24ad2ff9d477f949acd0982cf12e58812210cb",
      "tree": "f234e6df673e7d2a6e394949dbe7f98ed6032a8c",
      "parents": [
        "4f7ebe807242898ee08ed732d56982874442c304"
      ],
      "author": {
        "name": "jvrao",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Tue Aug 24 15:43:28 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:45 2010 -0500"
      },
      "message": "9p: Add a Direct IO support for non-cached operations.\n\nThe presence of v9fs_direct_IO() in the address space ops vector\nallowes open() O_DIRECT flags which would have failed otherwise.\n\nIn the non-cached mode, we shunt off direct read and write requests before\nthe VFS gets them, so this method should never be called.\n\nDirect IO is not \u0027yet\u0027 supported in the cached mode. Hence when\nthis routine is called through generic_file_aio_read(), the read/write fails\nwith an error.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "4f7ebe807242898ee08ed732d56982874442c304",
      "tree": "25d8cec6b3a487fb9b44b3af20179a6f7b5db36d",
      "parents": [
        "7c7298cffc8f4417c95117c2a432f962c066499d"
      ],
      "author": {
        "name": "Arun R Bharadwaj",
        "email": "arun@linux.vnet.ibm.com",
        "time": "Wed Jul 28 14:17:26 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:45 2010 -0500"
      },
      "message": "net/9p: This patch implements TLERROR/RLERROR on the 9P client.\n\nSigned-off-by: Arun R Bharadwaj \u003carun@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "7c7298cffc8f4417c95117c2a432f962c066499d",
      "tree": "76557c0e621724ee32ddea2748f8b84681ae1ceb",
      "parents": [
        "8812a3d5f873e28cd08ec8afe328c4182b72db49"
      ],
      "author": {
        "name": "Harsh Prateek Bora",
        "email": "harsh@linux.vnet.ibm.com",
        "time": "Wed Aug 18 06:01:52 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:45 2010 -0500"
      },
      "message": "fs/9p: mkdir fix for setting S_ISGID bit as per parent directory\n\nThe current implementation of 9p client mkdir function does not\nset the S_ISGID mode bit for the directory being created if the\nparent directory has this bit set. This patch fixes this problem\nso that the newly created directory inherits the gid from parent\ndirectory and not from the process creating this directory, when\nthe S_ISGID bit is set in parent directory.\n\nSigned-off-by: Harsh Prateek Bora \u003charsh@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "8812a3d5f873e28cd08ec8afe328c4182b72db49",
      "tree": "8e1ce30ea7bb5f3cf0c19394ade1e101617581f7",
      "parents": [
        "3834b12a18d51d6c535ea52e16355d75806ffe38"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Mon Aug 09 11:33:10 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:44 2010 -0500"
      },
      "message": "9p: Pass the correct end of buffer to p9dirent_read\n\nA patch was accepted recently for sending correct buffer size to p9stat_read.\nWe need a similar patch in v9fs_dir_readdir_dotl to send correct end of buffer\nto p9dirent_read.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "3834b12a18d51d6c535ea52e16355d75806ffe38",
      "tree": "d3ccd5ac5e0610ca7b1e5a937eeaf827db548786",
      "parents": [
        "57ee047b4d6bb4bcc74be0329441d1b242e57e61"
      ],
      "author": {
        "name": "Harsh Prateek Bora",
        "email": "harsh@linux.vnet.ibm.com",
        "time": "Tue Aug 03 11:55:40 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:44 2010 -0500"
      },
      "message": "fs/9p: setrlimit fix for 9p write\n\nCurrent 9p client file write code does not check for RLIMIT_FSIZE resource.\nThis bug was found by running LTP test case for setrlimit. This bug is fixed\nby calling generic_write_checks before sending the write request to the\nserver.\nWithout this patch: the write function is allowed to write above the\nRLIMIT_FSIZE set by user.\nWith this patch: the write function checks for RLIMIT_SIZE and writes upto\nthe size limit.\n\nSigned-off-by: Harsh Prateek Bora \u003charsh@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "57ee047b4d6bb4bcc74be0329441d1b242e57e61",
      "tree": "e20693fb908d044d0bb818e9c8b32dc0efdf7384",
      "parents": [
        "81280572ca6f54009edfa4deee563e8678784218"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Aug 04 16:29:03 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:44 2010 -0500"
      },
      "message": "9p: remove unneeded checks\n\ngit_t is unsigned an can never be less than zero.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "81280572ca6f54009edfa4deee563e8678784218",
      "tree": "4fac10bcb71261823d261e5f8551fdb16ab653ba",
      "parents": [
        "b83db1deb29eb4eea9bf5992431d26978e039ce6",
        "a107e5a3a473a2ea62bd5af24e11b84adf1486ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 21:54:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 21:54:31 2010 -0700"
      },
      "message": "Merge branch \u0027upstream-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027upstream-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (50 commits)\n  ext4,jbd2: convert tracepoints to use major/minor numbers\n  ext4: optimize orphan_list handling for ext4_setattr\n  ext4: fix unbalanced mutex unlock in error path of ext4_li_request_new\n  ext4: fix compile error in ext4_fallocate()\n  ext4: move ext4_mb_{get,put}_buddy_cache_lock and make them static\n  ext4: rename mark_bitmap_end() to ext4_mark_bitmap_end()\n  ext4: move flush_completed_IO to fs/ext4/fsync.c and make it static\n  ext4: rename {ext,idx}_pblock and inline small extent functions\n  ext4: make various ext4 functions be static\n  ext4: rename {exit,init}_ext4_*() to ext4_{exit,init}_*()\n  ext4: fix kernel oops if the journal superblock has a non-zero j_errno\n  ext4: update writeback_index based on last page scanned\n  ext4: implement writeback livelock avoidance using page tagging\n  ext4: tidy up a void argument in inode.c\n  ext4: add batched_discard into ext4 feature list\n  ext4: Add batched discard support for ext4\n  fs: Add FITRIM ioctl\n  ext4: Use return value from sb_issue_discard()\n  ext4: Check return value of sb_getblk() and friends\n  ext4: use bio layer instead of buffer layer in mpage_da_submit_io\n  ...\n"
    },
    {
      "commit": "a107e5a3a473a2ea62bd5af24e11b84adf1486ff",
      "tree": "d36c2cb38d8be88d4d75cdebc354aa140aa0e470",
      "parents": [
        "e3e1288e86a07cdeb0aee5860a2dff111c6eff79",
        "a269029d0e2192046be4c07ed78a45022469ee4c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 23:44:47 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 23:44:47 2010 -0400"
      },
      "message": "Merge branch \u0027next\u0027 into upstream-merge\n\nConflicts:\n\tfs/ext4/inode.c\n\tfs/ext4/mballoc.c\n\tinclude/trace/events/ext4.h\n"
    },
    {
      "commit": "b83db1deb29eb4eea9bf5992431d26978e039ce6",
      "tree": "a59a4d94c41de6889be93b6963c791aa64181f25",
      "parents": [
        "7d2f280e75f05919314e250cadf361a327ed555c",
        "7e94250312d8b32a18e7e96cee19f2795d224e8c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 20:37:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 20:37:06 2010 -0700"
      },
      "message": "Merge branch \u0027drm-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/radeon/kms: enable unmappable vram for evergreen\n  drm/radeon/kms: fix tiled db height calculation on 6xx/7xx\n  drm/radeon/kms: fix handling of tex lookup disable in cs checker on r2xx\n"
    },
    {
      "commit": "7d2f280e75f05919314e250cadf361a327ed555c",
      "tree": "47db5a9a0ceaf31adf49c18b663b1e08184f7cff",
      "parents": [
        "e3e1288e86a07cdeb0aee5860a2dff111c6eff79",
        "4408ea41c0ab4b711d4da44dd954fb06dce6c3f8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 20:13:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 20:13:18 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: (24 commits)\n  quota: Fix possible oops in __dquot_initialize()\n  ext3: Update kernel-doc comments\n  jbd/2: fixed typos\n  ext2: fixed typo.\n  ext3: Fix debug messages in ext3_group_extend()\n  jbd: Convert atomic_inc() to get_bh()\n  ext3: Remove misplaced BUFFER_TRACE() in ext3_truncate()\n  jbd: Fix debug message in do_get_write_access()\n  jbd: Check return value of __getblk()\n  ext3: Use DIV_ROUND_UP() on group desc block counting\n  ext3: Return proper error code on ext3_fill_super()\n  ext3: Remove unnecessary casts on bh-\u003eb_data\n  ext3: Cleanup ext3_setup_super()\n  quota: Fix issuing of warnings from dquot_transfer\n  quota: fix dquot_disable vs dquot_transfer race v2\n  jbd: Convert bitops to buffer fns\n  ext3/jbd: Avoid WARN() messages when failing to write the superblock\n  jbd: Use offset_in_page() instead of manual calculation\n  jbd: Remove unnecessary goto statement\n  jbd: Use printk_ratelimited() in journal_alloc_journal_head()\n  ...\n"
    },
    {
      "commit": "a269029d0e2192046be4c07ed78a45022469ee4c",
      "tree": "6ec7b7d2686a344ac77d10c4930fc3699461d198",
      "parents": [
        "3d287de3b828226e5a450c7fd5bf4283792dc2b0"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 22:08:50 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 22:08:50 2010 -0400"
      },
      "message": "ext4,jbd2: convert tracepoints to use major/minor numbers\n\nUnfortunately perf can\u0027t deal with anything other than direct structure\naccesses in the TP_printk() section.  It will drop dead when it sees\njbd2_dev_to_name() in the \"print fmt\" section of the tracepoint.\n\nAddresses-Google-Bug: 3138508\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "3d287de3b828226e5a450c7fd5bf4283792dc2b0",
      "tree": "4adcc534e2042aed924750df3ef2433bd2f14fd8",
      "parents": [
        "beed5ecbaa377fa8bb6a54a6608e8725a21efdbc"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Wed Oct 27 22:08:46 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 22:08:46 2010 -0400"
      },
      "message": "ext4: optimize orphan_list handling for ext4_setattr\n\nSurprisingly chown() on ext4 is not SMP scalable operation. \nDue to unconditional orphan_del(NULL, inode) in ext4_setattr()\nresult in significant performance overhead because of global orphan\nmutex, especially in no-journal mode (where orphan_add() is noop).\nIt is possible to skip explicit orphan_del if possible.\nResults of fchown() micro-benchmark in no-journal mode\nwhile (1) {\n   iteration++;\n   fchown(fd, uid, gid);\n   fchown(fd, uid + 1, gid + 1)\n}\nmeasured: iterations per millisecond\n| nr_tasks | w/o patch | with patch |\n|        1 |       142 |        185 |\n|        4 |       109 |        642 |\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "beed5ecbaa377fa8bb6a54a6608e8725a21efdbc",
      "tree": "c8e76b2af5f0ccdc64d53907238947540de7d182",
      "parents": [
        "a6371b636f9f007ee5c90f85de048bc1b675424a"
      ],
      "author": {
        "name": "Nicolas Kaiser",
        "email": "nikai@nikai.net",
        "time": "Wed Oct 27 22:08:42 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 22:08:42 2010 -0400"
      },
      "message": "ext4: fix unbalanced mutex unlock in error path of ext4_li_request_new\n\nSigned-off-by: Nicolas Kaiser \u003cnikai@nikai.net\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e3e1288e86a07cdeb0aee5860a2dff111c6eff79",
      "tree": "cd22f8051a456c9d2b95698b6fe402776a67469b",
      "parents": [
        "9ae6d039224def926656206725ae6e89d1331417",
        "964dc256bb91e990277010a3f6dc66daa130be8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 19:04:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 19:04:36 2010 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (48 commits)\n  DMAENGINE: move COH901318 to arch_initcall\n  dma: imx-dma: fix signedness bug\n  dma/timberdale: simplify conditional\n  ste_dma40: remove channel_type\n  ste_dma40: remove enum for endianess\n  ste_dma40: remove TIM_FOR_LINK option\n  ste_dma40: move mode_opt to separate config\n  ste_dma40: move channel mode to a separate field\n  ste_dma40: move priority to separate field\n  ste_dma40: add variable to indicate valid dma_cfg\n  async_tx: make async_tx channel switching opt-in\n  move async raid6 test to lib/Kconfig.debug\n  dmaengine: Add Freescale i.MX1/21/27 DMA driver\n  intel_mid_dma: change the slave interface\n  intel_mid_dma: fix the WARN_ONs\n  intel_mid_dma: Add sg list support to DMA driver\n  intel_mid_dma: Allow DMAC2 to share interrupt\n  intel_mid_dma: Allow IRQ sharing\n  intel_mid_dma: Add runtime PM support\n  DMAENGINE: define a dummy filter function for ste_dma40\n  ...\n"
    },
    {
      "commit": "9ae6d039224def926656206725ae6e89d1331417",
      "tree": "8ebee863f61da7d095575ca7ef17812d3952389c",
      "parents": [
        "bdab225015fbbb45ccd8913f5d7c01b2bf67d8b2",
        "51f4332bb5fef869e8a89895a7bac6b4c03b4946"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 19:02:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 19:02:41 2010 -0700"
      },
      "message": "Merge branch \u0027viafb-next\u0027 of git://github.com/schandinat/linux-2.6\n\n* \u0027viafb-next\u0027 of git://github.com/schandinat/linux-2.6: (29 commits)\n  viafb: add initial VX900 support\n  viafb: fix hardware acceleration for suspend \u0026 resume\n  viafb: make suspend and resume work (on all machines?)\n  viafb: restore display on resume\n  Minimal support for viafb suspend/resume\n  viafb: use proper register for colour when doing fill ops\n  viafb: add documentation for proc interface\n  viafb: rename output devices\n  viafb: add a mapping of supported output devices\n  viafb: set sync polarity for all output devices\n  viafb: add function to change sync polarity per device\n  viafb: reduce I2C timeout and delay\n  viafb: enable I2C for CRT\n  viafb: fix i2c_transfer error handling\n  viafb: vt1636 cleanup\n  viafb: introduce per output device power management\n  viafb: limit LCD code impact\n  viafb: add interface for output device configuration\n  viafb: merge the remaining output path with enable functions\n  viafb: use new device routing\n  ...\n"
    },
    {
      "commit": "bdab225015fbbb45ccd8913f5d7c01b2bf67d8b2",
      "tree": "5ef62301face958977a084bf2b6c5300296a25f2",
      "parents": [
        "7c5814c7199851c5fe9395d08fc1ab3c8c1531ea",
        "7c7fcf762e405eb040ee10d22d656a791f616122"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:53:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:53:26 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-mn10300\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-mn10300: (44 commits)\n  MN10300: Save frame pointer in thread_info struct rather than global var\n  MN10300: Change \"Matsushita\" to \"Panasonic\".\n  MN10300: Create a defconfig for the ASB2364 board\n  MN10300: Update the ASB2303 defconfig\n  MN10300: ASB2364: Add support for SMSC911X and SMC911X\n  MN10300: ASB2364: Handle the IRQ multiplexer in the FPGA\n  MN10300: Generic time support\n  MN10300: Specify an ELF HWCAP flag for MN10300 Atomic Operations Unit support\n  MN10300: Map userspace atomic op regs as a vmalloc page\n  MN10300: And Panasonic AM34 subarch and implement SMP\n  MN10300: Delete idle_timestamp from irq_cpustat_t\n  MN10300: Make various interrupt priority settings configurable\n  MN10300: Optimise do_csum()\n  MN10300: Implement atomic ops using atomic ops unit\n  MN10300: Make the FPU operate in non-lazy mode under SMP\n  MN10300: SMP TLB flushing\n  MN10300: Use the [ID]PTEL2 registers rather than [ID]PTEL for TLB control\n  MN10300: Make the use of PIDR to mark TLB entries controllable\n  MN10300: Rename __flush_tlb*() to local_flush_tlb*()\n  MN10300: AM34 erratum requires MMUCTR read and write on exception entry\n  ...\n"
    },
    {
      "commit": "7c5814c7199851c5fe9395d08fc1ab3c8c1531ea",
      "tree": "66cc9080e47c0be8bd9d4530626e54c77f9895ed",
      "parents": [
        "a042e26137d7674ac04b1cd2d5c06b9ebc1ee2d5",
        "89e1e66d6be8a520cdcd26043cda2cc870a34015"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:52:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:52:49 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: usb-audio: automatically detect feedback format\n  ASoC: sound/wm9090: add missing __devexit marker\n  ASoC: sound/max98088: add missing __devexit marker\n  ASoC: sound/ad73311: add missing __devexit marker\n  ASoC: fsl - fix build error in pcm030-audio-fabric.c\n  sound/oss/sb_ess.c: delete double assignment\n  ALSA: hda - Change BTL amp level on some HP notebooks\n"
    },
    {
      "commit": "a042e26137d7674ac04b1cd2d5c06b9ebc1ee2d5",
      "tree": "c1a7a8bda41b99caa4b4a0fe320fc73278879f7d",
      "parents": [
        "f66dd539feb849a3a00f7fac67c026e0935e373a",
        "e25804a0327dad954f7d43803178fdef2fd35b4e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:48:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:48:00 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (50 commits)\n  perf python scripting: Add futex-contention script\n  perf python scripting: Fixup cut\u0027n\u0027paste error in sctop script\n  perf scripting: Shut up \u0027perf record\u0027 final status\n  perf record: Remove newline character from perror() argument\n  perf python scripting: Support fedora 11 (audit 1.7.17)\n  perf python scripting: Improve the syscalls-by-pid script\n  perf python scripting: print the syscall name on sctop\n  perf python scripting: Improve the syscalls-counts script\n  perf python scripting: Improve the failed-syscalls-by-pid script\n  kprobes: Remove redundant text_mutex lock in optimize\n  x86/oprofile: Fix uninitialized variable use in debug printk\n  tracing: Fix \u0027faild\u0027 -\u003e \u0027failed\u0027 typo\n  perf probe: Fix format specified for Dwarf_Off parameter\n  perf trace: Fix detection of script extension\n  perf trace: Use $PERF_EXEC_PATH in canned report scripts\n  perf tools: Document event modifiers\n  perf tools: Remove direct slang.h include\n  perf_events: Fix for transaction recovery in group_sched_in()\n  perf_events: Revert: Fix transaction recovery in group_sched_in()\n  perf, x86: Use NUMA aware allocations for PEBS/BTS/DS allocations\n  ...\n"
    },
    {
      "commit": "f66dd539feb849a3a00f7fac67c026e0935e373a",
      "tree": "a211f0229581ce38655c393f1673826111f9abba",
      "parents": [
        "17bb51d56cdc8cbf252031db3107de034cfeb44c",
        "87acf5ad87b275660e2508e6935b570a20b6a073"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:47:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:47:39 2010 -0700"
      },
      "message": "Merge branch \u0027module\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* \u0027module\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  NULL-terminate all pci_device_id tables\n  (trivial) Fix compiler warning in kernel/modules.c\n"
    },
    {
      "commit": "17bb51d56cdc8cbf252031db3107de034cfeb44c",
      "tree": "f9fb2c16b29a152d3413fa0028e660e3b6146584",
      "parents": [
        "0671b7674f42ab3a200401ea0e48d6f47d34acae",
        "95aac7b1cd224f568fb83937044cd303ff11b029"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:42:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:42:52 2010 -0700"
      },
      "message": "Merge branch \u0027akpm-incoming-2\u0027\n\n* akpm-incoming-2: (139 commits)\n  epoll: make epoll_wait() use the hrtimer range feature\n  select: rename estimate_accuracy() to select_estimate_accuracy()\n  Remove duplicate includes from many files\n  ramoops: use the platform data structure instead of module params\n  kernel/resource.c: handle reinsertion of an already-inserted resource\n  kfifo: fix kfifo_alloc() to return a signed int value\n  w1: don\u0027t allow arbitrary users to remove w1 devices\n  alpha: remove dma64_addr_t usage\n  mips: remove dma64_addr_t usage\n  sparc: remove dma64_addr_t usage\n  fuse: use release_pages()\n  taskstats: use real microsecond granularity for CPU times\n  taskstats: split fill_pid function\n  taskstats: separate taskstats commands\n  delayacct: align to 8 byte boundary on 64-bit systems\n  delay-accounting: reimplement -c for getdelays.c to report information on a target command\n  namespaces Kconfig: move namespace menu location after the cgroup\n  namespaces Kconfig: remove the cgroup device whitelist experimental tag\n  namespaces Kconfig: remove pointless cgroup dependency\n  namespaces Kconfig: make namespace a submenu\n  ...\n"
    },
    {
      "commit": "0671b7674f42ab3a200401ea0e48d6f47d34acae",
      "tree": "a35d3347e927dfe621f42ff82289f61f45564393",
      "parents": [
        "0b2d8d9e562de3ee2476f549549e4fefbb7a4213",
        "47f19a0814e80e1d4e5c17d61b70fca85ea09162"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:38:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:38:55 2010 -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  percpu: Remove the multi-page alignment facility\n  x86-32: Allocate irq stacks seperate from percpu area\n  x86-32, mm: Remove duplicated #include\n  x86, printk: Get rid of \u003c0\u003e from stack output\n  x86, kexec: Make sure to stop all CPUs before exiting the kernel\n  x86/vsmp: Eliminate kconfig dependency warning\n"
    },
    {
      "commit": "0b2d8d9e562de3ee2476f549549e4fefbb7a4213",
      "tree": "20e025254b430efc647e7403a4168e4487619b92",
      "parents": [
        "22cdbd1d5789cc16c37102eb6f62c3ae377b849e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:34:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:34:59 2010 -0700"
      },
      "message": "proc_bus_pci_ioctl: remove pointless BKL usage\n\nThe BKL was pushed into this function when it was converted to use the\nunlocked_ioctl interface, but nothing that the function touches is\nactually protected by the BKL.  So just remove the BKL entirely, so that\nwe finally can get a realistic system build without the BKL being\nenabled at all.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6371b636f9f007ee5c90f85de048bc1b675424a",
      "tree": "8cb3091cc98debd71ba58a4a3d2157e6eec24593",
      "parents": [
        "eee4adc709afe40d8c02fa154c63dbeb55d911e3"
      ],
      "author": {
        "name": "Kazuya Mio",
        "email": "k-mio@sx.jp.nec.com",
        "time": "Wed Oct 27 21:30:15 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:15 2010 -0400"
      },
      "message": "ext4: fix compile error in ext4_fallocate()\n\nWhen I compiled 2.6.36-rc3 kernel with EXT4FS_DEBUG definition, I got\nthe following compile error.\n\n  CC [M]  fs/ext4/extents.o\nfs/ext4/extents.c: In function \u0027ext4_fallocate\u0027:\nfs/ext4/extents.c:3772: error: \u0027block\u0027 undeclared (first use in this function)\nfs/ext4/extents.c:3772: error: (Each undeclared identifier is reported only once\nfs/ext4/extents.c:3772: error: for each function it appears in.)\nmake[2]: *** [fs/ext4/extents.o] Error 1\n\nThe patch fixes this problem.\n\nSigned-off-by: Kazuya Mio \u003ck-mio@sx.jp.nec.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "eee4adc709afe40d8c02fa154c63dbeb55d911e3",
      "tree": "e65d8235eb7cf745a1d9dc2ac9ab1c62bdd45758",
      "parents": [
        "61d08673de1fe68bfba86203258377bf39f234b6"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:15 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:15 2010 -0400"
      },
      "message": "ext4: move ext4_mb_{get,put}_buddy_cache_lock and make them static\n\nThese functions are only used within fs/ext4/mballoc.c, so move them\nso they are used after they are defined, and then make them be static.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "61d08673de1fe68bfba86203258377bf39f234b6",
      "tree": "5cb32998c69eca626df54b50cb01e50a83c4db81",
      "parents": [
        "4a873a472b3bbcfd425d7ae210afdec28c04e2e5"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:15 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:15 2010 -0400"
      },
      "message": "ext4: rename mark_bitmap_end() to ext4_mark_bitmap_end()\n\nFix a namespace leak from fs/ext4\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n\n"
    },
    {
      "commit": "4a873a472b3bbcfd425d7ae210afdec28c04e2e5",
      "tree": "88aa333bfafcc5303b7a3074865f51f67ad836b9",
      "parents": [
        "bf89d16f6ef5389f1b9d8046e838ec87b9b3f8b9"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:14 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:14 2010 -0400"
      },
      "message": "ext4: move flush_completed_IO to fs/ext4/fsync.c and make it static\n\nFix a namespace leak by moving the function to the file where it is\nused and making it static.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "bf89d16f6ef5389f1b9d8046e838ec87b9b3f8b9",
      "tree": "dd491dd3035281d0ff537ddcba21ef7edbfef6b8",
      "parents": [
        "1f109d5a17b438c4a54cbf6fd87a249e3d72fb21"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:14 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:14 2010 -0400"
      },
      "message": "ext4: rename {ext,idx}_pblock and inline small extent functions\n\nCleanup namespace leaks from fs/ext4 and the inline trivial functions\next4_{ext,idx}_pblock() and ext4_{ext,idx}_store_pblock() since the\ncode size actually shrinks when we make these functions inline,\nthey\u0027re so trivial.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "1f109d5a17b438c4a54cbf6fd87a249e3d72fb21",
      "tree": "f58c6fd431975bf900b502b80122e175065da657",
      "parents": [
        "5dabfc78dcedbe46cb2e4872dde448de3cec2979"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:14 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:14 2010 -0400"
      },
      "message": "ext4: make various ext4 functions be static\n\nThese functions have no need to be exported beyond file context.\n\nNo functions needed to be moved for this commit; just some function\ndeclarations changed to be static and removed from header files.\n\n(A similar patch was submitted by Eric Sandeen, but I wanted to handle\ncode movement in separate patches to make sure code changes didn\u0027t\naccidentally get dropped.)\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5dabfc78dcedbe46cb2e4872dde448de3cec2979",
      "tree": "804ef3e76289978ef6690c2b8f379a14a60b15f0",
      "parents": [
        "7f93cff90fa9be6ed45f6189e136153d1d8631b0"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:14 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:14 2010 -0400"
      },
      "message": "ext4: rename {exit,init}_ext4_*() to ext4_{exit,init}_*()\n\nThis is a cleanup to avoid namespace leaks out of fs/ext4\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "7f93cff90fa9be6ed45f6189e136153d1d8631b0",
      "tree": "e48cbf01bc646e63df2fea10a2208015e028b95b",
      "parents": [
        "72f84e6560d18d60a091df27edf81409be6641cb"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:13 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:13 2010 -0400"
      },
      "message": "ext4: fix kernel oops if the journal superblock has a non-zero j_errno\n\nCommit 84061e0 fixed an accounting bug only to introduce the\npossibility of a kernel OOPS if the journal has a non-zero j_errno\nfield indicating that the file system had detected a fs inconsistency.\nAfter the journal replay, if the journal superblock indicates that the\nfile system has an error, this indication is transfered to the file\nsystem and then ext4_commit_super() is called to write this to the\ndisk.\n\nBut since the percpu counters are now initialized after the journal\nreplay, the call to ext4_commit_super() will cause a kernel oops since\nit needs to use the percpu counters the ext4 superblock structure.\n\nThe fix is to skip setting the ext4 free block and free inode fields\nif the percpu counter has not been set.\n\nThanks to Ken Sumrall for reporting and analyzing the root causes of\nthis bug.\n\nAddresses-Google-Bug: #3054080\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "72f84e6560d18d60a091df27edf81409be6641cb",
      "tree": "e2fa11476b074f8526d620820f8b2e86e8a11412",
      "parents": [
        "5b41d92437f1ae19b3f3ffa3b16589fd5df50ac0"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:13 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:13 2010 -0400"
      },
      "message": "ext4: update writeback_index based on last page scanned\n\nAs pointed out in a prior patch, updating the mapping\u0027s\nwriteback_index based on pages written isn\u0027t quite right;\nwhat the writeback index is really supposed to reflect is\nthe next page which should be scanned for writeback during\nperiodic flush.\n\nAs in write_cache_pages(), write_cache_pages_da() does\nthis scanning for us as we assemble the mpd for later\nwriteout.  If we keep track of the next page after the\ncurrent scan, we can easily update writeback_index without\nworrying about pages written vs. pages skipped, etc.\n\nWithout this, an fsync will reset writeback_index to\n0 (its starting index) + however many pages it wrote, which\ncan mess up the progress of periodic flush.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5b41d92437f1ae19b3f3ffa3b16589fd5df50ac0",
      "tree": "ed7e1999a2349811e3cae0f0bdd53a93aea413d7",
      "parents": [
        "bbd08344e3df8c7c1d7aa04bc0c8c9367806e12d"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:13 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:13 2010 -0400"
      },
      "message": "ext4: implement writeback livelock avoidance using page tagging\n\nThis is analogous to Jan Kara\u0027s commit,\nf446daaea9d4a420d16c606f755f3689dcb2d0ce\nmm: implement writeback livelock avoidance using page tagging\n\nbut since we forked write_cache_pages, we need to reimplement\nit there (and in ext4_da_writepages, since range_cyclic handling\nwas moved to there)\n\nIf you start a large buffered IO to a file, and then set\nfsync after it, you\u0027ll find that fsync does not complete\nuntil the other IO stops.\n\nIf you continue re-dirtying the file (say, putting dd\nwith conv\u003dnotrunc in a loop), when fsync finally completes\n(after all IO is done), it reports via tracing that\nit has written many more pages than the file contains;\nin other words it has synced and re-synced pages in\nthe file multiple times.\n\nThis then leads to problems with our writeback_index\nupdate, since it advances it by pages written, and\nessentially sets writeback_index off the end of the\nfile...\n\nWith the following patch, we only sync as much as was\ndirty at the time of the sync.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "bbd08344e3df8c7c1d7aa04bc0c8c9367806e12d",
      "tree": "6441a113660deb3bbe1795f5b03b1c11b9e18fda",
      "parents": [
        "27ee40df2b17c84aa7855907df12befe6869b7a7"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:12 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:12 2010 -0400"
      },
      "message": "ext4: tidy up a void argument in inode.c\n\nThis doesn\u0027t fix anything at all, it just removes a vestige\nof prior use from __mpage_da_writepage()\n\n__mpage_da_writepage() had a *void argument leftover from\nits previous life as a callback; make it reflect the actual type.\n\nFixing this up makes it slightly more obvious to read, and \nenables proper typechecking.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "27ee40df2b17c84aa7855907df12befe6869b7a7",
      "tree": "9ff6c98b2e2a715234b9a9ebd91232fd7ca7f558",
      "parents": [
        "7360d1731e5dc78aec867e65e55f9fb58782b5fe"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Wed Oct 27 21:30:12 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:12 2010 -0400"
      },
      "message": "ext4: add batched_discard into ext4 feature list\n\nShould be applied on the top of \"lazy inode table initialization\"\nand \"batched discard support\" patch-sets.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "7360d1731e5dc78aec867e65e55f9fb58782b5fe",
      "tree": "2cc0d139ec129c19150ef481d6adb9b0fd947c89",
      "parents": [
        "367a51a339020ba4d9edb0ce0f21d65bd50b00c9"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Wed Oct 27 21:30:12 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:12 2010 -0400"
      },
      "message": "ext4: Add batched discard support for ext4\n\nWalk through allocation groups and trim all free extents. It can be\ninvoked through FITRIM ioctl on the file system. The main idea is to\nprovide a way to trim the whole file system if needed, since some SSD\u0027s\nmay suffer from performance loss after the whole device was filled (it\ndoes not mean that fs is full!).\n\nIt search for free extents in allocation groups specified by Byte range\nstart -\u003e start+len. When the free extent is within this range, blocks\nare marked as used and then trimmed. Afterwards these blocks are marked\nas free in per-group bitmap.\n\nSince fstrim is a long operation it is good to have an ability to\ninterrupt it by a signal. This was added by Dmitry Monakhov.\nThanks Dimitry.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nReviewed-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "367a51a339020ba4d9edb0ce0f21d65bd50b00c9",
      "tree": "696cbb5ca3108cd0cf8a7c3f494947cc9a4179c7",
      "parents": [
        "77ca6cdf0ab8a42f481ec997911bc89e79138723"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Wed Oct 27 21:30:11 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:11 2010 -0400"
      },
      "message": "fs: Add FITRIM ioctl\n\nAdds an filesystem independent ioctl to allow implementation of file\nsystem batched discard support. I takes fstrim_range structure as an\nargument. fstrim_range is definec in the include/fs.h and its\ndefinition is as follows.\n\nstruct fstrim_range {\n\tstart;\n\tlen;\n\tminlen;\n}\n\nstart\t- first Byte to trim\nlen\t- number of Bytes to trim from start\nminlen\t- minimum extent length to trim, free extents shorter than this\n\t  number of Bytes will be ignored. This will be rounded up to fs\n\t  block size.\n\nIt is also possible to specify NULL as an argument. In this case the\narguments will set itself as follows:\n\nstart \u003d 0;\nlen \u003d ULLONG_MAX;\nminlen \u003d 0;\n\nSo it will trim the whole file system at one run.\n\nAfter the FITRIM is done, the number of actually discarded Bytes is stored\nin fstrim_range.len to give the user better insight on how much storage\nspace has been really released for wear-leveling.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nReviewed-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "77ca6cdf0ab8a42f481ec997911bc89e79138723",
      "tree": "30f6cb268a3b4cad391e5784557b2c6432b52691",
      "parents": [
        "877836905da55e8f2426234f42a89287184949e9"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Wed Oct 27 21:30:11 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:11 2010 -0400"
      },
      "message": "ext4: Use return value from sb_issue_discard()\n\nUse return value from sb_issue_discard() as return value in\next4_issue_discard(). Since sb_issue_discard() may result in more\nserious errors than just -EOPNOTSUPP it is worth to inform user of this\nfunction about them to handle error cases properly.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "877836905da55e8f2426234f42a89287184949e9",
      "tree": "eecb60e9b55daaf794a3083f9c48fc94e05d4cd2",
      "parents": [
        "bd2d0210cf22f2bd0cef72eb97cf94fc7d31d8cc"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Oct 27 21:30:11 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:11 2010 -0400"
      },
      "message": "ext4: Check return value of sb_getblk() and friends\n\nFail block allocation if sb_getblk() returns NULL. In that case,\nsb_find_get_block() also likely to fail so that it should skip\ncalling ext4_forget().\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "bd2d0210cf22f2bd0cef72eb97cf94fc7d31d8cc",
      "tree": "f0d1902b7ff4294114614cc706855c3d6b131f73",
      "parents": [
        "1de3e3df917459422cb2aecac440febc8879d410"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:10 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:10 2010 -0400"
      },
      "message": "ext4: use bio layer instead of buffer layer in mpage_da_submit_io\n\nCall the block I/O layer directly instad of going through the buffer\nlayer.  This should give us much better performance and scalability,\nas well as lowering our CPU utilization when doing buffered writeback.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "1de3e3df917459422cb2aecac440febc8879d410",
      "tree": "3ff2584fa323ec855dec74b7e842e5e4abe39597",
      "parents": [
        "3ecdb3a193a5f224f084c04a63aa28cdccf4d7d0"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:10 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:10 2010 -0400"
      },
      "message": "ext4: move mpage_put_bnr_to_bhs()\u0027s functionality to mpage_da_submit_io()\n\nThis massively simplifies the ext4_da_writepages() code path by\ncompletely removing mpage_put_bnr_bhs(), which is almost 100 lines of\ncode iterating over a set of pages using pagevec_lookup(), and folds\nthat functionality into mpage_da_submit_io()\u0027s existing\npagevec_lookup() loop.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "3ecdb3a193a5f224f084c04a63aa28cdccf4d7d0",
      "tree": "9949f753917004c75ddd4549c8e9741ccdbd435e",
      "parents": [
        "cb20d5188366f04d96d2e07b1240cc92170ade40"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:10 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:10 2010 -0400"
      },
      "message": "ext4: inline walk_page_buffers() into mpage_da_submit_io\n\nExpand the call:\n\n  if (walk_page_buffers(NULL, page_bufs, 0, len, NULL,\n                        ext4_bh_delay_or_unwritten))\n\tgoto redirty_page\n\ninto mpage_da_submit_io().\n\nThis will allow us to merge in mpage_put_bnr_to_bhs() in the next\npatch.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "cb20d5188366f04d96d2e07b1240cc92170ade40",
      "tree": "6fe424e1ccdd36f8b4a60e144cfdaa577296926e",
      "parents": [
        "a42afc5f56f319107e987aa6adf2f65d93d527c7"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:09 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:09 2010 -0400"
      },
      "message": "ext4: inline ext4_writepage() into mpage_da_submit_io()\n\nAs a prepratory step to switching to bio_submit, inline\next4_writepage() into mpage_da_submit() and then simplify things a\nbit.  This makes it clearer what mpage_da_submit needs to do.\n\nAlso, move the ClearPageChecked(page) call into\n__ext4_journalled_writepage(), as a minor bit of cleanup refactoring.\n\nThis also allows us to pull i_size_read() and\next4_should_journal_data() out of the loop, which should be a very\nminor CPU savings.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a42afc5f56f319107e987aa6adf2f65d93d527c7",
      "tree": "845d03a8cec3fcb705ea6c821d202c816de76655",
      "parents": [
        "5a87b7a5da250c9be6d757758425dfeaf8ed3179"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:09 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:09 2010 -0400"
      },
      "message": "ext4: simplify ext4_writepage()\n\nThe actual code in ext4_writepage() is unnecessarily convoluted.\nSimplify it so it is easier to understand, but otherwise logically\nequivalent.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5a87b7a5da250c9be6d757758425dfeaf8ed3179",
      "tree": "efd1ca776e184101cb20ba4606bc35103385bcb5",
      "parents": [
        "16828088f9e518158edecb6cde7e6fa38e4c889b"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:09 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:09 2010 -0400"
      },
      "message": "ext4: call mpage_da_submit_io() from mpage_da_map_blocks()\n\nEventually we need to completely reorganize the ext4 writepage\ncallpath, but for now, we simplify things a little by calling\nmpage_da_submit_io() from mpage_da_map_blocks(), since all of the\nplaces where we call mpage_da_map_blocks() it is followed up by a call\nto mpage_da_submit_io().\n\nWe\u0027re also a wee bit better with respect to error handling, but there\nare still a number of issues where it\u0027s not clear what the right thing\nis to do with ext4 functions deep in the writeback codepath fails.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "16828088f9e518158edecb6cde7e6fa38e4c889b",
      "tree": "620f14e52107d59aee3a0c55135037df4a07ae73",
      "parents": [
        "7845c0497536c566bfef08db1a38ae1ad2c25464"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:09 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:09 2010 -0400"
      },
      "message": "ext4: use KMEM_CACHE instead of kmem_cache_create\n\nAlso remove the SLAB_RECLAIM_ACCOUNT flag from the system zone kmem\ncache.  This slab tends to be fairly static, so it shouldn\u0027t be marked\nas likely to have free pages that can be reclaimed.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n\n"
    },
    {
      "commit": "7845c0497536c566bfef08db1a38ae1ad2c25464",
      "tree": "1d5fc97acad87341c6a703dc0763fa95135923ef",
      "parents": [
        "8941ec8bb6443d28d5c25311870aeaa809cf1538"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:08 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:08 2010 -0400"
      },
      "message": "ext4: use search_dirblock() in ext4_dx_find_entry()\n\nUse the search_dirblock() in ext4_dx_find_entry().  It makes the code\neasier to read, and it takes advantage of common code.  It also saves\n100 bytes or so of text space.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Brad Spengler \u003cspender@grsecurity.net\u003e\n"
    },
    {
      "commit": "8941ec8bb6443d28d5c25311870aeaa809cf1538",
      "tree": "5fbd2aff55ff077ec98604b03f6fc9d35a6f081d",
      "parents": [
        "640e9396566a1e1f52f2db294755a23f1e62cc97"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:08 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:08 2010 -0400"
      },
      "message": "ext4: avoid uninitialized memory references in ext3_htree_next_block()\n\nIf the first block of htree directory is missing \u0027.\u0027 or \u0027..\u0027 but is\notherwise a valid directory, and we do a lookup for \u0027.\u0027 or \u0027..\u0027, it\u0027s\npossible to dereference an uninitialized memory pointer in\next4_htree_next_block().\n\nWe avoid this by moving the special case from ext4_dx_find_entry() to\next4_find_entry(); this also means we can optimize ext4_find_entry()\nslightly when NFS looks up \"..\".\n\nThanks to Brad Spengler for pointing a Clang warning that led me to\nlook more closely at this code.  The warning was harmless, but it was\nuseful in pointing out code that was too ugly to live.  This warning was\nalso reported by Roman Borisov.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Brad Spengler \u003cspender@grsecurity.net\u003e\n"
    },
    {
      "commit": "640e9396566a1e1f52f2db294755a23f1e62cc97",
      "tree": "013b0028ceff606beb1290cc9f42704f2a94ab3d",
      "parents": [
        "c999af2b347a55174f702702e0df814d05ef5491"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:08 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:08 2010 -0400"
      },
      "message": "ext4: remove unused ext4_sb_info members\n\nNot that these take up a lot of room, but the structure is long enough\nas it is, and there\u0027s no need to confuse people with these various\nundocumented \u0026 unused structure members...\n\nSigned-off-by: Eric Sandeen \u003csandeen@redaht.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c999af2b347a55174f702702e0df814d05ef5491",
      "tree": "47957b52c9a54babe4d8aefdda4f09cee5f76249",
      "parents": [
        "3e1e5f501632460184a98237d5460c521510535e"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:07 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:07 2010 -0400"
      },
      "message": "ext4: queue conversion after adding to inode\u0027s completed IO list\n\nBy queuing the io end on the unwritten workqueue before adding it\nto our inode\u0027s list of completed IOs, I think we run the risk\nof the work getting completed, and the IO freed, before we try\nto add it to the inode\u0027s i_completed_io_list.\n\nIt should be safe to add it to the inode\u0027s list of completed\nIOs, and -then- queue it for completion, I think.\n\nThanks to Dave Chinner for pointing out the race.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Jiaying Zhang \u003cjiayingz@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "3e1e5f501632460184a98237d5460c521510535e",
      "tree": "9bb5006c9bcb1651f9c447869f4e90deb116e6e8",
      "parents": [
        "4d5476164a052e80d4ef430e368e76dbde96801f"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:07 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:07 2010 -0400"
      },
      "message": "ext4: don\u0027t use ext4_allocation_contexts for tracing\n\nMany tracepoints were populating an ext4_allocation_context\nto pass in, but this requires a slab allocation even when\ntracepoints are off.  In fact, 4 of 5 of these allocations\nwere only for tracing.  In addition, we were only using a\nsmall fraction of the 144 bytes of this structure for this\npurpose.\n\nWe can do away with all these alloc/frees of the ac and\nsimply pass in the bits we care about, instead.\n\nI tested this by turning on tracing and running through\nxfstests on x86_64.  I did not actually do anything with\nthe trace output, however.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "4d5476164a052e80d4ef430e368e76dbde96801f",
      "tree": "c4949f899392c99896e3e81250c5f667a5ae0ba3",
      "parents": [
        "0c9169ccad4aed233fdd49e95da4eada2536a06d"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:07 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:07 2010 -0400"
      },
      "message": "ext4: fix oops in trace_ext4_mb_release_group_pa\n\nOur QA reported an oops in the ext4_mb_release_group_pa tracing,\nand Josef Bacik pointed out that it was because we may have a\nnon-null but uninitialized ac_inode in the allocation context.\n\nI can reproduce it when running xfstests with ext4 tracepoints on, \non a CONFIG_SLAB_DEBUG kernel.\n\nWe call trace_ext4_mb_release_group_pa from 2 places, \next4_mb_discard_group_preallocations and \next4_mb_discard_lg_preallocations\n\nIn both cases we allocate an ac as a container just for tracing (!)\nand never fill in the ac_inode.  There\u0027s no reason to be assigning,\ntesting, or printing it as far as I can see, so just remove it from\nthe tracepoint.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "0c9169ccad4aed233fdd49e95da4eada2536a06d",
      "tree": "2c89c49f8aa48dd781747e4f9d801ad06e5517b9",
      "parents": [
        "e0d10bfa91b0a089a9e2c378b5c42f4e96171d95"
      ],
      "author": {
        "name": "Toshiyuki Okajima",
        "email": "toshi.okajima@jp.fujitsu.com",
        "time": "Wed Oct 27 21:30:07 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:07 2010 -0400"
      },
      "message": "ext4: fix potential infinite loop in ext4_da_writepages()\n\nOn linux-2.6.36-rc2, if we execute the following script, we can hang\nthe system when the /bin/sync command is executed:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n#!/bin/sh\n\necho -n \"HANG UP TEST: \"\n/bin/dd if\u003d/dev/zero of\u003d/tmp/img bs\u003d1k count\u003d1 seek\u003d1M 2\u003e /dev/null\n/sbin/mkfs.ext4 -Fq /tmp/img\n/bin/mount -o loop -t ext4 /tmp/img /mnt\n/bin/dd if\u003d/dev/zero of\u003d/mnt/file bs\u003d1 count\u003d1 \\\nseek\u003d$((16*1024*1024*1024*1024-4096)) 2\u003e /dev/null\n/bin/sync\n/bin/umount /mnt\necho \"DONE\"\nexit 0\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nWe can see the following backtrace if we get the kdump when this\nhangup occurs:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nkthread()\n\u003d\u003e bdi_writeback_thread()\n   \u003d\u003e wb_do_writeback()\n      \u003d\u003e wb_writeback()\n         \u003d\u003e writeback_inodes_wb()\n            \u003d\u003e writeback_sb_inodes()\n               \u003d\u003e writeback_single_inode()\n                  \u003d\u003e ext4_da_writepages()  ---+ \n                                ^ infinite    |\n                                |   loop      |\n                                +-------------+\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThe reason why this hangup happens is described as follows:\n1) We write the last extent block of the file whose size is the filesystem \n   maximum size.\n2) \"BH_Delay\" flag is set on the buffer_head of its block.\n3) - the member, \"m_lblk\" of struct mpage_da_data is 4294967295 (UINT_MAX)\n   - the member, \"m_len\" of struct mpage_da_data is 1\n  mpage_put_bnr_to_bhs() which is called via ext4_da_writepages()\n  cannot clear \"BH_Delay\" flag of the buffer_head because the type of\n  m_lblk is ext4_lblk_t and then m_lblk + m_len is overflow.\n\n  Therefore an infinite loop occurs because ext4_da_writepages()\n  cannot write the page (which corresponds to the block) since\n  \"BH_Delay\" flag isn\u0027t cleared.\n----------------------------------------------------------------------\nstatic void mpage_put_bnr_to_bhs(struct mpage_da_data *mpd,\n\t\t\t\tstruct ext4_map_blocks *map)\n{\n...\n\tint blocks \u003d map-\u003em_len;\n...\n\t\tdo {\n\t\t\t// cur_logical \u003d 4294967295\n\t\t\t// map-\u003em_lblk \u003d 4294967295\n\t\t\t// blocks \u003d 1\n\t\t\t// *** map-\u003em_lblk + blocks \u003d\u003d 0 (OVERFLOW!) ***\n\t\t\t// (cur_logical \u003e\u003d map-\u003em_lblk + blocks) \u003d\u003e true\n\t\t\tif (cur_logical \u003e\u003d map-\u003em_lblk + blocks)\n\t\t\t\tbreak;\n----------------------------------------------------------------------\n\nNOTE: Mounting with the nodelalloc option will avoid this codepath,\nand thus, avoid this hang\n\nSigned-off-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e0d10bfa91b0a089a9e2c378b5c42f4e96171d95",
      "tree": "254d6b0b7d7ca2dfd817171d8d641c1a648e9c46",
      "parents": [
        "c41303ced67c4ebf51bf2e7d0f139155e09e0939"
      ],
      "author": {
        "name": "Toshiyuki Okajima",
        "email": "toshi.okajima@jp.fujitsu.com",
        "time": "Wed Oct 27 21:30:06 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:06 2010 -0400"
      },
      "message": "ext4: improve llseek error handling for overly large seek offsets\n\nThe llseek system call should return EINVAL if passed a seek offset\nwhich results in a write error.  What this maximum offset should be\ndepends on whether or not the huge_file file system feature is set,\nand whether or not the file is extent based or not.\n\n\nIf the file has no \"EXT4_EXTENTS_FL\" flag, the maximum size which can be \nwritten (write systemcall) is different from the maximum size which can be \nsought (lseek systemcall).\n\nFor example, the following 2 cases demonstrates the differences\nbetween the maximum size which can be written, versus the seek offset\nallowed by the llseek system call:\n\n#1: mkfs.ext3 \u003cdev\u003e; mount -t ext4 \u003cdev\u003e\n#2: mkfs.ext3 \u003cdev\u003e; tune2fs -Oextent,huge_file \u003cdev\u003e; mount -t ext4 \u003cdev\u003e\n\nTable. the max file size which we can write or seek\n       at each filesystem feature tuning and file flag setting\n+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\n| \\ File flag|                               |                               |\n|      \\     |     !EXT4_EXTENTS_FL          |        EXT4_EXTETNS_FL        |\n|case       \\|                               |                               |\n+------------+-------------------------------+-------------------------------+\n| #1         |   write:      2194719883264   | write:       --------------   |\n|            |   seek:       2199023251456   | seek:        --------------   |\n+------------+-------------------------------+-------------------------------+\n| #2         |   write:      4402345721856   | write:       17592186044415   |\n|            |   seek:      17592186044415   | seek:        17592186044415   |\n+------------+-------------------------------+-------------------------------+\n\nThe differences exist because ext4 has 2 maxbytes which are sb-\u003es_maxbytes\n(\u003d extent-mapped maxbytes) and EXT4_SB(sb)-\u003es_bitmap_maxbytes (\u003d block-mapped \nmaxbytes).  Although generic_file_llseek uses only extent-mapped maxbytes.\n(llseek of ext4_file_operations is generic_file_llseek which uses\nsb-\u003es_maxbytes.)\n\nTherefore we create ext4 llseek function which uses 2 maxbytes.\n\nThe new own function originates from generic_file_llseek().\nIf the file flag, \"EXT4_EXTENTS_FL\" is not set, the function alters \ninode-\u003ei_sb-\u003es_maxbytes into EXT4_SB(inode-\u003ei_sb)-\u003es_bitmap_maxbytes.\n\nSigned-off-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Andreas Dilger \u003cadilger.kernel@dilger.ca\u003e\n"
    },
    {
      "commit": "c41303ced67c4ebf51bf2e7d0f139155e09e0939",
      "tree": "6593e7d580d48c2229df94bac0412654a1a7f76e",
      "parents": [
        "2407518de63a2f80d9b850fb525f35df93bbbe53"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "zenczykowski@gmail.com",
        "time": "Wed Oct 27 21:30:06 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:06 2010 -0400"
      },
      "message": "ext4: don\u0027t update sb journal_devnum when RO dev\n\nAn ext4 filesystem on a read-only device, with an external journal\nwhich is at a different device number then recorded in the superblock\nwill fail to honor the read-only setting of the device and trigger\na superblock update (write).\n\nFor example:\n  - ext4 on a software raid which is in read-only mode\n  - external journal on a read-write device which has changed device num\n  - attempt to mount with -o journal_dev\u003d\u003cnew_number\u003e\n  - hits BUG_ON(mddev-\u003ero \u003d 1) in md.c\n\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Maciej Żenczykowski \u003czenczykowski@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "2407518de63a2f80d9b850fb525f35df93bbbe53",
      "tree": "97720c9fc4ee04f92463bde87a454a3f3cea6b5a",
      "parents": [
        "a31437b85aa2cbc4ea80f9ee5d603fdd5430980c"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Wed Oct 27 21:30:06 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:06 2010 -0400"
      },
      "message": "ext4: use sb_issue_zeroout in ext4_ext_zeroout\n\nChange ext4_ext_zeroout to use sb_issue_zeroout instead of its\nown approach to zero out extents.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a31437b85aa2cbc4ea80f9ee5d603fdd5430980c",
      "tree": "d4c0a609d5e4e59d2cd748ddf57c5f2c49844673",
      "parents": [
        "857ac889cce8a486d47874db4d2f9620e7e9e5de"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Wed Oct 27 21:30:05 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:05 2010 -0400"
      },
      "message": "ext4: use sb_issue_zeroout in setup_new_group_blocks\n\nUse sb_issue_zeroout to zero out inode table and descriptor table\nblocks instead of old approach which involves journaling.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "857ac889cce8a486d47874db4d2f9620e7e9e5de",
      "tree": "12401895197d819fcbf2335244d91259f4640aa2",
      "parents": [
        "bfff68738f1cb5c93dab1114634cea02aae9e7ba"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Wed Oct 27 21:30:05 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:05 2010 -0400"
      },
      "message": "ext4: add interface to advertise ext4 features in sysfs\n\nUser-space should have the opportunity to check what features doest ext4\nsupport in each particular copy. This adds easy interface by creating new\n\"features\" directory in sys/fs/ext4/. In that directory files\nadvertising feature names can be created.\n\nAdd lazy_itable_init to the feature list.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "bfff68738f1cb5c93dab1114634cea02aae9e7ba",
      "tree": "b6cdf3f26e86464c7088cab62d837eb32f559fb9",
      "parents": [
        "e6fa0be699449d28a20e815bfe9ce26725ec4962"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Wed Oct 27 21:30:05 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:05 2010 -0400"
      },
      "message": "ext4: add support for lazy inode table initialization\n\nWhen the lazy_itable_init extended option is passed to mke2fs, it\nconsiderably speeds up filesystem creation because inode tables are\nnot zeroed out.  The fact that parts of the inode table are\nuninitialized is not a problem so long as the block group descriptors,\nwhich contain information regarding how much of the inode table has\nbeen initialized, has not been corrupted However, if the block group\nchecksums are not valid, e2fsck must scan the entire inode table, and\nthe the old, uninitialized data could potentially cause e2fsck to\nreport false problems.\n\nHence, it is important for the inode tables to be initialized as soon\nas possble.  This commit adds this feature so that mke2fs can safely\nuse the lazy inode table initialization feature to speed up formatting\nfile systems.\n\nThis is done via a new new kernel thread called ext4lazyinit, which is\ncreated on demand and destroyed, when it is no longer needed.  There\nis only one thread for all ext4 filesystems in the system. When the\nfirst filesystem with inititable mount option is mounted, ext4lazyinit\nthread is created, then the filesystem can register its request in the\nrequest list.\n\nThis thread then walks through the list of requests picking up\nscheduled requests and invoking ext4_init_inode_table(). Next schedule\ntime for the request is computed by multiplying the time it took to\nzero out last inode table with wait multiplier, which can be set with\nthe (init_itable\u003dn) mount option (default is 10).  We are doing\nthis so we do not take the whole I/O bandwidth. When the thread is no\nlonger necessary (request list is empty) it frees the appropriate\nstructures and exits (and can be created later later by another\nfilesystem).\n\nWe do not disturb regular inode allocations in any way, it just do not\ncare whether the inode table is, or is not zeroed. But when zeroing, we\nhave to skip used inodes, obviously. Also we should prevent new inode\nallocations from the group, while zeroing is on the way. For that we\ntake write alloc_sem lock in ext4_init_inode_table() and read alloc_sem\nin the ext4_claim_inode, so when we are unlucky and allocator hits the\ngroup which is currently being zeroed, it just has to wait.\n\nThis can be suppresed using the mount option no_init_itable.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e6fa0be699449d28a20e815bfe9ce26725ec4962",
      "tree": "2e979f57060c50a73eef51fdbc19d4666d463c4e",
      "parents": [
        "5c2178e785244341d1e6f2bc3b62f20a337cc44f"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Wed Oct 27 21:30:04 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:04 2010 -0400"
      },
      "message": "Add helper function for blkdev_issue_zeroout (sb_issue_discard)\n\nThis is done the same way as helper sb_issue_discard for\nblkdev_issue_discard.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5c2178e785244341d1e6f2bc3b62f20a337cc44f",
      "tree": "669b8108fbe2708dff06dce25be6d70f68c553c4",
      "parents": [
        "a1c6c5698d53db4c47a25c3a8d11731a4d7b8370"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:04 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:04 2010 -0400"
      },
      "message": "jbd2: Add sanity check for attempts to start handle during umount\n\nAn attempt to modify the file system during the call to\njbd2_destroy_journal() can lead to a system lockup.  So add some\nchecking to make it much more obvious when this happens to and to\ndetermine where the offending code is located.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a1c6c5698d53db4c47a25c3a8d11731a4d7b8370",
      "tree": "4c0b46a74ea1699f8a5e2765a432fec35fb38bcb",
      "parents": [
        "53fdcf992d616484d388a8ab9dad07dc8b8f1178"
      ],
      "author": {
        "name": "Sergey Senozhatsky",
        "email": "sergey.senozhatsky@gmail.com",
        "time": "Wed Oct 27 21:30:04 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:04 2010 -0400"
      },
      "message": "ext4: fix NULL pointer dereference in print_daily_error_info()\n\nFix NULL pointer dereference in print_daily_error_info, when   \ncalled on unmounted fs (EXT4_SB(sb) returns NULL), by removing error \nreporting timer in ext4_put_super.\n\nGoogle-Bug-Id: 3017663\n\nSigned-off-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "53fdcf992d616484d388a8ab9dad07dc8b8f1178",
      "tree": "f9542d11f725bfb552636f53eab455f917138f47",
      "parents": [
        "582987098207f1182ed5c7d01d5fedf7a5f56286"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Wed Oct 27 21:30:04 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:04 2010 -0400"
      },
      "message": "ext4: don\u0027t hold spinlock while calling ext4_issue_discard()\n\nWe can\u0027t hold the block group spinlock because we ext4_issue_discard()\ncalls wait and hence can get rescheduled.\n\nGoogle-Bug-Id: 3017678\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "582987098207f1182ed5c7d01d5fedf7a5f56286",
      "tree": "90bd12d0744a8ba7cf63f4042f09102812340334",
      "parents": [
        "b443e7339aa08574d30b0819b344618459c76214"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Wed Oct 27 21:30:03 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:03 2010 -0400"
      },
      "message": "ext4: check for negative error code from sb_issue_discard\n\nsb_issue_discard() is returning negative error code, so check for\n-EOPNOTSUPP.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "b443e7339aa08574d30b0819b344618459c76214",
      "tree": "3c89ccd60deee6184b5cc9cf2bbb78291952b047",
      "parents": [
        "659c6009ca2e3a01acc9881bafe5f55ef09c965b"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:03 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:03 2010 -0400"
      },
      "message": "ext4: don\u0027t bump up LONG_MAX nr_to_write by a factor of 8\n\nI\u0027m uneasy with lots of stuff going on in ext4_da_writepages(),\nbut bumping nr_to_write from LLONG_MAX to -8 clearly isn\u0027t\nmaking anything better, so avoid the multiplier in that case.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "659c6009ca2e3a01acc9881bafe5f55ef09c965b",
      "tree": "c7d6b0a8cfb8f5979f3f8d0e0e5122ffd9c688be",
      "parents": [
        "fb1813f4a8a27bbd4735967e46931e61fc837a3e"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:03 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:03 2010 -0400"
      },
      "message": "ext4: stop looping in ext4_num_dirty_pages when max_pages reached\n\nToday we simply break out of the inner loop when we have accumulated\nmax_pages; this keeps scanning forwad and doing pagevec_lookup_tag()\nin the while (!done) loop, this does potentially a lot of work\nwith no net effect.\n\nWhen we have accumulated max_pages, just clean up and return.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "fb1813f4a8a27bbd4735967e46931e61fc837a3e",
      "tree": "c9d7c9d851c81663a8e501ba5c14f2a4b332f893",
      "parents": [
        "b853fd364810a241050778124842a8c415c72a69"
      ],
      "author": {
        "name": "Curt Wohlgemuth",
        "email": "curtw@google.com",
        "time": "Wed Oct 27 21:29:12 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:29:12 2010 -0400"
      },
      "message": "ext4: use dedicated slab caches for group_info structures\n\next4_group_info structures are currently allocated with kmalloc().\nWith a typical 4K block size, these are 136 bytes each -- meaning\nthey\u0027ll each consume a 256-byte slab object.  On a system with many\next4 large partitions, that\u0027s a lot of wasted kernel slab space.\n(E.g., a single 1TB partition will have about 8000 block groups, using\nabout 2MB of slab, of which nearly 1MB is wasted.)\n\nThis patch creates an array of slab pointers created as needed --\ndepending on the superblock block size -- and uses these slabs to\nallocate the group info objects.\n\nGoogle-Bug-Id: 2980809\n\nSigned-off-by: Curt Wohlgemuth \u003ccurtw@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "22cdbd1d5789cc16c37102eb6f62c3ae377b849e",
      "tree": "f86d3d798351c4bde69afbfa80e940aad01abaad",
      "parents": [
        "55f335a8857db2ee22c068e7ab7141fc79928296",
        "ce45b873028fdf94a24f0850cd554e6fda593e16"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:28:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:28:00 2010 -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: (108 commits)\n  ehea: Fixing statistics\n  bonding: Fix lockdep warning after bond_vlan_rx_register()\n  tunnels: Fix tunnels change rcu protection\n  caif-u5500: Build config for CAIF shared mem driver\n  caif-u5500: CAIF shared memory mailbox interface\n  caif-u5500: CAIF shared memory transport protocol\n  caif-u5500: Adding shared memory include\n  drivers/isdn: delete double assignment\n  drivers/net/typhoon.c: delete double assignment\n  drivers/net/sb1000.c: delete double assignment\n  qlcnic: define valid vlan id range\n  qlcnic: reduce rx ring size\n  qlcnic: fix mac learning\n  ehea: fix use after free\n  inetpeer: __rcu annotations\n  fib_rules: __rcu annotates ctarget\n  tunnels: add __rcu annotations\n  net: add __rcu annotations to protocol\n  ipv4: add __rcu annotations to routes.c\n  qlge: bugfix: Restoring the vlan setting.\n  ...\n"
    },
    {
      "commit": "7e94250312d8b32a18e7e96cee19f2795d224e8c",
      "tree": "fda0c98857ca57d52589aef32c4f40f19ce585b6",
      "parents": [
        "2c7d81acf432fad02073c139355e94a6f7e4df45"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Tue Oct 19 00:36:19 2010 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Oct 28 11:27:24 2010 +1000"
      },
      "message": "drm/radeon/kms: enable unmappable vram for evergreen\n\nEvergreen now has blit support, but unmappable vram support\nwas disabled in c919b371cb734f42b1130e706ecee262f8d9261d\n(drm/radeon/kms: avoid corner case issue with unmappable vram V2)\ndue to merge ordering.  This re-enables unmappable vram on\nevergreen.\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "b853fd364810a241050778124842a8c415c72a69",
      "tree": "5fbc9f7ed51db48f9ef68343f69fa5b5b537a901",
      "parents": [
        "39e3ac2599a5f9aba499b5f8af809108e70a6163"
      ],
      "author": {
        "name": "Wen Congyang",
        "email": "wency@cn.fujitsu.com",
        "time": "Wed Oct 27 21:27:12 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:27:12 2010 -0400"
      },
      "message": "ext4: avoid null dereference in trace_ext4_mballoc_discard\n\nac-\u003einode is set to null in function ext4_mb_release_group_pa(),\nand then trace_ext4_mballoc_discard(ac) is called, the kernel\nwill panic.\n\nBUG: unable to handle kernel NULL pointer dereference at 000000a4\nIP: [\u003cf87e1714\u003e] ftrace_raw_event_ext4__mballoc+0x54/0xc0 [ext4]\n*pdpt \u003d 0000000000abd001 *pde \u003d 0000000000000000\nOops: 0000 [#1] SMP\n\nPid: 550, comm: flush-8:16 Not tainted 2.6.36-rc1 #1 SE7320EP2/Altos G530\nEIP: 0060:[\u003cf87e1714\u003e] EFLAGS: 00010206 CPU: 1\nEIP is at ftrace_raw_event_ext4__mballoc+0x54/0xc0 [ext4]\nEAX: f32ac840 EBX: f3f1cf88 ECX: f32ac840 EDX: 00000000\nESI: f32ac83c EDI: f880b9d8 EBP: 00000000 ESP: f4b77ae4\n DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nProcess flush-8:16 (pid: 550, ti\u003df4b76000 task\u003df613e540 task.ti\u003df4b76000)\nCall Trace:\n [\u003cf87f5ac1\u003e] ? ext4_mb_release_group_pa+0x121/0x150 [ext4]\n [\u003cf87f8356\u003e] ? ext4_mb_discard_group_preallocations+0x336/0x400 [ext4]\n [\u003cf87fb7f1\u003e] ? ext4_mb_new_blocks+0x3d1/0x4f0 [ext4]\n [\u003cc05a6c5b\u003e] ? __make_request+0x10b/0x440\n [\u003cf87f1fb4\u003e] ? ext4_ext_map_blocks+0x1334/0x1980 [ext4]\n [\u003cc04ac78a\u003e] ? rb_reserve_next_event+0xaa/0x3b0\n [\u003cf87d18d6\u003e] ? ext4_map_blocks+0xd6/0x1d0 [ext4]\n [\u003cf87d2da7\u003e] ? mpage_da_map_blocks+0xc7/0x8a0 [ext4]\n [\u003cc04c8a68\u003e] ? find_get_pages_tag+0x38/0x110\n [\u003cc04d23a5\u003e] ? __pagevec_release+0x15/0x20\n [\u003cf87d3ca5\u003e] ? ext4_da_writepages+0x2b5/0x5d0 [ext4]\n [\u003cc04cfbe0\u003e] ? __writepage+0x0/0x30\n [\u003cc04d0e34\u003e] ? do_writepages+0x14/0x30\n [\u003cc0526600\u003e] ? writeback_single_inode+0xa0/0x240\n [\u003cc0526971\u003e] ? writeback_sb_inodes+0xc1/0x180\n [\u003cc0526ab8\u003e] ? writeback_inodes_wb+0x88/0x140\n [\u003cc0526d7b\u003e] ? wb_writeback+0x20b/0x320\n [\u003cc045aca7\u003e] ? lock_timer_base+0x27/0x50\n [\u003cc0526fe0\u003e] ? wb_do_writeback+0x150/0x190\n [\u003cc05270a8\u003e] ? bdi_writeback_thread+0x88/0x1f0\n [\u003cc043b680\u003e] ? complete+0x40/0x60\n [\u003cc0527020\u003e] ? bdi_writeback_thread+0x0/0x1f0\n [\u003cc0469474\u003e] ? kthread+0x74/0x80\n [\u003cc0469400\u003e] ? kthread+0x0/0x80\n [\u003cc040a23e\u003e] ? kernel_thread_helper+0x6/0x10\n\nSigned-off-by: Wen Congyang \u003cwency@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "2c7d81acf432fad02073c139355e94a6f7e4df45",
      "tree": "4ee9dbcb3e556b0d67fc67919271202ef3c47284",
      "parents": [
        "43b93fbffc2c080dba2e84df6fce8d7e6c0a2581"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Wed Oct 27 01:44:35 2010 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Oct 28 11:27:07 2010 +1000"
      },
      "message": "drm/radeon/kms: fix tiled db height calculation on 6xx/7xx\n\nCalculate height based on the slice bitfield rather than the size.\nSame as Dave\u0027s CB fix.\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "43b93fbffc2c080dba2e84df6fce8d7e6c0a2581",
      "tree": "10b747157c8fb249b7b86807281d6d61fe5a39d3",
      "parents": [
        "135cba0dc399fdd47bd3ae305c1db75fcd77243f"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Wed Oct 27 01:02:35 2010 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Oct 28 11:27:04 2010 +1000"
      },
      "message": "drm/radeon/kms: fix handling of tex lookup disable in cs checker on r2xx\n\nThere are cases when multiple texture units have to be enabled,\nbut not actually used to sample.  This patch checks to see if\nthe lookup_disable bit is set and if so, skips the texture check.\n\nFixes:\nhttps://bugs.freedesktop.org/show_bug.cgi?id\u003d25544\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "39e3ac2599a5f9aba499b5f8af809108e70a6163",
      "tree": "16c9d790029c36f217b1689b42869c8739e8ac5e",
      "parents": [
        "58590b06d79f7ce5ab64ff3b6d537180fa50dc84"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@linux.vnet.ibm.com",
        "time": "Wed Oct 27 21:25:12 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:25:12 2010 -0400"
      },
      "message": "jbd2: Fix I/O hang in jbd2_journal_release_jbd_inode\n\nThis fixes a hang seen in jbd2_journal_release_jbd_inode\non a lot of Power 6 systems running with ext4. When we get\nin the hung state, all I/O to the disk in question gets blocked\nwhere we stay indefinitely. Looking at the task list, I can see\nwe are stuck in jbd2_journal_release_jbd_inode waiting on a\nwake up. I added some debug code to detect this scenario and\ndump additional data if we were stuck in jbd2_journal_release_jbd_inode\nfor longer than 30 minutes. When it hit, I was able to see that\ni_flags was 0, suggesting we missed the wake up.\n\nThis patch changes i_flags to be an unsigned long, uses bit operators\nto access it, and adds barriers around the accesses. Prior to applying\nthis patch, we were regularly hitting this hang on numerous systems\nin our test environment. After applying the patch, the hangs no longer\noccur.\n\nSigned-off-by: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "58590b06d79f7ce5ab64ff3b6d537180fa50dc84",
      "tree": "4e3c785e4ec6709385f62b741389de34a9ade279",
      "parents": [
        "899611ee7d373e5eeda08e9a8632684e1ebbbf00"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:23:12 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:23:12 2010 -0400"
      },
      "message": "ext4: fix EOFBLOCKS_FL handling\n\nIt turns out we have several problems with how EOFBLOCKS_FL is\nhandled.  First of all, there was a fencepost error where we were not\nclearing the EOFBLOCKS_FL when fill in the last uninitialized block,\nbut rather when we allocate the next block _after_ the uninitalized\nblock.  Secondly we were not testing to see if we needed to clear the\nEOFBLOCKS_FL when writing to the file O_DIRECT or when were converting\nan uninitialized block (which is the most common case).\n\nGoogle-Bug-Id: 2928259\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "55f335a8857db2ee22c068e7ab7141fc79928296",
      "tree": "7e04667573f87a6970b6804940ef8fcb4bb6ca3b",
      "parents": [
        "7420a8c0de8d99b201aeeab6fed16ca95ebf55a5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:17:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:17:02 2010 -0700"
      },
      "message": "fasync: Fix placement of FASYNC flag comment\n\nIn commit f7347ce4ee7c (\"fasync: re-organize fasync entry insertion to\nallow it under a spinlock\") Arnd took an earlier patch of mine that had\nthe comment about the FASYNC flag above the wrong function.\n\nWhen the fasync_add_entry() function was split to introduce the new\nfasync_insert_entry() helper function, the code that actually cares\nabout the FASYNC bit moved to that new helper.\n\nSo just move the comment to the right point.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7420a8c0de8d99b201aeeab6fed16ca95ebf55a5",
      "tree": "0787800f490f98ffd41b958e52ab15732335744e",
      "parents": [
        "12ba8d1e9262ce81a695795410bd9ee5c9407ba1",
        "72f98e72551fad573c6cace8e8551ef094f482dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:13:34 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:13:34 2010 -0700"
      },
      "message": "Merge branch \u0027flock\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027flock\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  locks: turn lock_flocks into a spinlock\n  fasync: re-organize fasync entry insertion to allow it under a spinlock\n  locks/nfsd: allocate file lock outside of spinlock\n  lockd: fix nlmsvc_notify_blocked locking\n  lockd: push lock_flocks down\n"
    },
    {
      "commit": "95aac7b1cd224f568fb83937044cd303ff11b029",
      "tree": "24c08cfe031ecc0549cf3f7900e992a27044c4ad",
      "parents": [
        "231f3d393f63f6e3b505afa179999bba491d0f08"
      ],
      "author": {
        "name": "Shawn Bohrer",
        "email": "shawn.bohrer@gmail.com",
        "time": "Wed Oct 27 15:34:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:18 2010 -0700"
      },
      "message": "epoll: make epoll_wait() use the hrtimer range feature\n\nThis make epoll use hrtimers for the timeout value which prevents\nepoll_wait() from timing out up to a millisecond early.\n\nThis mirrors the behavior of select() and poll().\n\nSigned-off-by: Shawn Bohrer \u003cshawn.bohrer@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "231f3d393f63f6e3b505afa179999bba491d0f08",
      "tree": "72bde1a29b6b5704e2465f751b99d868cbfe8e60",
      "parents": [
        "61d8e11e519ee7912ab59610fba1aaf08e3c1d84"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Oct 27 15:34:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:18 2010 -0700"
      },
      "message": "select: rename estimate_accuracy() to select_estimate_accuracy()\n\nMake it a subsystem-specific identifier because we wish to amke it\nnon-static in the next patch (\"epoll: make epoll_wait() use the hrtimer\nrange feature\").\n\nCc: Shawn Bohrer \u003cshawn.bohrer@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "61d8e11e519ee7912ab59610fba1aaf08e3c1d84",
      "tree": "f06e035c88cbf508eb6e24875b878ee78d581cf8",
      "parents": [
        "c3b92ce9e75f6353104fc7f8e32fb9fdb2550ad0"
      ],
      "author": {
        "name": "Zimny Lech",
        "email": "napohybelskurwysynom2010@gmail.com",
        "time": "Wed Oct 27 15:34:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:18 2010 -0700"
      },
      "message": "Remove duplicate includes from many files\n\nSigned-off-by: Zimny Lech \u003cnapohybelskurwysynom2010@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c3b92ce9e75f6353104fc7f8e32fb9fdb2550ad0",
      "tree": "0b3086e8274eaff2741bdbb4199896597a0d9b57",
      "parents": [
        "5de1cb2d0f1c1e5475d2bedf65b76828f8cdde22"
      ],
      "author": {
        "name": "Kyungmin Park",
        "email": "kyungmin.park@samsung.com",
        "time": "Wed Oct 27 15:34:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:18 2010 -0700"
      },
      "message": "ramoops: use the platform data structure instead of module params\n\nAs each board and system has different memory for ramoops.  It\u0027s better to\ndefine the platform data instead of module params.\n\n[akpm@linux-foundation.org: fix ramoops_remove() return type]\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5de1cb2d0f1c1e5475d2bedf65b76828f8cdde22",
      "tree": "2f3dbb20f08bfbbdd1f4da144f9c18fec9cce7aa",
      "parents": [
        "144ecf310eb52d9df607b9b7eeb096743e232a96"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "shijie8@gmail.com",
        "time": "Wed Oct 27 15:34:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:18 2010 -0700"
      },
      "message": "kernel/resource.c: handle reinsertion of an already-inserted resource\n\nIf the same resource is inserted to the resource tree (maybe not on\npurpose), a dead loop will be created.  In this situation, The kernel does\nnot report any warning or error :(\n\n  The command below will show a endless print.\n  #cat /proc/iomem\n\n[akpm@linux-foundation.org: add WARN_ON()]\nSigned-off-by: Huang Shijie \u003cshijie8@gmail.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "144ecf310eb52d9df607b9b7eeb096743e232a96",
      "tree": "2a444a3f618ec070f33b3024f7728db29f5ab7d4",
      "parents": [
        "12aa4c64174cb0d915cd1c7b763847c0ffa8e92c"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Wed Oct 27 15:34:50 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:18 2010 -0700"
      },
      "message": "kfifo: fix kfifo_alloc() to return a signed int value\n\nAdd a new __kfifo_int_must_check_helper() helper function, which is needed\nfor kfifo_alloc() to return the right signed integer value.\n\nThe origin __kfifo_must_check_helper() helper was renamed into\n__kfifo_uint_must_check_helper() to show the sign which is expected and\nreturned.\n\n(And revert the temporary disabling of __kfifo_must_check_helper())\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12aa4c64174cb0d915cd1c7b763847c0ffa8e92c",
      "tree": "5dad12890f620de7f5ff6ec5255ff8cc407526c1",
      "parents": [
        "f49d2eb314f3f83270bef6aea2abb7a26d4218ee"
      ],
      "author": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Wed Oct 27 15:34:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:17 2010 -0700"
      },
      "message": "w1: don\u0027t allow arbitrary users to remove w1 devices\n\nThe search/pullup/add/remove device attributes were 0666 which would allow\narbitrary users to affect the 1 wire bus.  Change to 0664 to prevent that.\n\nI found this patch in the Android tree, apparently this has never been\nsent upstream so doing it now.\n\nSigned-off-by: Brian Swetland \u003cswetland@google.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nCc: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f49d2eb314f3f83270bef6aea2abb7a26d4218ee",
      "tree": "d2ab6ccf6c560909a4a83aaabdc81f821300014a",
      "parents": [
        "c1c7438dbbd03442ff86066843485db7fadd67bd"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed Oct 27 15:34:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:17 2010 -0700"
      },
      "message": "alpha: remove dma64_addr_t usage\n\ndma_addr_t is always 64 bit on alpha. So let\u0027s use dma_addr_t instead.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1c7438dbbd03442ff86066843485db7fadd67bd",
      "tree": "412f9c583aa473e3eb6318cc05d0a2cb217390d7",
      "parents": [
        "4ad9b208cf1d03c8c3c1e0063ee6eea88833118f"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed Oct 27 15:34:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:17 2010 -0700"
      },
      "message": "mips: remove dma64_addr_t usage\n\ndma64_addr_t looks pointless (at least there is no point that an\narchitecture has the own dma64_addr_t typedef).\n\ndma_addr_t is set to 32 or 64 bits appropriately.  You can use u64 at\nplaces where you know that 64 bit address is always necessary.\n\nLet\u0027s use u64 instead for mips.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ad9b208cf1d03c8c3c1e0063ee6eea88833118f",
      "tree": "4f2283a69db5edcb6d4587cc9a8cc2f59f6a960c",
      "parents": [
        "0be8557bcd34887d5a42c01c5659cab5ecf99f13"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed Oct 27 15:34:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:17 2010 -0700"
      },
      "message": "sparc: remove dma64_addr_t usage\n\ndma64_addr_t looks pointless (at least there is no point that an\narchitecture has the own dma64_addr_t typedef).\n\ndma_addr_t is set to 32 or 64 bits appropriately. You can use u64\nat places where you know that 64 bit address is always necessary.\n\nLet\u0027s use u64 instead for sparc32.\n\nLooks like PCI654_REQUIRED_MASK or PCI64_ADR_BASE isn\u0027t used. They can\nbe removed?\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0be8557bcd34887d5a42c01c5659cab5ecf99f13",
      "tree": "80d211221be1583303818cf201d6e40cc0674608",
      "parents": [
        "d57af9b2142f31a39dcfdeb30776baadfc802827"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Oct 27 15:34:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:17 2010 -0700"
      },
      "message": "fuse: use release_pages()\n\nReplace iterated page_cache_release() with release_pages(), which is\nfaster and shorter.\n\nNeeds release_pages() to be exported to modules.\n\nSuggested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d57af9b2142f31a39dcfdeb30776baadfc802827",
      "tree": "a89233b1e57b152c9bebf7bb516dd51920602969",
      "parents": [
        "3d9e0cf1fe007b88db55d43dfdb6839e1a029ca5"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@linux.vnet.ibm.com",
        "time": "Wed Oct 27 15:34:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:17 2010 -0700"
      },
      "message": "taskstats: use real microsecond granularity for CPU times\n\nThe taskstats interface uses microsecond granularity for the user and\nsystem time values.  The conversion from cputime to the taskstats values\nuses the cputime_to_msecs primitive which effectively limits the\ngranularity to milliseconds.  Add the cputime_to_usecs primitive for\narchitectures that have better, more precise CPU time values.  Remove\ncputime_to_msecs primitive because there are no more users left.\n\nSigned-off-by: Michael Holzheu \u003cholzheu@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Luck Tony \u003ctony.luck@intel.com\u003e\nCc: Shailabh Nagar \u003cnagar1234@in.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Shailabh Nagar \u003cnagar@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d9e0cf1fe007b88db55d43dfdb6839e1a029ca5",
      "tree": "508a9c06b48d5a232d669c6f95b4d3e8e4c2950c",
      "parents": [
        "9323312592cca636d7c2580dc85fa4846efa86a2"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@linux.vnet.ibm.com",
        "time": "Wed Oct 27 15:34:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:17 2010 -0700"
      },
      "message": "taskstats: split fill_pid function\n\nSeparate the finding of a task_struct by pid or tgid from filling the\ntaskstats data. This makes the code more readable.\n\nSigned-off-by: Michael Holzheu \u003cholzheu@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9323312592cca636d7c2580dc85fa4846efa86a2",
      "tree": "b73ce3e0a5302f7b30498460b13504517169eb3c",
      "parents": [
        "85893120699f8bae8caa12a8ee18ab5fceac978e"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@linux.vnet.ibm.com",
        "time": "Wed Oct 27 15:34:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:17 2010 -0700"
      },
      "message": "taskstats: separate taskstats commands\n\nMove each taskstats command into a single function.  This makes the code\nmore readable and makes it easier to add new commands.\n\nSigned-off-by: Michael Holzheu \u003cholzheu@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "85893120699f8bae8caa12a8ee18ab5fceac978e",
      "tree": "07fb62d6c8818e8feab72d4bd78b3e4a2bbbb829",
      "parents": [
        "db9e5679d6aecb17253f41bd06d98194800f9c01"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Wed Oct 27 15:34:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:17 2010 -0700"
      },
      "message": "delayacct: align to 8 byte boundary on 64-bit systems\n\nprepare_reply() sets up an skb for the response.  The payload contains:\n\n +--------------------------------+\n | genlmsghdr - 4 bytes           |\n +--------------------------------+\n | NLA header - 4 bytes           | /* Aggregate header */\n +-+------------------------------+\n | | NLA header - 4 bytes         | /* PID header */\n | +------------------------------+\n | | pid/tgid   - 4 bytes         |\n | +------------------------------+\n | | NLA header - 4 bytes         | /* stats header */\n | + -----------------------------+ \u003c- oops. aligned on 4 byte boundary\n | | struct taskstats - 328 bytes |\n +-+------------------------------+\n\nThe start of the taskstats struct must be 8 byte aligned on IA64 (and\nother systems with 8 byte alignment rules for 64-bit types) or runtime\nalignment warnings will be issued.\n\nThis patch pads the pid/tgid field out to sizeof(long), which forces the\nalignment of taskstats.  The getdelays userspace code is ok with this\nsince it assumes 32-bit pid/tgid and then honors that header\u0027s length\nfield.\n\nAn array is used to avoid exposing kernel memory contents to userspace in\nthe response.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db9e5679d6aecb17253f41bd06d98194800f9c01",
      "tree": "57a5c1ed67b40b9b736e1f80c15931bcda78b90e",
      "parents": [
        "7af37bec41b19fcb9de2b42f355a39149641170e"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Wed Oct 27 15:34:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:17 2010 -0700"
      },
      "message": "delay-accounting: reimplement -c for getdelays.c to report information on a target command\n\nTask delay-accounting was identified as one means of determining how long\na process spends in congestion_wait() without adding new statistics.  For\nexample, if the workload should not be doing IO, delay-accounting could\nreveal how long it was spending in unexpected IO or delays.\nUnfortunately, on closer examination it was clear that getdelays does not\nact as documented.\n\nCommit a3baf649 (\"per-task-delay-accounting: documentation\") added\nDocumentation/accounting/getdelays.c with a -c switch that was documented\nto fork/exec a child and report statistics on it but for reasons that are\nunclear to me, commit 9e06d3f9 deleted support for this switch but did not\nupdate the documentation.  It might be an oversight or it might be because\nthe control flow of the program meant that accounting information would be\nprinted once early in the lifetime of the program making it of limited\nuse.\n\nThis patch reimplements -c for getdelays.c to act as documented.  Unlike\nthe original version, it waits until the command completes before printing\nany information on it.  An example of it being used looks like\n\n$ ./getdelays -d -c find /home/mel -name mel\nprint delayacct stats ON\n/home/mel\n/home/mel/.notes-wine/drive_c/windows/profiles/mel\n/home/mel/.wine/drive_c/windows/profiles/mel\n/home/mel/git-configs/dot.kde/share/apps/konqueror/home/mel\nPID\t5923\n\nCPU             count     real total  virtual total    delay total\n                42779     5051232096     5164722692      564207988\nIO              count    delay total\n                41727    97804147758\nSWAP            count    delay total\n                    0              0\nRECLAIM         count    delay total\n                    0              0\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7af37bec41b19fcb9de2b42f355a39149641170e",
      "tree": "07ad466f3c8ace93201e573a31cada0d6c08b70d",
      "parents": [
        "eef691b36e9a6ee6e646c83af3f10bb60e926fa5"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Oct 27 15:34:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:17 2010 -0700"
      },
      "message": "namespaces Kconfig: move namespace menu location after the cgroup\n\nWe have the namespaces as a menuconfig like the cgroup.  The cgroup and\nthe namespace are two base bricks for the containers.\n\nIt is more logical to put the namespace menu right after the cgroup menu.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eef691b36e9a6ee6e646c83af3f10bb60e926fa5",
      "tree": "c95c3b9489c20791683ffb1672573ee2cbedbde4",
      "parents": [
        "79ae9c29e4c80b781dd915d6f01be64e668be29c"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Oct 27 15:34:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:17 2010 -0700"
      },
      "message": "namespaces Kconfig: remove the cgroup device whitelist experimental tag\n\nThis subsystem is merged since a long time now, I think we can consider it\nmature enough.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79ae9c29e4c80b781dd915d6f01be64e668be29c",
      "tree": "f170822d79c9dd0f5c05f89f1cfa36fc2f19165d",
      "parents": [
        "8dd2a82c29111bb8ad2a2933aa269b49f72d356d"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Oct 27 15:34:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:16 2010 -0700"
      },
      "message": "namespaces Kconfig: remove pointless cgroup dependency\n\nThe different cgroup subsystems are under the cgroup submenu.  The\ndependency between the cgroups and the menu subsystems is pointless.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8dd2a82c29111bb8ad2a2933aa269b49f72d356d",
      "tree": "1b4f303aee710af71aae97de9690a925757f7013",
      "parents": [
        "17a6d4411a4dc7e436e1a71c24e10048452edd98"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Oct 27 15:34:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:16 2010 -0700"
      },
      "message": "namespaces Kconfig: make namespace a submenu\n\nMake the namespaces config option a submenu.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "17a6d4411a4dc7e436e1a71c24e10048452edd98",
      "tree": "3cde8e70677a15ed7b9460d077e74d3c4bcfbb94",
      "parents": [
        "9bd38c2cdaba1f3ab2e6f90ac1b3d72481477092"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Oct 27 15:34:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:16 2010 -0700"
      },
      "message": "namespaces: default all the namespaces to \u0027yes\u0027 when CONFIG_NAMESPACES is selected\n\nAs the different namespaces depend on \u0027CONFIG_NAMESPACES\u0027, it is logical\nto enable all the namespaces when we enable NAMESPACES.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nAcked-By: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9bd38c2cdaba1f3ab2e6f90ac1b3d72481477092",
      "tree": "b9f7db1b1bacd34d9c5e5974187bf477cf8dbc9e",
      "parents": [
        "1548bf316f18090576f611c7318447c512ddbdd2"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Oct 27 15:34:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:16 2010 -0700"
      },
      "message": "namespaces: remove pid_ns and net_ns experimental status\n\nThe pid namespace is in the kernel since 2.6.27 and the net_ns since\n2.6.29.  They are enabled in the distro by default and used by userspace\ncomponent.  They are mature enough to remove the \u0027experimental\u0027 label.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1548bf316f18090576f611c7318447c512ddbdd2",
      "tree": "0a33f527a5fc5c2b3c7cacba7b352f7b9e1d0d37",
      "parents": [
        "2d4da0fc0940625d59f014c3f85370f9b60ba7f4"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Oct 27 15:34:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:16 2010 -0700"
      },
      "message": "rapidio: fix destructive port EM initialization for Tsi568\n\nReplace possibly damaging broadcast writes into the per-port SP_MODE\nregisters with individual writes for each port.  This will preserve\nindividual port configurations in case if ports are configured\ndifferently.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d4da0fc0940625d59f014c3f85370f9b60ba7f4",
      "tree": "2e520a2c5697e5afd5d1d09e2562c8826e96f6a2",
      "parents": [
        "388c45ccfaeec68e334ad79edeb0b5b0a43197ff"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Oct 27 15:34:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:16 2010 -0700"
      },
      "message": "rapidio: fix maximum port number in tsi57x EM initialization\n\nReplace hardcoded maximum port number with actual reported number of\nswitch ports.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "388c45ccfaeec68e334ad79edeb0b5b0a43197ff"
}
