)]}'
{
  "log": [
    {
      "commit": "b1c1df7a7d50bf94de89704e963467bc94b1fef9",
      "tree": "be95cd2ed5cc248ac22cb31f3e6da382b135f41f",
      "parents": [
        "e68273baf30390e9c907831b47384085c7f664d5"
      ],
      "author": {
        "name": "Balaji T K",
        "email": "balajitk@ti.com",
        "time": "Mon May 30 19:55:34 2011 +0530"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Wed Jun 01 02:25:04 2011 -0700"
      },
      "message": "ARM: OMAP4: MMC: no regulator off during probe for eMMC\n\neMMC does not handle power off when not in sleep state,\nSkip regulator disable during probe when eMMC is\nnot in known state - state left by bootloader.\n\nResolves eMMC failure on OMAP4\nmmc0: error -110 whilst initialising MMC card\n\nSigned-off-by: Balaji T K \u003cbalajitk@ti.com\u003e\nTested-by: Kishore Kadiyala \u003ckishore.kadiyala@ti.com\u003e\nAcked-by: Kishore Kadiyala \u003ckishore.kadiyala@ti.com\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "e68273baf30390e9c907831b47384085c7f664d5",
      "tree": "1ca8c222c6438c474f294190f3992e2985d894fe",
      "parents": [
        "03b562d7859c6d7c640f071b422d521146471d6d"
      ],
      "author": {
        "name": "Igor Grinberg",
        "email": "grinberg@compulab.co.il",
        "time": "Wed May 04 18:04:55 2011 +0300"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Wed Jun 01 02:25:04 2011 -0700"
      },
      "message": "arm: omap2plus: fix ads7846 pendown gpio request\n\nintroduced by: 96974a24\n(omap: consolidate touch screen initialization among different boards)\n\nads7846 driver can use either gpio_pendown or get_pendown_state()\ncallback. In case of gpio_pendown, it requests the provided gpio_pendown\nthus resulting in double requesting that gpio:\n\nads7846 spi1.0: failed to request pendown GPIO57\nads7846: probe of spi1.0 failed with error -16\n\nFix this by restricting the gpio request to the case of\nget_pendown_state() callback is used.\n\nSigned-off-by: Igor Grinberg \u003cgrinberg@compulab.co.il\u003e\nTested-by: Thomas Weber \u003cweber@corscience.de\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "03b562d7859c6d7c640f071b422d521146471d6d",
      "tree": "0117319ba7b8fa79b9e60240cbab2567f0992358",
      "parents": [
        "21a42c92750446008dc0847a78aba5459e3b6b5a"
      ],
      "author": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Thu May 26 12:25:53 2011 -0700"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Wed Jun 01 02:25:04 2011 -0700"
      },
      "message": "ARM: OMAP2: Add missing iounmap in omap4430_phy_init\n\n!dev case needs iounmap before return.\n\nSigned-off-by: Todd Poynor \u003ctoddpoynor@google.com\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "21a42c92750446008dc0847a78aba5459e3b6b5a",
      "tree": "640f9e7118a0af661a851ec45f8e3c3926a403d8",
      "parents": [
        "d4ff6121b44081601206980cafcd6ed3ecb367b6"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed May 04 14:57:57 2011 -0700"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Wed Jun 01 02:25:04 2011 -0700"
      },
      "message": "ARM: omap4: Pass core and wakeup mux tables to omap4_mux_init\n\nOMAP4 contains two separate instances of the padconf registers,\none in the core system config and one in the wakeup system config.\nPass in two tables to apply the correct values to each instance.\n\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "d4ff6121b44081601206980cafcd6ed3ecb367b6",
      "tree": "a16b0f82954e8eb37792dcf3065afbddecb39a78",
      "parents": [
        "1499f2dbafafe844e485ff8945f60cd9f3d5cbd9"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 31 12:00:09 2011 -0700"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Wed Jun 01 02:25:04 2011 -0700"
      },
      "message": "ARM: omap2+: mux: Allow board mux settings to be NULL\n\nOMAP4 has two mux instances, and the board may not have settings\nfor one of them.  Allow the board file to pass NULL for an\ninstance\u0027s mux settings, which will initialize the mux instance\nbut skip writing board settings.\n\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "1499f2dbafafe844e485ff8945f60cd9f3d5cbd9",
      "tree": "8a38961346fb13a223a67d50db927862220484e1",
      "parents": [
        "50b4860d577b4bef76c71ad38ef83b9f368283c2"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin@rab.in",
        "time": "Sat May 07 22:28:47 2011 +0530"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Wed Jun 01 02:25:04 2011 -0700"
      },
      "message": "OMAP4: fix return value of omap4_l3_init\n\nDon\u0027t PTR_ERR() a non-error pointer:\n\n initcall omap4_l3_init+0x0/0xdc returned -544980480 after 0 usecs\n initcall omap4_l3_init+0x0/0xdc returned with error code -544980480\n\nSigned-off-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "50b4860d577b4bef76c71ad38ef83b9f368283c2",
      "tree": "11df5169b673bc5fed55042a205813c3e799c618",
      "parents": [
        "77f7059a329fc8a514bbcc2f204aaa7c150e8046"
      ],
      "author": {
        "name": "Omar Ramirez Luna",
        "email": "omar.ramirez@ti.com",
        "time": "Fri Mar 25 14:04:31 2011 -0600"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Wed Jun 01 02:25:04 2011 -0700"
      },
      "message": "OMAP: iovmm: fix SW flags passed by user\n\nCommit d038aee24dcd5a2a0d8547f5396f67ae9698ac8e\n\"omap: iovmm: don\u0027t check \u0027da\u0027 to set IOVMF_DA_FIXED flag\",\nchanges iovmm to receive flags specified by user, however\nthe upper 16 bits of the flags are wiped by iovmm itself.\n\nThis fixes IOVMF_DA_FIXED flags from being lost, and lets the user\nmap its desired \"device addresses\".\n\nSigned-off-by: Omar Ramirez Luna \u003comar.ramirez@ti.com\u003e\nAcked-by: Hiroshi DOYU \u003cHiroshi.DOYU@nokia.com\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "77f7059a329fc8a514bbcc2f204aaa7c150e8046",
      "tree": "a75f324b69a310e5e240e4f6cdec76b3b78e9b1f",
      "parents": [
        "30ebad9d756a0b2c97c6c4ca6c5e6b799e3b64da"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Fri May 13 18:46:10 2011 +0200"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Wed Jun 01 02:25:04 2011 -0700"
      },
      "message": "arch/arm/mach-omap1/dma.c: Invert calls to platform_device_put and platform_device_del\n\nPlatform_device_del should be called before platform_device_put, as\nplatform_device_put can delete the structure.\n\nAdditionally, improve the error handling code for the call to ioremap, so\nthat it calls platform_device_put.\n\nThe semantic match that finds this problem is:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression e1,e2;\n@@\n\n*platform_device_put(e1);\n... when !\u003d e1 \u003d e2\n*platform_device_del(e1);\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "30ebad9d756a0b2c97c6c4ca6c5e6b799e3b64da",
      "tree": "f3119d9d84eb191e3d84d2ef1f40ad4c52ebc73e",
      "parents": [
        "26a510ba12448d3af26951376eae202bee8cdf65"
      ],
      "author": {
        "name": "Govindraj.R",
        "email": "govindraj.raja@ti.com",
        "time": "Wed Jun 01 11:28:56 2011 +0530"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Wed Jun 01 00:16:04 2011 -0700"
      },
      "message": "OMAP2+: mux: fix compilation warnings\n\nFix below compilation warnings.\n\narch/arm/mach-omap2/omap_hwmod.c: In function \u0027omap_hwmod_for_each\u0027:\narch/arm/mach-omap2/omap_hwmod.c:1631: warning: \u0027ret\u0027 may be used uninitialized in this function\n\narch/arm/mach-omap2/mux.c: In function \u0027omap_mux_get_gpio\u0027:\narch/arm/mach-omap2/mux.c:917: warning: \u0027m\u0027 may be used uninitialized in this function\n\nSigned-off-by: Govindraj.R \u003cgovindraj.raja@ti.com\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "26a510ba12448d3af26951376eae202bee8cdf65",
      "tree": "13a344cc93dde21a456c51b3c6ce6218d37e103f",
      "parents": [
        "026fe79d75c3a7a257ca72250f46b472835784c9"
      ],
      "author": {
        "name": "Santosh Shilimkar",
        "email": "santosh.shilimkar@ti.com",
        "time": "Mon Apr 04 14:20:08 2011 +0530"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Tue May 31 06:17:02 2011 -0700"
      },
      "message": "OMAP: SRAM: Fix warning: format \u0027%08lx\u0027 expects type \u0027long unsigned int\u0027\n\nFix below build warning.\n\n CC\tarch/arm/plat-omap/sram.o\n\tarch/arm/plat-omap/sram.c: In function \u0027omap_map_sram\u0027:\n\tarch/arm/plat-omap/sram.c:224: warning: format \u0027%08lx\u0027 expects\n\ttype \u0027long unsigned int\u0027, but argument 2 has type \u0027unsigned int\u0027\n\nWhile at this, convert SRAM printk(* \"\") to pr_*(\"\").\n\nSigned-off-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "026fe79d75c3a7a257ca72250f46b472835784c9",
      "tree": "022c3581f0cce5cc5f05acad8258da2ba0dfaf23",
      "parents": [
        "89c4705ed58a9e6faa7649eb561aead79bb77b3f"
      ],
      "author": {
        "name": "Igor Grinberg",
        "email": "grinberg@compulab.co.il",
        "time": "Mon May 30 00:11:45 2011 -0700"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Tue May 31 06:17:02 2011 -0700"
      },
      "message": "arm: omap3: cm-t3517: fix section mismatch warning\n\nWARNING: arch/arm/mach-omap2/built-in.o(.text+0x11014): Section mismatch\nin reference from the function cm_t3517_init_usbh() to the (unknown\nreference) .init.data:(unknown)\nThe function cm_t3517_init_usbh() references\nthe (unknown reference) __initdata (unknown).\nThis is often because cm_t3517_init_usbh lacks a __initdata\nannotation or the annotation of (unknown) is wrong.\n\nSigned-off-by: Igor Grinberg \u003cgrinberg@compulab.co.il\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "89c4705ed58a9e6faa7649eb561aead79bb77b3f",
      "tree": "bc491ff3fe66dcd47fee96f7b6ca54bb7ce4b968",
      "parents": [
        "f9fa1bb9d7a3c9537d6abd4ad47c58fe27862625"
      ],
      "author": {
        "name": "Santosh Shilimkar",
        "email": "santosh.shilimkar@ti.com",
        "time": "Mon May 30 00:11:45 2011 -0700"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Tue May 31 06:17:02 2011 -0700"
      },
      "message": "OMAP2+: Fix 9 section mismatch(es) warnings from mach-omap2/built-in.o\n\nThe serial*_data should have been marked as __initdata as per\nit\u0027s usage in the board files. Fix the same to remove the\nsection mismatch warnings caused by it.\n\nSigned-off-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nSigned-off-by: Silesh C V \u003csilesh@ti.com\u003e\n[tony@atomide.com: updated with additional fixes from Silesh]\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "f9fa1bb9d7a3c9537d6abd4ad47c58fe27862625",
      "tree": "d890b482f58a3be007fade2980610900851cd33e",
      "parents": [
        "046d886db18260d4435c942985392b7ef872337f"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Tue May 31 20:55:44 2011 +0800"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Tue May 31 06:17:01 2011 -0700"
      },
      "message": "ARM: OMAP2: Add missing include of linux/gpio.h\n\nI got some build error like below while executing \"make omap2plus_defconfig\".\n\n  CC      arch/arm/mach-omap2/board-2430sdp.o\narch/arm/mach-omap2/board-2430sdp.c: In function \u0027omap_2430sdp_init\u0027:\narch/arm/mach-omap2/board-2430sdp.c:247: error: \u0027GPIOF_OUT_INIT_LOW\u0027 undeclared (first use in this function)\narch/arm/mach-omap2/board-2430sdp.c:247: error: (Each undeclared identifier is reported only once\narch/arm/mach-omap2/board-2430sdp.c:247: error: for each function it appears in.)\n\nThis patch fixes the build error by include linux/gpio.h instead of mach/gpio.h.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nCc: Syed Mohammed Khasim \u003cx0khasim@ti.com\u003e\nCc: Grazvydas Ignotas \u003cnotasas@gmail.com\u003e\nCc: Steve Sakoman \u003csteve@sakoman.com\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "046d886db18260d4435c942985392b7ef872337f",
      "tree": "8e85afc66a289ffa04b6a448dcd3291f82cdd5d1",
      "parents": [
        "55922c9d1b84b89cb946c777fddccb3247e7df2c"
      ],
      "author": {
        "name": "Janusz Krzysztofik",
        "email": "jkrzyszt@tis.icnet.pl",
        "time": "Tue May 31 00:44:31 2011 +0200"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Tue May 31 06:17:01 2011 -0700"
      },
      "message": "OMAP: fix compilation error\n\nForward-declare platform_device structure in\narch/arm/plat-omap/include/plat/flash.h, otherwise compilation may break\nwith:\n\nIn file included from arch/arm/mach-omap1/flash.c:15:\narch/arm/plat-omap/include/plat/flash.h:14: warning: \u0027struct platform_device\u0027 declared inside parameter list\narch/arm/plat-omap/include/plat/flash.h:14: warning: its scope is only this definition or declaration, which is probably not what you want\narch/arm/mach-omap1/flash.c:16: warning: \u0027struct platform_device\u0027 declared inside parameter list\narch/arm/mach-omap1/flash.c:17: error: conflicting types for \u0027omap1_set_vpp\u0027\narch/arm/plat-omap/include/plat/flash.h:14: error: previous declaration of \u0027omap1_set_vpp\u0027 was here\n\nDetected and corrected while building for Amstrad Delta, confirmed with\nomap1_defconfig.\n\nSigned-off-by: Janusz Krzysztofik \u003cjkrzyszt@tis.icnet.pl\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\n"
    },
    {
      "commit": "55922c9d1b84b89cb946c777fddccb3247e7df2c",
      "tree": "800ce0df1466f8ff7b32d2602c6152a07486ef64",
      "parents": [
        "bd1bfe40ac6bdf9593da29b822bc301b77a97d6a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 17:43:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 17:43:36 2011 -0700"
      },
      "message": "Linux 3.0-rc1\n\n.. except there are various scripts that really know that there are\nthree numbers, so it calls itself \"3.0.0-rc1\".\n\nHopefully by the time the final 3.0 is out, we\u0027ll have that extra zero\nall figured out.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bd1bfe40ac6bdf9593da29b822bc301b77a97d6a",
      "tree": "332328b76dc4a3d51419c1d1cb23f50eb6c034c8",
      "parents": [
        "cd1acdf1723d71b28175f95b04305f1cc74ce363",
        "3063287053bca5207e121c567b95b2b6f0bdc2c8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 14:13:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 14:13:25 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:\n  eCryptfs: Remove ecryptfs_header_cache_2\n  eCryptfs: Cleanup and optimize ecryptfs_lookup_interpose()\n  eCryptfs: Return useful code from contains_ecryptfs_marker\n  eCryptfs: Fix new inode race condition\n  eCryptfs: Cleanup inode initialization code\n  eCryptfs: Consolidate inode functions into inode.c\n"
    },
    {
      "commit": "cd1acdf1723d71b28175f95b04305f1cc74ce363",
      "tree": "7ab58883eccd314be3d8efafd59a124d4ffbb861",
      "parents": [
        "fac04863cef53a69830590b2e1c54345068a9747",
        "9342077011d54f42fa1b88b7bc1f7008dcf5fff9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 14:10:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 14:10:13 2011 -0700"
      },
      "message": "Merge branch \u0027pnfs-submit\u0027 of git://git.open-osd.org/linux-open-osd\n\n* \u0027pnfs-submit\u0027 of git://git.open-osd.org/linux-open-osd: (32 commits)\n  pnfs-obj: pg_test check for max_io_size\n  NFSv4.1: define nfs_generic_pg_test\n  NFSv4.1: use pnfs_generic_pg_test directly by layout driver\n  NFSv4.1: change pg_test return type to bool\n  NFSv4.1: unify pnfs_pageio_init functions\n  pnfs-obj: objlayout_encode_layoutcommit implementation\n  pnfs: encode_layoutcommit\n  pnfs-obj: report errors and .encode_layoutreturn Implementation.\n  pnfs: encode_layoutreturn\n  pnfs: layoutret_on_setattr\n  pnfs: layoutreturn\n  pnfs-obj: osd raid engine read/write implementation\n  pnfs: support for non-rpc layout drivers\n  pnfs-obj: define per-inode private structure\n  pnfs: alloc and free layout_hdr layoutdriver methods\n  pnfs-obj: objio_osd device information retrieval and caching\n  pnfs-obj: decode layout, alloc/free lseg\n  pnfs-obj: pnfs_osd XDR client implementation\n  pnfs-obj: pnfs_osd XDR definitions\n  pnfs-obj: objlayoutdriver module skeleton\n  ...\n"
    },
    {
      "commit": "fac04863cef53a69830590b2e1c54345068a9747",
      "tree": "59b9161b442ccd340324a8b42cdace84206014bb",
      "parents": [
        "2ba781ced93922e249dee2ac0751faccb4fb0656"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 14:06:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 14:06:42 2011 -0700"
      },
      "message": "arm gpio drivers: make them \u0027depends on ARM\u0027\n\nWe had a few drivers move from arch/arm into drivers/gpio, but they\ndon\u0027t actually compile without the ARM platform headers etc.  As a\nresult they were messing up allyesconfig on x86.\n\nMake them depend on ARM.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3063287053bca5207e121c567b95b2b6f0bdc2c8",
      "tree": "404c92175f536d20576254a43a7a93b3b02343f2",
      "parents": [
        "778aeb42a708d2a57e491d2cbb5a1e74f61270b9"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue May 24 05:11:12 2011 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Sun May 29 14:24:25 2011 -0500"
      },
      "message": "eCryptfs: Remove ecryptfs_header_cache_2\n\nNow that ecryptfs_lookup_interpose() is no longer using\necryptfs_header_cache_2 to read in metadata, the kmem_cache can be\nremoved and the ecryptfs_header_cache_1 kmem_cache can be renamed to\necryptfs_header_cache.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "778aeb42a708d2a57e491d2cbb5a1e74f61270b9",
      "tree": "6651d8a2356b9075e6978285cbcfa7aab16e9b7a",
      "parents": [
        "7a86617e553f47761b10f57de472d7262562b7de"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue May 24 04:56:23 2011 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Sun May 29 14:24:24 2011 -0500"
      },
      "message": "eCryptfs: Cleanup and optimize ecryptfs_lookup_interpose()\n\necryptfs_lookup_interpose() has turned into spaghetti code over the\nyears. This is an effort to clean it up.\n\n - Shorten overly descriptive variable names such as ecryptfs_dentry\n - Simplify gotos and error paths\n - Create helper function for reading plaintext i_size from metadata\n\nIt also includes an optimization when reading i_size from the metadata.\nA complete page-sized kmem_cache_alloc() was being done to read in 16\nbytes of metadata. The buffer for that is now statically declared.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "7a86617e553f47761b10f57de472d7262562b7de",
      "tree": "63ae402692eae9b062b3423b6d081ebe9a192d36",
      "parents": [
        "3b06b3ebf44170c90c893c6c80916db6e922b9f2"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon May 02 00:39:54 2011 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Sun May 29 14:24:24 2011 -0500"
      },
      "message": "eCryptfs: Return useful code from contains_ecryptfs_marker\n\nInstead of having the calling functions translate the true/false return\ncode to either 0 or -EINVAL, have contains_ecryptfs_marker() return 0 or\n-EINVAL so that the calling functions can just reuse the return code.\n\nAlso, rename the function to ecryptfs_validate_marker() to avoid callers\nmistakenly thinking that it returns true/false codes.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3b06b3ebf44170c90c893c6c80916db6e922b9f2",
      "tree": "1da70b311ad7ec7615f3d44ae269ca56a458fc2d",
      "parents": [
        "5ccf92037c7c6e6f28175fd245284923f939259f"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue May 24 03:49:02 2011 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Sun May 29 14:23:39 2011 -0500"
      },
      "message": "eCryptfs: Fix new inode race condition\n\nOnly unlock and d_add() new inodes after the plaintext inode size has\nbeen read from the lower filesystem. This fixes a race condition that\nwas sometimes seen during a multi-job kernel build in an eCryptfs mount.\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d36002\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nReported-by: David \u003cdavid@unsolicited.net\u003e\nTested-by: David \u003cdavid@unsolicited.net\u003e\n"
    },
    {
      "commit": "2ba781ced93922e249dee2ac0751faccb4fb0656",
      "tree": "8b62346278b60d1bc9765dc6691f07219a27d894",
      "parents": [
        "6345d24daf0c1fffe6642081d783cdf653ebaa5c",
        "437cb0dbd104a1564e0e78f0d486b97677f80909"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:44:33 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:44:33 2011 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (43 commits)\n  acer-wmi: support integer return type from WMI methods\n  msi-laptop: fix section mismatch in reference from the function load_scm_model_init\n  acer-wmi: support to set communication device state by new wmid method\n  acer-wmi: allow 64-bits return buffer from WMI methods\n  acer-wmi: check the existence of internal 3G device when set capability\n  platform/x86:delete two unused variables\n  support wlan hotkey on Acer Travelmate 5735Z\n  platform-x86: intel_mid_thermal: Fix memory leak\n  platform/x86: Fix Makefile for intel_mid_powerbtn\n  platform/x86: Simplify intel_mid_powerbtn\n  acer-wmi: Delete out-of-date documentation\n  acerhdf: Clean up includes\n  acerhdf: Drop pointless dependency on THERMAL_HWMON\n  acer-wmi: Update MAINTAINERS\n  wmi: Orphan ACPI-WMI driver\n  tc1100-wmi: Orphan driver\n  acer-wmi: does not allow negative number set to initial device state\n  platform/oaktrail: ACPI EC Extra driver for Oaktrail\n  thinkpad_acpi: Convert printks to pr_\u003clevel\u003e\n  thinkpad_acpi: Correct !CONFIG_THINKPAD_ACPI_VIDEO warning\n  ...\n"
    },
    {
      "commit": "6345d24daf0c1fffe6642081d783cdf653ebaa5c",
      "tree": "415a253621279111bd481d48cbb86174c70b952a",
      "parents": [
        "cab0d85c8dfcad4d799f9c294571440c6f1db091"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:32:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:32:28 2011 -0700"
      },
      "message": "mm: Fix boot crash in mm_alloc()\n\nThomas Gleixner reports that we now have a boot crash triggered by\nCONFIG_CPUMASK_OFFSTACK\u003dy:\n\n    BUG: unable to handle kernel NULL pointer dereference at   (null)\n    IP: [\u003cc11ae035\u003e] find_next_bit+0x55/0xb0\n    Call Trace:\n     [\u003cc11addda\u003e] cpumask_any_but+0x2a/0x70\n     [\u003cc102396b\u003e] flush_tlb_mm+0x2b/0x80\n     [\u003cc1022705\u003e] pud_populate+0x35/0x50\n     [\u003cc10227ba\u003e] pgd_alloc+0x9a/0xf0\n     [\u003cc103a3fc\u003e] mm_init+0xec/0x120\n     [\u003cc103a7a3\u003e] mm_alloc+0x53/0xd0\n\nwhich was introduced by commit de03c72cfce5 (\"mm: convert\nmm-\u003ecpu_vm_cpumask into cpumask_var_t\"), and is due to wrong ordering of\nmm_init() vs mm_init_cpumask\n\nThomas wrote a patch to just fix the ordering of initialization, but I\nhate the new double allocation in the fork path, so I ended up instead\ndoing some more radical surgery to clean it all up.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cab0d85c8dfcad4d799f9c294571440c6f1db091",
      "tree": "ba7b348832673f6c7433b9d7481bfcd415f7a7b5",
      "parents": [
        "57ed609d4b64139b4d2cf5f3b4880a573a7905d2",
        "3c5cffb66d8ea94832650fcb55194715b0229088"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:30:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:30:20 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6:\n  [S390] mm: fix mmu_gather rework\n  [S390] mm: fix storage key handling\n"
    },
    {
      "commit": "57ed609d4b64139b4d2cf5f3b4880a573a7905d2",
      "tree": "d824e1ebd33b28c4ccc53e9074064db479b17dc7",
      "parents": [
        "a74d70b63f1a0230831bcca3145d85ae016f9d4c",
        "f133ecca9cbb31b5e6e9bda27cbe3034fbf656df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:29:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:29:28 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:\n  arch/tile: more /proc and /sys file support\n"
    },
    {
      "commit": "437cb0dbd104a1564e0e78f0d486b97677f80909",
      "tree": "e066b3d65eb965ca68ecc8ef14581f2450ad3a61",
      "parents": [
        "139f37f5e14cd883eee2a8a36289f544b5390a44",
        "987dfbaa65b2c3568b85e29d2598da08a011ee09"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Sun May 29 14:27:13 2011 -0400"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Sun May 29 14:27:13 2011 -0400"
      },
      "message": "Merge branch \u0027x86-platform-next\u0027 into x86-platform\n"
    },
    {
      "commit": "a74d70b63f1a0230831bcca3145d85ae016f9d4c",
      "tree": "24392a2843b19e81a1a38d88b34e772bd688502b",
      "parents": [
        "b11b06d90a41766c2d31f0acb8a87aa0f2a7188f",
        "c47d832bc0155153920e507f075647519bad09a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:21:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:21:12 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.40\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.40\u0027 of git://linux-nfs.org/~bfields/linux: (22 commits)\n  nfsd: make local functions static\n  NFSD: Remove unused variable from nfsd4_decode_bind_conn_to_session()\n  NFSD: Check status from nfsd4_map_bcts_dir()\n  NFSD: Remove setting unused variable in nfsd_vfs_read()\n  nfsd41: error out on repeated RECLAIM_COMPLETE\n  nfsd41: compare request\u0027s opcnt with session\u0027s maxops at nfsd4_sequence\n  nfsd v4.1 lOCKT clientid field must be ignored\n  nfsd41: add flag checking for create_session\n  nfsd41: make sure nfs server process OPEN with EXCLUSIVE4_1 correctly\n  nfsd4: fix wrongsec handling for PUTFH + op cases\n  nfsd4: make fh_verify responsibility of nfsd_lookup_dentry caller\n  nfsd4: introduce OPDESC helper\n  nfsd4: allow fh_verify caller to skip pseudoflavor checks\n  nfsd: distinguish functions of NFSD_MAY_* flags\n  svcrpc: complete svsk processing on cb receive failure\n  svcrpc: take advantage of tcp autotuning\n  SUNRPC: Don\u0027t wait for full record to receive tcp data\n  svcrpc: copy cb reply instead of pages\n  svcrpc: close connection if client sends short packet\n  svcrpc: note network-order types in svc_process_calldir\n  ...\n"
    },
    {
      "commit": "b11b06d90a41766c2d31f0acb8a87aa0f2a7188f",
      "tree": "be326cde997bcc38b2a9e0a6d6bc7d7ee7b4cbed",
      "parents": [
        "f1d1c9fa8f360990e263bdcb73e35ab6fbdc41fe",
        "fa34ce73072f90ecd90dcc43f29d82e70e5f8676"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:20:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:20:48 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm:\n  dm kcopyd: return client directly and not through a pointer\n  dm kcopyd: reserve fewer pages\n  dm io: use fixed initial mempool size\n  dm kcopyd: alloc pages from the main page allocator\n  dm kcopyd: add gfp parm to alloc_pl\n  dm kcopyd: remove superfluous page allocation spinlock\n  dm kcopyd: preallocate sub jobs to avoid deadlock\n  dm kcopyd: avoid pointless job splitting\n  dm mpath: do not fail paths after integrity errors\n  dm table: reject devices without request fns\n  dm table: allow targets to support discards internally\n"
    },
    {
      "commit": "f1d1c9fa8f360990e263bdcb73e35ab6fbdc41fe",
      "tree": "91468535e200f890fd532d5cbb50df59035278e0",
      "parents": [
        "2ff55e98d6e662a4887d2c688a4ab2ae510a97df",
        "176e21ee2ec89cae8d45cf1a850ea45a45428fb8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:20:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:20:02 2011 -0700"
      },
      "message": "Merge branch \u0027nfs-for-2.6.40\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.40\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  SUNRPC: Support for RPC over AF_LOCAL transports\n  SUNRPC: Remove obsolete comment\n  SUNRPC: Use AF_LOCAL for rpcbind upcalls\n  SUNRPC: Clean up use of curly braces in switch cases\n  NFS: Revert NFSROOT default mount options\n  SUNRPC: Rename xs_encode_tcp_fragment_header()\n  nfs,rcu: convert call_rcu(nfs_free_delegation_callback) to kfree_rcu()\n  nfs41: Correct offset for LAYOUTCOMMIT\n  NFS: nfs_update_inode: print current and new inode size in debug output\n  NFSv4.1: Fix the handling of NFS4ERR_SEQ_MISORDERED errors\n  NFSv4: Handle expired stateids when the lease is still valid\n  SUNRPC: Deal with the lack of a SYN_SENT sk-\u003esk_state_change callback...\n"
    },
    {
      "commit": "2ff55e98d6e662a4887d2c688a4ab2ae510a97df",
      "tree": "fcf2ede834a2b61b00cbe7c38fdd34fbf8b2e7b5",
      "parents": [
        "daa94222b638bfe34f745d0982de7a165ce7f67c",
        "d5b72ce15ea99a0b8f0d1973074c584daf92d70e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:19:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:19:45 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:\n  Squashfs: Fix sanity check patches on big-endian systems\n"
    },
    {
      "commit": "daa94222b638bfe34f745d0982de7a165ce7f67c",
      "tree": "2157ed94339d46f7a2da22e22648a70319e8fdd0",
      "parents": [
        "f310642123e0d32d919c60ca3fab5acd130c4ba3",
        "751516f0a9bad32544f40f471037c0e45fb639c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:19:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:19:16 2011 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:\n  ACPI EC: remove redundant code\n  ACPI: Add D3 cold state\n  ACPI: processor: fix processor_physically_present in UP kernel\n  ACPI: Split out custom_method functionality into an own driver\n  ACPI: Cleanup custom_method debug stuff\n  ACPI EC: enable MSI workaround for Quanta laptops\n  ACPICA: Update to version 20110413\n  ACPICA: Execute an orphan _REG method under the EC device\n  ACPICA: Move ACPI_NUM_PREDEFINED_REGIONS to a more appropriate place\n  ACPICA: Update internal address SpaceID for DataTable regions\n  ACPICA: Add more methods eligible for NULL package element removal\n  ACPICA: Split all internal Global Lock functions to new file - evglock\n  ACPI: EC: add another DMI check for ASUS hardware\n  ACPI EC: remove dead code\n  ACPICA: Fix code divergence of global lock handling\n  ACPICA: Use acpi_os_create_lock interface\n  ACPI: osl, add acpi_os_create_lock interface\n  ACPI:Fix goto flows in thermal-sys\n"
    },
    {
      "commit": "f310642123e0d32d919c60ca3fab5acd130c4ba3",
      "tree": "f3844152e2e8c0fdd01621a400f84c8a159252a0",
      "parents": [
        "ef1d57599dc904fdb31b8e9b5336350d21a1fde1",
        "5d4c47e0195b989f284907358bd5c268a44b91c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:18:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:18:09 2011 -0700"
      },
      "message": "Merge branch \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6\n\n* \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:\n  x86 idle: deprecate mwait_idle() and \"idle\u003dmwait\" cmdline param\n  x86 idle: deprecate \"no-hlt\" cmdline param\n  x86 idle APM: deprecate CONFIG_APM_CPU_IDLE\n  x86 idle floppy: deprecate disable_hlt()\n  x86 idle: EXPORT_SYMBOL(default_idle, pm_idle) only when APM demands it\n  x86 idle: clarify AMD erratum 400 workaround\n  idle governor: Avoid lock acquisition to read pm_qos before entering idle\n  cpuidle: menu: fixed wrapping timers at 4.294 seconds\n"
    },
    {
      "commit": "ef1d57599dc904fdb31b8e9b5336350d21a1fde1",
      "tree": "4e3f7d49c5a8c27efd5a1009131f4b3f87eff503",
      "parents": [
        "bc658c96037fc87463f0703ad2ea7c895344cb7e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun May 29 13:46:08 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:17:34 2011 -0700"
      },
      "message": "cifs/ubifs: Fix shrinker API change fallout\n\nCommit 1495f230fa77 (\"vmscan: change shrinker API by passing\nshrink_control struct\") changed the API of -\u003eshrink(), but missed ubifs\nand cifs instances.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9342077011d54f42fa1b88b7bc1f7008dcf5fff9",
      "tree": "88ef803dae5672d8bb40a563a6d2d301ae2e782f",
      "parents": [
        "5b36c7dc41d87d39e779a84fdc2b44b39bba32ca"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed May 25 21:25:29 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 21:03:08 2011 +0300"
      },
      "message": "pnfs-obj: pg_test check for max_io_size\n\nImplement pg_test vector to test for max IO sizes. We calculate\na max_io_size member only once, and cache it in lseg so to not\ndo so on every page insert.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[simplify logic]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "5b36c7dc41d87d39e779a84fdc2b44b39bba32ca",
      "tree": "4b83c833021014fd51fcffbff88eea8069cd9cff",
      "parents": [
        "89a58e32d9105c01022a757fb32ddc3b51bf0025"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 11:45:39 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 21:02:42 2011 +0300"
      },
      "message": "NFSv4.1: define nfs_generic_pg_test\n\nBy default, unless pnfs is used coalesce pages until pg_bsize\n(rsize or wsize) is reached.\n\npnfs layout drivers define their own pg_test methods that use\npnfs_generic_pg_test and need to define their own I/O size\nlimits (e.g. based on the file stripe size).\n\n[Move a check from nfs_pageio_do_add_request to nfs_generic_pg_test]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "89a58e32d9105c01022a757fb32ddc3b51bf0025",
      "tree": "fd04ff022a084339868e81fc9a4679667c2b70bd",
      "parents": [
        "18ad0a9f2ccd260d37dd6bc5fa04c7819def4c84"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 25 20:54:40 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:56:55 2011 +0300"
      },
      "message": "NFSv4.1: use pnfs_generic_pg_test directly by layout driver\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "18ad0a9f2ccd260d37dd6bc5fa04c7819def4c84",
      "tree": "a0936cf11e81969c0f84716ab958cd4728c87f54",
      "parents": [
        "dfed206b8857d41a91ebba030f99e30017a44dda"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 25 21:03:56 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:56:54 2011 +0300"
      },
      "message": "NFSv4.1: change pg_test return type to bool\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "dfed206b8857d41a91ebba030f99e30017a44dda",
      "tree": "ac4c161b548e872e92da36499a2e8c28f5a34aeb",
      "parents": [
        "a0fe8bf427f4987d7b82678292ca03cfd7331467"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 25 20:25:22 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:56:43 2011 +0300"
      },
      "message": "NFSv4.1: unify pnfs_pageio_init functions\n\nUse common code for pnfs_pageio_init_{read,write} and use\na common generic pg_test function.\n\nNote that this function always assumes the the layout driver\u0027s\npg_test method is implemented.\n\n[Fix BUG]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "a0fe8bf427f4987d7b82678292ca03cfd7331467",
      "tree": "d995bd164b03dde89da24af979931c2490fe9414",
      "parents": [
        "ac7db7264ac3314cae09893bc838fcb7e83267a4"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 22 19:54:13 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:55:00 2011 +0300"
      },
      "message": "pnfs-obj: objlayout_encode_layoutcommit implementation\n\n* Define API for io-engines to report delta_space_used in IOs\n* Encode the osd-layout specific information of the layoutcommit\n  XDR buffer.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "ac7db7264ac3314cae09893bc838fcb7e83267a4",
      "tree": "7586470df26218daa8d771760615ae0d76e6788a",
      "parents": [
        "adb58535e604a564495a7d50dfb0afa0ddc21bcb"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:53:48 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:55:00 2011 +0300"
      },
      "message": "pnfs: encode_layoutcommit\n\nAdd a layout driver method to encode the layout type specific\nopaque part of layout commit in-line in the xdr stream.\n\nCurrently, the pnfs-objects layout driver uses it to encode metadata hints\nto the MDS and the blocks layout driver to commit provisionally allocated\nextents to the file.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "adb58535e604a564495a7d50dfb0afa0ddc21bcb",
      "tree": "54af4fe9569650342e61dbb314334e3617c48dc2",
      "parents": [
        "04a555498e03b3804e2dec916a4669f5f560e503"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu May 26 21:49:46 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:45 2011 +0300"
      },
      "message": "pnfs-obj: report errors and .encode_layoutreturn Implementation.\n\nAn io_state pre-allocates an error information structure for each\npossible osd-device that might error during IO. When IO is done if all\nwas well the io_state is freed. (as today). If the I/O has ended with an\nerror, the io_state is queued on a per-layout err_list. When eventually\nencode_layoutreturn() is called, each error is properly encoded on the\nXDR buffer and only then the io_state is removed from err_list and\nde-allocated.\n\nIt is up to the io_engine to fill in the segment that fault and the type\nof osd_error that occurred. By calling objlayout_io_set_result() for\neach failing device.\n\nIn objio_osd:\n* Allocate io-error descriptors space as part of io_state\n* Use generic objlayout error reporting at end of io.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "04a555498e03b3804e2dec916a4669f5f560e503",
      "tree": "4fab39683df70cee7f7aea7d7718072a811ad153",
      "parents": [
        "8a1636c459cb7a4b32ba4024cd1b2ba21fba6aed"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Sun May 22 19:53:10 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:37 2011 +0300"
      },
      "message": "pnfs: encode_layoutreturn\n\nAdd a layout driver method to encode the layout type specific\nopaque part of layout return in-line in the xdr stream.\n\nCurrently the pnfs-objects layout driver uses it to encode i/o error\ninformation on LAYOUTRETURN.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[fixup layout header pointer for encode_layoutreturn]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "8a1636c459cb7a4b32ba4024cd1b2ba21fba6aed",
      "tree": "f9c46f272b98ceb65f997f226d47da68c6fcac6b",
      "parents": [
        "cbe8260369c9f88eafa035cd327dc3e02fad528c"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jul 14 15:43:57 2010 -0400"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:36 2011 +0300"
      },
      "message": "pnfs: layoutret_on_setattr\n\nWith the objects layout security model, we have object capabilities\nthat are associated with the layout and we anticipate that the server\nwill issue a cb_layoutrecall for any setattr that changes security\nrelated attributes (user/group/mode/acl) or truncates the file.\n\nTherefore, the layout is returned before issuing the setattr to avoid\nthe anticipated cb_layoutrecall.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "cbe8260369c9f88eafa035cd327dc3e02fad528c",
      "tree": "13316d9b1a761cf58c35e663375b72f6ac07c5d2",
      "parents": [
        "04f83450388e87d86b387cf4a27b81eb7e69de7d"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:52:37 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:36 2011 +0300"
      },
      "message": "pnfs: layoutreturn\n\nNFSv4.1 LAYOUTRETURN implementation\n\nCurrently, does not support layout-type payload encoding.\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Dean Hildebrand \u003cdhildeb@us.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: Zhang Jingwang \u003czhangjingwang@nrchpc.ac.cn\u003e\n[call pnfs_return_layout right before pnfs_destroy_layout]\n[remove assert_spin_locked from pnfs_clear_lseg_list]\n[remove wait parameter from the layoutreturn path.]\n[remove return_type field from nfs4_layoutreturn_args]\n[remove range from nfs4_layoutreturn_args]\n[no need to send layoutcommit from _pnfs_return_layout]\n[don\u0027t wait on sync layoutreturn]\n[fix layout stateid in layoutreturn args]\n[fixed NULL deref in _pnfs_return_layout]\n[removed recaim member of nfs4_layoutreturn_args]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "04f83450388e87d86b387cf4a27b81eb7e69de7d",
      "tree": "99c10d6a995ed1e7b872abb0127fc38d6bef9982",
      "parents": [
        "d20581aa4be11407c9eeeb75992df5ef176bba0f"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 22 19:52:19 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:15 2011 +0300"
      },
      "message": "pnfs-obj: osd raid engine read/write implementation\n\nWith the use of the in-kernel osd library. Implement read/write\nof data from/to osd-objects according to information specified\nin the objects-layout.\n\nSupport for stripping over mirrors with a received stripe_unit.\nThere are however a few constrains which are not supported:\n 1. Stripe Unit must be a multiple of PAGE_SIZE\n 2. stripe length (stripe_unit * number_of_stripes) can not be\n    bigger then 32bit.\n\nAlso support raid-groups and partial-layout. Partial-layout is\nwhen not all the groups are received on the line, addressing\nonly a partial range of the file.\n\nTODO:\n  Only raid0! raid 4/5/6 support will come at later stage\n\nA none supported layout will send IO through the MDS\n\n[Important fallout from the last rebase]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[gfp_flags]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "d20581aa4be11407c9eeeb75992df5ef176bba0f",
      "tree": "277fdff5bc6ad5a5df105abd092c7179d22554fb",
      "parents": [
        "e51b841dd0be9ff53f740c44c32c32679edcb7c8"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:52:03 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:51 2011 +0300"
      },
      "message": "pnfs: support for non-rpc layout drivers\n\nNon-rpc layout driver such as for objects and blocks\nimplement their own I/O path and error handling logic.\nTherefore bypass NFS-based error handling for these layout drivers.\n\n[fix lseg ref-count bugs, and null de-refs]\n[Fall out from: non-rpc layout drivers]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[get rid of PNFS_USE_RPC_CODE]\n[get rid of __nfs4_write_done_cb]\n[revert useless change in nfs4_write_done_cb]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "e51b841dd0be9ff53f740c44c32c32679edcb7c8",
      "tree": "03e46d6013fa2a45ad22b3f510267d11e5f8d25a",
      "parents": [
        "636fb9c89d7e216aac3d406e458864420057e981"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:51:48 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:51 2011 +0300"
      },
      "message": "pnfs-obj: define per-inode private structure\n\nallocate and deallocate per-inode private pnfs_layout_hdr\nin preparation for I/O implementation.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "636fb9c89d7e216aac3d406e458864420057e981",
      "tree": "4342ccf39c4b4b26bdcf79833c7f98f8b9913262",
      "parents": [
        "b6c05f1693115164c7b797152ac7ea3ef8e5d296"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:51:33 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:50 2011 +0300"
      },
      "message": "pnfs: alloc and free layout_hdr layoutdriver methods\n\n[gfp_flags]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "b6c05f1693115164c7b797152ac7ea3ef8e5d296",
      "tree": "24430851c2569f4db76b13f41e82514326fbb878",
      "parents": [
        "09f5bf4e6d0607399c16ec7a2d8d166f31086686"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu May 26 21:45:34 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:33 2011 +0300"
      },
      "message": "pnfs-obj: objio_osd device information retrieval and caching\n\nWhen a new layout is received in objio_alloc_lseg all device_ids\nreferenced are retrieved. The device information is queried for from MDS\nand then the osd_device is looked-up from the osd-initiator library. The\ndevices are cached in a per-mount-point list, for later use. At unmount\nall devices are \"put\" back to the library.\n\nobjlayout_get_deviceinfo(), objlayout_put_deviceinfo() middleware\nAPI for retrieving device information given a device_id.\n\nTODO: The device cache can get big. Cap its size. Keep an LRU and start\n      to return devices which were not used, when list gets to big, or\n      when new entries allocation fail.\n\n[pnfs-obj: Bugs in new global-device-cache code]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[gfp_flags]\n[use global device cache]\n[use layout driver in global device cache]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "09f5bf4e6d0607399c16ec7a2d8d166f31086686",
      "tree": "767732b80aaa48a97e86af2c6f0ec7a3120219f2",
      "parents": [
        "f1bc893a89d012649e4e7f43575b2c290e08ee42"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 22 19:50:20 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:06 2011 +0300"
      },
      "message": "pnfs-obj: decode layout, alloc/free lseg\n\nobjlayout_alloc_lseg prepares an xdr_stream and calls the\nraid engins objio_alloc_lseg() to allocate a private\npnfs_layout_segment.\n\nobjio_osd.c::objio_alloc_lseg() uses passed xdr_stream to\ndecode and store the layout_segment information in an\nobjio_segment struct, using the pnfs_osd_xdr.h API for\nthe actual parsing the layout xdr.\n\nobjlayout_free_lseg calls objio_free_lseg() to free the\nallocated space.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[gfp_flags]\n[removed \"extern\" from function definitions]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "f1bc893a89d012649e4e7f43575b2c290e08ee42",
      "tree": "2f06cc6c3232292b2dfae6e7e7f3770699f324b4",
      "parents": [
        "38b7c401f6ade50543f246c4bc2c971edf2b19dd"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 22 19:49:57 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:36 2011 +0300"
      },
      "message": "pnfs-obj: pnfs_osd XDR client implementation\n\n* Add the fs/nfs/objlayout/pnfs_osd_xdr_cli.c file, which will\n  include the XDR encode/decode implementations for the pNFS\n  client objlayout driver.\n\n[Wrong type in comments]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "38b7c401f6ade50543f246c4bc2c971edf2b19dd",
      "tree": "48472ff37b91ef9920c3ab448565812f36279430",
      "parents": [
        "c93407d03c3ccf60b33a309e5fcd41cd98969901"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:49:32 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:36 2011 +0300"
      },
      "message": "pnfs-obj: pnfs_osd XDR definitions\n\n* Add the pnfs_osd_xdr.h header\n\n* defintions the pnfs_osd_layout structure including all it\u0027s\n  sub-types and constants.\n* Declare the pnfs_osd_xdr_decode_layout API + all needed\n  inline helpers.\n\n* Define the pnfs_osd_deviceaddr structure and all its subtypes and\n  constants.\n* Declare API for decoding of a pnfs_osd_deviceaddr from XDR stream.\n\n* Define the pnfs_osd_ioerr structure, its substructures and constants.\n* Declare API for encoding of a pnfs_osd_ioerr into XDR stream.\n\n* Define the pnfs_osd_layoutupdate structure and its substructures.\n* Declare API for encoding of a pnfs_osd_layoutupdate into XDR stream.\n\n[Remove server definitions]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "c93407d03c3ccf60b33a309e5fcd41cd98969901",
      "tree": "9ef9cfb8a2c8dd7ae05960469bfef0d396363dc4",
      "parents": [
        "ae50c0b5c6f6fa340f1fe2d244b358145f7e5a15"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:49:06 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:35 2011 +0300"
      },
      "message": "pnfs-obj: objlayoutdriver module skeleton\n\n* Define the PNFS_OBJLAYOUT Kconfig option in the nfs\n  master Kconfig file.\n* Add the objlayout driver to the Kernel\u0027s Kbuild system.\n* Add the fs/nfs/objlayout/Kbuild file for building the\n  objlayoutdriver.ko driver\n* Define fs/nfs/objlayout/objio_osd.c, register the driver on module\n  initialization and unregister on exit.\n\n[pnfs-obj: remove of CONFIG_PNFS fallout]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[added \"unsure\" clause]\n[depend on NFS_V4_1]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "ae50c0b5c6f6fa340f1fe2d244b358145f7e5a15",
      "tree": "dd4deefa6aa04838ce375053f29c675dbe732d5e",
      "parents": [
        "778b5502fdba5b183553f3f2ef1672ba78ac58b6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Sun May 22 19:48:21 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:34 2011 +0300"
      },
      "message": "pnfs: client stats\n\nA pNFS client auto-negotiates a lot of features (minorversion level,\npNFS layout type, etc.).  This is convenient, but makes certain kinds of\nfailures hard for a user to detect.\n\nFor example, if the client falls back on 4.0, or falls back to MDS IO\nbecause the user didn\u0027t connect to the right iscsi disks before\nmounting, the only symptoms may be reduced performance, which may not be\nnoticed till long after the actual failure, and may be difficult for a\nuser to diagnose.\n\nHowever, such \"failures\" may also be perfectly normal in some cases, so\nwe don\u0027t want to spam the system logs with them.\n\nOne approach would be to put some more information into\n/proc/self/mountstats.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@fieldses.org\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[pnfs: add commit client stats]\n[fixup data types for \"ret\" variables in pnfs_try_to* inline funcs.]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[fix definition of show_pnfs for !CONFIG_PNFS]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Fix show_sessions in the not CONFIG_NFS_V4_1 case]\n    There is a build error when CONFIG_NFS_V4 is set but\n    CONFIG_NFS_V4_1 is *not* set. show_sessions() prototype\n    was unbalanced between the two cases.\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[pnfs: super.c remove CONFIG_PNFS]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "778b5502fdba5b183553f3f2ef1672ba78ac58b6",
      "tree": "dc37bf3b4f9cdfab7ee16a2b776b6ea2d7653210",
      "parents": [
        "707ed5fdb587c71fdb7ad224ba1d80231f33c974"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:48:02 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:34 2011 +0300"
      },
      "message": "pnfs: Use byte-range for cb_layoutrecall\n\nUse recalled range to invalidate particular layout segments in the layout cache.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "707ed5fdb587c71fdb7ad224ba1d80231f33c974",
      "tree": "a3903d971a59df7fb311fe9ce5cd830c92e2bd34",
      "parents": [
        "fb3296eb4636763918edef2d22e45b85b15d4518"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:47:46 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:33 2011 +0300"
      },
      "message": "pnfs: align layoutget requests on page boundaries\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "fb3296eb4636763918edef2d22e45b85b15d4518",
      "tree": "31c85255ccfa03cbca2d1e4e52028e489276a73b",
      "parents": [
        "f7da7a129d57bfe0f74573dc03531c63e1360fae"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:47:26 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:32 2011 +0300"
      },
      "message": "pnfs: Use byte-range for layoutget\n\nAdd offset and count parameters to pnfs_update_layout and use them to get\nthe layout in the pageio path.\n\nOrder cache layout segments in the following order:\n* offset (ascending)\n* length (descending)\n* iomode (RW before READ)\n\nTest byte range against the layout segment in use in pnfs_{read,write}_pg_test\nso not to coalesce pages not using the same layout segment.\n\n[fix lseg ordering]\n[clean up pnfs_find_lseg lseg arg]\n[remove unnecessary FIXME]\n[fix ordering in pnfs_insert_layout]\n[clean up pnfs_insert_layout]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "f7da7a129d57bfe0f74573dc03531c63e1360fae",
      "tree": "6efcd0fbdde9bb816ebc70731f1c47b8335ccfe3",
      "parents": [
        "35c8bb543c9e83197e6375142d1d1c2ee3cf017d"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu May 19 14:16:47 2011 -0400"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:32 2011 +0300"
      },
      "message": "SUNRPC: introduce xdr_init_decode_pages\n\nInitialize xdr_stream and xdr_buf using an array of page pointers\nand length of buffer.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "35c8bb543c9e83197e6375142d1d1c2ee3cf017d",
      "tree": "f0f8a69c1586a8d24526223ed70a922c934f9b87",
      "parents": [
        "1be5683b03a766670b3b629bf6bfeab3ca9239d8"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Tue May 24 18:04:02 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:31 2011 +0300"
      },
      "message": "NFSv4.1: use layout driver in global device cache\n\npnfs deviceids are unique per server, per layout type.\nstruct nfs_client is currently used to distinguish deviceids from\ndifferent nfs servers, yet these may clash between different layout\ntypes on the same server.  Therefore, use the layout driver associated\nwith each deviceid at insertion time to look it up, unhash, or\ndelete it.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "1be5683b03a766670b3b629bf6bfeab3ca9239d8",
      "tree": "613f4c0dea8b0d8447a3158b82b3e2046ee9dcb5",
      "parents": [
        "1775bc342c6eacd6304493cbb2e0cda1a0182246"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Sun May 22 19:47:09 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:31 2011 +0300"
      },
      "message": "pnfs: CB_NOTIFY_DEVICEID\n\nNote: This functionlaity is incomplete as all layout segments referring to\nthe \u0027to be removed device id\u0027 need to be reaped, and all in flight I/O drained.\n\n[use be32 res in nfs4_callback_devicenotify]\n[use nfs_client to qualify deviceid for cb_notify_deviceid]\n[use global deviceid cache for CB_NOTIFY_DEVICEID]\n[refactor device cache _lookup_deviceid]\n[refactor device cache _find_get_deviceid]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Bug in new global-device-cache code]\n[layout_driver MUST set free_deviceid_node if using dev-cache]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "5ccf92037c7c6e6f28175fd245284923f939259f",
      "tree": "3d9d551131686c9b0f4c6f7ed31ce4db1dbd0327",
      "parents": [
        "c4f790736ca8d7d86883c5aee2ba1caa15cd8da3"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue May 24 02:16:51 2011 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Sun May 29 12:51:17 2011 -0500"
      },
      "message": "eCryptfs: Cleanup inode initialization code\n\nThe eCryptfs inode get, initialization, and dentry interposition code\nhas two separate paths. One is for when dentry interposition is needed\nafter doing things like a mkdir in the lower filesystem and the other\nis needed after a lookup. Unlocking new inodes and doing a d_add() needs\nto happen at different times, depending on which type of dentry\ninterposing is being done.\n\nThis patch cleans up the inode get and initialization code paths and\nsplits them up so that the locking and d_add() differences mentioned\nabove can be handled appropriately in a later patch.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nTested-by: David \u003cdavid@unsolicited.net\u003e\n"
    },
    {
      "commit": "1775bc342c6eacd6304493cbb2e0cda1a0182246",
      "tree": "b0a884a41f565a41957524146ff6ee51b2b7db7b",
      "parents": [
        "a1eaecbc4c8307e27772d6584ef85a2e93250661"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri May 20 13:47:33 2011 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:50:42 2011 +0300"
      },
      "message": "NFSv4.1: purge deviceid cache on nfs_free_client\n\nUse the pnfs_layoutdriver_type both as a qualifier for the deviceid,\ndistinguishing deviceid from different layout types on the server,\nand for freeing the layout-driver allocated structure containing the\nnfs4_deviceid_node.\n\n[BUG in _deviceid_purge_client]\n[layout_driver MUST set free_deviceid_node if using dev-cache]\n[let ver \u003c 4.1 compile]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[removed EXPORT_SYMBOL_GPL(nfs4_deviceid_purge_client)]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "c4f790736ca8d7d86883c5aee2ba1caa15cd8da3",
      "tree": "827e371fb2aff1e9290fbd90ca436d069aaa356d",
      "parents": [
        "139f37f5e14cd883eee2a8a36289f544b5390a44"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon May 23 21:18:20 2011 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Sun May 29 12:49:53 2011 -0500"
      },
      "message": "eCryptfs: Consolidate inode functions into inode.c\n\nThese functions should live in inode.c since their focus is on inodes\nand they\u0027re primarily used by functions in inode.c.\n\nAlso does a simple cleanup of ecryptfs_inode_test() and rolls\necryptfs_init_inode() into ecryptfs_inode_set().\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nTested-by: David \u003cdavid@unsolicited.net\u003e\n"
    },
    {
      "commit": "bc658c96037fc87463f0703ad2ea7c895344cb7e",
      "tree": "eed6d7b83dfa04b242231bb7a5c431348ea92c4d",
      "parents": [
        "139f37f5e14cd883eee2a8a36289f544b5390a44"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun May 29 10:33:44 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 09:25:48 2011 -0700"
      },
      "message": "mm, rmap: Add yet more comments to page_get_anon_vma/page_lock_anon_vma\n\nInspired by an analysis from Hugh on why again all this doesn\u0027t explode\nin our face.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa34ce73072f90ecd90dcc43f29d82e70e5f8676",
      "tree": "26f9c986da4433fa8ed00a1685e34709997474b2",
      "parents": [
        "5f43ba2950414dc0abf4ac44c397d88069056746"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Sun May 29 13:03:13 2011 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sun May 29 13:03:13 2011 +0100"
      },
      "message": "dm kcopyd: return client directly and not through a pointer\n\nReturn client directly from dm_kcopyd_client_create, not through a\nparameter, making it consistent with dm_io_client_create.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "5f43ba2950414dc0abf4ac44c397d88069056746",
      "tree": "f80df9947ef30f965d9c33e649d1856f1e47220f",
      "parents": [
        "bda8efec5c706a672e0714d341a342e811f0262a"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Sun May 29 13:03:11 2011 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sun May 29 13:03:11 2011 +0100"
      },
      "message": "dm kcopyd: reserve fewer pages\n\nReserve just the minimum of pages needed to process one job.\n\nBecause we allocate pages from page allocator, we don\u0027t need to reserve\na large number of pages.  The maximum job size is SUB_JOB_SIZE and we\ncalculate the number of reserved pages based on this.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "bda8efec5c706a672e0714d341a342e811f0262a",
      "tree": "7daf7b505723f5ed2767353dc3fe53b939c46d87",
      "parents": [
        "d04714580f12379fcf7a0f799e86c92b96dd4e1f"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Sun May 29 13:03:09 2011 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sun May 29 13:03:09 2011 +0100"
      },
      "message": "dm io: use fixed initial mempool size\n\nReplace the arbitrary calculation of an initial io struct mempool size\nwith a constant.\n\nThe code calculated the number of reserved structures based on the request\nsize and used a \"magic\" multiplication constant of 4.  This patch changes\nit to reserve a fixed number - itself still chosen quite arbitrarily.\nFurther testing might show if there is a better number to choose.\n\nNote that if there is no memory pressure, we can still allocate an\narbitrary number of \"struct io\" structures.  One structure is enough to\nprocess the whole request.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d04714580f12379fcf7a0f799e86c92b96dd4e1f",
      "tree": "3a6c152dcb0d062dadfecd9fb8b1866a0fdbfce5",
      "parents": [
        "f99b55eec795bd0fd577ab3ca06f3acfbe3b1ab1"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Sun May 29 13:03:07 2011 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sun May 29 13:03:07 2011 +0100"
      },
      "message": "dm kcopyd: alloc pages from the main page allocator\n\nThis patch changes dm-kcopyd so that it allocates pages from the main\npage allocator with __GFP_NOWARN | __GFP_NORETRY flags (so that it can\nfail in case of memory pressure). If the allocation fails, dm-kcopyd\nallocates pages from its own reserve.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "f99b55eec795bd0fd577ab3ca06f3acfbe3b1ab1",
      "tree": "b4e4b21bf5477895ac7f8b8b998847dd8c0686aa",
      "parents": [
        "4cc1b4cffd187a5c5d6264c8d766c49b3c57fb05"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Sun May 29 13:03:04 2011 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sun May 29 13:03:04 2011 +0100"
      },
      "message": "dm kcopyd: add gfp parm to alloc_pl\n\nIntroduce a parameter for gfp flags to alloc_pl() for use in following\npatches.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "4cc1b4cffd187a5c5d6264c8d766c49b3c57fb05",
      "tree": "98b550b7e3c00fcdf20cc8b0a9c5b9478cb45ac9",
      "parents": [
        "c6ea41fbbe08f270a8edef99dc369faf809d1bd6"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Sun May 29 13:03:02 2011 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sun May 29 13:03:02 2011 +0100"
      },
      "message": "dm kcopyd: remove superfluous page allocation spinlock\n\nRemove the spinlock protecting the pages allocation.  The spinlock is only\ntaken on initialization or from single-threaded workqueue.  Therefore, the\nspinlock is useless.\n\nThe spinlock is taken in kcopyd_get_pages and kcopyd_put_pages.\n\nkcopyd_get_pages is only called from run_pages_job, which is only\ncalled from process_jobs called from do_work.\n\nkcopyd_put_pages is called from client_alloc_pages (which is initialization\nfunction) or from run_complete_job. run_complete_job is only called from\nprocess_jobs called from do_work.\n\nAnother spinlock, kc-\u003ejob_lock is taken each time someone pushes or pops\nsome work for the worker thread.  Once we take kc-\u003ejob_lock, we\nguarantee that any written memory is visible to the other CPUs.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "c6ea41fbbe08f270a8edef99dc369faf809d1bd6",
      "tree": "34210fcc635c029939d43b3b556314210c7171c5",
      "parents": [
        "a705a34a565a5445bf731bd8006d51ea4d2b4236"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Sun May 29 13:03:00 2011 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sun May 29 13:03:00 2011 +0100"
      },
      "message": "dm kcopyd: preallocate sub jobs to avoid deadlock\n\nThere\u0027s a possible theoretical deadlock in dm-kcopyd because multiple\nallocations from the same mempool are required to finish a request.\nAvoid this by preallocating sub jobs.\n\nThere is a mempool of 512 entries. Each request requires up to 9\nentries from the mempool. If we have at least 57 concurrent requests\nrunning, the mempool may overflow and mempool allocations may start\nblocking until another entry is freed to the mempool. Because the same\nthread is used to free entries to the mempool and allocate entries from\nthe mempool, this may result in a deadlock.\n\nThis patch changes it so that one mempool entry contains all 9 \"struct\nkcopyd_job\" required to fulfill the whole request. The allocation is\ndone only once in dm_kcopyd_copy and no further mempool allocations are\ndone during request processing.\n\nIf dm_kcopyd_copy is not run in the completion thread, this\nimplementation is deadlock-free.\n\nMIN_JOBS needs reducing accordingly and we\u0027ve chosen to reduce it\nfurther to 8.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "a705a34a565a5445bf731bd8006d51ea4d2b4236",
      "tree": "84d4761ff62398110a44e630085bc43a97bae805",
      "parents": [
        "6f13f6fba76edc7d0e7580c5deee829d59a41b2f"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Sun May 29 13:02:58 2011 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sun May 29 13:02:58 2011 +0100"
      },
      "message": "dm kcopyd: avoid pointless job splitting\n\nDon\u0027t split SUB_JOB_SIZE jobs\n\nIf the job size equals SUB_JOB_SIZE, there is no point in splitting it.\nSplitting it just unnecessarily wastes time, because the split job size\nis SUB_JOB_SIZE too.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "6f13f6fba76edc7d0e7580c5deee829d59a41b2f",
      "tree": "f192d41174ac3f97cfec5f8f20ad6021a524b10b",
      "parents": [
        "f4808ca99a203f20b4475601748e44b25a65bdec"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Sun May 29 13:02:55 2011 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sun May 29 13:02:55 2011 +0100"
      },
      "message": "dm mpath: do not fail paths after integrity errors\n\nIntegrity errors need to be passed to the owner of the integrity\nmetadata for processing. Consequently EILSEQ should be passed up the\nstack.\n\nCc: stable@kernel.org\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nAcked-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "f4808ca99a203f20b4475601748e44b25a65bdec",
      "tree": "442641730674c130ec228c626b94606ad4f2e3c7",
      "parents": [
        "4c2593270133708698d4b8cea2dab469479ad13b"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Sun May 29 13:02:52 2011 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sun May 29 13:02:52 2011 +0100"
      },
      "message": "dm table: reject devices without request fns\n\nThis patch adds a check that a block device has a request function\ndefined before it is used.  Otherwise, misconfiguration can cause an oops.\n\nBecause we are allowing devices with zero size e.g. an offline multipath\ndevice as in commit 2cd54d9bedb79a97f014e86c0da393416b264eb3\n(\"dm: allow offline devices\") there needs to be an additional check\nto ensure devices are initialised.  Some block devices, like a loop\ndevice without a backing file, exist but have no request function.\n\nReproducer is trivial: dm-mirror on unbound loop device\n(no backing file on loop devices)\n\ndmsetup create x --table \"0 8 mirror core 2 8 sync 2 /dev/loop0 0 /dev/loop1 0\"\n\nand mirror resync will immediatelly cause OOps.\n\nBUG: unable to handle kernel NULL pointer dereference at   (null)\n ? generic_make_request+0x2bd/0x590\n ? kmem_cache_alloc+0xad/0x190\n submit_bio+0x53/0xe0\n ? bio_add_page+0x3b/0x50\n dispatch_io+0x1ca/0x210 [dm_mod]\n ? read_callback+0x0/0xd0 [dm_mirror]\n dm_io+0xbb/0x290 [dm_mod]\n do_mirror+0x1e0/0x748 [dm_mirror]\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nReported-by: Zdenek Kabelac \u003czkabelac@redhat.com\u003e\nAcked-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "4c2593270133708698d4b8cea2dab469479ad13b",
      "tree": "f408edef9145b2f9553cbb2142347fc79023c4ff",
      "parents": [
        "139f37f5e14cd883eee2a8a36289f544b5390a44"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Sun May 29 12:52:55 2011 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sun May 29 12:52:55 2011 +0100"
      },
      "message": "dm table: allow targets to support discards internally\n\nPermit a target to support discards regardless of whether or not all its\nunderlying devices do.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "3c5cffb66d8ea94832650fcb55194715b0229088",
      "tree": "22872361ef884b527855ebe6bf225eaabbae4ca1",
      "parents": [
        "a43a9d93d40a69eceeb4e4a4c860cc20186d475c"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sun May 29 12:40:51 2011 +0200"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sun May 29 12:40:51 2011 +0200"
      },
      "message": "[S390] mm: fix mmu_gather rework\n\nQuite a few functions that get called from the tlb gather code require that\npreemption must be disabled. So disable preemption inside of the called\nfunctions instead.\nThe only drawback is that rcu_table_freelist_finish() doesn\u0027t get necessarily\ncalled on the cpu(s) that filled the free lists. So we may see a delay, until\nwe finally see an rcu callback. However over time this shouldn\u0027t matter.\n\nSo we get rid of lots of \"BUG: using smp_processor_id() in preemptible\"\nmessages.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "a43a9d93d40a69eceeb4e4a4c860cc20186d475c",
      "tree": "36eaef08f89d835091344c2d294926314833024e",
      "parents": [
        "139f37f5e14cd883eee2a8a36289f544b5390a44"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sun May 29 12:40:50 2011 +0200"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sun May 29 12:40:51 2011 +0200"
      },
      "message": "[S390] mm: fix storage key handling\n\npage_get_storage_key() and page_set_storage_key() expect a page address\nand not its page frame number. This got inconsistent with 2d42552d\n\"[S390] merge page_test_dirty and page_clear_dirty\".\n\nResult is that we read/write storage keys from random pages and do not\nhave a working dirty bit tracking at all.\nE.g. SetPageUpdate() doesn\u0027t clear the dirty bit of requested pages, which\nfor example ext4 doesn\u0027t like very much and panics after a while.\n\nUnable to handle kernel paging request at virtual user address (null)\nOops: 0004 [#1] PREEMPT SMP DEBUG_PAGEALLOC\nModules linked in:\nCPU: 1 Not tainted 2.6.39-07551-g139f37f-dirty #152\nProcess flush-94:0 (pid: 1576, task: 000000003eb34538, ksp: 000000003c287b70)\nKrnl PSW : 0704c00180000000 0000000000316b12 (jbd2_journal_file_inode+0x10e/0x138)\n           R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:0 PM:0 EA:3\nKrnl GPRS: 0000000000000000 0000000000000000 0000000000000000 0700000000000000\n           0000000000316a62 000000003eb34cd0 0000000000000025 000000003c287b88\n           0000000000000001 000000003c287a70 000000003f1ec678 000000003f1ec000\n           0000000000000000 000000003e66ec00 0000000000316a62 000000003c287988\nKrnl Code: 0000000000316b04: f0a0000407f4       srp     4(11,%r0),2036,0\n           0000000000316b0a: b9020022           ltgr    %r2,%r2\n           0000000000316b0e: a7740015           brc     7,316b38\n          \u003e0000000000316b12: e3d0c0000024       stg     %r13,0(%r12)\n           0000000000316b18: 4120c010           la      %r2,16(%r12)\n           0000000000316b1c: 4130d060           la      %r3,96(%r13)\n           0000000000316b20: e340d0600004       lg      %r4,96(%r13)\n           0000000000316b26: c0e50002b567       brasl   %r14,36d5f4\nCall Trace:\n([\u003c0000000000316a62\u003e] jbd2_journal_file_inode+0x5e/0x138)\n [\u003c00000000002da13c\u003e] mpage_da_map_and_submit+0x2e8/0x42c\n [\u003c00000000002daac2\u003e] ext4_da_writepages+0x2da/0x504\n [\u003c00000000002597e8\u003e] writeback_single_inode+0xf8/0x268\n [\u003c0000000000259f06\u003e] writeback_sb_inodes+0xd2/0x18c\n [\u003c000000000025a700\u003e] writeback_inodes_wb+0x80/0x168\n [\u003c000000000025aa92\u003e] wb_writeback+0x2aa/0x324\n [\u003c000000000025abde\u003e] wb_do_writeback+0xd2/0x274\n [\u003c000000000025ae3a\u003e] bdi_writeback_thread+0xba/0x1c4\n [\u003c00000000001737be\u003e] kthread+0xa6/0xb0\n [\u003c000000000056c1da\u003e] kernel_thread_starter+0x6/0xc\n [\u003c000000000056c1d4\u003e] kernel_thread_starter+0x0/0xc\nINFO: lockdep is turned off.\nLast Breaking-Event-Address:\n [\u003c0000000000316a8a\u003e] jbd2_journal_file_inode+0x86/0x138\n\nReported-by: Sebastian Ott \u003csebott@linux.vnet.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "a1eaecbc4c8307e27772d6584ef85a2e93250661",
      "tree": "940549d45db98a5bcfe22501de0bbe9c96de4c8e",
      "parents": [
        "45df3c8b0f3a58facb125d7631890426706c0bfa"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu May 19 22:14:47 2011 -0400"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 12:09:48 2011 +0300"
      },
      "message": "NFSv4.1: make deviceid cache global\n\nMove deviceid cache from the pnfs files layout driver to the\ngeneric layer in preparation for the objects layout driver.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "45df3c8b0f3a58facb125d7631890426706c0bfa",
      "tree": "36261a558f7822886cd965ea827f5601573650c6",
      "parents": [
        "67d51f65bde233b17de304baec4f7c4d086471fe"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu May 05 08:28:46 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 12:09:48 2011 +0300"
      },
      "message": "pnfs: resolve header dependency in pnfs.h\n\nSome definitions in the header file depend on nfs_fs.h so pnfs.h can\u0027t\nbe included independently.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "67d51f65bde233b17de304baec4f7c4d086471fe",
      "tree": "d9a5e9f93e9ab85e04350166a94a521c780da229",
      "parents": [
        "3b6445a6f68b839d1b437756b9c72312e33339b2"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri May 20 10:45:05 2011 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 12:09:47 2011 +0300"
      },
      "message": "NFSv4.1: use struct nfs_client to qualify deviceid\n\ndeviceids are unique per server, per layout type.\nTherefore, in the global cache in the files layout driver\ndeviceids from different servers may clash so we need\nto qualify them with a struct nfs_client that represents\nthe nfs server that returned the deviceid.\n\nIntroduced in 2.6.39 commit ea8eecdd\n\"NFSv4.1 move deviceid cache to filelayout driver\"\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "3b6445a6f68b839d1b437756b9c72312e33339b2",
      "tree": "a9b6ad5a51d948baf7afc8503110791a3dbc3f79",
      "parents": [
        "61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf"
      ],
      "author": {
        "name": "Jim Rees",
        "email": "rees@umich.edu",
        "time": "Tue Feb 22 19:31:57 2011 -0500"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 12:09:46 2011 +0300"
      },
      "message": "NFSv4.1: fix typo in filelayout_check_layout\n\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "d5b72ce15ea99a0b8f0d1973074c584daf92d70e",
      "tree": "ead92ef8a1251f6e1bffd62bd9de9d98daa6c7a2",
      "parents": [
        "d7f2ff6718efa155fd92e481a5960496d084c63f"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Sun May 29 00:38:46 2011 +0100"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Sun May 29 10:03:09 2011 +0100"
      },
      "message": "Squashfs: Fix sanity check patches on big-endian systems\n\nle64 values should be swapped when accessing on\nbig-endian systems.\n\nSigned-off-by: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\n"
    },
    {
      "commit": "751516f0a9bad32544f40f471037c0e45fb639c9",
      "tree": "8bdd745909a1523f720ae978c12b9c686d58baaa",
      "parents": [
        "6288cf1e768ae73db5ddaaae54d85245cc1c2b56",
        "08b53f0e6b565fe8dc0b8f929960ed16d76291bd"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 04:40:39 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 04:40:39 2011 -0400"
      },
      "message": "Merge branch \u0027ec-cleanup\u0027 into release\n\nConflicts:\n\tdrivers/platform/x86/compal-laptop.c\n"
    },
    {
      "commit": "6288cf1e768ae73db5ddaaae54d85245cc1c2b56",
      "tree": "2bf60eb8e66f9c98347838f5859f27356f65b25e",
      "parents": [
        "0a63e2308cbbdc7e2f5645769afaf53785bcb9fa",
        "526b4af47f44148c9d665e57723ed9f86634c6e3",
        "932df7414336a00f45e5aec62724cf736b0bcfd4",
        "534bc4e3d27096e2f3fc00c14a20efd597837a4f",
        "28c2103dad04dba29ba86e22dad5735db8f0e13c",
        "af986d101d141f10231ffa7e40ae397dc7356857",
        "b299eb5cde1a91706c450804006c6559b0826df8"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 04:38:48 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 04:38:48 2011 -0400"
      },
      "message": "Merge branches \u0027acpica\u0027, \u0027aml-custom\u0027, \u0027bugzilla-16548\u0027, \u0027bugzilla-20242\u0027, \u0027d3-cold\u0027, \u0027ec-asus\u0027 and \u0027thermal-fix\u0027 into release\n"
    },
    {
      "commit": "5d4c47e0195b989f284907358bd5c268a44b91c7",
      "tree": "3a7c81ff3b3f5a5eb6199044a72c0145b58db413",
      "parents": [
        "cdaab4a0d330f70c0e5ad8c3f7c65c2e375ea180"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 01 15:46:09 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 03:39:17 2011 -0400"
      },
      "message": "x86 idle: deprecate mwait_idle() and \"idle\u003dmwait\" cmdline param\n\nmwait_idle() is a C1-only idle loop intended to be more efficient\nthan HLT on SMP hardware that supports it.\n\nBut mwait_idle() has been replaced by the more general\nmwait_idle_with_hints(), which handles both C1 and deeper C-states.\nACPI uses only mwait_idle_with_hints(), and never uses mwait_idle().\n\nDeprecate mwait_idle() and the \"idle\u003dmwait\" cmdline param\nto simplify the x86 idle code.\n\nAfter this change, kernels configured with\n(!CONFIG_ACPI\u003dn \u0026\u0026 !CONFIG_INTEL_IDLE\u003dn) when run on hardware\nthat support MWAIT will simply use HLT.  If MWAIT is desired\non those systems, cpuidle and the cpuidle drivers above\ncan be used.\n\ncc: x86@kernel.org\ncc: stable@kernel.org # .39.x\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "cdaab4a0d330f70c0e5ad8c3f7c65c2e375ea180",
      "tree": "c0737c6c9106f858df5e223b168d548de1c1990e",
      "parents": [
        "99c63221435963e0cee2402686ba99293c2ffa9e"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 01 15:41:17 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 03:39:16 2011 -0400"
      },
      "message": "x86 idle: deprecate \"no-hlt\" cmdline param\n\nWe\u0027d rather that modern machines not check if HLT works on\nevery entry into idle, for the benefit of machines that had\nmarginal electricals 15-years ago.  If those machines are still running\nthe upstream kernel, they can use \"idle\u003dpoll\".  The only difference\nwill be that they\u0027ll now invoke HLT in machine_hlt().\n\ncc: x86@kernel.org # .39.x\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "99c63221435963e0cee2402686ba99293c2ffa9e",
      "tree": "7c73900db0eafed36291257494c1e084de6ad034",
      "parents": [
        "3b70b2e5fcf6315eb833a1bcc2b810bdc75484ff"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 01 15:19:23 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 03:39:15 2011 -0400"
      },
      "message": "x86 idle APM: deprecate CONFIG_APM_CPU_IDLE\n\nWe don\u0027t want to export the pm_idle function pointer to modules.\nCurrently CONFIG_APM_CPU_IDLE w/ CONFIG_APM_MODULE forces us to.\n\nCONFIG_APM_CPU_IDLE is of dubious value, it runs only on 32-bit\nuniprocessor laptops that are over 10 years old.  It calls into\nthe BIOS during idle, and is known to cause a number of machines\nto fail.\n\nRemoving CONFIG_APM_CPU_IDLE and will allow us to stop exporting\npm_idle.  Any systems that were calling into the APM BIOS\nat run-time will simply use HLT instead.\n\ncc: x86@kernel.org\ncc: Jiri Kosina \u003cjkosina@suse.cz\u003e\ncc: stable@kernel.org # .39.x\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "3b70b2e5fcf6315eb833a1bcc2b810bdc75484ff",
      "tree": "803b88453cf6be96b81727105b67bb7566cf7b48",
      "parents": [
        "06ae40ce073daf233607a3c54a489f2c1e44683e"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 01 15:08:48 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 03:39:15 2011 -0400"
      },
      "message": "x86 idle floppy: deprecate disable_hlt()\n\nPlan to remove floppy_disable_hlt in 2012, an ancient\nworkaround with comments that it should be removed.\n\nThis allows us to remove clutter and a run-time branch\nfrom the idle code.\n\nWARN_ONCE() on invocation until it is removed.\n\ncc: x86@kernel.org\ncc: stable@kernel.org # .39.x\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "06ae40ce073daf233607a3c54a489f2c1e44683e",
      "tree": "50069eb65a46f343512b55c7de0cc74f6eadc2bd",
      "parents": [
        "02c68a02018669d1817c43c42de800975cbec467"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 01 15:28:09 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 03:39:14 2011 -0400"
      },
      "message": "x86 idle: EXPORT_SYMBOL(default_idle, pm_idle) only when APM demands it\n\nIn the long run, we don\u0027t want default_idle() or (pm_idle)() to\nbe exported outside of process.c.  Start by not exporting them\nto modules, unless the APM build demands it.\n\ncc: x86@kernel.org\ncc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "02c68a02018669d1817c43c42de800975cbec467",
      "tree": "9e02b7913f650492fcdbb78cd6e8d3ff3160e43c",
      "parents": [
        "333c5ae9948194428fe6c5ef5c088304fc98263b"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 01 16:59:53 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 03:38:57 2011 -0400"
      },
      "message": "x86 idle: clarify AMD erratum 400 workaround\n\nThe workaround for AMD erratum 400 uses the term \"c1e\" falsely suggesting:\n1. Intel C1E is somehow involved\n2. All AMD processors with C1E are involved\n\nUse the string \"amd_c1e\" instead of simply \"c1e\" to clarify that\nthis workaround is specific to AMD\u0027s version of C1E.\nUse the string \"e400\" to clarify that the workaround is specific\nto AMD processors with Erratum 400.\n\nThis patch is text-substitution only, with no functional change.\n\ncc: x86@kernel.org\nAcked-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "08b53f0e6b565fe8dc0b8f929960ed16d76291bd",
      "tree": "2e8c56e74e5cc78c9f022760c95075c885e59357",
      "parents": [
        "1cb7b1e0de6a1f8f071f4a146e3d10f3a662f707"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Tue Apr 26 16:29:55 2011 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 02:59:50 2011 -0400"
      },
      "message": "ACPI EC: remove redundant code\n\nec-\u003ehandle is set in ec_parse_device(), so don\u0027t bother to set it again.\n\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "28c2103dad04dba29ba86e22dad5735db8f0e13c",
      "tree": "7bdd422ae53e4f48bdaa48e1d83e6c25a1ee56e4",
      "parents": [
        "61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Wed May 04 22:56:43 2011 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 02:21:08 2011 -0400"
      },
      "message": "ACPI: Add D3 cold state\n\n_SxW returns an Integer containing the lowest D-state supported in state\nSx. If OSPM has not indicated that it supports _PR3, then the value “3”\ncorresponds to D3.  If it has indicated _PR3 support, the value “3”\nrepresents D3hot and the value “4” represents D3cold.\n\nLinux does set _OSC._PR3, so we should fix it to expect that _SxW can\nreturn 4.\n\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "932df7414336a00f45e5aec62724cf736b0bcfd4",
      "tree": "aaa896c278e90005729f566a437a4134b27dab2b",
      "parents": [
        "61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Mon May 16 09:11:00 2011 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 02:17:56 2011 -0400"
      },
      "message": "ACPI: processor: fix processor_physically_present in UP kernel\n\nUsually, there are multiple processors defined in ACPI table, for\nexample\n\n    Scope (_PR)\n    {\n        Processor (CPU0, 0x00, 0x00000410, 0x06) {}\n        Processor (CPU1, 0x01, 0x00000410, 0x06) {}\n        Processor (CPU2, 0x02, 0x00000410, 0x06) {}\n        Processor (CPU3, 0x03, 0x00000410, 0x06) {}\n    }\n\nprocessor_physically_present(...) will be called to check whether those\nprocessors are physically present.\n\nCurrently we have below codes in processor_physically_present,\n\ncpuid \u003d acpi_get_cpuid(...);\nif ((cpuid \u003d\u003d -1) \u0026\u0026 (num_possible_cpus() \u003e 1))\n        return false;\nreturn true;\n\nIn UP kernel, acpi_get_cpuid(...) always return -1 and\nnum_possible_cpus() always return 1, so\nprocessor_physically_present(...) always returns true for all passed in\nprocessor handles.\n\nThis is wrong for UP processor or SMP processor running UP kernel.\n\nThis patch removes the !SMP version of acpi_get_cpuid(), so both UP and\nSMP kernel use the same acpi_get_cpuid function.\n\nAnd for UP kernel, only processor 0 is valid.\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d16548\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d16357\n\nTested-by: Anton Kochkov \u003canton.kochkov@gmail.com\u003e\nTested-by: Ambroz Bizjak \u003cambrop7@gmail.com\u003e\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "139f37f5e14cd883eee2a8a36289f544b5390a44",
      "tree": "90598e62f04fbbaab94ff8fefe5a2f92f5c85f52",
      "parents": [
        "5be7ef002469eaf757065ee16b4100c6d3ead1cc",
        "c320afe965bf3f857249d223801d8f2fc95615c2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 23:12:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 23:12:28 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin:\n  Blackfin: debug-mmrs: include RSI_PID[4567] MMRs\n  Blackfin: bf51x: fix up RSI_PID# MMR defines\n  Blackfin: bf52x/bf54x: fix up usb MMR defines\n  Blackfin: debug-mmrs: fix typos with gptimers/mdma/ppi\n  Blackfin: gptimers: add structure for hardware register layout\n  Blackfin: wire up new sendmmsg syscall\n  Blackfin: mach/bfin_serial_5xx.h: punt now-unused header\n  Blackfin: bfin_serial.h: turn default port wrappers into stubs\n"
    },
    {
      "commit": "5be7ef002469eaf757065ee16b4100c6d3ead1cc",
      "tree": "9ce6659a0455095c64e80f3115a6c3cbc7a66db8",
      "parents": [
        "eee0f252c6537da2e883f75d22cff1427515eaf3"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sat May 28 17:26:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 23:12:11 2011 -0700"
      },
      "message": "scsi: fix scsi_proc new kernel-doc warning\n\nFix kernel-doc warnings in scsi_proc.c:\n\n  Warning(drivers/scsi/scsi_proc.c:390): No description found for parameter \u0027dev\u0027\n  Warning(drivers/scsi/scsi_proc.c:390): No description found for parameter \u0027data\u0027\n  Warning(drivers/scsi/scsi_proc.c:390): Excess function parameter \u0027s\u0027 description in \u0027always_match\u0027\n  Warning(drivers/scsi/scsi_proc.c:390): Excess function parameter \u0027p\u0027 description in \u0027always_match\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "526b4af47f44148c9d665e57723ed9f86634c6e3",
      "tree": "7906a3b45703aa730d5e7ebadc36a55aee5417ca",
      "parents": [
        "aecad432fd68dafa5b3b497c4816fbfce6fd4066"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Thu May 26 12:26:24 2011 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 01:50:40 2011 -0400"
      },
      "message": "ACPI: Split out custom_method functionality into an own driver\n\nWith /sys/kernel/debug/acpi/custom_method root can write\nto arbitrary memory and increase his priveleges, even if\nthese are restricted.\n\n-\u003e Make this an own debug .config option and warn about the\nsecurity issue in the config description.\n\n-\u003e Still keep acpi/debugfs.c which now only creates an empty\n   /sys/kernel/debug/acpi directory. There might be other\n   users of it later.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: rui.zhang@intel.com\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "aecad432fd68dafa5b3b497c4816fbfce6fd4066",
      "tree": "168b6b7358df13e2d1bd967c217599c77dd21fd8",
      "parents": [
        "61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Thu May 26 12:26:23 2011 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 01:50:04 2011 -0400"
      },
      "message": "ACPI: Cleanup custom_method debug stuff\n\n- Move param aml_debug_output to other params into sysfs.c\n- Split acpi_debugfs_init to prepare custom_method to be\n  an own .config option and driver.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: rui.zhang@intel.com\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "534bc4e3d27096e2f3fc00c14a20efd597837a4f",
      "tree": "bff2c1fd3d6c7b677ad7d32a0e7eadfd29b01457",
      "parents": [
        "61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Tue Apr 26 16:30:02 2011 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 01:35:46 2011 -0400"
      },
      "message": "ACPI EC: enable MSI workaround for Quanta laptops\n\nEnable MSI workaround for Quanta laptops.\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d20242\n\nTested-by: Jan-Matthias Braun \u003cjan_braun@gmx.net\u003e\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "333c5ae9948194428fe6c5ef5c088304fc98263b",
      "tree": "83d1cf3a781642e2c366086e0b9e244a7b60fae5",
      "parents": [
        "7467571f4480b273007517b26297c07154c73924"
      ],
      "author": {
        "name": "Tim Chen",
        "email": "tim.c.chen@linux.intel.com",
        "time": "Fri Feb 11 12:49:04 2011 -0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 00:50:59 2011 -0400"
      },
      "message": "idle governor: Avoid lock acquisition to read pm_qos before entering idle\n\nThanks to the reviews and comments by Rafael, James, Mark and Andi.\nHere\u0027s version 2 of the patch incorporating your comments and also some\nupdate to my previous patch comments.\n\nI noticed that before entering idle state, the menu idle governor will\nlook up the current pm_qos target value according to the list of qos\nrequests received.  This look up currently needs the acquisition of a\nlock to access the list of qos requests to find the qos target value,\nslowing down the entrance into idle state due to contention by multiple\ncpus to access this list.  The contention is severe when there are a lot\nof cpus waking and going into idle.  For example, for a simple workload\nthat has 32 pair of processes ping ponging messages to each other, where\n64 cpu cores are active in test system, I see the following profile with\n37.82% of cpu cycles spent in contention of pm_qos_lock:\n\n-     37.82%          swapper  [kernel.kallsyms]          [k]\n_raw_spin_lock_irqsave\n   - _raw_spin_lock_irqsave\n      - 95.65% pm_qos_request\n           menu_select\n           cpuidle_idle_call\n         - cpu_idle\n              99.98% start_secondary\n\nA better approach will be to cache the updated pm_qos target value so\nreading it does not require lock acquisition as in the patch below.\nWith this patch the contention for pm_qos_lock is removed and I saw a\n2.2X increase in throughput for my message passing workload.\n\ncc: stable@kernel.org\nSigned-off-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\nAcked-by: mark gross \u003cmarkgross@thegnar.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    }
  ],
  "next": "7467571f4480b273007517b26297c07154c73924"
}
