)]}'
{
  "log": [
    {
      "commit": "664a41b8a91bf78a01a751e15175e0008977685a",
      "tree": "d9dc15c83400ad2dfb430ff27ae3e7fdc9395856",
      "parents": [
        "983236b5741e557451f3ed4ec5ebf1f62a5b2c15",
        "ee2ce3a0b43d14d792d34cf88e7bc2091096744b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 30 00:08:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 30 00:08:53 2011 -0700"
      },
      "message": "Merge branch \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (430 commits)\n  [media] ir-mce_kbd-decoder: include module.h for its facilities\n  [media] ov5642: include module.h for its facilities\n  [media] em28xx: Fix DVB-C maxsize for em2884\n  [media] tda18271c2dd: Fix saw filter configuration for DVB-C @6MHz\n  [media] v4l: mt9v032: Fix Bayer pattern\n  [media] V4L: mt9m111: rewrite set_pixfmt\n  [media] V4L: mt9m111: fix missing return value check mt9m111_reg_clear\n  [media] V4L: initial driver for ov5642 CMOS sensor\n  [media] V4L: sh_mobile_ceu_camera: fix Oops when USERPTR mapping fails\n  [media] V4L: soc-camera: remove soc-camera bus and devices on it\n  [media] V4L: soc-camera: un-export the soc-camera bus\n  [media] V4L: sh_mobile_csi2: switch away from using the soc-camera bus notifier\n  [media] V4L: add media bus configuration subdev operations\n  [media] V4L: soc-camera: group struct field initialisations together\n  [media] V4L: soc-camera: remove now unused soc-camera specific PM hooks\n  [media] V4L: pxa-camera: switch to using standard PM hooks\n  [media] NetUP Dual DVB-T/C CI RF: force card hardware revision by module param\n  [media] Don\u0027t OOPS if videobuf_dvb_get_frontend return NULL\n  [media] NetUP Dual DVB-T/C CI RF: load firmware according card revision\n  [media] omap3isp: Support configurable HS/VS polarities\n  ...\n\nFix up conflicts:\n - arch/arm/mach-omap2/board-rx51-peripherals.c:\n     cleanup regulator supply definitions in mach-omap2\n   vs\n     OMAP3: RX-51: define vdds_csib regulator supply\n - drivers/staging/tm6000/tm6000-alsa.c (trivial)\n"
    },
    {
      "commit": "983236b5741e557451f3ed4ec5ebf1f62a5b2c15",
      "tree": "2b9872f659ac73df93fdaeca4d37654a5a84d4fc",
      "parents": [
        "74aec4e0dd93d4202d3d5a692723f39cc5332b15",
        "a5a7bbcc0137e5cdad21cce0962f6be0b7ecf173"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:45:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:45:06 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: Fix build breakage in xfs_iops.c when CONFIG_FS_POSIX_ACL is not set\n"
    },
    {
      "commit": "74aec4e0dd93d4202d3d5a692723f39cc5332b15",
      "tree": "33affbfd65e4a1bfe3b27df6bd91baa2dfb593f7",
      "parents": [
        "c32e7d669ef827f97d1aae8f6b34542665defbf6",
        "985ca0e626e195ea08a1a82b8dbeb6719747429a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:43:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:43:50 2011 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:\n  ecryptfs: Make inode bdi consistent with superblock bdi\n  eCryptfs: Unlock keys needed by ecryptfsd\n"
    },
    {
      "commit": "c32e7d669ef827f97d1aae8f6b34542665defbf6",
      "tree": "369b180339369fa90515d89eb10d7385aa4d4f76",
      "parents": [
        "dbfe89877741726c30efb41f0132e247a78c3681",
        "0642d2edc858a1f08716bb32e1ab890db8dac246"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:43:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:43:32 2011 -0700"
      },
      "message": "Merge branch \u0027stable/bug.fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/bug.fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/balloon: Fix compile errors - missing header files.\n  xen/grant: Fix compile warning.\n  xen/pciback: remove duplicated #include\n"
    },
    {
      "commit": "dbfe89877741726c30efb41f0132e247a78c3681",
      "tree": "40511033c8fe687b232a7cde1ee1ba3dea1bc42e",
      "parents": [
        "83c1b31794a9e3cb30edabef7e57fbdbe129c5ce"
      ],
      "author": {
        "name": "Greg Dietsche",
        "email": "Gregory.Dietsche@cuw.edu",
        "time": "Fri Jul 29 16:46:16 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:41:09 2011 -0700"
      },
      "message": "frv: remove unnecessary code\n\nremove unnecessary code that matches this coccinelle pattern\n\n\tif (...)\n\t\treturn ret;\n\treturn ret;\n\nSigned-off-by: Greg Dietsche \u003cGregory.Dietsche@cuw.edu\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "83c1b31794a9e3cb30edabef7e57fbdbe129c5ce",
      "tree": "a23269345efe190925eb4bc045f19fcb5fc42178",
      "parents": [
        "f85f19de90a9997583bb26e6f1f9297a4e152c18"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jul 29 17:11:32 2011 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:41:09 2011 -0700"
      },
      "message": "ramoops: fix compile failure on parisc\n\nFixes this:\n\n  drivers/char/ramoops.c: In function \u0027ramoops_init\u0027:\n  drivers/char/ramoops.c:221: error: implicit declaration of function \u0027IS_ERR\u0027\n  drivers/char/ramoops.c:222: error: implicit declaration of function \u0027PTR_ERR\u0027\n\nIf it actually builds on other platforms, it\u0027s probably getting\nlinux/err.h via some other #include.\n\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f85f19de90a9997583bb26e6f1f9297a4e152c18",
      "tree": "2dfe61dab6c39ca202f114cb68c68978da1624e3",
      "parents": [
        "b993fdbc7fe26f96b59003a3552c418a71aa0a9f",
        "7b87c9df5602efd6c7edeb291bbd104d49a6babf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:35:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:35:05 2011 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI: remove printks about disabled bridge windows\n  PCI: fold pci_calc_resource_flags() into decode_bar()\n  PCI: treat mem BAR type \"11\" (reserved) as 32-bit, not 64-bit, BAR\n  PCI: correct pcie_set_readrq write size\n  PCI: pciehp: change wait time for valid configuration access\n  x86/PCI: Preserve existing pci\u003dbfsort whitelist for Dell systems\n  PCI: ARI is a PCIe v2 feature\n  x86/PCI: quirks: Use pci_dev-\u003erevision\n  PCI: Make the struct pci_dev * argument of pci_fixup_irqs const.\n  PCI hotplug: cpqphp: use pci_dev-\u003evendor\n  PCI hotplug: cpqphp: use pci_dev-\u003esubsystem_{vendor|device}\n  x86/PCI: config space accessor functions should not ignore the segment argument\n  PCI: Assign values to \u0027pci_obff_signal_type\u0027 enumeration constants\n  x86/PCI: reduce severity of host bridge window conflict warnings\n  PCI: enumerate the PCI device only removed out PCI hieratchy of OS when re-scanning PCI\n  PCI: PCIe AER: add aer_recover_queue\n  x86/PCI: select direct access mode for mmconfig option\n  PCI hotplug: Rename is_ejectable which also exists in dock.c\n"
    },
    {
      "commit": "b993fdbc7fe26f96b59003a3552c418a71aa0a9f",
      "tree": "d5ffe93095c2111b7a68e1f0cc0b2f6e2388e990",
      "parents": [
        "8f57be8ee44d92ef161c5af685aedbb717db96e0",
        "b3c4b9825075b680817b9460184e7b576dc97597"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:33:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:33:40 2011 -0700"
      },
      "message": "Merge branch \u0027upstream/xen-tracing2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen\n\n* \u0027upstream/xen-tracing2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen:\n  xen/tracing: fix compile errors when tracing is disabled.\n"
    },
    {
      "commit": "8f57be8ee44d92ef161c5af685aedbb717db96e0",
      "tree": "d44a1cf0843390c6ff679f15e052ae1fc87680a8",
      "parents": [
        "cb7dee8d22f3e9320424e769d860fbd9712a0666",
        "fb149f9e2835446e02e796081635520b881dc351"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:32:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:32:53 2011 -0700"
      },
      "message": "Merge branch \u0027at91/cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc\n\n* \u0027at91/cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc:\n  at91: add arch specific ioremap support\n  at91: factorize sram init\n  at91: move register clocks to soc generic init\n  at91: move clock subsystem init to soc generic init\n  at91: use structure to store the current soc\n  at91: remove AT91_DBGU offset from dbgu register macro\n  at91: factorize at91 interrupts init to soc\n  at91: introduce commom AT91_BASE_SYS\n"
    },
    {
      "commit": "cb7dee8d22f3e9320424e769d860fbd9712a0666",
      "tree": "58f33d70453e7cd26ec78e96f33ca7a9673df26e",
      "parents": [
        "49267fc82ad2825132be3b016d8eb58a90cb0c36",
        "6124a4e430b64d1577438c8648c59e996d02e73e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:32:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:32:02 2011 -0700"
      },
      "message": "Merge branch \u0027next/dt\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc\n\n* \u0027next/dt\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc: (21 commits)\n  arm/dt: tegra devicetree support\n  arm/versatile: Add device tree support\n  dt/irq: add irq_domain_generate_simple() helper\n  irq: add irq_domain translation infrastructure\n  dmaengine: imx-sdma: add device tree probe support\n  dmaengine: imx-sdma: sdma_get_firmware does not need to copy fw_name\n  dmaengine: imx-sdma: use platform_device_id to identify sdma version\n  mmc: sdhci-esdhc-imx: add device tree probe support\n  mmc: sdhci-pltfm: dt device does not pass parent to sdhci_alloc_host\n  mmc: sdhci-esdhc-imx: get rid of the uses of cpu_is_mx()\n  mmc: sdhci-esdhc-imx: do not reference platform data after probe\n  mmc: sdhci-esdhc-imx: extend card_detect and write_protect support for mx5\n  net/fec: add device tree probe support\n  net: ibm_newemac: convert it to use of_get_phy_mode\n  dt/net: add helper function of_get_phy_mode\n  net/fec: gasket needs to be enabled for some i.mx\n  serial/imx: add device tree probe support\n  serial/imx: get rid of the uses of cpu_is_mx1()\n  arm/dt: Add dtb make rule\n  arm/dt: Add skeleton dtsi file\n  ...\n"
    },
    {
      "commit": "49267fc82ad2825132be3b016d8eb58a90cb0c36",
      "tree": "9a3bf3f8ddd18a3cea89fc5ed039b03a9bbf808e",
      "parents": [
        "2313bcdcc9ff1e42f51b200dc65ddaae14c347f4",
        "18cb63b3f3ee4abd483544a664f0e720c7e5fd9f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:31:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:31:22 2011 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc:\n  ARM: zynq: remove incorrectly deleted file\n  ARM: tegra: only select MACH_HAS_SND_SOC_TEGRA_WM8903 if SND_SOC\n"
    },
    {
      "commit": "2313bcdcc9ff1e42f51b200dc65ddaae14c347f4",
      "tree": "fdb0e3f953841cdd661e36c40a965c9e044d82f5",
      "parents": [
        "59ed2bb27492f74ab898ee1e26c69dfd78444640",
        "3f43f68e29f1dcb853d70280c7412fc0ef9a0da6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:28:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:28:47 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-watchdog\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-watchdog: (25 commits)\n  watchdog: WatchDog Timer Driver Core - Add minimum and max timeout\n  watchdog: WatchDog Timer Driver Core - Add ioctl call\n  watchdog: WatchDog Timer Driver Core - Add nowayout feature\n  watchdog: WatchDog Timer Driver Core - Add Magic Close feature\n  watchdog: WatchDog Timer Driver Core - Add WDIOC_SETTIMEOUT and WDIOC_GETTIMEOUT ioctl\n  watchdog: WatchDog Timer Driver Core - Add WDIOC_SETOPTIONS ioctl\n  watchdog: WatchDog Timer Driver Core - Add WDIOC_KEEPALIVE ioctl\n  watchdog: WatchDog Timer Driver Core - Add basic ioctl functionality\n  watchdog: WatchDog Timer Driver Core - Add basic framework\n  watchdog: hpwdt: add next gen HP servers\n  watchdog: it8712f_wdt.c: improve includes\n  watchdog: at91sam9/wdt: move register header to drivers\n  watchdog: Add Xilinx watchdog timer driver\n  watchdog: remove empty pm-functions\n  watchdog: sp805: Flush posted writes in enable/disable.\n  watchdog: sp805: Don\u0027t write 0 to the load value register.\n  watchdog: imx2_wdt: add device tree probe support\n  watchdog: s3c2410: Add support for device tree based probe\n  watchdog: mpcore_wdt: Add suspend/resume support.\n  watchdog: mtx1-wdt: use dev_{err,info} instead of printk()\n  ...\n"
    },
    {
      "commit": "59ed2bb27492f74ab898ee1e26c69dfd78444640",
      "tree": "193cd839d4c9ed523e1d8dbb6e3709ef9f38df11",
      "parents": [
        "55f9c40ff632d03c527d6a6ceddcda0a224587a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:21:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:21:50 2011 -0700"
      },
      "message": "ext2: remove duplicate \u0027ext2_get_acl()\u0027 define\n\nWhen commit 4e34e719e457 (\"fs: take the ACL checks to common code\")\nchanged the xyz_check_acl() functions into the more natural\nxyz_get_acl() interface, we grew two copies of the\n\n  #define ext2_get_acl\tNULL\n\ndefine for the non-acl case.\n\nRemove the extra one.\n\nReported-by: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5a7bbcc0137e5cdad21cce0962f6be0b7ecf173",
      "tree": "b0b9324b536da4c59390e58b5003f06829c718df",
      "parents": [
        "55f9c40ff632d03c527d6a6ceddcda0a224587a6"
      ],
      "author": {
        "name": "Markus Trippelsdorf",
        "email": "markus@trippelsdorf.de",
        "time": "Tue Jul 26 11:15:20 2011 +0200"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jul 29 12:26:14 2011 -0500"
      },
      "message": "xfs: Fix build breakage in xfs_iops.c when CONFIG_FS_POSIX_ACL is not set\n\ncommit 4e34e719e45, that takes the ACL checks to common code,\naccidentely broke the build when CONFIG_FS_POSIX_ACL is not set:\n\n  CC      fs/xfs/linux-2.6/xfs_iops.o\nfs/xfs/linux-2.6/xfs_iops.c:1025:14: error: ‘xfs_get_acl’ undeclared here (not in a function)\n\nFix this by declaring xfs_get_acl a static inline function.\n\nSigned-off-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "ee2ce3a0b43d14d792d34cf88e7bc2091096744b",
      "tree": "cd389e8e41314ebc27751cf2314a294e89ef842a",
      "parents": [
        "d208c97c93512e771f36f8bb6e0ca0b83e6ed962"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Fri Jul 29 15:41:45 2011 +1000"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Fri Jul 29 12:54:38 2011 -0300"
      },
      "message": "[media] ir-mce_kbd-decoder: include module.h for its facilities\n\ndrivers/media/rc/ir-mce_kbd-decoder.c:446:16: error: expected declaration specifiers or \u0027...\u0027 before string constant\ndrivers/media/rc/ir-mce_kbd-decoder.c:446:1: warning: data definition has no type or storage class\ndrivers/media/rc/ir-mce_kbd-decoder.c:446:1: warning: type defaults to \u0027int\u0027 in declaration of \u0027MODULE_LICENSE\u0027\ndrivers/media/rc/ir-mce_kbd-decoder.c:446:16: warning: function declaration isn\u0027t a prototype\ndrivers/media/rc/ir-mce_kbd-decoder.c:447:15: error: expected declaration specifiers or \u0027...\u0027 before string constant\ndrivers/media/rc/ir-mce_kbd-decoder.c:447:1: warning: data definition has no type or storage class\ndrivers/media/rc/ir-mce_kbd-decoder.c:447:1: warning: type defaults to \u0027int\u0027 in declaration of \u0027MODULE_AUTHOR\u0027\ndrivers/media/rc/ir-mce_kbd-decoder.c:447:15: warning: function declaration isn\u0027t a prototype\ndrivers/media/rc/ir-mce_kbd-decoder.c:448:20: error: expected declaration specifiers or \u0027...\u0027 before string constant\ndrivers/media/rc/ir-mce_kbd-decoder.c:448:1: warning: data definition has no type or storage class\ndrivers/media/rc/ir-mce_kbd-decoder.c:448:1: warning: type defaults to \u0027int\u0027 in declaration of \u0027MODULE_DESCRIPTION\u0027\ndrivers/media/rc/ir-mce_kbd-decoder.c:448:20: warning: function declaration isn\u0027t a prototype\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "d208c97c93512e771f36f8bb6e0ca0b83e6ed962",
      "tree": "236473ef85006fb1af0040aeafd06a693e4535c7",
      "parents": [
        "f7acc4bb86594d78aa41c07b7670df3e03738b18"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Fri Jul 29 15:30:00 2011 +1000"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Fri Jul 29 12:54:36 2011 -0300"
      },
      "message": "[media] ov5642: include module.h for its facilities\n\ndrivers/media/video/ov5642.c:985:1: warning: data definition has no type or storage class\ndrivers/media/video/ov5642.c:985:1: warning: type defaults to \u0027int\u0027 in declaration of \u0027MODULE_DEVICE_TABLE\u0027\ndrivers/media/video/ov5642.c:985:1: warning: parameter names (without types) in function declaration\ndrivers/media/video/ov5642.c: In function \u0027ov5642_mod_init\u0027:\ndrivers/media/video/ov5642.c:998:9: error: \u0027THIS_MODULE\u0027 undeclared (first use in this function)\ndrivers/media/video/ov5642.c:998:9: note: each undeclared identifier is reported only once for each function it appears in\ndrivers/media/video/ov5642.c: At top level:\ndrivers/media/video/ov5642.c:1009:20: error: expected declaration specifiers or \u0027...\u0027 before string constant\ndrivers/media/video/ov5642.c:1009:1: warning: data definition has no type or storage class\ndrivers/media/video/ov5642.c:1009:1: warning: type defaults to \u0027int\u0027 in declaration of \u0027MODULE_DESCRIPTION\u0027\ndrivers/media/video/ov5642.c:1009:20: warning: function declaration isn\u0027t a prototype\ndrivers/media/video/ov5642.c:1010:15: error: expected declaration specifiers or \u0027...\u0027 before string constant\ndrivers/media/video/ov5642.c:1010:1: warning: data definition has no type or storage class\ndrivers/media/video/ov5642.c:1010:1: warning: type defaults to \u0027int\u0027 in declaration of \u0027MODULE_AUTHOR\u0027\ndrivers/media/video/ov5642.c:1010:15: warning: function declaration isn\u0027t a prototype\ndrivers/media/video/ov5642.c:1011:16: error: expected declaration specifiers or \u0027...\u0027 before string constant\ndrivers/media/video/ov5642.c:1011:1: warning: data definition has no type or storage class\ndrivers/media/video/ov5642.c:1011:1: warning: type defaults to \u0027int\u0027 in declaration of \u0027MODULE_LICENSE\u0027\ndrivers/media/video/ov5642.c:1011:16: warning: function declaration isn\u0027t a prototype\ndrivers/media/video/ov5642.c: In function \u0027ov5642_mod_init\u0027:\ndrivers/media/video/ov5642.c:999:1: warning: control reaches end of non-void function\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "985ca0e626e195ea08a1a82b8dbeb6719747429a",
      "tree": "8c7978767a72ea80641ee0439e6f21aad1ae7ad6",
      "parents": [
        "b2987a5e05ec7a1af7ca42e5d5349d7a22753031"
      ],
      "author": {
        "name": "Thieu Le",
        "email": "thieule@chromium.org",
        "time": "Tue Jul 26 16:15:10 2011 -0700"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Thu Jul 28 23:48:26 2011 -0500"
      },
      "message": "ecryptfs: Make inode bdi consistent with superblock bdi\n\nMake the inode mapping bdi consistent with the superblock bdi so that\ndirty pages are flushed properly.\n\nSigned-off-by: Thieu Le \u003cthieule@chromium.org\u003e\nCc: \u003cstable@kernel.org\u003e [2.6.39+]\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b2987a5e05ec7a1af7ca42e5d5349d7a22753031",
      "tree": "be0a56d227b5f6b661c0f8eecf960b61051d05d6",
      "parents": [
        "55f9c40ff632d03c527d6a6ceddcda0a224587a6"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Jul 26 19:47:08 2011 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Thu Jul 28 23:30:09 2011 -0500"
      },
      "message": "eCryptfs: Unlock keys needed by ecryptfsd\n\nFixes a regression caused by b5695d04634fa4ccca7dcbc05bb4a66522f02e0b\n\nKernel keyring keys containing eCryptfs authentication tokens should not\nbe write locked when calling out to ecryptfsd to wrap and unwrap file\nencryption keys. The eCryptfs kernel code can not hold the key\u0027s write\nlock because ecryptfsd needs to request the key after receiving such a\nrequest from the kernel.\n\nWithout this fix, all file opens and creates will timeout and fail when\nusing the eCryptfs PKI infrastructure. This is not an issue when using\npassphrase-based mount keys, which is the most widely deployed eCryptfs\nconfiguration.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nAcked-by: Roberto Sassu \u003croberto.sassu@polito.it\u003e\nTested-by: Roberto Sassu \u003croberto.sassu@polito.it\u003e\nTested-by: Alexis Hafner1 \u003chaf@zurich.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e [2.6.39+]\n"
    },
    {
      "commit": "f7acc4bb86594d78aa41c07b7670df3e03738b18",
      "tree": "49c602a4b5224f0872903c02c4c30436ff4437e4",
      "parents": [
        "cf845297d592339bcf0839298c4319633df3173a"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Thu Jul 28 15:42:00 2011 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Thu Jul 28 17:09:54 2011 -0300"
      },
      "message": "[media] em28xx: Fix DVB-C maxsize for em2884\n\nThe logic at em28xx_isoc_dvb_max_packetsize() sucks, at least for newer\nthe needed packet size. Yet, it is better than nothing.\n\nRewrite the code in order to change the default to 752 for em2884 and\nnewer chips and provide a better way to handle per-chipset specifics.\n\nFor em2874, the current default should be enough, as the only em2874\nboard is currently a 1-seg ISDB-T board, so, it needs only a limited\namount of bandwidth.\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "cf845297d592339bcf0839298c4319633df3173a",
      "tree": "e845f7163fbbd20f61600c334e3fd7ed539bce30",
      "parents": [
        "86cf786c04541c18febc897686a0d5bea29ce688"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Thu Jul 28 15:49:43 2011 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Thu Jul 28 17:09:46 2011 -0300"
      },
      "message": "[media] tda18271c2dd: Fix saw filter configuration for DVB-C @6MHz\n\nCurrently, the driver assumes that all QAM carriers are spaced with\n8MHz. This is wrong, and may decrease QoS on Countries like Brazil,\nthat have DVB-C carriers with 6MHz-spaced.\n\nFortunately, both ITU-T J-83 and EN 300 429 specifies a way to\nassociate the symbol rate with the bandwidth needed for it.\n\nFor ITU-T J-83 2007 annex A, the maximum symbol rate for 6 MHz is:\n\t6 MHz / 1.15 \u003d 5217391 Bauds\nFor  ITU-T J-83 2007 annex C, the maximum symbol rate for 6 MHz is:\n\t6 MHz / 1.13 \u003d 5309735 Bauds.\n\nAs this tuner is currently used only for DRX-K, and it is currently\nhard-coded to annex A, I\u0027ve opted to use the roll-off factor of 0.15,\ninstead of 0.13.\n\nIf we ever support annex C, the better would be to add a DVB S2API\ncall to allow changing between Annex A and C, and add the 0.13 roll-off\nfactor to it.\n\nThis code is currently being used on other frontends, so I think we\nshould later add a core function with this code, to warrant that\nit will be properly implemented everywhere.\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "18cb63b3f3ee4abd483544a664f0e720c7e5fd9f",
      "tree": "1bd1c6bd88a982b2c8907fd795eab52135546c54",
      "parents": [
        "885f24e152d2b85569d33a1679cf47db56172b9c"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 28 14:33:40 2011 +0000"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 28 16:02:53 2011 +0000"
      },
      "message": "ARM: zynq: remove incorrectly deleted file\n\nMy previous commit left the file empty and present in the\nMakefile, which is a bit dirty and caused problems with\n\u0027make distclean\u0027, as pointed out by David Howells.\nThis hopefully cleans it up the right way.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: John Linn \u003cjohn.linn@xilinx.com\u003e\n"
    },
    {
      "commit": "6124a4e430b64d1577438c8648c59e996d02e73e",
      "tree": "49cfafad785d1c9e403a5b0d755298b9af2c260f",
      "parents": [
        "8e267f3da5f117d2f1316cf6ddf740f93f1c73aa",
        "580975d7f48d7d047e22bb0f42adf7557801d8d4"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 28 15:25:46 2011 +0000"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 28 15:25:46 2011 +0000"
      },
      "message": "Merge branch \u0027imx/dt\u0027 into next/dt\n"
    },
    {
      "commit": "fb149f9e2835446e02e796081635520b881dc351",
      "tree": "e80f681871748b0bcddaff9383ebed026dd1c55a",
      "parents": [
        "f0051d82a68abcf35418d49db1c82e6f0e514d78"
      ],
      "author": {
        "name": "Jean-Christophe PLAGNIOL-VILLARD",
        "email": "plagnioj@jcrosoft.com",
        "time": "Sat May 07 11:16:00 2011 +0800"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 28 15:09:26 2011 +0000"
      },
      "message": "at91: add arch specific ioremap support\n\nSigned-off-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nCc: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nCc: Patrice Vilchez \u003cpatrice.vilchez@atmel.com\u003e\n"
    },
    {
      "commit": "f0051d82a68abcf35418d49db1c82e6f0e514d78",
      "tree": "5a14645bdefe2a3c4671f456d4eb6595956c68ca",
      "parents": [
        "51ddec7617bd0d4c73c44a8862faac5d7d97eb03"
      ],
      "author": {
        "name": "Jean-Christophe PLAGNIOL-VILLARD",
        "email": "plagnioj@jcrosoft.com",
        "time": "Tue May 10 03:20:09 2011 +0800"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 28 15:07:29 2011 +0000"
      },
      "message": "at91: factorize sram init\n\nSigned-off-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nCc: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nCc: Patrice Vilchez \u003cpatrice.vilchez@atmel.com\u003e\n"
    },
    {
      "commit": "51ddec7617bd0d4c73c44a8862faac5d7d97eb03",
      "tree": "56cfd6db86147db3138d81ae7c9d2d9e9cfda068",
      "parents": [
        "465393749da3a3229f6067246c7e8f97f7cc833d"
      ],
      "author": {
        "name": "Jean-Christophe PLAGNIOL-VILLARD",
        "email": "plagnioj@jcrosoft.com",
        "time": "Sun Apr 24 18:15:34 2011 +0800"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 28 15:07:29 2011 +0000"
      },
      "message": "at91: move register clocks to soc generic init\n\nSigned-off-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nCc: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nCc: Patrice Vilchez \u003cpatrice.vilchez@atmel.com\u003e\n"
    },
    {
      "commit": "465393749da3a3229f6067246c7e8f97f7cc833d",
      "tree": "f2a8fa3d4c03fd09aed307e6d71805169c71003a",
      "parents": [
        "8c3583b634d5705d8f604c0d9392bc273d19c256"
      ],
      "author": {
        "name": "Jean-Christophe PLAGNIOL-VILLARD",
        "email": "plagnioj@jcrosoft.com",
        "time": "Sun Apr 24 18:20:28 2011 +0800"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 28 15:07:29 2011 +0000"
      },
      "message": "at91: move clock subsystem init to soc generic init\n\nSigned-off-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nCc: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nCc: Patrice Vilchez \u003cpatrice.vilchez@atmel.com\u003e\n"
    },
    {
      "commit": "8c3583b634d5705d8f604c0d9392bc273d19c256",
      "tree": "fa2c010c4dbea580526cb91a25ae0e57abc0f099",
      "parents": [
        "1ff5b1b411bf8a8157ae949a1b3ed8666d96c1db"
      ],
      "author": {
        "name": "Jean-Christophe PLAGNIOL-VILLARD",
        "email": "plagnioj@jcrosoft.com",
        "time": "Sat Apr 23 22:12:57 2011 +0800"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 28 15:07:28 2011 +0000"
      },
      "message": "at91: use structure to store the current soc\n\ninstead of reading the registers everytime\n\nthe current implementation respect the following constrain:\n - allow 1 to n soc to be enabled\n - allow to have a virtual cpu type and subtype\n - always detect the cpu type and subtype and report it\n - detect if the soc support is enabled\n - prepare for sysfs export support\n - drop soc specific code via compiler when the soc not enabled\n   (via cpu_is_xxx)\n\nToday if we read the exid we will have the same value for 9g35 and 9m11\nand we will need to check the cidr too\n\nwith the new implementation we just need to check the soc subtype\n\nthis will also allow to have specific virtual subtype for rm9200 which the\nboard will have to specify via at91rm9200_set_type(int) as we have no way to\ndetect it.\n\nthis implementation is inspired by the SH cpu detection support\n\nSigned-off-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nCc: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nCc: Patrice Vilchez \u003cpatrice.vilchez@atmel.com\u003e\n"
    },
    {
      "commit": "1ff5b1b411bf8a8157ae949a1b3ed8666d96c1db",
      "tree": "e323223c27e8070412f47f9ae09e62cbc2edf71d",
      "parents": [
        "92100c12ca1bc5f347ff41c1413f9db07c4d276c"
      ],
      "author": {
        "name": "Jean-Christophe PLAGNIOL-VILLARD",
        "email": "plagnioj@jcrosoft.com",
        "time": "Tue May 03 01:11:25 2011 +0800"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 28 15:07:28 2011 +0000"
      },
      "message": "at91: remove AT91_DBGU offset from dbgu register macro\n\nto make the soc base specified at runtime instead of compiled time\n\nSigned-off-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\n"
    },
    {
      "commit": "92100c12ca1bc5f347ff41c1413f9db07c4d276c",
      "tree": "cbf4379cce962c550d32ab5dfd6d10dac7fb70db",
      "parents": [
        "21d08b9d5536ac418bbce4f419fe2b528b7ddf31"
      ],
      "author": {
        "name": "Jean-Christophe PLAGNIOL-VILLARD",
        "email": "plagnioj@jcrosoft.com",
        "time": "Sat Apr 23 15:28:34 2011 +0800"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 28 15:07:28 2011 +0000"
      },
      "message": "at91: factorize at91 interrupts init to soc\n\nthey are the same except the default priority\n\nSigned-off-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nCc: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nCc: Patrice Vilchez \u003cpatrice.vilchez@atmel.com\u003e\n"
    },
    {
      "commit": "21d08b9d5536ac418bbce4f419fe2b528b7ddf31",
      "tree": "f1a1bbf5645d933799e31d93365458826dfadea6",
      "parents": [
        "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe"
      ],
      "author": {
        "name": "Jean-Christophe PLAGNIOL-VILLARD",
        "email": "plagnioj@jcrosoft.com",
        "time": "Sat Apr 23 15:28:34 2011 +0800"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 28 15:07:28 2011 +0000"
      },
      "message": "at91: introduce commom AT91_BASE_SYS\n\nOn all at91 except rm9200 and x40 have the System Controller starts\nat address 0xffffc000 and has a size of 16KiB.\n\nOn rm9200 it\u0027s start at 0xfffe4000 of 111KiB with non reserved data starting\nat 0xfffff000\n\nThis patch removes the individual definitions of AT91_BASE_SYS and\nreplaces them with a common version at base 0xfffffc000 and size 16KiB\nand map the same memory space\n\nSigned-off-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nCc: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nCc: Patrice Vilchez \u003cpatrice.vilchez@atmel.com\u003e\n"
    },
    {
      "commit": "55f9c40ff632d03c527d6a6ceddcda0a224587a6",
      "tree": "215b843439f1d6b7620789ac6e919742db99b7a6",
      "parents": [
        "d5eab9152a3b4ce962c02ad0a0e4d0ec94aadd92",
        "eb7caf35951b1a56aabee028c1b20727abccc34f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 28 05:59:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 28 05:59:19 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:\n  n2_crypto: Attach on Niagara-T3.\n  n2rng: Attach on Niagara-T3.\n  sparc: Detect and handle UltraSPARC-T3 cpu types.\n  sparc: Don\u0027t do expensive hypervisor PCR write unless necessary.\n  sparc: Add T3 sun4v cpu type and hypervisor group defines.\n  sparc: Don\u0027t leave sparc_pmu_type NULL on sun4v.\n"
    },
    {
      "commit": "d5eab9152a3b4ce962c02ad0a0e4d0ec94aadd92",
      "tree": "3147f8de2805da0f026ea18103a9be46f3bc2a18",
      "parents": [
        "6140333d3656f62ac7e6a5af87e7fe92cfb8d655",
        "a051294423b015c5c89f2ed78f7fe0893b775098"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 28 05:58:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 28 05:58:19 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (32 commits)\n  tg3: Remove 5719 jumbo frames and TSO blocks\n  tg3: Break larger frags into 4k chunks for 5719\n  tg3: Add tx BD budgeting code\n  tg3: Consolidate code that calls tg3_tx_set_bd()\n  tg3: Add partial fragment unmapping code\n  tg3: Generalize tg3_skb_error_unmap()\n  tg3: Remove short DMA check for 1st fragment\n  tg3: Simplify tx bd assignments\n  tg3: Reintroduce tg3_tx_ring_info\n  ASIX: Use only 11 bits of header for data size\n  ASIX: Simplify condition in rx_fixup()\n  Fix cdc-phonet build\n  bonding: reduce noise during init\n  bonding: fix string comparison errors\n  net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared\n  net: add IFF_SKB_TX_SHARED flag to priv_flags\n  net: sock_sendmsg_nosec() is static\n  forcedeth: fix vlans\n  gianfar: fix bug caused by 87c288c6e9aa31720b72e2bc2d665e24e1653c3e\n  gro: Only reset frag0 when skb can be pulled\n  ...\n"
    },
    {
      "commit": "6140333d3656f62ac7e6a5af87e7fe92cfb8d655",
      "tree": "d96f7ad2196b4383f5ca4396c956e24c82b2952c",
      "parents": [
        "6f56c218666b5c7eff354364357307d18c10058b",
        "58c54fcca3bac5bf9290cfed31c76e4c4bfbabaf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 28 05:50:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 28 05:50:27 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://neil.brown.name/md\n\n* \u0027for-linus\u0027 of git://neil.brown.name/md: (75 commits)\n  md/raid10: handle further errors during fix_read_error better.\n  md/raid10: Handle read errors during recovery better.\n  md/raid10: simplify read error handling during recovery.\n  md/raid10: record bad blocks due to write errors during resync/recovery.\n  md/raid10:  attempt to fix read errors during resync/check\n  md/raid10:  Handle write errors by updating badblock log.\n  md/raid10: clear bad-block record when write succeeds.\n  md/raid10: avoid writing to known bad blocks on known bad drives.\n  md/raid10 record bad blocks as needed during recovery.\n  md/raid10: avoid reading known bad blocks during resync/recovery.\n  md/raid10 - avoid reading from known bad blocks - part 3\n  md/raid10: avoid reading from known bad blocks - part 2\n  md/raid10: avoid reading from known bad blocks - part 1\n  md/raid10: Split handle_read_error out from raid10d.\n  md/raid10: simplify/reindent some loops.\n  md/raid5: Clear bad blocks on successful write.\n  md/raid5.  Don\u0027t write to known bad block on doubtful devices.\n  md/raid5: write errors should be recorded as bad blocks if possible.\n  md/raid5: use bad-block log to improve handling of uncorrectable read errors.\n  md/raid5: avoid reading from known bad blocks.\n  ...\n"
    },
    {
      "commit": "6f56c218666b5c7eff354364357307d18c10058b",
      "tree": "5c18d12d2410d25b0f8b5a2150e2f2f4df20e95b",
      "parents": [
        "95b6886526bb510b8370b625a49bc0ab3b8ff10f",
        "8d34e6d3ec0393a286569587fbd9675abd258d93"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 28 05:49:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 28 05:49:31 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  sound: oss: rename local change_bits to avoid powerpc bitsops.h definition\n  ALSA: hda - Fix duplicated DAC assignments for Realtek\n  ALSA: asihpi - off by one in asihpi_hpi_ioctl()\n  ALSA: hda - Fix Oops with Realtek quirks with NULL adc_nids\n  ALSA: asihpi - bug fix pa use before init.\n  ALSA: hda - Add support for vref-out based mute LED control on IDT codecs\n"
    },
    {
      "commit": "eb7caf35951b1a56aabee028c1b20727abccc34f",
      "tree": "2cccd6418beedf7ce3b12e2d0f4123c43755dc8c",
      "parents": [
        "24f146696184cbe4b440179064a45dfddaad4cc4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 28 01:30:07 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 28 01:30:07 2011 -0700"
      },
      "message": "n2_crypto: Attach on Niagara-T3.\n\nA small modification was necessary since in the machine description\nfor \u0027n2cp\u0027 and \u0027ncp\u0027 nodes, there no longer is an \u0027intr\u0027 property.\n\nThat\u0027s OK because this property was always nothing more than an\narray of integers \u00271\u0027 ... \u0027nr_inos + 1\u0027 so we can just compute it\nin-place.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24f146696184cbe4b440179064a45dfddaad4cc4",
      "tree": "b47f8a2a97d620e0542f90fd2dd620a87f4154ca",
      "parents": [
        "4ba991d3eb379fbaa22049e7002341e97a673685"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 23:33:03 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 28 01:26:30 2011 -0700"
      },
      "message": "n2rng: Attach on Niagara-T3.\n\nAnd stop referring to Victoria Falls, as the attribute we\u0027re\ntalking about is whether the rng is multi-unit capable which\napplies to several chip variants now.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f43f68e29f1dcb853d70280c7412fc0ef9a0da6",
      "tree": "7954a552341a37163d0ebe2c975bfe002e2abbd3",
      "parents": [
        "78d88fc01202b088573c962e2885556a5e99bf74"
      ],
      "author": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Fri Jul 22 19:00:16 2011 +0000"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Thu Jul 28 08:01:18 2011 +0000"
      },
      "message": "watchdog: WatchDog Timer Driver Core - Add minimum and max timeout\n\nAdd min_timeout (minimum timeout) and max_timeout\nvalues so that the framework can check if the new\ntimeout value is between the minimum and maximum\ntimeout values. If both values are 0, then the\nframework will leave the check for the watchdog\ndevice driver itself.\n\nSigned-off-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\n\n"
    },
    {
      "commit": "78d88fc01202b088573c962e2885556a5e99bf74",
      "tree": "8f5650e80988752d144c4575ae4d2b4e846e2aa5",
      "parents": [
        "7e192b9c4234d29bdc20ac8d0a67edf7624b4206"
      ],
      "author": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Fri Jul 22 18:59:49 2011 +0000"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Thu Jul 28 08:01:16 2011 +0000"
      },
      "message": "watchdog: WatchDog Timer Driver Core - Add ioctl call\n\nAdd support for extra ioctl calls by adding a\nioctl watchdog operation. This operation will be\ncalled before we do our own handling of ioctl\ncommands. This way we can override the internal\nioctl command handling and we can also add\nextra ioctl commands. The ioctl watchdog operation\nshould return the appropriate error codes or\n-ENOIOCTLCMD if the ioctl command should be handled\nthrough the internal ioctl handling of the framework.\n\nSigned-off-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\n\n"
    },
    {
      "commit": "7e192b9c4234d29bdc20ac8d0a67edf7624b4206",
      "tree": "d46f8208ce67391166e8fbdcc3fe92e6ee01ea3c",
      "parents": [
        "017cf0805105496ab1880e236cb3e4bf156fb915"
      ],
      "author": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Fri Jul 22 18:59:17 2011 +0000"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Thu Jul 28 08:01:14 2011 +0000"
      },
      "message": "watchdog: WatchDog Timer Driver Core - Add nowayout feature\n\nAdd support for the nowayout feature to the\nWatchDog Timer Driver Core framework.\nThis feature prevents the watchdog timer from being\nstopped.\n\nSigned-off-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\n\n"
    },
    {
      "commit": "017cf0805105496ab1880e236cb3e4bf156fb915",
      "tree": "f6889e009ddba78c5c5d1965d0dae77f4fb5edd8",
      "parents": [
        "014d694e5d59e4219803cd14deaae496d86e4910"
      ],
      "author": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Fri Jul 22 18:58:54 2011 +0000"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Thu Jul 28 08:01:12 2011 +0000"
      },
      "message": "watchdog: WatchDog Timer Driver Core - Add Magic Close feature\n\nAdd support for the Magic Close feature to the\nWatchDog Timer Driver Core framework.\n\nSigned-off-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\n\n"
    },
    {
      "commit": "014d694e5d59e4219803cd14deaae496d86e4910",
      "tree": "c79d00c812b6f01fc477318cbcc003e2826f9f24",
      "parents": [
        "234445b4e4542f3e0f216459245ab369a18adcf2"
      ],
      "author": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Fri Jul 22 18:58:21 2011 +0000"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Thu Jul 28 08:01:11 2011 +0000"
      },
      "message": "watchdog: WatchDog Timer Driver Core - Add WDIOC_SETTIMEOUT and WDIOC_GETTIMEOUT ioctl\n\nThis part add\u0027s the WDIOC_SETTIMEOUT and WDIOC_GETTIMEOUT ioctl\nfunctionality to the WatchDog Timer Driver Core framework.\n\nSigned-off-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\n\n"
    },
    {
      "commit": "234445b4e4542f3e0f216459245ab369a18adcf2",
      "tree": "ed670bb2aa3eae41f00e5217fb786eaa9fbe6cb3",
      "parents": [
        "c2dc00e494cc476551b9beeb883910391ff59737"
      ],
      "author": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Fri Jul 22 18:57:55 2011 +0000"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Thu Jul 28 08:01:09 2011 +0000"
      },
      "message": "watchdog: WatchDog Timer Driver Core - Add WDIOC_SETOPTIONS ioctl\n\nThis part add\u0027s the WDIOC_SETOPTIONS ioctl functionality\nto the WatchDog Timer Driver Core framework.\n\nSigned-off-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\n\n"
    },
    {
      "commit": "c2dc00e494cc476551b9beeb883910391ff59737",
      "tree": "2dd417fb7e793af0bd28f9b946628662574269d4",
      "parents": [
        "2fa03560ab3a6dd83cad9bfd5692179fc2ceabb3"
      ],
      "author": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Fri Jul 22 18:57:23 2011 +0000"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Thu Jul 28 08:01:07 2011 +0000"
      },
      "message": "watchdog: WatchDog Timer Driver Core - Add WDIOC_KEEPALIVE ioctl\n\nThis part add\u0027s the WDIOC_KEEPALIVE ioctl functionality to the\nWatchDog Timer Driver Core framework. Please note that the\nWDIOF_KEEPALIVEPING bit has to be set in the watchdog_info\noptions field.\n\nSigned-off-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\n\n"
    },
    {
      "commit": "2fa03560ab3a6dd83cad9bfd5692179fc2ceabb3",
      "tree": "b208649368917b6c8d16c5cc737b2b83e906d074",
      "parents": [
        "43316044d4f64da008d6aca7d4b60771b9a24eb8"
      ],
      "author": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Fri Jul 22 18:56:38 2011 +0000"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Thu Jul 28 08:01:05 2011 +0000"
      },
      "message": "watchdog: WatchDog Timer Driver Core - Add basic ioctl functionality\n\nThis part add\u0027s the basic ioctl functionality to the\nWatchDog Timer Driver Core framework. The supported\nioctl call\u0027s are:\n\tWDIOC_GETSUPPORT\n\tWDIOC_GETSTATUS\n\tWDIOC_GETBOOTSTATUS\n\nSigned-off-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\n\n"
    },
    {
      "commit": "43316044d4f64da008d6aca7d4b60771b9a24eb8",
      "tree": "66d0d023a8713119d973e3c367efa21fb5a1908f",
      "parents": [
        "5efc7a6222f6408d29d6beb1142a302f31dc9eac"
      ],
      "author": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Fri Jul 22 18:55:18 2011 +0000"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Thu Jul 28 08:01:04 2011 +0000"
      },
      "message": "watchdog: WatchDog Timer Driver Core - Add basic framework\n\nThe WatchDog Timer Driver Core is a framework\nthat contains the common code for all watchdog-driver\u0027s.\nIt also introduces a watchdog device structure and the\noperations that go with it.\n\nThis is the introduction of this framework. This part\nsupports the minimal watchdog userspace API (or with\nother words: the functionality to use /dev/watchdog\u0027s\nopen, release and write functionality as defined in\nthe simplest watchdog API). Extra functionality will\nfollow in the next set of patches.\n\nSigned-off-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\n\n"
    },
    {
      "commit": "5efc7a6222f6408d29d6beb1142a302f31dc9eac",
      "tree": "972469ac8e95ef19ad7a858e8bfd66dcd2dc3f2e",
      "parents": [
        "22602868865f630adab94c4419b3aeb414014865"
      ],
      "author": {
        "name": "Thomas Mingarelli",
        "email": "Thomas.Mingarelli@hp.com",
        "time": "Tue Jul 26 14:05:53 2011 +0100"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Thu Jul 28 08:00:56 2011 +0000"
      },
      "message": "watchdog: hpwdt: add next gen HP servers\n\nThis patch is required to enable hpwdt to work on next generation HP servers\nwith iLO.\n\nSigned-off-by: Thomas Mingarelli \u003cthomas.mingarelli@hp.com\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\n\n"
    },
    {
      "commit": "8e267f3da5f117d2f1316cf6ddf740f93f1c73aa",
      "tree": "19c7739b88de481618e0f461a83a1bb46a9ef5e2",
      "parents": [
        "3ba7222ac992d24d09ccd0b55940b54849eef752"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Jul 19 17:26:54 2011 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jul 28 01:32:04 2011 -0600"
      },
      "message": "arm/dt: tegra devicetree support\n\nEverything required to populate NVIDIA Tegra devices from the device\ntree.  This patch adds a new DT_MACHINE_DESC() which matches against\na tegra20 device tree.  So far it only registers the on-chip devices,\nbut it will be refined in follow on patches to configure clocks and\npin IO from the device tree also.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "3ba7222ac992d24d09ccd0b55940b54849eef752",
      "tree": "278ee248319b6a71cb72fafa36fa90ff1c641cfe",
      "parents": [
        "7e71330169d8056536b299290544980bccc6b300"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Jul 26 03:19:06 2011 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jul 28 01:32:04 2011 -0600"
      },
      "message": "arm/versatile: Add device tree support\n\nFor testing the dt work, define a dt-enabled versatile platform.\n\nThis patch adds a new versatile platform for when using the device\ntree.  Add platform and amba devices are discovered and registered by\nparsing the device tree.  Clocks and initial io mappings are still\nconfigured statically.\n\nThis patch still depends on some static platform_data for a few devices\nwhich is passed via the auxdata structure to of_platform_populate(),\nbut it is a viable starting point until the drivers can get all\nconfiguration data out of the device tree.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "7e71330169d8056536b299290544980bccc6b300",
      "tree": "7dab4954a7683e35bbf66adadd89b26971960311",
      "parents": [
        "08a543ad33fc188650801bd36eed4ffe272643e1"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Jul 26 03:19:06 2011 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jul 28 01:32:04 2011 -0600"
      },
      "message": "dt/irq: add irq_domain_generate_simple() helper\n\nirq_domain_generate_simple() is an easy way to generate an irq translation\ndomain for simple irq controllers.  It assumes a flat 1:1 mapping from\nhardware irq number to an offset of the first linux irq number assigned\nto the controller\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "08a543ad33fc188650801bd36eed4ffe272643e1",
      "tree": "cf2b41b922e77190425f999c2268f1558dd52d18",
      "parents": [
        "5fd1a2ed0ec6fb5449c71a988cc15edb8671b3d0"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Jul 26 03:19:06 2011 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jul 28 01:32:04 2011 -0600"
      },
      "message": "irq: add irq_domain translation infrastructure\n\nThis patch adds irq_domain infrastructure for translating from\nhardware irq numbers to linux irqs.  This is particularly important\nfor architectures adding device tree support because the current\nimplementation (excluding PowerPC and SPARC) cannot handle\ntranslation for more than a single interrupt controller.  irq_domain\nsupports device tree translation for any number of interrupt\ncontrollers.\n\nThis patch converts x86, Microblaze, ARM and MIPS to use irq_domain\nfor device tree irq translation.  x86 is untested beyond compiling it,\nirq_domain is enabled for MIPS and Microblaze, but the old behaviour is\npreserved until the core code is modified to actually register an\nirq_domain yet.  On ARM it works and is required for much of the new\nARM device tree board support.\n\nPowerPC has /not/ been converted to use this new infrastructure.  It\nis still missing some features before it can replace the virq\ninfrastructure already in powerpc (see documentation on\nirq_domain_map/unmap for details).  Followup patches will add the\nmissing pieces and migrate PowerPC to use irq_domain.\n\nSPARC has its own method of managing interrupts from the device tree\nand is unaffected by this change.\n\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "a051294423b015c5c89f2ed78f7fe0893b775098",
      "tree": "840072c6503d5f0c82623d732a3b352edbd15a3c",
      "parents": [
        "e31aa9870627106aebddd280aab8ecb2f493246a"
      ],
      "author": {
        "name": "Matt Carlson",
        "email": "mcarlson@broadcom.com",
        "time": "Wed Jul 27 14:20:54 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:32 2011 -0700"
      },
      "message": "tg3: Remove 5719 jumbo frames and TSO blocks\n\nThe A0 revision of this chip is the only device that requires these\nfeatures to be disabled.\n\nSigned-off-by: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e31aa9870627106aebddd280aab8ecb2f493246a",
      "tree": "c771dda9a09b07382947da52b82d093de9b951ea",
      "parents": [
        "84b67b27e9531e9a70c9e8cd952d66c55f4d0ddb"
      ],
      "author": {
        "name": "Matt Carlson",
        "email": "mcarlson@broadcom.com",
        "time": "Wed Jul 27 14:20:53 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:32 2011 -0700"
      },
      "message": "tg3: Break larger frags into 4k chunks for 5719\n\nThe 5719 has bug where RDMAs larger than 4k can cause problems.  This\npatch works around the problem by dividing larger DMA requests into\nsomething the hardware can handle.\n\nSigned-off-by: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nReviewed-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84b67b27e9531e9a70c9e8cd952d66c55f4d0ddb",
      "tree": "f082a966a82ebc803f1f4d7cfccf057b3b0a8017",
      "parents": [
        "d1a3b7377d3b6a01ec5f70adb32173b13233aabf"
      ],
      "author": {
        "name": "Matt Carlson",
        "email": "mcarlson@broadcom.com",
        "time": "Wed Jul 27 14:20:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:32 2011 -0700"
      },
      "message": "tg3: Add tx BD budgeting code\n\nAs the driver breaks large skb fragments into smaller submissions to the\nhardware, there is a new danger that BDs might get exhausted before all\nfragments have been mapped.  This patch adds code to make sure tx BDs\naren\u0027t oversubscribed and flag the condition if it happens.\n\nSigned-off-by: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nReviewed-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d1a3b7377d3b6a01ec5f70adb32173b13233aabf",
      "tree": "ad1d5204140560a8724a104bbc1dccbc0704307d",
      "parents": [
        "e01ee14d499e5d09c0a9db0cac2545a018849e3d"
      ],
      "author": {
        "name": "Matt Carlson",
        "email": "mcarlson@broadcom.com",
        "time": "Wed Jul 27 14:20:51 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:31 2011 -0700"
      },
      "message": "tg3: Consolidate code that calls tg3_tx_set_bd()\n\nThis patch consolidates all code that populates tx BDs into a single\nroutine.  Setting tx BDs needs to be more carefully controlled to see if\nworkarounds need to be applied.\n\nSigned-off-by: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nReviewed-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e01ee14d499e5d09c0a9db0cac2545a018849e3d",
      "tree": "752b0783203f4131dbe2d9af945f5090003646e2",
      "parents": [
        "0d681b27b0efc962a3038a316e78373de7bfe1ce"
      ],
      "author": {
        "name": "Matt Carlson",
        "email": "mcarlson@broadcom.com",
        "time": "Wed Jul 27 14:20:50 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:31 2011 -0700"
      },
      "message": "tg3: Add partial fragment unmapping code\n\nThe following patches are going to break skb fragments into smaller\nsizes.  This patch attempts to make the change easier to digest by only\naddressing the skb teardown portion.\n\nThe patch modifies the driver to skip over any BDs that have a flag set\nthat indicates the BD isn\u0027t the beginning of an skb fragment.  Such BDs\nwere a result of segmentation and do not need a pci_unmap_page() call.\n\nSigned-off-by: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nReviewed-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d681b27b0efc962a3038a316e78373de7bfe1ce",
      "tree": "0ff87deba13d372b5f8262e741dc121c0e07f32f",
      "parents": [
        "13350ea78bd687a229af0f6052d2f45aa50a6524"
      ],
      "author": {
        "name": "Matt Carlson",
        "email": "mcarlson@broadcom.com",
        "time": "Wed Jul 27 14:20:49 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:31 2011 -0700"
      },
      "message": "tg3: Generalize tg3_skb_error_unmap()\n\nIn the following patches, unmapping skb fragments will get just as\ncomplicated as mapping them.  This patch generalizes\ntg3_skb_error_unmap() and makes it the one-stop-shop for skb unmapping.\n\nSigned-off-by: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nReviewed-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13350ea78bd687a229af0f6052d2f45aa50a6524",
      "tree": "9fbb3bdd4e1b0e1e65e65ff12831124434fb4ae5",
      "parents": [
        "92cd3a17ce9c719abb4c28dee3438e0c641f8de4"
      ],
      "author": {
        "name": "Matt Carlson",
        "email": "mcarlson@broadcom.com",
        "time": "Wed Jul 27 14:20:48 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:31 2011 -0700"
      },
      "message": "tg3: Remove short DMA check for 1st fragment\n\nThe first fragment of an skb should always be greater than 8 bytes.\n\nSigned-off-by: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nReviewed-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92cd3a17ce9c719abb4c28dee3438e0c641f8de4",
      "tree": "f4883d546a721e2ee9320f66d918f5845cfedf77",
      "parents": [
        "df8944cf5cd3794c46e95e0404038376ee7f8dda"
      ],
      "author": {
        "name": "Matt Carlson",
        "email": "mcarlson@broadcom.com",
        "time": "Wed Jul 27 14:20:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:31 2011 -0700"
      },
      "message": "tg3: Simplify tx bd assignments\n\nIn the following patches, the process the driver will use to assign skb\nfragments to transmit BDs will get more complicated.  To prepare for\nthat new code, this patch seeks to simplify how transmit BDs are\npopulated.  It does this by separating the code that assigns the BD\nmembers from the logic that controls how the fields are set.\n\nSigned-off-by: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nReviewed-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df8944cf5cd3794c46e95e0404038376ee7f8dda",
      "tree": "874ad0e2e40510bcc619af76a3faf55c9e587a55",
      "parents": [
        "bca0beb9363f8487ac902931a50eb00180a2d14a"
      ],
      "author": {
        "name": "Matt Carlson",
        "email": "mcarlson@broadcom.com",
        "time": "Wed Jul 27 14:20:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:31 2011 -0700"
      },
      "message": "tg3: Reintroduce tg3_tx_ring_info\n\nThe following patches will require the use of an additional flag in the\nring_info structure.  The use of this flag is tx path specific, so this\npatch defines a specialized ring_info structure.\n\nSigned-off-by: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nReviewed-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bca0beb9363f8487ac902931a50eb00180a2d14a",
      "tree": "f7c87ac7a9f8c055a883c695ad8c8b0db336edd6",
      "parents": [
        "bc466e678d0a98f445bf3f9c76fedf18e7dcc6b0"
      ],
      "author": {
        "name": "Marek Vasut",
        "email": "marek.vasut@gmail.com",
        "time": "Tue Jul 26 16:44:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:31 2011 -0700"
      },
      "message": "ASIX: Use only 11 bits of header for data size\n\nThe AX88772B uses only 11 bits of the header for the actual size. The other bits\nare used for something else. This causes dmesg full of messages:\n\n\tasix_rx_fixup() Bad Header Length\n\nThis patch trims the check to only 11 bits. I believe on older chips, the\nremaining 5 top bits are unused.\n\nSigned-off-by: Marek Vasut \u003cmarek.vasut@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc466e678d0a98f445bf3f9c76fedf18e7dcc6b0",
      "tree": "02ae33658d0737ae61aa62ca85f8c118a0af71f9",
      "parents": [
        "a0295a3b6775ab88f5883684e14bbda8d287822d"
      ],
      "author": {
        "name": "Marek Vasut",
        "email": "marek.vasut@gmail.com",
        "time": "Tue Jul 26 16:44:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:31 2011 -0700"
      },
      "message": "ASIX: Simplify condition in rx_fixup()\n\nSigned-off-by: Marek Vasut \u003cmarek.vasut@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0295a3b6775ab88f5883684e14bbda8d287822d",
      "tree": "05fdace7966c34aadd884c0dd2164032040b23e3",
      "parents": [
        "b2730f4f842b987c818023a8003e6426cf996985"
      ],
      "author": {
        "name": "Chris Clayton",
        "email": "chris2553@googlemail.com",
        "time": "Tue Jul 26 12:20:22 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:31 2011 -0700"
      },
      "message": "Fix cdc-phonet build\n\nTry to send to correct address this time!\n\n----------  Forwarded Message  ----------\n\nSubject: [PATCH] Fix cdc-phonet build\nDate: Saturday 23 Jul 2011\nFrom: Chris Clayton \u003cchris2553@googlemail.com\u003e\nTo: linux-net@vger.kernel.org\n\ncdc-phonet does not presently build on linux-3.0 because there is no entry for it in\ndrivers/net/Makefile. This patch adds that entry.\n\nSigned-off-by: Chris Clayton \u003cchris2553@googlemail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2730f4f842b987c818023a8003e6426cf996985",
      "tree": "b84df061504072115fbc7d455730304c3129b5c0",
      "parents": [
        "f4bb2e9c4fa9e5fdddf90589703613fd1a9c519f"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Wed Jul 27 10:09:26 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:30 2011 -0700"
      },
      "message": "bonding: reduce noise during init\n\nOn Tue, Jul 26, 2011 at 05:40:27PM -0700, Joe Perches wrote:\n\u003e On Tue, 2011-07-26 at 17:37 -0700, Jay Vosburgh wrote:\n\u003e \u003e Joe Perches \u003cjoe@perches.com\u003e wrote:\n\u003e \u003e \u003eI\u0027d prefer you don\u0027t separate the format string\n\u003e \u003e \u003einto multiple pieces.\n\u003e \u003e Why not?  To me, it looks easier to read split into sections\n\u003e \u003e that don\u0027t wrap lines.\n\u003e\n\u003e Harder to grep for a dmesg and the\n\u003e defect rate of these split formats is\n\u003e typically higher than single strings\n\u003e because of bad spacing between string\n\u003e segments.\n\u003e\n\nI noticed that you took some time back in late 2009 to \u0027consolidate\u0027 the\nsplit format-strings present in the bonding driver at the time and I\u0027ve\ndecided I\u0027m fine to leave them the way they are.  The main point of my\npatch was to change the output and I would like to get that included.\nHere is my updated patch...\n\nSubject: [PATCH net-next-2.6 v2] bonding: reduce noise during init\n\nMany are using sysfs to configure bonding rather than module options, so\nthere is no need for bonding to throw this warning in normal cases.\n\nKeep the message around when debugging is enabled as it might be useful\nfor someone desperate enough to enable debugging, but eliminate it\notherwise.\n\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f4bb2e9c4fa9e5fdddf90589703613fd1a9c519f",
      "tree": "5f47d2f426c63e1c1d787fbb69e9d52ba6136038",
      "parents": [
        "550fd08c2cebad61c548def135f67aba284c6162"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Tue Jul 26 11:12:27 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:30 2011 -0700"
      },
      "message": "bonding: fix string comparison errors\n\nWhen a bond contains a device where one name is the subset of another\n(eth1 and eth10, for example), one cannot properly set the primary\ndevice or the currently active device.\n\nThis was reported and based on work by Takuma Umeya.  I also verified\nthe problem and tested that this fix resolves it.\n\nV2: A few did not like the the current code or my changes, so I\nrefactored bonding_store_primary and bonding_store_active_slave to be a\nbit cleaner, dropped the use of strnicmp since we did not really need\nthe comparison to be case insensitive, and formatted the input string\nfrom sysfs so a comparison to IFNAMSIZ could be used.\n\nI also discovered an error in bonding_store_active_slave that would\nmodify bond-\u003eprimary_slave rather than bond-\u003ecurr_active_slave before\nforcing the bonding driver to choose a new active slave.\n\nV3: Actually sending the proper patch....\n\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nReported-by: Takuma Umeya \u003ctumeya@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "550fd08c2cebad61c548def135f67aba284c6162",
      "tree": "8aa7c4d20a9faeb42261b75cfa38d8fd27b574ff",
      "parents": [
        "d8873315065f1f527c7c380402cf59b1e1d0ae36"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Jul 26 06:05:38 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:30 2011 -0700"
      },
      "message": "net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared\n\nAfter the last patch, We are left in a state in which only drivers calling\nether_setup have IFF_TX_SKB_SHARING set (we assume that drivers touching real\nhardware call ether_setup for their net_devices and don\u0027t hold any state in\ntheir skbs.  There are a handful of drivers that violate this assumption of\ncourse, and need to be fixed up.  This patch identifies those drivers, and marks\nthem as not being able to support the safe transmission of skbs by clearning the\nIFF_TX_SKB_SHARING flag in priv_flags\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: Karsten Keil \u003cisdn@linux-pingi.de\u003e\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCC: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nCC: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCC: Patrick McHardy \u003ckaber@trash.net\u003e\nCC: Krzysztof Halasa \u003ckhc@pm.waw.pl\u003e\nCC: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCC: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCC: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCC: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8873315065f1f527c7c380402cf59b1e1d0ae36",
      "tree": "41a9c15f75b41657dd5370fe135f16c40b3eab64",
      "parents": [
        "894dc24ce75aa238ce96422a36b1537ccf2d8831"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Jul 26 06:05:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:30 2011 -0700"
      },
      "message": "net: add IFF_SKB_TX_SHARED flag to priv_flags\n\nPktgen attempts to transmit shared skbs to net devices, which can\u0027t be used by\nsome drivers as they keep state information in skbs.  This patch adds a flag\nmarking drivers as being able to handle shared skbs in their tx path.  Drivers\nare defaulted to being unable to do so, but calling ether_setup enables this\nflag, as 90% of the drivers calling ether_setup touch real hardware and can\nhandle shared skbs.  A subsequent patch will audit drivers to ensure that the\nflag is set properly\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nReported-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nCC: Robert Olsson \u003crobert.olsson@its.uu.se\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCC: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "894dc24ce75aa238ce96422a36b1537ccf2d8831",
      "tree": "c930e1d37236fb7424295f12da7f84ac65f8a1a1",
      "parents": [
        "0891b0e08937aaec2c4734acb94c5ff8042313bb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jul 26 02:39:41 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:30 2011 -0700"
      },
      "message": "net: sock_sendmsg_nosec() is static\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0891b0e08937aaec2c4734acb94c5ff8042313bb",
      "tree": "4d02c8d55b2f51708d873c914a778935c18c3e9c",
      "parents": [
        "b852b720877e6b8e12b95a7cb4e00ea351b8cbfc"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Jul 26 10:19:28 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:30 2011 -0700"
      },
      "message": "forcedeth: fix vlans\n\nFor some reason, when rxaccel is disabled, NV_RX3_VLAN_TAG_PRESENT is\nstill set and some pseudorandom vids appear. So check for\nNETIF_F_HW_VLAN_RX as well. Also set correctly hw_features and set vlan\nmode on probe.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b852b720877e6b8e12b95a7cb4e00ea351b8cbfc",
      "tree": "c28bbc1a90e4d79f51154c98b507410579a25cf9",
      "parents": [
        "b49179c071b89423e1f6c50f6fa3d48d8158bc35"
      ],
      "author": {
        "name": "Sebastian Pöhn",
        "email": "sebastian.belden@googlemail.com",
        "time": "Tue Jul 26 00:03:13 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:30 2011 -0700"
      },
      "message": "gianfar: fix bug caused by 87c288c6e9aa31720b72e2bc2d665e24e1653c3e\n\ncommit 87c288c6e9aa31720b72e2bc2d665e24e1653c3e \"gianfar: do vlan cleanup\" has two issues:\n# permutation of rx and tx flags\n# enabling vlan tag insertion by default (this leads to unusable connections on some configurations)\n\nIf VLAN insertion is requested (via ethtool) it will be set at an other point ...\n\nSigned-off-by: Sebastian Poehn \u003csebastian.poehn@belden.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b49179c071b89423e1f6c50f6fa3d48d8158bc35",
      "tree": "b6aca473839c2c9d7b72bafffa91e6dd6471f9a3",
      "parents": [
        "17dd759c67f21e34f2156abcf415e1f60605a188",
        "e5036c2575b244851637a81efc4104c076c4fa21"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:18:47 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:18:47 2011 -0700"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "4ba991d3eb379fbaa22049e7002341e97a673685",
      "tree": "31671a735930aa2e9e3f13ba31e59236e770c954",
      "parents": [
        "314ff52727fe94dfbe07f3a9a489ab3ca8d8df5a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 21:06:16 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:10:10 2011 -0700"
      },
      "message": "sparc: Detect and handle UltraSPARC-T3 cpu types.\n\nThe cpu compatible string we look for is \"SPARC-T3\".\n\nAs far as memset/memcpy optimizations go, we treat this chip the same\nas Niagara-T2/T2+.  Use cache initializing stores for memset, and use\nperfetch, FPU block loads, cache initializing stores, and block stores\nfor copies.\n\nWe use the Niagara-T2 perf support, since T3 is a close relative in\nthis regard.  Later we\u0027ll add support for the new events T3 can\nreport, plus enable T3\u0027s new \"sample\" mode.\n\nFor now I haven\u0027t added any new ELF hwcap flags.  We probably need\nto add a couple, for example:\n\nT2 and T3 both support the population count instruction in hardware.\n\nT3 supports VIS3 instructions, including support (finally) for\npartitioned shift.  One can also now move directly between float\nand integer registers.\n\nT3 supports instructions meant to help with Galois Field and other HPC\ncalculations, such as XOR multiply.  Also there are \"OP and negate\"\ninstructions, for example \"fnmul\" which is multiply-and-negate.\n\nT3 recognizes the transactional memory opcodes, however since\ntransactional memory isn\u0027t supported: 1) \u0027commit\u0027 behaves as a NOP and\n2) \u0027chkpt\u0027 always branches 3) \u0027rdcps\u0027 returns all zeros and 4) \u0027wrcps\u0027\nbehaves as a NOP.\n\nSo we\u0027ll need about 3 new elf capability flags in the end to represent\nall of these things.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "314ff52727fe94dfbe07f3a9a489ab3ca8d8df5a",
      "tree": "df8bbc25ebe7e6f0da73403c5e2b9def2c37f2df",
      "parents": [
        "15e3608d7c273947dbf2eadbcaa66e51143928fb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 20:46:25 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 20:46:25 2011 -0700"
      },
      "message": "sparc: Don\u0027t do expensive hypervisor PCR write unless necessary.\n\nThe hypervisor call is only necessary if hypervisor events are\nbeing requested.\n\nSo if we\u0027re not tracking hypervisor events, simply do a direct\nregister write.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "15e3608d7c273947dbf2eadbcaa66e51143928fb",
      "tree": "3d39d11649829452e38f7552ebd457dc68386ef2",
      "parents": [
        "facfddef2c76110b8e321921f7e54518c3dd1579"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 20:42:51 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 20:43:51 2011 -0700"
      },
      "message": "sparc: Add T3 sun4v cpu type and hypervisor group defines.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "facfddef2c76110b8e321921f7e54518c3dd1579",
      "tree": "429d8943cfa793cfb17dbb55db3ad7eff3486aac",
      "parents": [
        "95b6886526bb510b8370b625a49bc0ab3b8ff10f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 20:25:57 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 20:25:57 2011 -0700"
      },
      "message": "sparc: Don\u0027t leave sparc_pmu_type NULL on sun4v.\n\nOtherwise we\u0027ll crash in the sparc perf init code.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95b6886526bb510b8370b625a49bc0ab3b8ff10f",
      "tree": "2862606224820d200be12d2092dcd26df1654b80",
      "parents": [
        "22712200e175e0df5c7f9edfe6c6bf5c94c23b83",
        "29412f0f6a19e34336368f13eab848091c343952"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 19:26:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 19:26:38 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (54 commits)\n  tpm_nsc: Fix bug when loading multiple TPM drivers\n  tpm: Move tpm_tis_reenable_interrupts out of CONFIG_PNP block\n  tpm: Fix compilation warning when CONFIG_PNP is not defined\n  TOMOYO: Update kernel-doc.\n  tpm: Fix a typo\n  tpm_tis: Probing function for Intel iTPM bug\n  tpm_tis: Fix the probing for interrupts\n  tpm_tis: Delay ACPI S3 suspend while the TPM is busy\n  tpm_tis: Re-enable interrupts upon (S3) resume\n  tpm: Fix display of data in pubek sysfs entry\n  tpm_tis: Add timeouts sysfs entry\n  tpm: Adjust interface timeouts if they are too small\n  tpm: Use interface timeouts returned from the TPM\n  tpm_tis: Introduce durations sysfs entry\n  tpm: Adjust the durations if they are too small\n  tpm: Use durations returned from TPM\n  TOMOYO: Enable conditional ACL.\n  TOMOYO: Allow using argv[]/envp[] of execve() as conditions.\n  TOMOYO: Allow using executable\u0027s realpath and symlink\u0027s target as conditions.\n  TOMOYO: Allow using owner/group etc. of file objects as conditions.\n  ...\n\nFix up trivial conflict in security/tomoyo/realpath.c\n"
    },
    {
      "commit": "58c54fcca3bac5bf9290cfed31c76e4c4bfbabaf",
      "tree": "25f663873429468c3b582bc7544f983759b7592e",
      "parents": [
        "5e5702898e93eee7d69b6efde109609a89a61001"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:25 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:25 2011 +1000"
      },
      "message": "md/raid10: handle further errors during fix_read_error better.\n\nIf we find more read/write errors we should record a bad block before\nfailing the device.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "5e5702898e93eee7d69b6efde109609a89a61001",
      "tree": "87f47cc7e66da78befd16af6d479761b70f7adea",
      "parents": [
        "e684e41db3bad44f1262341300b827c0d94ae220"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:25 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:25 2011 +1000"
      },
      "message": "md/raid10: Handle read errors during recovery better.\n\nCurrently when we get a read error during recovery, we simply abort\nthe recovery.\n\nInstead, repeat the read in page-sized blocks.\nOn successful reads, write to the target.\nOn read errors, record a bad block on the destination,\nand only if that fails do we abort the recovery.\n\nAs we now retry reads we need to know where we read from.  This was in\nbi_sector but that can be changed during a read attempt.\nSo store the correct from_addr and to_addr in the r10_bio for later\naccess.\n\n\nSigned-off-by: NeilBrown\u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "e684e41db3bad44f1262341300b827c0d94ae220",
      "tree": "a3ff2ec212d4f69a06a64b3a6841895b8cf85673",
      "parents": [
        "1a0b7cd82657a590f163b090bd9123a3a6b9aae4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:25 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:25 2011 +1000"
      },
      "message": "md/raid10: simplify read error handling during recovery.\n\nIf a read error is detected during recovery the code currently\nfails the read device.\nThis isn\u0027t really necessary.  recovery_request_write will signal\na write error to end_sync_write and it will record a write\nerror on the destination device which will record a bad block\nthere or kick it from the array.\n\nSo just remove this call to do md_error.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "1a0b7cd82657a590f163b090bd9123a3a6b9aae4",
      "tree": "0dc3ccf6ad6ad88283e6d7924c38524865866cba",
      "parents": [
        "f84ee364dd15af11cada1e673f94128f62db189e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:25 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:25 2011 +1000"
      },
      "message": "md/raid10: record bad blocks due to write errors during resync/recovery.\n\nIf we get a write error during resync/recovery don\u0027t fail the device\nbut instead record a bad block.  If that fails we can then fail the\ndevice.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "f84ee364dd15af11cada1e673f94128f62db189e",
      "tree": "e57fc87130b8bb6958413f39ae51718977540152",
      "parents": [
        "bd870a16c5946d86126f7203db3c73b71de0a1d8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:25 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:25 2011 +1000"
      },
      "message": "md/raid10:  attempt to fix read errors during resync/check\n\nWe already attempt to fix read errors found during normal IO\nand a \u0027repair\u0027 process.\nIt is best to try to repair them at any time they are found,\nso move a test so that during sync and check a read error will\nbe corrected by over-writing with good data.\n\nIf both (all) devices have known bad blocks in the sync section we\nwon\u0027t try to fix even though the bad blocks might not overlap.  That\nshould be considered later.\n\nAlso if we hit a read error during recovery we don\u0027t try to fix it.\nIt would only be possible to fix if there were at least three copies\nof data, which is not very common with RAID10.  But it should still\nbe considered later.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "bd870a16c5946d86126f7203db3c73b71de0a1d8",
      "tree": "3492f61a441266c796b8a08ec30c06f7f6f27fbc",
      "parents": [
        "749c55e942d91cb27045fe2eb313aa5afe68ae0b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:24 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:24 2011 +1000"
      },
      "message": "md/raid10:  Handle write errors by updating badblock log.\n\nWhen we get a write error (in the data area, not in metadata),\nupdate the badblock log rather than failing the whole device.\n\nAs the write may well be many blocks, we trying writing each\nblock individually and only log the ones which fail.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "749c55e942d91cb27045fe2eb313aa5afe68ae0b",
      "tree": "ddf80a1eb3ef9005bc209c1c4946916b89c22a33",
      "parents": [
        "d4432c23be957ff061f7b23fd60e8506cb472a55"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:24 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:24 2011 +1000"
      },
      "message": "md/raid10: clear bad-block record when write succeeds.\n\nIf we succeed in writing to a block that was recorded as\nbeing bad, we clear the bad-block record.\n\nThis requires some delayed handling as the bad-block-list update has\nto happen in process-context.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "d4432c23be957ff061f7b23fd60e8506cb472a55",
      "tree": "1e9e8cbc75721e62300bb2251658de870bf79d8a",
      "parents": [
        "e875ecea266a543e643b19e44cf472f1412708f9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:24 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:24 2011 +1000"
      },
      "message": "md/raid10: avoid writing to known bad blocks on known bad drives.\n\nWriting to known bad blocks on drives that have seen a write error\nis asking for trouble.  So try to avoid these blocks.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "e875ecea266a543e643b19e44cf472f1412708f9",
      "tree": "b602d08f7aa4a743d3c27ad55e347d36991f0814",
      "parents": [
        "40c356ce5ad1a6be817825e1da1bc7494349cc6d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:24 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:24 2011 +1000"
      },
      "message": "md/raid10 record bad blocks as needed during recovery.\n\nWhen recovering one or more devices, if all the good devices have\nbad blocks we should record a bad block on the device being rebuilt.\n\nIf this fails, we need to abort the recovery.\n\nTo ensure we don\u0027t think that we aborted later than we actually did,\nwe need to move the check for MD_RECOVERY_INTR earlier in md_do_sync,\nin particular before mddev-\u003ecurr_resync is updated.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "40c356ce5ad1a6be817825e1da1bc7494349cc6d",
      "tree": "6843d537ecdfda6c03860455c187b775bc6dec97",
      "parents": [
        "8dbed5cebdf6796bf2618457b3653cf820934366"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:24 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:24 2011 +1000"
      },
      "message": "md/raid10: avoid reading known bad blocks during resync/recovery.\n\nDuring resync/recovery limit the size of the request to avoid\nreading into a bad block that does not start at-or-before the current\nread address.\n\nSimilarly if there is a bad block at this address, don\u0027t allow the\ncurrent request to extend beyond the end of that bad block.\n\nNow that we don\u0027t ever read from known bad blocks, it is safe to allow\ndevices with those blocks into the array.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "8dbed5cebdf6796bf2618457b3653cf820934366",
      "tree": "b8e8421a3aae1ee8f21df97f76b116fd0a0a9b1c",
      "parents": [
        "7399c31bc92a26bb8388a73f8e14acadcc512fe5"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:24 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:24 2011 +1000"
      },
      "message": "md/raid10 - avoid reading from known bad blocks - part 3\n\nWhen attempting to repair a read error, don\u0027t read from\ndevices with a known bad block.\n\nAs we are only reading PAGE_SIZE blocks, we don\u0027t try to\nnarrow down to smaller regions in the hope that only part of this\npage is bad - it isn\u0027t worth the effort.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "7399c31bc92a26bb8388a73f8e14acadcc512fe5",
      "tree": "0f1d9904fde1d5258c84643a26947288251b9776",
      "parents": [
        "856e08e23762dfb92ffc68fd0a8d228f9e152160"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:23 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:23 2011 +1000"
      },
      "message": "md/raid10: avoid reading from known bad blocks - part 2\n\nWhen redirecting a read error to a different device, we must\nagain avoid bad blocks and possibly split the request.\n\nSpin_lock typo fixed thanks to Dan Carpenter \u003cerror27@gmail.com\u003e\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "856e08e23762dfb92ffc68fd0a8d228f9e152160",
      "tree": "fa9977a39da542eebb2129712703c11009a56ff2",
      "parents": [
        "560f8e5532d63a314271bfb99d3d1d53c938ed14"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:23 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:23 2011 +1000"
      },
      "message": "md/raid10: avoid reading from known bad blocks - part 1\n\nThis patch just covers the basic read path:\n 1/ read_balance needs to check for badblocks, and return not only\n    the chosen slot, but also how many good blocks are available\n    there.\n 2/ read submission must be ready to issue multiple reads to\n    different devices as different bad blocks on different devices\n    could mean that a single large read cannot be served by any one\n    device, but can still be served by the array.\n    This requires keeping count of the number of outstanding requests\n    per bio.  This count is stored in \u0027bi_phys_segments\u0027\n\nOn read error we currently just fail the request if another target\ncannot handle the whole request.  Next patch refines that a bit.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "560f8e5532d63a314271bfb99d3d1d53c938ed14",
      "tree": "c47cbeb54b1e98f626a3e4af1bf0a184a831d3b9",
      "parents": [
        "1294b9c973251a5e68b62c9b40dd914517bda675"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:23 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:23 2011 +1000"
      },
      "message": "md/raid10: Split handle_read_error out from raid10d.\n\nraid10d() is too big and is about to get bigger, so split\nhandle_read_error() out as a separate function.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "1294b9c973251a5e68b62c9b40dd914517bda675",
      "tree": "45547cfff8997a3a633490341f8166dc6d00e962",
      "parents": [
        "b84db560ead5417b5594349512baf8837959df4f"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:23 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:23 2011 +1000"
      },
      "message": "md/raid10: simplify/reindent some loops.\n\nWhen a loop ends with a large if, it can be neater to change the\nif to invert the condition and just \u0027continue\u0027.\nThen the body of the if can be indented to a lower level.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "b84db560ead5417b5594349512baf8837959df4f",
      "tree": "77f8cfe305a32ace5f4ead4eb820e3f9fa14ce67",
      "parents": [
        "73e92e51b7969ef5477dd28fe2ae4d77675896f4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:23 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:23 2011 +1000"
      },
      "message": "md/raid5: Clear bad blocks on successful write.\n\nOn a successful write to a known bad block, flag the sh\nso that raid5d can remove the known bad block from the list.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "73e92e51b7969ef5477dd28fe2ae4d77675896f4",
      "tree": "05f3d45d6c686abed79c0e5fac1d0b61ae9f93bd",
      "parents": [
        "bc2607f393bd4fb844c1886a02af929ca0372056"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:22 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:22 2011 +1000"
      },
      "message": "md/raid5.  Don\u0027t write to known bad block on doubtful devices.\n\nIf a device has seen write errors, don\u0027t write to any known\nbad blocks on that device.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "bc2607f393bd4fb844c1886a02af929ca0372056",
      "tree": "45c7f9c538b5e196e389454286771f3beb8628ba",
      "parents": [
        "7f0da59bdc2f65795a57009d78f7753d3aea1de3"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:22 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:22 2011 +1000"
      },
      "message": "md/raid5: write errors should be recorded as bad blocks if possible.\n\nWhen a write error is detected, don\u0027t mark the device as failed\nimmediately but rather record the fact for handle_stripe to deal with.\n\nHandle_stripe then attempts to record a bad block.  Only if that fails\ndoes the device get marked as faulty.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "7f0da59bdc2f65795a57009d78f7753d3aea1de3",
      "tree": "4ab3ae7188122657c12dfab61626d96360fb6240",
      "parents": [
        "31c176ecdf3563140e6395249eda51a18130d9f6"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:22 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:22 2011 +1000"
      },
      "message": "md/raid5: use bad-block log to improve handling of uncorrectable read errors.\n\nIf we get an uncorrectable read error - record a bad block rather than\nfailing the device.\nAnd if these errors (which may be due to known bad blocks) cause\nrecovery to be impossible, record a bad block on the recovering\ndevices, or abort the recovery.\n\nAs we might abort a recovery without failing a device we need to teach\nRAID5 about recovery_disabled handling.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "31c176ecdf3563140e6395249eda51a18130d9f6",
      "tree": "5ad7dba363214e9d36fa921c221316d2597078ef",
      "parents": [
        "62096bce231b3760882ed91205fc84682d6b0529"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:22 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:39:22 2011 +1000"
      },
      "message": "md/raid5: avoid reading from known bad blocks.\n\nThere are two times that we might read in raid5:\n1/ when a read request fits within a chunk on a single\n   working device.\n   In this case, if there is any bad block in the range of\n   the read, we simply fail the cache-bypass read and\n   perform the read though the stripe cache.\n\n2/ when reading into the stripe cache.  In this case we\n   mark as failed any device which has a bad block in that\n   strip (1 page wide).\n   Note that we will both avoid reading and avoid writing.\n   This is correct (as we will never read from the block, there\n   is no point writing), but not optimal (as writing could \u0027fix\u0027\n   the error) - that will be addressed later.\n\nIf we have not seen any write errors on the device yet, we treat a bad\nblock like a recent read error.  This will encourage an attempt to fix\nthe read error which will either generate a write error, or will\nensure good data is stored there.  We don\u0027t yet forget the bad block\nin that case.  That comes later.\n\nNow that we honour bad blocks when reading we can allow devices with\nbad blocks into the array.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "62096bce231b3760882ed91205fc84682d6b0529",
      "tree": "90b8a89be6f3c1983e88a4b0fe9d5a0e15ccda7e",
      "parents": [
        "3a9f28a5117e00a868dd8b4395f9a707ae56764b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:38:13 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:38:13 2011 +1000"
      },
      "message": "md/raid1: factor several functions out or raid1d()\n\nraid1d is too big with several deep branches.\nSo separate them out into their own functions.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nReviewed-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\n"
    },
    {
      "commit": "3a9f28a5117e00a868dd8b4395f9a707ae56764b",
      "tree": "36fe0fc7a7ccfc0da03dea546286b7bdef581246",
      "parents": [
        "d8f05d2995d467a91db1af01637e6ffd94660ca8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:33:42 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:33:42 2011 +1000"
      },
      "message": "md/raid1: improve handling of read failure during recovery.\n\nIf we cannot read a block from anywhere during recovery, there is\nnow a better approach than just giving up.\nWe can record a bad block on each device and keep going - being\ncareful not to clear the bad block when a write succeeds as it might -\nit will be a write of incorrect data.\n\nWe have now reached the state where - for raid1 - we only call\nmd_error if md_set_badblocks has failed.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nReviewed-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\n"
    },
    {
      "commit": "d8f05d2995d467a91db1af01637e6ffd94660ca8",
      "tree": "e35959bc4f6c370c982df8222eb818c720b94ffd",
      "parents": [
        "cd5ff9a16f0831f68c1024d5d776075b5123b034"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:33:00 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:33:00 2011 +1000"
      },
      "message": "md/raid1: record badblocks found during resync etc.\n\nIf we find a bad block while writing as part of resync/recovery we\nneed to report that back to raid1d which must record the bad block,\nor fail the device.\n\nSimilarly when fixing a read error, a further error should just\nrecord a bad block if possible rather than failing the device.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nReviewed-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\n"
    },
    {
      "commit": "cd5ff9a16f0831f68c1024d5d776075b5123b034",
      "tree": "490e297bde3d0c52b55d38b38ed1cdb5b5b6f43e",
      "parents": [
        "2ca68f5ed7383733102ee53cd8fa4021ecc3b275"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:32:41 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:32:41 2011 +1000"
      },
      "message": "md/raid1:  Handle write errors by updating badblock log.\n\nWhen we get a write error (in the data area, not in metadata),\nupdate the badblock log rather than failing the whole device.\n\nAs the write may well be many blocks, we trying writing each\nblock individually and only log the ones which fail.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nReviewed-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\n"
    },
    {
      "commit": "2ca68f5ed7383733102ee53cd8fa4021ecc3b275",
      "tree": "29543cff802770d90380b889cf8b0cc01e7d1814",
      "parents": [
        "4367af556133723d0f443e14ca8170d9447317cb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:32:10 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jul 28 11:32:10 2011 +1000"
      },
      "message": "md/raid1: store behind-write pages in bi_vecs.\n\nWhen performing write-behind we allocate pages to store the data\nduring write.\nPreviously we just keep a list of pages.  Now we keep a list of\nbi_vec which includes offset and size.\nThis means that the r1bio has complete information to create a new\nbio which will be needed for retrying after write errors.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nReviewed-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\n"
    }
  ],
  "next": "4367af556133723d0f443e14ca8170d9447317cb"
}
