)]}'
{
  "log": [
    {
      "commit": "4ad12621e442b7a072e81270808f617cb65c5672",
      "tree": "eecdd1d51f525b9b07c70f8fbcf08c9ede3b8f79",
      "parents": [
        "8c71897be2ddfd84969412635ca42fa9e137f7b6"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 03 09:23:36 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 03 09:28:13 2011 -0700"
      },
      "message": "libceph: fix ceph_osdc_alloc_request error checks\n\nceph_osdc_alloc_request returns NULL on failure.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "7e599e6e62759e057e902fcf9a05ba24f6155bcd",
      "tree": "c546d89105deaadfe961133fed6fd0b84f66ab6f",
      "parents": [
        "3a80e52486eff1221ece5902b423da59f263069d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 28 07:42:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 28 07:42:58 2011 -0700"
      },
      "message": "drbd: fix up merge error\n\nIn commit 95a0f10cddbf (\"drbd: store in-core bitmap little endian,\nregardless of architecture\") drbd had made the sane choice to use\nlittle-endian bitmap functions everywhere.  However, it used the\nhorrible old functions names from \u003casm-generic/bitops/le.h\u003e, that were\nnever really meant to be exported.\n\nIn the meantime, things got cleaned up, and in commit c4945b9ed472\n(\"asm-generic: rename generic little-endian bitops functions\") we\nrenamed the LE bitops to something sane, exactly so that they could be\nused in random code without people gouging their eyes out when seeing\nthe crazy jumble of letters that were the old internal names.\n\nAs a result the drbd thing merged cleanly (commit 8d49a77568d1: \"Merge\nbranch \u0027for-2.6.39/drivers\u0027 of git://git.kernel.dk/linux-2.6-block\"),\nsince there was no data conflict - but the end result obviously doesn\u0027t\nactually compile.\n\nReported-and-tested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d49a77568d1105ff3e64aec484dac059f54824e",
      "tree": "633ee954a3cea97bf136dec933388a2e419e5dac",
      "parents": [
        "93567c43eb2a4771b9c590435928f9b3a428e568",
        "1ddd5049545e0aa1a0ed19bca4d9c9c3ce1ac8a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 27 20:02:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 27 20:02:07 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39/drivers\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.39/drivers\u0027 of git://git.kernel.dk/linux-2.6-block: (122 commits)\n  cciss: fix lost command issue\n  drbd: need include for bitops functions declarations\n  Revert \"cciss: Add missing allocation in scsi_cmd_stack_setup and  corresponding deallocation\"\n  cciss: fix missed command status value CMD_UNABORTABLE\n  cciss: remove unnecessary casts\n  cciss: Mask off error bits of c-\u003ebusaddr in cmd_special_free when calling pci_free_consistent\n  cciss: Inform controller we are using 32-bit tags.\n  cciss: hoist tag masking out of loop\n  cciss: Add missing allocation in scsi_cmd_stack_setup and  corresponding deallocation\n  cciss: export resettable host attribute\n  drbd: drop code present under #ifdef which is relevant to 2.6.28 and below\n  drbd: Fixed handling of read errors on a \u0027VerifyS\u0027 node\n  drbd: Fixed handling of read errors on a \u0027VerifyT\u0027 node\n  drbd: Implemented real timeout checking for request processing time\n  drbd: Remove unused function atodb_endio()\n  drbd: improve log message if received sector offset exceeds local capacity\n  drbd: kill dead code\n  drbd: don\u0027t BUG_ON, if bio_add_page of a single page to an empty bio fails\n  drbd: Removed left over, now wrong comments\n  drbd: serialize admin requests for new verify run with pending bitmap io\n  ...\n"
    },
    {
      "commit": "6c5103890057b1bb781b26b7aae38d33e4c517d8",
      "tree": "e6e57961dcddcb5841acb34956e70b9dc696a880",
      "parents": [
        "3dab04e6978e358ad2307bca563fabd6c5d2c58b",
        "9d2e157d970a73b3f270b631828e03eb452d525e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block: (65 commits)\n  Documentation/iostats.txt: bit-size reference etc.\n  cfq-iosched: removing unnecessary think time checking\n  cfq-iosched: Don\u0027t clear queue stats when preempt.\n  blk-throttle: Reset group slice when limits are changed\n  blk-cgroup: Only give unaccounted_time under debug\n  cfq-iosched: Don\u0027t set active queue in preempt\n  block: fix non-atomic access to genhd inflight structures\n  block: attempt to merge with existing requests on plug flush\n  block: NULL dereference on error path in __blkdev_get()\n  cfq-iosched: Don\u0027t update group weights when on service tree\n  fs: assign sb-\u003es_bdi to default_backing_dev_info if the bdi is going away\n  block: Require subsystems to explicitly allocate bio_set integrity mempool\n  jbd2: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  jbd: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  fs: make fsync_buffers_list() plug\n  mm: make generic_writepages() use plugging\n  blk-cgroup: Add unaccounted time to timeslice_used.\n  block: fixup plugging stubs for !CONFIG_BLOCK\n  block: remove obsolete comments for blkdev_issue_zeroout.\n  blktrace: Use rq-\u003ecmd_flags directly in blk_add_trace_rq.\n  ...\n\nFix up conflicts in fs/{aio.c,super.c}\n"
    },
    {
      "commit": "1ddd5049545e0aa1a0ed19bca4d9c9c3ce1ac8a2",
      "tree": "886479fd40af9249da1076a137536fbcfa32edbf",
      "parents": [
        "f0ff1357ce391265edbf844792da7da9a694f4bd"
      ],
      "author": {
        "name": "Bud Brown",
        "email": "bud.brown@redhat.com",
        "time": "Wed Mar 23 20:47:11 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Mar 23 20:47:11 2011 +0100"
      },
      "message": "cciss: fix lost command issue\n\nUnder certain workloads a command may seem to get lost. IOW, the Smart Array\nthinks all commands have been completed but we still have commands in our\ncompletion queue. This may lead to system instability, filesystems going\nread-only, or even panics depending on the affected filesystem. We add an\nextra read to force the write to complete.\n\nTesting shows this extra read avoids the problem.\n\nSigned-off-by: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "0adfc56ce8fdc5c17630434e49f30536ba7b8559",
      "tree": "ed63f34e74998a8a1550d4af61b3178e68a5d60d",
      "parents": [
        "f23eb2b2b28547fc70df82dd5049eb39bec5ba12",
        "59c2be1e4d42c0d4949cecdeef3f37070a1fbc13"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:25:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:25:25 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  rbd: use watch/notify for changes in rbd header\n  libceph: add lingering request and watch/notify event framework\n  rbd: update email address in Documentation\n  ceph: rename dentry_release -\u003e d_release, fix comment\n  ceph: add request to the tail of unsafe write list\n  ceph: remove request from unsafe list if it is canceled/timed out\n  ceph: move readahead default to fs/ceph from libceph\n  ceph: add ino32 mount option\n  ceph: update common header files\n  ceph: remove debugfs debug cruft\n  libceph: fix osd request queuing on osdmap updates\n  ceph: preserve I_COMPLETE across rename\n  libceph: Fix base64-decoding when input ends in newline.\n"
    },
    {
      "commit": "59c2be1e4d42c0d4949cecdeef3f37070a1fbc13",
      "tree": "919f191a2f2840b510dce246210564bf45200616",
      "parents": [
        "a40c4f10e3fb96030358e49abd010c1f08446fa3"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Mon Mar 21 15:10:11 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 22 11:33:56 2011 -0700"
      },
      "message": "rbd: use watch/notify for changes in rbd header\n\nSend notifications when we change the rbd header (e.g. create a snapshot)\nand wait for such notifications.  This allows synchronizing the snapshot\ncreation between different rbd clients/rools.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e16b396ce314b2bcdfe6c173fe075bf8e3432368",
      "tree": "640f0f56f2ea676647af4eb42d32fa56be2ee549",
      "parents": [
        "7fd23a24717a327a66f3c32d11a20a2f169c824f",
        "e6e8dd5055a974935af1398c8648d4a9359b0ecb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 18 10:37:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 18 10:37:40 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (47 commits)\n  doc: CONFIG_UNEVICTABLE_LRU doesn\u0027t exist anymore\n  Update cpuset info \u0026 webiste for cgroups\n  dcdbas: force SMI to happen when expected\n  arch/arm/Kconfig: remove one to many l\u0027s in the word.\n  asm-generic/user.h: Fix spelling in comment\n  drm: fix printk typo \u0027sracth\u0027\n  Remove one to many n\u0027s in a word\n  Documentation/filesystems/romfs.txt: fixing link to genromfs\n  drivers:scsi Change printk typo initate -\u003e initiate\n  serial, pch uart: Remove duplicate inclusion of linux/pci.h header\n  fs/eventpoll.c: fix spelling\n  mm: Fix out-of-date comments which refers non-existent functions\n  drm: Fix printk typo \u0027failled\u0027\n  coh901318.c: Change initate to initiate.\n  mbox-db5500.c Change initate to initiate.\n  edac: correct i82975x error-info reported\n  edac: correct i82975x mci initialisation\n  edac: correct commented info\n  fs: update comments to point correct document\n  target: remove duplicate include of target/target_core_device.h from drivers/target/target_core_hba.c\n  ...\n\nTrivial conflict in fs/eventpoll.c (spelling vs addition)\n"
    },
    {
      "commit": "f0ff1357ce391265edbf844792da7da9a694f4bd",
      "tree": "a65e8b3a3c0cf3a3744117c1bc43a84d48050218",
      "parents": [
        "b66538014f7eae121afa99ca18488fd67536a1bf"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Thu Mar 17 15:02:51 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 17 15:02:51 2011 +0100"
      },
      "message": "drbd: need include for bitops functions declarations\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "dc113c1f1d4b47af1b1ca701c5a39e24d296c2ac",
      "tree": "0bb5ce21bcd41a9443708567edbdca80d9a72397",
      "parents": [
        "63a93699c6a58795b854ff573542a08367684dae",
        "059718d572e8ad388313b863aff717623bb2552f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 19:08:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 19:08:03 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:\n  m68k/block: amiflop - Remove superfluous amiga_chip_alloc() cast\n  m68k/atari: ARAnyM - Add support for network access\n  m68k/atari: ARAnyM - Add support for console access\n  m68k/atari: ARAnyM - Add support for block access\n  m68k/atari: Initial ARAnyM support\n  m68k: Kconfig - Remove unneeded \"default n\"\n  m68k: Makefiles - Change to new flags variables\n  m68k/amiga: Reclaim Chip RAM for PPC exception handlers\n  m68k: Allow all kernel traps to be handled via exception fixups\n  m68k: Use base_trap_init() to initialize vectors\n  m68k: Add helper function handle_kernel_fault()\n"
    },
    {
      "commit": "4c5811bf463b0ef82fabbd1708f8bb2d753aeb18",
      "tree": "ff37d31217c3804ca05de21a55a9b5ca1ca818b2",
      "parents": [
        "f74b9444192c60603020c61d7915b72893137edc",
        "9f15444fefdb33509132ff5c9be60cb315c44cb2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 17:28:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 17:28:10 2011 -0700"
      },
      "message": "Merge branch \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6: (21 commits)\n  tty: serial: altera_jtaguart: Add device tree support\n  tty: serial: altera_uart: Add devicetree support\n  dt: eliminate of_platform_driver shim code\n  dt: Eliminate of_platform_{,un}register_driver\n  dt/serial: Eliminate users of of_platform_{,un}register_driver\n  dt/usb: Eliminate users of of_platform_{,un}register_driver\n  dt/video: Eliminate users of of_platform_{,un}register_driver\n  dt/net: Eliminate users of of_platform_{,un}register_driver\n  dt/sound: Eliminate users of of_platform_{,un}register_driver\n  dt/spi: Eliminate users of of_platform_{,un}register_driver\n  dt: uartlite: merge platform and of_platform driver bindings\n  dt: xilinx_hwicap: merge platform and of_platform driver bindings\n  ipmi: convert OF driver to platform driver\n  leds/leds-gpio: merge platform_driver with of_platform_driver\n  dt/sparc: Eliminate users of of_platform_{,un}register_driver\n  dt/powerpc: Eliminate users of of_platform_{,un}register_driver\n  dt/powerpc: move of_bus_type infrastructure to ibmebus\n  drivercore/dt: add a match table pointer to struct device\n  dt: Typo fix.\n  altera_ps2: Add devicetree support\n  ...\n"
    },
    {
      "commit": "7a6362800cb7d1d618a697a650c7aaed3eb39320",
      "tree": "087f9bc6c13ef1fad4b392c5cf9325cd28fa8523",
      "parents": [
        "6445ced8670f37cfc2c5e24a9de9b413dbfc788d",
        "ceda86a108671294052cbf51660097b6534672f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 16:29:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 16:29:25 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1480 commits)\n  bonding: enable netpoll without checking link status\n  xfrm: Refcount destination entry on xfrm_lookup\n  net: introduce rx_handler results and logic around that\n  bonding: get rid of IFF_SLAVE_INACTIVE netdev-\u003epriv_flag\n  bonding: wrap slave state work\n  net: get rid of multiple bond-related netdevice-\u003epriv_flags\n  bonding: register slave pointer for rx_handler\n  be2net: Bump up the version number\n  be2net: Copyright notice change. Update to Emulex instead of ServerEngines\n  e1000e: fix kconfig for crc32 dependency\n  netfilter ebtables: fix xt_AUDIT to work with ebtables\n  xen network backend driver\n  bonding: Improve syslog message at device creation time\n  bonding: Call netif_carrier_off after register_netdevice\n  bonding: Incorrect TX queue offset\n  net_sched: fix ip_tos2prio\n  xfrm: fix __xfrm_route_forward()\n  be2net: Fix UDP packet detected status in RX compl\n  Phonet: fix aligned-mode pipe socket buffer header reserve\n  netxen: support for GbE port settings\n  ...\n\nFix up conflicts in drivers/staging/brcm80211/brcmsmac/wl_mac80211.c\nwith the staging updates.\n"
    },
    {
      "commit": "059718d572e8ad388313b863aff717623bb2552f",
      "tree": "56efe5c4254623b8615ee30753f416a4bc49513a",
      "parents": [
        "9cd7b148312f6971f37cfac6a490688286bd1522"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Fri Jan 07 13:24:00 2011 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Mar 16 19:11:25 2011 +0100"
      },
      "message": "m68k/block: amiflop - Remove superfluous amiga_chip_alloc() cast\n\namiga_chip_alloc() returns a void *, so we don\u0027t need a cast.\nAlso clean up coding style while we\u0027re at it.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "76ca07832842100b14a31ad8996dab7b0c28aa42",
      "tree": "496df81083fda9be38f8ff88cdc3ef59c2d72a8d",
      "parents": [
        "27d2a8b97ebc4467e47722415b81ebe72d5f654f",
        "b056b6a0144de90707cd22cf7b4f60bf69c86d59"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 10:59:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 10:59:09 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://xenbits.xen.org/people/sstabellini/linux-pvhvm\n\n* \u0027for-linus\u0027 of git://xenbits.xen.org/people/sstabellini/linux-pvhvm:\n  xen: suspend: remove xen_hvm_suspend\n  xen: suspend: pull pre/post suspend hooks out into suspend_info\n  xen: suspend: move arch specific pre/post suspend hooks into generic hooks\n  xen: suspend: refactor non-arch specific pre/post suspend hooks\n  xen: suspend: add \"arch\" to pre/post suspend hooks\n  xen: suspend: pass extra hypercall argument via suspend_info struct\n  xen: suspend: refactor cancellation flag into a structure\n  xen: suspend: use HYPERVISOR_suspend for PVHVM case instead of open coding\n  xen: switch to new schedop hypercall by default.\n  xen: use new schedop interface for suspend\n  xen: do not respond to unknown xenstore control requests\n  xen: fix compile issue if XEN is enabled but XEN_PVHVM is disabled\n  xen: PV on HVM: support PV spinlocks and IPIs\n  xen: make the ballon driver work for hvm domains\n  xen-blkfront: handle Xen major numbers other than XENVBD\n  xen: do not use xen_info on HVM, set pv_info name to \"Xen HVM\"\n  xen: no need to delay xen_setup_shutdown_event for hvm guests anymore\n"
    },
    {
      "commit": "27d2a8b97ebc4467e47722415b81ebe72d5f654f",
      "tree": "043cbe45ba6ecc6a0bc714aee4e03e3cec097645",
      "parents": [
        "010b8f4e264b0b6f596186574956dde2fa02df1c",
        "44e69767cb7c3bc46e5370c39532c205d4347d80",
        "51de69523ffe1c17994dc2f260369f29dfdce71c",
        "44b46c3ef805793ab3a7730dc71c72d0f258ea8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 10:49:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 10:49:16 2011 -0700"
      },
      "message": "Merge branches \u0027stable/ia64\u0027, \u0027stable/blkfront-cleanup\u0027 and \u0027stable/cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/ia64\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen: ia64 build broken due to \"xen: switch to new schedop hypercall by default.\"\n\n* \u0027stable/blkfront-cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen: Union the blkif_request request specific fields\n\n* \u0027stable/cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen: annotate functions which only call into __init at start of day\n  xen p2m: annotate variable which appears unused\n  xen: events: mark cpu_evtchn_mask_p as __refdata\n"
    },
    {
      "commit": "b66538014f7eae121afa99ca18488fd67536a1bf",
      "tree": "3d3f60545a04dbf58ca0a789c59922980be92d15",
      "parents": [
        "6d9a4f9e21486fa83526a9a9fdf88b9b2cdfd299"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Mar 12 13:47:51 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Mar 12 13:47:51 2011 +0100"
      },
      "message": "Revert \"cciss: Add missing allocation in scsi_cmd_stack_setup and  corresponding deallocation\"\n\nThis reverts commit 978eb516a4e1a1b47163518d6f5d5e81ab27a583.\n\nThe commit was broken, relying on other changes that have not been\ncommitted yet.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "6d9a4f9e21486fa83526a9a9fdf88b9b2cdfd299",
      "tree": "f68adf8d3e17b7f47b04a48d2361efcfa29e813a",
      "parents": [
        "fcab1c112ade881d884cd7b8161f7543194d12e1"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Sat Mar 12 10:02:30 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Mar 12 10:02:30 2011 +0100"
      },
      "message": "cciss: fix missed command status value CMD_UNABORTABLE\n\nand fix a nearby typo, \"do\" that should have been \"due\"\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "fcab1c112ade881d884cd7b8161f7543194d12e1",
      "tree": "88e6e397becfcca3fd8003b2309bb5a45a4f4d8e",
      "parents": [
        "16011131ced8bdb317e1bf03324ca78a27fa0a1c"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Sat Mar 12 10:02:24 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Mar 12 10:02:24 2011 +0100"
      },
      "message": "cciss: remove unnecessary casts\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "16011131ced8bdb317e1bf03324ca78a27fa0a1c",
      "tree": "07f80cf908901b03f8f7fa4af1fe58901d5358c6",
      "parents": [
        "0498cc2a9e81de97674adde8ced8a1462a397013"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Sat Mar 12 10:02:21 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Mar 12 10:02:21 2011 +0100"
      },
      "message": "cciss: Mask off error bits of c-\u003ebusaddr in cmd_special_free when calling pci_free_consistent\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "0498cc2a9e81de97674adde8ced8a1462a397013",
      "tree": "aa2eaf47e1bcb6a708c05a6c5bf35d2d296c92b4",
      "parents": [
        "4a765046553a88e4ec80ad84d2131b9e69ab4ab0"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Sat Mar 12 10:02:16 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Mar 12 10:02:16 2011 +0100"
      },
      "message": "cciss: Inform controller we are using 32-bit tags.\n\nController will DMA only 32-bits of the tag per command\non completion if it knows we are only using 32-bit tags.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "4a765046553a88e4ec80ad84d2131b9e69ab4ab0",
      "tree": "62e32151bb8595313fc11cbf987bad62cf140212",
      "parents": [
        "978eb516a4e1a1b47163518d6f5d5e81ab27a583"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Sat Mar 12 10:02:11 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Mar 12 10:02:11 2011 +0100"
      },
      "message": "cciss: hoist tag masking out of loop\n\nIn process_nonindexed_cmd, hoist figuring of masked tag out of loop since\nit is the same throughout.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "978eb516a4e1a1b47163518d6f5d5e81ab27a583",
      "tree": "f61be533e3c97dd2c9e50a0fb54f3091eebe3ce0",
      "parents": [
        "957c2ec558caff09a3bdf333871fc617830f063d"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Fri Mar 11 20:07:38 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Mar 11 20:07:38 2011 +0100"
      },
      "message": "cciss: Add missing allocation in scsi_cmd_stack_setup and  corresponding deallocation\n\nThis bit got lost somewhere along the way.  Without this, panic.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "957c2ec558caff09a3bdf333871fc617830f063d",
      "tree": "3ab03b18177a7381c511f165411cc00383177824",
      "parents": [
        "03567812d81dd87a810b2bd1e804f4001de03da5"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Fri Mar 11 20:06:09 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Mar 11 20:06:09 2011 +0100"
      },
      "message": "cciss: export resettable host attribute\n\nThis attribute, requested by Redhat, allows kexec-tools to know\nwhether the controller can honor the reset_devices kernel parameter\nand actually reset the controller.  For kdump to work properly it\nis necessary that the reset_devices parameter be honored.  This\nattribute enables kexec-tools to warn the user if they attempt to\ndesignate a non-resettable controller as the dump device.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "03567812d81dd87a810b2bd1e804f4001de03da5",
      "tree": "fbed361cfc8bc6f816d85d5edca31b37a2044b5e",
      "parents": [
        "7961243b7bdd62d72b47eb2c0bee776c51a8a8e2"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@voltaire.com",
        "time": "Thu Jan 13 10:43:40 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:48:21 2011 +0100"
      },
      "message": "drbd: drop code present under #ifdef which is relevant to 2.6.28 and below\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "7961243b7bdd62d72b47eb2c0bee776c51a8a8e2",
      "tree": "c2fc7da055b61cc4f9b041524a2f873612f3104c",
      "parents": [
        "8f21420ebd5ca5a751e2f606b49b0acd2a2af314"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Mar 02 23:14:44 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:48:20 2011 +0100"
      },
      "message": "drbd: Fixed handling of read errors on a \u0027VerifyS\u0027 node\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "8f21420ebd5ca5a751e2f606b49b0acd2a2af314",
      "tree": "bf652362959fa629c17b1954b861783d894eb131",
      "parents": [
        "7fde2be93080c028c20078a2d6abec8a95891192"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Mar 01 15:52:35 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:48:18 2011 +0100"
      },
      "message": "drbd: Fixed handling of read errors on a \u0027VerifyT\u0027 node\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "7fde2be93080c028c20078a2d6abec8a95891192",
      "tree": "47993e3c52d550d22ab8035de94d526d226bc2e6",
      "parents": [
        "c5a91619793d444e5103ec5841045bf878718398"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Mar 01 11:08:28 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:48:16 2011 +0100"
      },
      "message": "drbd: Implemented real timeout checking for request processing time\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "c5a91619793d444e5103ec5841045bf878718398",
      "tree": "3a1457aaaba954610b8bd55f27b8f4e9997bf936",
      "parents": [
        "fdda6544ad4d3284246e717b7108f7f497b45295"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Tue Jan 25 17:33:38 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:48:15 2011 +0100"
      },
      "message": "drbd: Remove unused function atodb_endio()\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "fdda6544ad4d3284246e717b7108f7f497b45295",
      "tree": "e144b5e54258bd3603c80304b4a984a4a9153894",
      "parents": [
        "e99dc367b3aafb1ce2d5d92e94834d07b299e1d7"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Jan 24 15:11:01 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:48:13 2011 +0100"
      },
      "message": "drbd: improve log message if received sector offset exceeds local capacity\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "e99dc367b3aafb1ce2d5d92e94834d07b299e1d7",
      "tree": "8fad9b684369f49c2e8100ae0afa8eccfe0d59a5",
      "parents": [
        "10f6d9926cd17afff9dc03c967706419798b4929"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Jan 24 14:58:39 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:48:12 2011 +0100"
      },
      "message": "drbd: kill dead code\n\nThis code became obsolete and unused last December with\n drbd: bitmap keep track of changes vs on-disk bitmap\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "10f6d9926cd17afff9dc03c967706419798b4929",
      "tree": "7b1cd4bfcffbb3832c756ce29861411f7300aadd",
      "parents": [
        "039312b6481e2928f3be19fee94c83327d93e4c7"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Jan 24 14:47:09 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:48:10 2011 +0100"
      },
      "message": "drbd: don\u0027t BUG_ON, if bio_add_page of a single page to an empty bio fails\n\nJust deal with it more gracefully, if we fail to add even a single page\nto an empty bio. We used to BUG_ON() there, but it has been observed in\nsome Xen deployment, so we need to handle that case more robustly now.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "039312b6481e2928f3be19fee94c83327d93e4c7",
      "tree": "cfdbc96255867ecfdeb1529d38dad37f9a1a1178",
      "parents": [
        "873b0d5f98ab70e4df7a62b2ef0305373f88f330"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Jan 21 14:13:22 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:48:09 2011 +0100"
      },
      "message": "drbd: Removed left over, now wrong comments\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "873b0d5f98ab70e4df7a62b2ef0305373f88f330",
      "tree": "28f36e0d6eb1352b842c403d68908dc4246c7604",
      "parents": [
        "e636db5b956950b8b9bfbeb766a637f84bae1e3b"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Fri Jan 21 22:53:48 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:48:07 2011 +0100"
      },
      "message": "drbd: serialize admin requests for new verify run with pending bitmap io\n\nThis is an addendum to\n drbd: serialize admin requests for new resync with pending bitmap io\n\nIt avoids a race that could trigger \"FIXME\" assert log messages.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "e636db5b956950b8b9bfbeb766a637f84bae1e3b",
      "tree": "6b6b05d69c2baaf4ea4ec1dee5cd399aed85eb88",
      "parents": [
        "0ddc5549f88dfc4a4c919693e9a86095e89e080b"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Fri Jan 21 17:10:37 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:48:06 2011 +0100"
      },
      "message": "drbd: fix potential imbalance of ap_in_flight\n\nWhen we receive a barrier ack, we walk the ring list of drbd requests\nin the transfer log of the respective epoch, do some housekeeping,\nand free those objects.\n\nWe tried to keep epochs of mirrored and unmirrored drbd requests\nseparate, and assert that no local-only requests are present in a\nbarrier_acked epoch.\n\nIt turns out that this has quite a number of corner cases and would\nadd bloated code without functional benefit.\n\nWe now revert the (insufficient) commits\n drbd: Fixed an issue with AHEAD -\u003e SYNC_SOURCE transitions\n drbd: Ensure that an epoch contains only requests of one kind\nand instead fix the processing of barrier acks to cope with\na mix of local-only and mirrored requests.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "0ddc5549f88dfc4a4c919693e9a86095e89e080b",
      "tree": "95b89ce27e2e6d2e0989bd75becf19ca590c2c35",
      "parents": [
        "20ceb2b22edaf51e59e76087efdc71a16a2858de"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Fri Jan 21 12:35:15 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:48:04 2011 +0100"
      },
      "message": "drbd: silence some noisy log messages during disconnect\n\nIf we fail to send the information that we lost our disk,\nwe have no connection, and no disk: no access to data anymore.\nThat is either expected (deconfiguration), or there will be so much\nnoise in the logs that \"Sending state failed\" is not useful at all.\nDrop it.\n\nIf the reason for a shorter than expected receive was a signal,\nwhich we sent because we already decided to disconnect,\nthese additional log messages are confusing and useless.\n\nThis patch follows this pattern:\n - dev_warn(DEV, \"short read expecting header on sock: r\u003d%d\\n\", r);\n + if (!signal_pending(current))\n + \tdev_warn(DEV, \"short read expecting header on sock: r\u003d%d\\n\", r);\n\nAlso make them all dev_warn for consistency.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "20ceb2b22edaf51e59e76087efdc71a16a2858de",
      "tree": "a4f267242725bac2a915e879a6b6ac259218c5fa",
      "parents": [
        "62b0da3a244ac33d25a77861ef1cc0080103f2ff"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Fri Jan 21 10:56:44 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:48:02 2011 +0100"
      },
      "message": "drbd: describe bitmap locking for bulk operation in finer detail\n\nNow that we do no longer in-place endian-swap the bitmap, we allow\nselected bitmap operations (testing bits, sometimes even settting bits)\nduring some bulk operations.\n\nThis caused us to hit a lot of FIXME asserts similar to\n\tFIXME asender in drbd_bm_count_bits,\n\tbitmap locked for \u0027write from resync_finished\u0027 by worker\nWhich now is nonsense: looking at the bitmap is perfectly legal\nas long as it is not being resized.\n\nThis cosmetic patch defines some flags to describe expectations in finer\ndetail, so the asserts in e.g. bm_change_bits_to() can be skipped if\nappropriate.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "62b0da3a244ac33d25a77861ef1cc0080103f2ff",
      "tree": "a4313df7c46ac50d751fb0798323e34a3e4efbee",
      "parents": [
        "d07c9c10e5620c632aae9cac2b609033398f6139"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu Jan 20 13:25:21 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:48:01 2011 +0100"
      },
      "message": "drbd: log UUIDs whenever they change\n\nAll decisions about sync, sync direction, and wether or not to\nallow a connect or attach are based on our set of UUIDs to tag a\ndata generation.\n\nLog changes to the UUIDs whenever they occur,\nlogging \"new current UUID P:Q:R:S\" is more useful\nthan \"Creating new current UUID\".\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "d07c9c10e5620c632aae9cac2b609033398f6139",
      "tree": "32bc11c4e9093068f4a363c6d8a8b77316350209",
      "parents": [
        "cd88d030d41a9b0100fd5fee872024e6ebc8b276"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Jan 20 16:49:33 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:47:59 2011 +0100"
      },
      "message": "drbd: We can not process BIOs with a size of 0\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "cd88d030d41a9b0100fd5fee872024e6ebc8b276",
      "tree": "c107e24c88fee112ebc85c966573ad51074aed7b",
      "parents": [
        "79a30d2d71f7be862de93228fe9b919ef664af52"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Jan 20 11:46:41 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:47:58 2011 +0100"
      },
      "message": "drbd: Provide hints with the error message when clearing the sync pause flag\n\nWhen the user clears the sync-pause flag, and sync stays in pause\nstate, give hints to the user, why it still is in pause state.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "79a30d2d71f7be862de93228fe9b919ef664af52",
      "tree": "00f2e8a2adc5f284d50fe529eb1bae37c4eb5c2f",
      "parents": [
        "54b956abef2c1ab339fd01792e69e4a921a5e487"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu Jan 20 10:32:05 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:47:56 2011 +0100"
      },
      "message": "drbd: queue bitmap writeout more intelligently\n\nThe \"lazy writeout\" of cleared bitmap pages happens during resync, and\nshould happen again once the resync finishes cleanly, or is aborted.\n\nIf resync finished cleanly, or was aborted because of peer disk\nfailure, we trigger the writeout from worker context in the after\nstate change work.\n\nIf resync was aborted because of connection failure, we should not\nimmediately trigger bitmap writeout, but rather postpone the\nwriteout to after the connection cleanup happened.  We now do it\nin the receiver context from drbd_disconnect().\n\nIf resync was aborted because of local disk failure, well, there\nis nothing to write to anymore.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "54b956abef2c1ab339fd01792e69e4a921a5e487",
      "tree": "e489b7742b99e8cfda55d75dc4675d3f00c40af0",
      "parents": [
        "194bfb32dba8345a7e0f83e9b1ee965e14d4b679"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu Jan 20 10:47:53 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:47:55 2011 +0100"
      },
      "message": "drbd: don\u0027t pointlessly queue bitmap send, if we lost connection\n\nThis is a minor optimization and cleanup,\nand also considerably reduces some harmless (but noisy) race with\nthe connection cleanup code.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "194bfb32dba8345a7e0f83e9b1ee965e14d4b679",
      "tree": "7ce893e0116c4b286a55b068ffde10be18241afd",
      "parents": [
        "6c922ed543bee1bc6685ade07be59f3fa49a7288"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue Jan 18 10:38:01 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:47:53 2011 +0100"
      },
      "message": "drbd: serialize admin requests for new resync with pending bitmap io\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "6c922ed543bee1bc6685ade07be59f3fa49a7288",
      "tree": "1a2b0c13be822da96a6335953cca9cd06d1b7e1b",
      "parents": [
        "20ee639024e3d33111df0e343050b218c656bf16"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Wed Jan 12 11:51:13 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:47:52 2011 +0100"
      },
      "message": "drbd: only generate and send a new sync uuid after a successful state change\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "20ee639024e3d33111df0e343050b218c656bf16",
      "tree": "bb19ee90dfbea96d0e11c1bd4c0dc0655638001c",
      "parents": [
        "6a35c45f890dc18c5527ac501b308058118f20e7"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Jan 18 15:28:59 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:47:42 2011 +0100"
      },
      "message": "drbd: cleaned up __set_current_state() followed by schedule_timeout() calls\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "6a35c45f890dc18c5527ac501b308058118f20e7",
      "tree": "627c73d972af6905f2ab77131e4232c62d31a553",
      "parents": [
        "2deb8336d04106f215c21ad1b029e78d12033d02"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Jan 17 20:27:30 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:45:42 2011 +0100"
      },
      "message": "drbd: Ensure that an epoch contains only requests of one kind\n\nThe assert in drbd_req.c:755 forces us to have only requests of\none kind in an epoch. The two kinds we distinguish here are:\nlocal-only or mirrored.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "2deb8336d04106f215c21ad1b029e78d12033d02",
      "tree": "19a6efb58bf425002630c58826c6b53099fe73a1",
      "parents": [
        "94f2b05f03fbc605f83ae501682c85ff4535bb6d"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Jan 17 18:39:18 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:45:40 2011 +0100"
      },
      "message": "drbd: Fixed P_NEG_ACK processing for protocol A and B\n\nProtocol A has no P_WRITE_ACKs, but has P_NEG_ACKs.\nThe master bio might already be completed, therefore the\nrequest is no longer in the collision hash.\n\u003d\u003e Do not try to validate block_id as request\n\nIn Protocol B we might already have got a P_RECV_ACK\nbut then get a P_NEG_ACK after wards.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "94f2b05f03fbc605f83ae501682c85ff4535bb6d",
      "tree": "8814ec8c4f9a330f8560de48d0072d10423c8bb4",
      "parents": [
        "148efa165e9464927887b03c83a52c33b80b4431"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Jan 17 15:14:26 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:45:39 2011 +0100"
      },
      "message": "drbd: Killed an assert that is no longer valid\n\nThe point is that drbd_disconnect() can be called with a cstate of\nWFConnection.\n\nThat happens if the user issues \"drbdsetup disconnect\" while the\ndrbd_connect() function executes. Then drbdd_init() will call\ndrbdd(), which in turn will return without receiving any\npackets. Then drbdd_init() will end up calling drbd_disconnect()\nwith a cstate of WFConnection.\n\nBottom line: This assertion is wrong as it is, and we do not\nsee value in fixing it. \u003d\u003e Removing it.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "148efa165e9464927887b03c83a52c33b80b4431",
      "tree": "2c13039e139600b7d9347211cc714f90df01c6b3",
      "parents": [
        "370a43e7982dd497822097e0ae6022947ac2e7d4"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Sat Jan 15 00:21:15 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:45:37 2011 +0100"
      },
      "message": "drbd: Do not drop net config if sending in drbd_send_protocol() fails\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "370a43e7982dd497822097e0ae6022947ac2e7d4",
      "tree": "a501836af9959177a1ef9b6746ab21c3b3af6d94",
      "parents": [
        "71c78cfba232de8f61a4b1bbb6e876424d133407"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Jan 14 16:03:11 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:45:36 2011 +0100"
      },
      "message": "drbd: Work on the Ahead -\u003e SyncSource transition\n\nThe test if rs_pending_cnt \u003d\u003d 0 was too weak. Using Test for\nunacked_cnt \u003d\u003d 0 instead. Moved that into the worker.\n\nSince unacked_cnt gets already increased when an P_RS_DATA_REQ\ncomes in.\n\nAlso using a timer to make Ahead -\u003e SyncSource -\u003e Ahead cycles\nslower...\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "71c78cfba232de8f61a4b1bbb6e876424d133407",
      "tree": "2875a4f478f328d57a148dcd01b9563053447fd2",
      "parents": [
        "4a23f2649698272abcd9e0c9a992d65739f32792"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Jan 14 19:20:34 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:45:34 2011 +0100"
      },
      "message": "drbd: Nothing should stop SyncSource -\u003e Ahead transitions\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "4a23f2649698272abcd9e0c9a992d65739f32792",
      "tree": "3921ce5019d9d72befc48dbf14850c189bce5543",
      "parents": [
        "2b8a90b55533c66258a1ff0fb27b8cffa95665c4"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Jan 11 17:42:17 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:45:32 2011 +0100"
      },
      "message": "drbd: Do not full sync if a P_SYNC_UUID packet gets lost\n\nSee also commit from 2009-08-15\n\"drbd_uuid_compare(): Do not full sync in case a P_SYNC_UUID packet gets lost.\"\n\nWe saw cases where the History UUIDs where not as expected. So the\ndetection of the special case did not trigger. With the sync UUID\nno longer being a random number, but deducible from the previous\nbitmap UUID, the detection of this special case becomes more\nreliable.\n\nThe SyncUUID now is the previous bitmap UUID + 0x1000000000000.\n\nRule 5a:\nCs \u003d H1p \u0026 H1p + Offset \u003d Bp\n  Connection was lost before SyncUUID Packet came through.\n  Corrent (peer) UUIDs:\n   Bp \u003d H1p\n   H1p \u003d H2p\n   H2p \u003d 0\n  Become Sync target.\n\nRule 7a:\nCp \u003d H1s \u0026 H1s + Offset \u003d Bs\n  Connection was lost before SyncUUID Packet came through.\n  Correct (own) UUIDs:\n   Bs \u003d H1s\n   H1s \u003d H2s\n   H2s \u003d 0\n  Become Sync source.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "2b8a90b55533c66258a1ff0fb27b8cffa95665c4",
      "tree": "24e6d5816123e7912e1fe7db0261c083da8810f3",
      "parents": [
        "110a204a354a5a69f99ed0bc8e6d779e6a94d410"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Jan 10 11:15:17 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:45:31 2011 +0100"
      },
      "message": "drbd: Corrected off-by-one error in DRBD_MINOR_COUNT_MAX\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "110a204a354a5a69f99ed0bc8e6d779e6a94d410",
      "tree": "b59f14f8c0b722c94ef5b01604cb572016a6942a",
      "parents": [
        "794abb753e29e85949b3719dbc2ab6a98711a47e"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Mon Jan 03 15:47:08 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:45:29 2011 +0100"
      },
      "message": "drbd: Remove useless / wrong comments\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "794abb753e29e85949b3719dbc2ab6a98711a47e",
      "tree": "95d03c4b184c28087fa3ff1f4f5562a5ee5b0a56",
      "parents": [
        "da0a78161d2b2da4819a1f05a38bb1dcbe02d951"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Dec 27 11:51:23 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:45:28 2011 +0100"
      },
      "message": "drbd: Cleaned up the resync timer logic\n\nBesides removed a few lines of code, this moves the inspection\nof the state from before the queuing process to after the queuing.\nI.e. more closely to the actual invocation of the work.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "da0a78161d2b2da4819a1f05a38bb1dcbe02d951",
      "tree": "2228b9b03e645d5339b812c6330b44756675b36c",
      "parents": [
        "d612d309e4c8401ad94c531678b59c4a8b7c41ce"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Dec 23 14:24:33 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:45:26 2011 +0100"
      },
      "message": "drbd: Be more careful with SyncSource -\u003e Ahead transitions\n\nWe may not get from SyncSource to Ahead if we have sent some\nP_RS_DATA_REPLY packets to the peer and are waiting for\nP_WRITE_ACK.\n\nAgain, this is not relevant for proper tuned systems, but makes\nsure that the not-tuned system does not get diverging bitmaps.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "d612d309e4c8401ad94c531678b59c4a8b7c41ce",
      "tree": "a50d72c0d2a92701df76e7e6effd96781728f600",
      "parents": [
        "617049aa7d753e8c821ac77126ab90e9f1b66d6d"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Dec 27 10:53:28 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:45:25 2011 +0100"
      },
      "message": "drbd: No longer answer P_RS_DATA_REQUEST packets when in C_AHEAD mode\n\nWhen the sync source node replies to a P_RS_DATA_REQUEST packet\nwhen it is already in ahead mode. I.e. those two packets\ncrossed each other on the wire, that may lead to diverging\nbitmaps.\n\n  This never happens in a well-tuned-system. In a well-tuned-\n  system the resync controller has reduced the resync speed\n  to zero long before we got into ahead-mode.\n\nBut we have to be prepared for the not-well-tuned-system\nof course as well.\nBecause -\u003e diverging bitmaps \u003d non terminating resync.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "617049aa7d753e8c821ac77126ab90e9f1b66d6d",
      "tree": "1cabbc19e2efa054bf585d92f42c0bf7bf0c01b5",
      "parents": [
        "071942727824bab03b1a3f6b6eeb5b269697b333"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Dec 22 12:48:31 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:45:23 2011 +0100"
      },
      "message": "drbd: Fixed an issue with AHEAD -\u003e SYNC_SOURCE transitions\n\nCreate a new barrier when leaving the AHEAD mode.\n\n  Otherwise we trigger the assertion in req_mod(, barrier_acked)\n  D_ASSERT(req-\u003erq_state \u0026 RQ_NET_SENT);\n\nThe new barrier is created by recycling the newest existing one.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "071942727824bab03b1a3f6b6eeb5b269697b333",
      "tree": "c08c9595b4f4628b399abe5c8195bc6211aa13e1",
      "parents": [
        "3f98688afc2ce0138fc88e272bdd128e1e0b0976"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Dec 20 15:38:07 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:45:21 2011 +0100"
      },
      "message": "drbd: ratelimit io error messages\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "3f98688afc2ce0138fc88e272bdd128e1e0b0976",
      "tree": "05a92b453947ad33ca4270cd134261bcabb9cd9a",
      "parents": [
        "725a97e43ee945cc813fffd9e628e50d703b973b"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Dec 20 14:48:20 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:45:20 2011 +0100"
      },
      "message": "drbd: There might be a resync after unfreezing IO due to no disk [Bugz 332]\n\nWhen on-no-data-accessible is set to suspend-io, also consider that\na Primary, SyncTarget node losses its connection.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "725a97e43ee945cc813fffd9e628e50d703b973b",
      "tree": "ec67dbfccf0b3a43cb879056a1fb320b82b8dd2d",
      "parents": [
        "06d33e968d2c58143a7aaafa8963cf6a58099467"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Sun Dec 19 11:29:55 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:45:08 2011 +0100"
      },
      "message": "drbd: fix potential access of on-stack wait_queue_head_t after return\n\nI run into something declaring itself as \"spinlock deadlock\",\n BUG: spinlock lockup on CPU#1, kjournald/27816, ffff88000ad6bca0\n Pid: 27816, comm: kjournald Tainted: G        W 2.6.34.6 #2\n Call Trace:\n  \u003cIRQ\u003e  [\u003cffffffff811ba0aa\u003e] do_raw_spin_lock+0x11e/0x14d\n  [\u003cffffffff81340fde\u003e] _raw_spin_lock_irqsave+0x6a/0x81\n  [\u003cffffffff8103b694\u003e] ? __wake_up+0x22/0x50\n  [\u003cffffffff8103b694\u003e] __wake_up+0x22/0x50\n  [\u003cffffffffa07ff661\u003e] bm_async_io_complete+0x258/0x299 [drbd]\nbut the call traces do not fit at all,\nall other cpus are cpu_idle.\n\nI think it may be this race:\n\ndrbd_bm_write_page\n wait_queue_head_t io_wait;\n atomic_t in_flight;\n bm_async_io\n  submit_bio\n\t\t\t\t\tbm_async_io_complete\n\t\t\t\t\t  if (atomic_dec_and_test(in_flight))\n wait_event(io_wait,\n\tatomic_read(in_flight) \u003d\u003d 0)\n return\n\t\t\t\t\t    wake_up(io_wait)\n\nThe wake_up now accesses the wait_queue_head_t spinlock, which is no\nlonger valid, since the stack frame of drbd_bm_write_page has been\nclobbered now.\n\nFix this by using struct completion, which does both the condition test\nas well as the wake_up inside its spinlock, so this race cannot happen.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "06d33e968d2c58143a7aaafa8963cf6a58099467",
      "tree": "4380d4060178a44ea0e4d56a47d1fff1a43e7b86",
      "parents": [
        "418e0a927d520f9c8e875ea75abee35d93a0f1b3"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Sat Dec 18 17:00:59 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:43:40 2011 +0100"
      },
      "message": "drbd: improve on bitmap write out timing\n\nEven though we now track the need for bitmap writeout per bitmap page,\nthere is no need to trigger the writeout while a resync is going on.\n\nOnce the resync is finished (or aborted),\nwe trigger bitmap writeout anyways.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "418e0a927d520f9c8e875ea75abee35d93a0f1b3",
      "tree": "8eeb5b67db90d29355ba03765167b99bb3132b37",
      "parents": [
        "7648cdfe52daf0ca4fa9489879dea9e089b0dfe1"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Sat Dec 18 13:36:54 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:43:38 2011 +0100"
      },
      "message": "drbd: spelling fix in log message\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "7648cdfe52daf0ca4fa9489879dea9e089b0dfe1",
      "tree": "7dd711ec5bda5ef0429bf94205dbbf7fe1659d82",
      "parents": [
        "5a22db8968a69bec835d1ed9a96ab3381719e0c0"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Fri Dec 17 23:58:41 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:43:37 2011 +0100"
      },
      "message": "drbd: be less noisy with some log messages\n\nWe expect changes to a bitmap page in drbd_bm_write_page,\nthat\u0027s why we submit a copy page.\n\nIf a page changes during global writeout, that would be unexpected,\nand reason to warn, though.\n\nAlso, often page writeout can be skipped (on activity log transactions\nduring normal operation, for example), no need to log that everytime.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "5a22db8968a69bec835d1ed9a96ab3381719e0c0",
      "tree": "6dd29c3cec008a2f846f54a02cdb139c4ce94be3",
      "parents": [
        "f735e3635430c6d1c319664d82b34376e3f9aa17"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Fri Dec 17 21:14:23 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:43:35 2011 +0100"
      },
      "message": "drbd: serialize sending of resync uuid with pending w_send_oos\n\nTo improve the latency of IO requests during bitmap exchange,\nwe recently allowed writes while waiting for the bitmap, sending \"set\nout-of-sync\" information packets for any newly dirtied bits.\n\nWe have to make sure that the new resync-uuid does not overtake\nthese \"set oos\" packets. Once the resync-uuid is received, the\nsync target starts the resync process, and expects the bitmap to\nonly be cleared, not re-set.\n\nIf we use this protocol extension, we queue the generation and sending\nof the resync-uuid on the worker, which naturally serializes with all\npreviously queued packets.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "f735e3635430c6d1c319664d82b34376e3f9aa17",
      "tree": "c470f5ccd8536ad49778f842762042b75be2677e",
      "parents": [
        "c88d65e2231dbae4b7cd0ad7b2a919857a1be171"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Fri Dec 17 21:06:18 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:43:34 2011 +0100"
      },
      "message": "drbd: add debugging assert to make sure the protocol is clean\n\nWe expect to only receive the recently introduced \"set out of sync\"\npackets in specific states. If we receive them in different states, that\nmay confuse the resync process to the point where it won\u0027t terminate, or\nthink it made negative progress.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "c88d65e2231dbae4b7cd0ad7b2a919857a1be171",
      "tree": "942160fb7738af05e662e327e79138365c4a1499",
      "parents": [
        "2265b473aecc1a6fe1f84a0ee272ba39806c2a8a"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Dec 20 15:29:28 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:43:32 2011 +0100"
      },
      "message": "drbd: Documenting drbd_should_do_remote() and drbd_should_send_oos()\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "2265b473aecc1a6fe1f84a0ee272ba39806c2a8a",
      "tree": "bd58a09ad124dd37f15db23f20912049ccd067cd",
      "parents": [
        "02851e9f00d78dbc8ded0aacbf9bf3b631d627b3"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu Dec 16 15:41:26 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:43:30 2011 +0100"
      },
      "message": "drbd: fix potential dereference of NULL pointer\n\nIf drbd used to have crypto digest algorithms configured, then is being\nunconfigured (but not unloaded), it frees the algorithms, but does not\nreset the config.  If it then is reconfigured to use the very same\nalgorithm, it \"forgot\" to re-allocate the algorithms, thinking that the\nconfig has not changed in that aspect.\nIt will then Oops on the first attempt to actually use those algorithms.\n\nFix this by resetting the config to defaults after cleanup.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "02851e9f00d78dbc8ded0aacbf9bf3b631d627b3",
      "tree": "d7a5611fef479c13ff70cccace8f22a963ba6df8",
      "parents": [
        "84e7c0f7d123d64d97e1f789ad2f23a72fe8981f"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu Dec 16 14:47:39 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:43:29 2011 +0100"
      },
      "message": "drbd: move bitmap write from resync_finished to after_state_change\n\nWe must not call it directly from resync_finished,\nas we may be in either receiver or worker context there.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "84e7c0f7d123d64d97e1f789ad2f23a72fe8981f",
      "tree": "79327091826f3b5136796792a92e55d1b52a37be",
      "parents": [
        "6850c4421481139dc2cf982358e79c833a50d73c"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu Dec 16 00:37:57 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:43:27 2011 +0100"
      },
      "message": "drbd: Removed a reference to debug macros removed long time ago\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "6850c4421481139dc2cf982358e79c833a50d73c",
      "tree": "4b844bab228dfdf7b62a002b1b30d4296bcf6546",
      "parents": [
        "4b0715f09655e76ca24c35a9e25e7c464c2f7346"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu Dec 16 00:32:38 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:43:26 2011 +0100"
      },
      "message": "drbd: get rid of unused debug code\n\nLong time ago, we had paranoia code in the bitmap that allocated one\nextra word, assigned a magic value, and checked on every occasion that\nthe magic value was still unchanged.\n\nThat debug code is unused, the extra long word complicates code a bit.\nGet rid of it.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "4b0715f09655e76ca24c35a9e25e7c464c2f7346",
      "tree": "e98706a35b1e18cad09f01d2346d9a1c938c081c",
      "parents": [
        "19f843aa08e2d8f87a09b4c2edc43b00638423a8"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue Dec 14 15:13:04 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:43:24 2011 +0100"
      },
      "message": "drbd: allow petabyte storage on 64bit arch\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "19f843aa08e2d8f87a09b4c2edc43b00638423a8",
      "tree": "49919bd17ba7e03eb7cb76175910714d55704997",
      "parents": [
        "95a0f10cddbf93ce89c175ac1c53dad2d20ad309"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Wed Dec 15 08:59:11 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:43:19 2011 +0100"
      },
      "message": "drbd: bitmap keep track of changes vs on-disk bitmap\n\nWhen we set or clear bits in a bitmap page,\nalso set a flag in the page-\u003eprivate pointer.\n\nThis allows us to skip writes of unchanged pages.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "95a0f10cddbf93ce89c175ac1c53dad2d20ad309",
      "tree": "98866a5938a75f235fdce6ab20cfa95fe984388e",
      "parents": [
        "7777a8ba1fc980e5edfe492ebf5a1676497b8db2"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Wed Dec 15 08:59:09 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:40 2011 +0100"
      },
      "message": "drbd: store in-core bitmap little endian, regardless of architecture\n\nOur on-disk bitmap is a little endian bitstream.\nUp to now, we have stored the in-core copy of that in\nnative endian, applying byte order conversion when necessary.\n\nInstead, keep the bitmap pages little endian, as they are read from disk,\nand use the generic_*_le_bit family of functions.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "7777a8ba1fc980e5edfe492ebf5a1676497b8db2",
      "tree": "9eb81d2bee5bf63a796ae4df0b9cf352b3f0360b",
      "parents": [
        "1b881ef77537f1077482f9946a6a99b4e2dd54b2"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Wed Dec 15 23:21:39 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:38 2011 +0100"
      },
      "message": "drbd: bitmap: don\u0027t count unused bits (fix non-terminating resync)\n\nWe trusted the on-disk bitmap to have unused bits cleared.\nIn case that is not true for whatever reason,\nand we take a code path where the unused bits don\u0027t get cleared\nelsewhere (bm_clear_surplus is not called), we may miscount the bits,\nand get confused during resync, waiting for bits to get cleared that we\ndon\u0027t even use: the resync process would not terminate.\n\nFix this by masking out unused bits in __bm_count_bits.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "1b881ef77537f1077482f9946a6a99b4e2dd54b2",
      "tree": "70edbe85f61fe74f1038b58997c3750af354b898",
      "parents": [
        "24dccabb390412d04435e11cfb535df51def7b2d"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Mon Dec 13 18:03:38 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:37 2011 +0100"
      },
      "message": "drbd: Rename __inc_ap_bio_cond to may_inc_ap_bio\n\nThe old name is confusing: the function does not increment anything.\nAlso rename _inc_ap_bio_cond to inc_ap_bio_cond: there is no need for\nan underscore.\nFinally, make it clear that these functions return boolean values.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "24dccabb390412d04435e11cfb535df51def7b2d",
      "tree": "ab418eebdb9040302bf06a6d608f722dd3188ebe",
      "parents": [
        "2c46407d241f4b0e5b87959aae8f50f41fdd2a3a"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Sun Dec 12 17:45:41 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:35 2011 +0100"
      },
      "message": "drbd: Fix: drbd_bitmap_io does not return an enum determine_dev_size\n\nI guess bitmap I/O errors are supposed to cause drbd_determin_dev_size\nto return dev_size_error.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "2c46407d241f4b0e5b87959aae8f50f41fdd2a3a",
      "tree": "ea596a353a89095993f666e6b9ecf9d15392bd11",
      "parents": [
        "f70af118e3f3638698ac08959a41b9f9fe7237c8"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Sat Dec 11 21:53:12 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:34 2011 +0100"
      },
      "message": "drbd: receive_bitmap_plain: Get rid of ugly and useless enum\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "f70af118e3f3638698ac08959a41b9f9fe7237c8",
      "tree": "d77e797811b0b27fa19254127b60de3f67d2ed47",
      "parents": [
        "78fcbdae224469cb48767fa29ca41f1d5890e57c"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Sat Dec 11 18:51:50 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:32 2011 +0100"
      },
      "message": "drbd: send_bitmap_rle_or_plain: Get rid of ugly and useless enum\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "78fcbdae224469cb48767fa29ca41f1d5890e57c",
      "tree": "3605a86116e0e671988e2094f21bbe4a6e33418c",
      "parents": [
        "de1f8e4a0af3c2d0dff9f6341fead4b509941282"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Fri Dec 10 22:18:27 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:30 2011 +0100"
      },
      "message": "drbd: receive_bitmap: Missing free_page() on error path\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "de1f8e4a0af3c2d0dff9f6341fead4b509941282",
      "tree": "e8bbbbdd18a11434c7608c9cf3ceaba0e3fe5ac2",
      "parents": [
        "4114be815f9811da42a21dc2f7ff552833660595"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Fri Dec 10 21:04:00 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:29 2011 +0100"
      },
      "message": "drbd: receive_bitmap: Avoid casting enum drbd_state_rv to int\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "4114be815f9811da42a21dc2f7ff552833660595",
      "tree": "f9f8effcb281ed9c7f03c8b6d35caec7f739a985",
      "parents": [
        "f2024e7ce29f4287395ce879364cd68c7ac226f2"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Fri Dec 10 17:09:10 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:27 2011 +0100"
      },
      "message": "drbd: receive_bitmap: Fix the wrong return value\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "f2024e7ce29f4287395ce879364cd68c7ac226f2",
      "tree": "214dbd12fce34f623b1b06f06ed5d81640297b58",
      "parents": [
        "81e84650c200de0695372461964dd960365696db"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Fri Dec 10 13:44:05 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:26 2011 +0100"
      },
      "message": "drbd: drbd_nl_disk_conf: Avoid a compiler warning\n\nWarning: comparison between ‘enum drbd_ret_code’ and ‘enum drbd_state_rv’\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "81e84650c200de0695372461964dd960365696db",
      "tree": "c57e51e8c1f540321fd6e8d43c304a95f7fa5ebe",
      "parents": [
        "6184ea2145609b4ad63b141bf1f8124135ff4949"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu Dec 09 15:03:57 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:24 2011 +0100"
      },
      "message": "drbd: Use the standard bool, true, and false keywords\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "6184ea2145609b4ad63b141bf1f8124135ff4949",
      "tree": "2141b705c93c301cd496480179d9a5bb1193877c",
      "parents": [
        "bb4379464efeb4624757e2cc0bf9207a309c1075"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu Dec 09 14:23:27 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:22 2011 +0100"
      },
      "message": "drbd: This code is dead now\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "bb4379464efeb4624757e2cc0bf9207a309c1075",
      "tree": "0bbfa3e4da63315d2a1fe7b2709844716fcc7303",
      "parents": [
        "bf885f8a6772fb48409dd505a09d974a5e621f22"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu Dec 09 14:02:35 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:21 2011 +0100"
      },
      "message": "drbd: Another small enum drbd_state_rv cleanup\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "bf885f8a6772fb48409dd505a09d974a5e621f22",
      "tree": "28205a11a192a14192bac3f8487b444e6d533955",
      "parents": [
        "c8b325632f0e5ffdaeca3d1f3be77c9399316a40"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed Dec 08 00:39:32 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:19 2011 +0100"
      },
      "message": "drbd: Be more explicit about functions that return an enum drbd_state_rv\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "c8b325632f0e5ffdaeca3d1f3be77c9399316a40",
      "tree": "3b86d7a6a9b180e05a78c89d9a83ca1b93aa5cbe",
      "parents": [
        "116676ca621a862a8124969772f4dd61c8b40eee"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed Dec 08 01:06:16 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:18 2011 +0100"
      },
      "message": "drbd: Rename enum drbd_state_ret_codes to enum drbd_state_rv\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "116676ca621a862a8124969772f4dd61c8b40eee",
      "tree": "f02da6846ac3726f800fe80cc08a5f6da396c6a9",
      "parents": [
        "0cf9d27e38447efe5e5edce155a66a782a5aac4a"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed Dec 08 13:33:11 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:16 2011 +0100"
      },
      "message": "drbd: Rename enum drbd_ret_codes to enum drbd_ret_code\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "0cf9d27e38447efe5e5edce155a66a782a5aac4a",
      "tree": "995f0581eacec75533f6b8918ecd43cfb510c1f5",
      "parents": [
        "662d91a23a8e8451ca47c08d5cff710fd080fd3a"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Tue Dec 07 10:43:29 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:15 2011 +0100"
      },
      "message": "drbd: Get rid of unnecessary macros (2)\n\nThe FAULT_ACTIVE macro just wraps the drbd_insert_fault macro for no\napparent reason.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "662d91a23a8e8451ca47c08d5cff710fd080fd3a",
      "tree": "7b6eadb2857f8aa109ffc4e638a0866e33e42946",
      "parents": [
        "2f58dcfc85b6800efd938f755e6c5f9979f4aa5c"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Tue Dec 07 03:01:41 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:13 2011 +0100"
      },
      "message": "drbd: Get rid of unnecessary macros (1)\n\nThis macro doesn\u0027t save much code, but makes things a lot harder to read.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "2f58dcfc85b6800efd938f755e6c5f9979f4aa5c",
      "tree": "f8d9fff58a1ae7640b26e8ec323aa9a9e4f818b0",
      "parents": [
        "96756784a6250c7d9878671ef3386b93b0c576d4"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Mon Dec 13 17:48:19 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:11 2011 +0100"
      },
      "message": "drbd: Rename drbd_make_request_26 to drbd_make_request\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "96756784a6250c7d9878671ef3386b93b0c576d4",
      "tree": "57cd3f726340abd82eabe23bf96d2cf756c153ad",
      "parents": [
        "cab2f74b45127a78b9a2980f54ca16cc9f45ddac"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu Dec 09 16:23:43 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:10 2011 +0100"
      },
      "message": "drbd: Remove left-over prototype\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "cab2f74b45127a78b9a2980f54ca16cc9f45ddac",
      "tree": "ce7986dca4c4512251e576db9c0e08e5409fcd8b",
      "parents": [
        "220df4d006ed561b8fd4fbd8c01c6c28d6143653"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu Dec 09 16:08:46 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:08 2011 +0100"
      },
      "message": "drbd: Make sure that drbd_send() has sent the right number of bytes\n\nReviewed-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\n"
    },
    {
      "commit": "220df4d006ed561b8fd4fbd8c01c6c28d6143653",
      "tree": "fa65f11c9276138c1dd2cc345389b9cb1bddf827",
      "parents": [
        "7e458c32da946bd4f6aea476b61b79575578f834"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu Dec 09 15:21:02 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:02 2011 +0100"
      },
      "message": "drbd: fix incomplete error message\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "7e458c32da946bd4f6aea476b61b79575578f834",
      "tree": "62f686be3528fcb58668b54c9ce6dbbf54dce70b",
      "parents": [
        "8a3c104438be4986a77f332009b695fcac48f620"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed Dec 08 19:02:09 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:35:22 2011 +0100"
      },
      "message": "drbd: Removed an unnecessary #undef\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "8a3c104438be4986a77f332009b695fcac48f620",
      "tree": "5f659c3125cb4dd901bfb15532c3ac051f94c8cc",
      "parents": [
        "09b9e7979378fe070784de20e50bb1d42aa643ab"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Sun Dec 05 14:11:14 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:35:20 2011 +0100"
      },
      "message": "drbd: fix regression, we need to close drbd epochs during normal operation\n\ncommit e2041475e6ddb081734d161f6421977323f5a9b9\ndrbd: Starting with protocol 96 we can allow app-IO while receiving the bitmap\n\nContained a bad chunk that tried to optimize away drbd barriers during\nbitmap exchange, but accidentally dropped them for normal mode as well.\n\nImpact: depending on activity log size and access pattern, activity log\nextents may not be recycled in time, causeing IO to block indefinetely.\n\nFix: skip drbd barriers only if there is no connection to send them on,\nor the request being completed has not been on the network at all.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "09b9e7979378fe070784de20e50bb1d42aa643ab",
      "tree": "b0326f36388850085d7c4c08bcb429b0ec95a913",
      "parents": [
        "2561b9c1f1d63077c41903fc6ad58dc9ec47248b"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Dec 03 16:04:24 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:35:18 2011 +0100"
      },
      "message": "drbd: Implemented the before-resync-source handler\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "2561b9c1f1d63077c41903fc6ad58dc9ec47248b",
      "tree": "79f4148dce59a9f696e680d70151312721f296cf",
      "parents": [
        "42ff269d1022a86be4f526cf674998c47b7ab856"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Dec 03 15:22:48 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:35:17 2011 +0100"
      },
      "message": "drbd: --force option for disconnect\n\nAs the network connection can be lost at any time, a --force option\nfor disconnect is just a matter of completeness.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "42ff269d1022a86be4f526cf674998c47b7ab856",
      "tree": "d392b05fd0c626093b552232b26b60d21afa4d26",
      "parents": [
        "3e3a7766c2e6995ac98e7855017abc3544d54e08"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Wed Nov 24 10:11:14 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:35:15 2011 +0100"
      },
      "message": "drbd: add packet_type 27 (return_code_only) to netlink api\n\nIn case we ever should add an other packet type,\nwe must not reuse 27, as that currently used for\n\"empty\" return code only replies.\nDocument it as such.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    }
  ],
  "next": "3e3a7766c2e6995ac98e7855017abc3544d54e08"
}
