)]}'
{
  "log": [
    {
      "commit": "8ea8cf89e19aeb596b818ee5f2bec8a8b0586b60",
      "tree": "3303edab83f45265f2e9d05a5ef59f67e758b5f7",
      "parents": [
        "a5c262c5fd83ece01bd649fb08416c501d4c59d7"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Fri May 20 02:10:54 2011 +0300"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:15 2011 +0930"
      },
      "message": "vhost: support event index\n\nSupport the new event index feature. When acked,\nutilize it to reduce the # of interrupts sent to the guest.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a5c262c5fd83ece01bd649fb08416c501d4c59d7",
      "tree": "295ddc61d59236b6521f5587e2e78ccb8da5d97a",
      "parents": [
        "bf7035bf20563a6cadcb9e870406e7b21daf5e30"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Fri May 20 02:10:44 2011 +0300"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:15 2011 +0930"
      },
      "message": "virtio_ring: support event idx feature\n\nSupport for the new event idx feature:\n1. When enabling interrupts, publish the current avail index\n   value to the host to get interrupts on the next update.\n2. Use the new avail_event feature to reduce the number\n   of exits from the guest.\n\nSimple test with the simulator:\n\n[virtio]# time ./virtio_test\nspurious wakeus: 0x7\n\nreal    0m0.169s\nuser    0m0.140s\nsys     0m0.019s\n[virtio]# time ./virtio_test --no-event-idx\nspurious wakeus: 0x11\n\nreal    0m0.649s\nuser    0m0.295s\nsys     0m0.335s\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "bf7035bf20563a6cadcb9e870406e7b21daf5e30",
      "tree": "19eda109916e7ba9e4c531602b6efb5d1ef33c2a",
      "parents": [
        "770b31a85e000b0194974922f238a30ade4246b6"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Fri May 20 02:10:27 2011 +0300"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:14 2011 +0930"
      },
      "message": "virtio ring: inline function to check for events\n\nWith the new used_event and avail_event and features, both\nhost and guest need similar logic to check whether events are\nenabled, so it helps to put the common code in the header.\n\nNote that Xen has similar logic for notification hold-off\nin include/xen/interface/io/ring.h with req_event and req_prod\ncorresponding to event_idx + 1 and new_idx respectively.\n+1 comes from the fact that req_event and req_prod in Xen start at 1,\nwhile event index in virtio starts at 0.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "770b31a85e000b0194974922f238a30ade4246b6",
      "tree": "eed81e23f3116858b49af76bcc5831c38662de96",
      "parents": [
        "a1b383870a28cfbd1657d4922c0fafc634a62ebd"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Fri May 20 02:10:17 2011 +0300"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:14 2011 +0930"
      },
      "message": "virtio: event index interface\n\nDefine a new feature bit for the guest and host to utilize\nan event index (like Xen) instead if a flag bit to enable/disable\ninterrupts and kicks.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a1b383870a28cfbd1657d4922c0fafc634a62ebd",
      "tree": "9dfc36730a0b50650e3a1d3deaad6813bf350708",
      "parents": [
        "bf50e69f63d21091e525185c3ae761412be0ba72"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:13 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:14 2011 +0930"
      },
      "message": "virtio: add full three-clause BSD text to headers.\n\nIt\u0027s unclear to me if it\u0027s important, but it\u0027s obviously causing my\ntechnical colleages some headaches and I\u0027d hate such imprecision to\nslow virtio adoption.\n\nI\u0027ve emailed this to all non-trivial contributors for approval, too.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Ryan Harper \u003cryanh@us.ibm.com\u003e\nAcked-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nAcked-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nAcked-by: john cooper \u003cjohn.cooper@redhat.com\u003e\nAcked-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nAcked-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\n"
    },
    {
      "commit": "bf50e69f63d21091e525185c3ae761412be0ba72",
      "tree": "fc88d1e774ae03e680b2fddc265404ee628b8545",
      "parents": [
        "177dbd95637a52b9118aca757d5856ec3995d3e7"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Thu Apr 07 10:43:25 2011 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:13 2011 +0930"
      },
      "message": "virtio balloon: kill tell-host-first logic\n\nThe virtio balloon driver has a VIRTIO_BALLOON_F_MUST_TELL_HOST\nfeature bit.  Whenever the bit is set, the guest kernel must\nalways tell the host before we free pages back to the allocator.\nWithout this feature, we might free a page (and have another\nuser touch it) while the hypervisor is unprepared for it.\n\nBut, if the bit is _not_ set, we are under no obligation to\nreverse the order; we\u0027re under no obligation to do _anything_.\nAs of now, qemu-kvm defines the bit, but doesn\u0027t set it.\n\nThis patch makes the \"tell host first\" logic the only case.  This\nshould make everybody happy, and reduce the amount of untested or\nuntestable code in the kernel.\n\nThis _also_ means that we don\u0027t have to preserve a pfn list\nafter the pages are freed, which should let us get rid of some\ntemporary storage (vb-\u003epfns) eventually.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "177dbd95637a52b9118aca757d5856ec3995d3e7",
      "tree": "11731b46424543051298d515d8e33d0ae23977c4",
      "parents": [
        "6917f83ffe5e6b6414ccc845263b792ed201c0f1"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:13 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:13 2011 +0930"
      },
      "message": "virtio console: don\u0027t manually set or finalize VIRTIO_CONSOLE_F_MULTIPORT.\n\nThat\u0027s already been done by the virtio infrastructure before the probe\nfunction is called.\n\nReported-by: alexey.kardashevskiy@au1.ibm.com\nAcked-by: Amit Shah \u003camit.shah@redhat.com\u003e\nTested-by: Amit Shah \u003camit.shah@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "6917f83ffe5e6b6414ccc845263b792ed201c0f1",
      "tree": "e90ecfcad36fc10e679ae0b6d2a7e5e725b58d1e",
      "parents": [
        "7a7c924cf03da2a76ea4dc0aac1a788cf95a9c29"
      ],
      "author": {
        "name": "Liu Yuan",
        "email": "tailai.ly@taobao.com",
        "time": "Sun Apr 24 02:49:26 2011 +0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:13 2011 +0930"
      },
      "message": "drivers, block: virtio_blk: Replace cryptic number with the macro\n\nIt is easier to figure out the context by reading SCSI_SENSE_BUFFERSIZE\ninstead of plain \u002796\u0027.\n\nSigned-off-by: Liu Yuan \u003ctailai.ly@taobao.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "7a7c924cf03da2a76ea4dc0aac1a788cf95a9c29",
      "tree": "717aba1aab456d252c684abf256afa8e92b7dd96",
      "parents": [
        "990c91f0af46c57f0291060d928c7ab82f9d5667"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Feb 01 21:43:48 2011 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:13 2011 +0930"
      },
      "message": "virtio_blk: allow re-reading config space at runtime\n\nWire up the virtio_driver config_changed method to get notified about\nconfig changes raised by the host.  For now we just re-read the device\nsize to support online resizing of devices, but once we add more\nattributes that might be changeable they could be added as well.\n\nNote that the config_changed method is called from irq context, so\nwe\u0027ll have to use the workqueue infrastructure to provide us a proper\nuser context for our changes.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "990c91f0af46c57f0291060d928c7ab82f9d5667",
      "tree": "72a347b09509e3658b12d4e013f072bf2b771299",
      "parents": [
        "bc805a03c26e1e25171bc627c6264553d27f746c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:12 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:12 2011 +0930"
      },
      "message": "lguest: remove support for VIRTIO_F_NOTIFY_ON_EMPTY.\n\nNo virtio device does this any more, so no need to clutter lguest with it.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "bc805a03c26e1e25171bc627c6264553d27f746c",
      "tree": "2700f17b81a74376d6f03a0d60083ec387cbbcc4",
      "parents": [
        "15517f7c213442e4d8a098cf0732b237f764c576"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:11 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:12 2011 +0930"
      },
      "message": "lguest: fix up compilation after move\n\ned16648eb5b86917f0b90bdcdbc857202da72f90 \"Move kvm, uml, and lguest\nsubdirectories\" broke the lguest example launcher.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "15517f7c213442e4d8a098cf0732b237f764c576",
      "tree": "bfa7539e4d98b0c73063156e218e7916a7112d49",
      "parents": [
        "55922c9d1b84b89cb946c777fddccb3247e7df2c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:08 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:10 2011 +0930"
      },
      "message": "lguest: fix timer interrupt setup\n\nWithout an IRQ chip set, we now get a WARN_ON and no timer interrupt.  This\nprevents booting.\n\nFortunately, the fix is a one-liner: set up the timer IRQ like everything\nelse.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: stable@kernel.org # .39.x\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"
    },
    {
      "commit": "7467571f4480b273007517b26297c07154c73924",
      "tree": "e933b8cff072f5ec389cd5e20c85e756e49cafeb",
      "parents": [
        "521cb40b0c44418a4fd36dc633f575813d59a43d"
      ],
      "author": {
        "name": "Tero Kristo",
        "email": "tero.kristo@nokia.com",
        "time": "Thu Feb 24 17:19:23 2011 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 00:35:47 2011 -0400"
      },
      "message": "cpuidle: menu: fixed wrapping timers at 4.294 seconds\n\nCpuidle menu governor is using u32 as a temporary datatype for storing\nnanosecond values which wrap around at 4.294 seconds. This causes errors\nin predicted sleep times resulting in higher than should be C state\nselection and increased power consumption. This also breaks cpuidle\nstate residency statistics.\n\ncc: stable@kernel.org # .32.x through .39.x\nSigned-off-by: Tero Kristo \u003ctero.kristo@nokia.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "eee0f252c6537da2e883f75d22cff1427515eaf3",
      "tree": "87ca6a49dd2d299b6cb4146ff3295bb625519b05",
      "parents": [
        "5dbe0af47f8a8f968bac2991c3ec974c6e3eaabc"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Sat May 28 13:20:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 16:55:32 2011 -0700"
      },
      "message": "mm: fix page_lock_anon_vma leaving mutex locked\n\nOn one machine I\u0027ve been getting hangs, a page fault\u0027s anon_vma_prepare()\nwaiting in anon_vma_lock(), other processes waiting for that page\u0027s lock.\n\nThis is a replay of last year\u0027s f18194275c39 \"mm: fix hang on\nanon_vma-\u003eroot-\u003elock\".\n\nThe new page_lock_anon_vma() places too much faith in its refcount: when\nit has acquired the mutex_trylock(), it\u0027s possible that a racing task in\nanon_vma_alloc() has just reallocated the struct anon_vma, set refcount\nto 1, and is about to reset its anon_vma-\u003eroot.\n\nFix this by saving anon_vma-\u003eroot, and relying on the usual page_mapped()\ncheck instead of a refcount check: if page is still mapped, the anon_vma\nis still ours; if page is not still mapped, we\u0027re no longer interested.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "5dbe0af47f8a8f968bac2991c3ec974c6e3eaabc"
}
