)]}'
{
  "log": [
    {
      "commit": "935b639a049053d0ccbcf7422f2f9cd221642f58",
      "tree": "cee4fa3f82256314393b26bd5857d9564513ee04",
      "parents": [
        "1cad78932a0d139dceff78e68808e160a224d57a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Sep 16 11:13:17 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Sep 16 11:13:17 2011 -0700"
      },
      "message": "libceph: fix linger request requeuing\n\nThe r_req_lru_item list node moves between several lists, and that cycle\nis not directly related (and does not begin) with __register_request().\nInitialize it in the request constructor, not __register_request(). This\nfixes later badness (below) when OSDs restart underneath an rbd mount.\n\nCrashes we\u0027ve seen due to this include:\n\n[  213.974288] kernel BUG at net/ceph/messenger.c:2193!\n\nand\n\n[  144.035274] BUG: unable to handle kernel NULL pointer dereference at 0000000000000048\n[  144.035278] IP: [\u003cffffffffa036c053\u003e] con_work+0x1463/0x2ce0 [libceph]\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "aca420bc51f48b0701963ba3a6234442a0cabebd",
      "tree": "7c9f19bd0f91d012253bed3579ec1fbdfb5ec6b1",
      "parents": [
        "259a187ade45056fd44856654f78aa9e9f0f7c75"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Aug 31 14:45:53 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Aug 31 15:22:46 2011 -0700"
      },
      "message": "libceph: fix leak of osd structs during shutdown\n\nWe want to remove all OSDs, not just those on the idle LRU.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "4cf9d544631c92809cb94ea680c71df56e9437aa",
      "tree": "419e162dfb25e69ef1a89c56a318ad322cf21053",
      "parents": [
        "8f04d42276048b3baff5a5d8fa769f433c62b63e"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:27:24 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:27:24 2011 -0700"
      },
      "message": "libceph: don\u0027t time out osd requests that haven\u0027t been received\n\nKeep track of when an outgoing message is ACKed (i.e., the server fully\nreceived it and, presumably, queued it for processing).  Time out OSD\nrequests only if it\u0027s been too long since they\u0027ve been received.\n\nThis prevents timeouts and connection thrashing when the OSDs are simply\nbusy and are throttling the requests they read off the network.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "9bb0ce2b0b734f3325ea5cd6b351856eeac94f78",
      "tree": "afd4c5d343ddfabae8c3b78bff342f6ba6037055",
      "parents": [
        "773e9b442693b250aa6c452cb0cf5a9343f51cef"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jun 13 16:20:18 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jun 13 16:26:17 2011 -0700"
      },
      "message": "libceph: fix page calculation for non-page-aligned io\n\nSet the page count correctly for non-page-aligned IO.  We were already\ndoing this correctly for alignment, but not the page count.  Fixes\nDIRECT_IO writes from unaligned pages.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "2584547230ae49b8de91ab3bb5e0a81898905b45",
      "tree": "1f00818bc7075e0898998d4e05c0cd08dd3d85d0",
      "parents": [
        "70b666c3b4cb2b96098d80e6f515e4bc6d37db5a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jun 03 09:37:09 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jun 07 21:34:13 2011 -0700"
      },
      "message": "ceph: fix sync vs canceled write\n\nIf we cancel a write, trigger the safe completions to prevent a sync from\nblocking indefinitely in ceph_osdc_sync().\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "cd634fb6eec72ef8e6dd677546b8d0ffdd2501eb",
      "tree": "7f0213063830d24d77a1ad0a6a9abfa4f83a5d7d",
      "parents": [
        "7662d8ff57d2b00ce8f7fe0b60a85efbb2c05652"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 12 09:29:18 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 24 11:52:11 2011 -0700"
      },
      "message": "libceph: subscribe to osdmap when cluster is full\n\nWhen the cluster is marked full, subscribe to subsequent map updates to\nensure we find out promptly when it is no longer full.  This will prevent\nus from spewing ENOSPC for (much) longer than necessary.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "9d6fcb081a4770c3772c51c59c7251c22716d7bb",
      "tree": "8827d90aff9d7f463cb429aff1ecd22dde6a77a6",
      "parents": [
        "6b4a3b517a767c483d16a200730b2967e0e23b83"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 12 15:48:16 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 19 11:25:05 2011 -0700"
      },
      "message": "ceph: check return value for start_request in writepages\n\nSince we pass the nofail arg, we should never get an error; BUG if we do.\n(And fix the function to not return an error if __map_request fails.)\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "2dab036b8c349d747f447ac98c8eb40c769727a8",
      "tree": "ab502f1a05ae17f5f6cbbd7bdb2731a051d15580",
      "parents": [
        "ae598083015e22d1802617c18d3408971b1bddc0"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 12 14:29:51 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 19 11:25:02 2011 -0700"
      },
      "message": "libceph: use snprintf for formatting object name\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "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": "e6d28318344535331d9473548b210dd267fe7b7e",
      "tree": "90a4c7dab77900ec531b73151503b4b2e00132d1",
      "parents": [
        "e27e6151b154ff6e5e8162efa291bc60196d29ea",
        "77f38e0eeac290827f41fd2215ab82546b8f73b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 19:02:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 19:02:55 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  libceph: fix linger request requeueing\n"
    },
    {
      "commit": "42933bac11e811f02200c944d8562a15f8ec4ff0",
      "tree": "fcdd9afe56eb0e746565ddd1f92f22d36678b843",
      "parents": [
        "2b9accbee563f535046ff2cd382d0acaa92e130c",
        "25985edcedea6396277003854657b5f3cb31a628"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6\n\n* \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6:\n  Fix common misspellings\n"
    },
    {
      "commit": "77f38e0eeac290827f41fd2215ab82546b8f73b8",
      "tree": "f3fe7b7989188f39c7618848ac30754c41c6eee0",
      "parents": [
        "4b2a58abd1e17c0ee53c8dded879e015917cca67"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Apr 06 09:09:16 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Apr 06 09:09:16 2011 -0700"
      },
      "message": "libceph: fix linger request requeueing\n\nFix the request transition from linger -\u003e normal request.  The key is to\npreserve r_osd and requeue on the same OSD.  Reregister as a normal request,\nadd the request to the proper queues, then unregister the linger.  Fix the\nunregister helper to avoid clearing r_osd (and also simplify the parallel\ncheck in __unregister_request()).\n\nReported-by: Henry Chang \u003chenry.cy.chang@gmail.com\u003e\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": "fbdb9190482fd83a3eb20cdeb0da454759f479d7",
      "tree": "bf83dcd6ea13c9a1feedb2a8f79744de93f9fecd",
      "parents": [
        "234af26ff123dfb2aa48772124721b1354c8e0a5"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 29 12:11:06 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 29 12:11:06 2011 -0700"
      },
      "message": "libceph: fix null dereference when unregistering linger requests\n\nWe should only clear r_osd if we are neither registered as a linger or a\nregular request.  We may unregister as a linger while still registered as\na regular request (e.g., in reset_osd).  Incorrectly clearing r_osd there\nleads to a null pointer dereference in __send_request.\n\nAlso simplify the parallel check in __unregister_request() where we just\nremoved r_osd_item and know it\u0027s empty.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "234af26ff123dfb2aa48772124721b1354c8e0a5",
      "tree": "9dfaaeb25a5b1265269796ebc48cab93d64fc1f2",
      "parents": [
        "6b0ae4097c1ebad98c7b33f83b4ca7e93890ed12"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Tue Mar 29 06:25:59 2011 +0300"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 29 08:59:54 2011 -0700"
      },
      "message": "ceph: unlock on error in ceph_osdc_start_request()\n\nThere was a missing unlock on the error path if __map_request() failed.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "6b0ae4097c1ebad98c7b33f83b4ca7e93890ed12",
      "tree": "27db559925e8e3f08522d83f4a6f3b7d32a9f2fa",
      "parents": [
        "ef550f6f4f6c9345a27ec85d98f4f7de1adce79c"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "mk@lab.zgora.pl",
        "time": "Sat Mar 26 19:29:34 2011 +0100"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat Mar 26 13:41:20 2011 -0700"
      },
      "message": "ceph: fix possible NULL pointer dereference\n\nThis patch fixes \u0027event_work\u0027 dereference before it is checked for NULL.\n\nSigned-off-by: Mariusz Kozlowski \u003cmk@lab.zgora.pl\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a40c4f10e3fb96030358e49abd010c1f08446fa3",
      "tree": "1aa1f6ca618cd021d944f7da7caeb5b182beaee4",
      "parents": [
        "55b00bae111030bd0dfcc898a920e54725aed1bf"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Mon Mar 21 15:07:16 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 22 11:33:55 2011 -0700"
      },
      "message": "libceph: add lingering request and watch/notify event framework\n\nLingering requests are requests that are sent to the OSD normally but\ntracked also after we get a successful request.  This keeps the OSD\nconnection open and resends the original request if the object moves to\nanother OSD.  The OSD can then send notification messages back to us\nif another client initiates a notify.\n\nThis framework will be used by RBD so that the client gets notification\nwhen a snapshot is created by another node or tool.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "6f6c7006755b667f9f6c1f3b6f08cd65f75cc471",
      "tree": "233e96acdc3b627c97267992368ae1cb6cd66a5f",
      "parents": [
        "09adc80c611bb8902daa8ccfe34dbbc009d6befe"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jan 17 20:34:08 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Mar 21 12:24:19 2011 -0700"
      },
      "message": "libceph: fix osd request queuing on osdmap updates\n\nIf we send a request to osd A, and the request\u0027s pg remaps to osd B and\nthen back to A in quick succession, we need to resend the request to A. The\nold code was only calling kick_requests after processing all incremental\nmaps in a message, so it was very possible to not resend a request that\nneeded to be resent.  This would make the osd eventually time out (at least\nwith the current default of osd timeouts enabled).\n\nThe correct approach is to scan requests on every map incremental.  This\npatch refactors the kick code in a few ways:\n - all requests are either on req_lru (in flight), req_unsent (ready to\n   send), or req_notarget (currently map to no up osd)\n - mapping always done by map_request (previous map_osds)\n - if the mapping changes, we requeue.  requests are resent only after all\n   map incrementals are processed.\n - some osd reset code is moved out of kick_requests into a separate\n   function\n - the \"kick this osd\" functionality is moved to kick_osd_requests, as it\n   is unrelated to scanning for request-\u003epg-\u003eosd mapping changes\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "c5c6b19d4b8f5431fca05f28ae9e141045022149",
      "tree": "0961d9aeee49f481134089ac5b93b7118cf3a34b",
      "parents": [
        "b7495fc2ff941db6a118a93ab8d61149e3f4cef8"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Nov 09 12:40:00 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Nov 09 12:43:17 2010 -0800"
      },
      "message": "ceph: explicitly specify page alignment in network messages\n\nThe alignment used for reading data into or out of pages used to be taken\nfrom the data_off field in the message header.  This only worked as long\nas the page alignment matched the object offset, breaking direct io to\nnon-page aligned offsets.\n\nInstead, explicitly specify the page alignment next to the page vector\nin the ceph_msg struct, and use that instead of the message header (which\nprobably shouldn\u0027t be trusted).  The alloc_msg callback is responsible for\nfilling in this field properly when it sets up the page vector.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "b7495fc2ff941db6a118a93ab8d61149e3f4cef8",
      "tree": "231c339d74760e2fa13e5e6f41c10bc28cea51b3",
      "parents": [
        "e98b6fed84d0f0155d7b398e0dfeac74c792f2d0"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Nov 09 12:43:12 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Nov 09 12:43:12 2010 -0800"
      },
      "message": "ceph: make page alignment explicit in osd interface\n\nWe used to infer alignment of IOs within a page based on the file offset,\nwhich assumed they matched.  This broke with direct IO that was not aligned\nto pages (e.g., 512-byte aligned IO).  We were also trusting the alignment\nspecified in the OSD reply, which could have been adjusted by the server.\n\nExplicitly specify the page alignment when setting up OSD IO requests.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "3d14c5d2b6e15c21d8e5467dc62d33127c23a644",
      "tree": "7d123c47847df9d1e865b6b78dc7da3fe739b704",
      "parents": [
        "ae1533b62b3369e6ae32338f4a77d64d0e88f676"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Tue Apr 06 15:14:15 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Oct 20 15:37:28 2010 -0700"
      },
      "message": "ceph: factor out libceph from Ceph file system\n\nThis factors out protocol and low-level storage parts of ceph into a\nseparate libceph module living in net/ceph and include/linux/ceph.  This\nis mostly a matter of moving files around.  However, a few key pieces\nof the interface change as well:\n\n - ceph_client becomes ceph_fs_client and ceph_client, where the latter\n   captures the mon and osd clients, and the fs_client gets the mds client\n   and file system specific pieces.\n - Mount option parsing and debugfs setup is correspondingly broken into\n   two pieces.\n - The mon client gets a generic handler callback for otherwise unknown\n   messages (mds map, in this case).\n - The basic supported/required feature bits can be expanded (and are by\n   ceph_fs_client).\n\nNo functional change, aside from some subtle error handling cases that got\ncleaned up in the refactoring process.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ae1533b62b3369e6ae32338f4a77d64d0e88f676",
      "tree": "9a54b1c1c8a52a4ae46bc0c5421d04e93ac6495f",
      "parents": [
        "68b4476b0bc13fef18266b4140309a30e86739d2"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Tue May 18 16:38:08 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Oct 20 15:37:25 2010 -0700"
      },
      "message": "ceph-rbd: osdc support for osd call and rollback operations\n\nThis will be used for rbd snapshots administration.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\n"
    },
    {
      "commit": "68b4476b0bc13fef18266b4140309a30e86739d2",
      "tree": "47fab5ea2491c7bc75fe14a3b0d3a091eb6244b7",
      "parents": [
        "3499e8a5d4dbb083324efd942e2c4fb7eb65f27c"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Tue Apr 06 15:01:27 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Oct 20 15:37:18 2010 -0700"
      },
      "message": "ceph: messenger and osdc changes for rbd\n\nAllow the messenger to send/receive data in a bio.  This is added\nso that we wouldn\u0027t need to copy the data into pages or some other buffer\nwhen doing IO for an rbd block device.\n\nWe can now have trailing variable sized data for osd\nops.  Also osd ops encoding is more modular.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "3499e8a5d4dbb083324efd942e2c4fb7eb65f27c",
      "tree": "7c3914991f81bcf2a9153047e7f1dad2ae0da74b",
      "parents": [
        "7669a2c95e502a77f93f27e5449fc93a00d588b6"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Tue Apr 06 14:51:47 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Oct 20 15:36:01 2010 -0700"
      },
      "message": "ceph: refactor osdc requests creation functions\n\nThe osd requests creation are being decoupled from the\nvino parameter, allowing clients using the osd to use\nother arbitrary object names that are not necessarily\nvino based. Also, calc_raw_layout now takes a snap id.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "6bc18876ba01fd4a077db6e1ed27201e4bda8864",
      "tree": "145b14be550e359e2a5a9f594f54f870d46fd926",
      "parents": [
        "936aeb5c4a9fa799abd7d630a94223acedcaad50"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Sep 27 10:18:52 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Oct 07 08:00:23 2010 -0700"
      },
      "message": "ceph: avoid null deref in osd request error path\n\nIf we interrupt an osd request, we call __cancel_request, but it wasn\u0027t\nverifying that req-\u003er_osd was non-NULL before dereferencing it.  This could\ncause a crash if osds were flapping and we aborted a request on said osd.\n\nReported-by: Henry C Chang \u003chenry_c_chang@tcloudcomputing.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "07a27e226d1ed210d2d4218bd0642b40f5405c6a",
      "tree": "7b24e5b3b88d8e682b70684b0df7ee0db333fe46",
      "parents": [
        "124514918b030d74f1f3e15483b7bf3b85268082"
      ],
      "author": {
        "name": "Henry C Chang",
        "email": "henry_c_chang@tcloudcomputing.com",
        "time": "Sun Aug 22 21:34:27 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 22 21:34:27 2010 -0700"
      },
      "message": "ceph: fix osd request lru adjustment when sending request\n\nFix argument order.  We want to move the item to the end of the list, not\nchange the position of the head.\n\nSigned-off-by: Henry C Chang \u003chenry_c_chang@tcloudcomputing.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "213c99ee0cf17ff0fbffb6fb540bd29615cd19d5",
      "tree": "168f72ba71feff5bf24707be622135b1016cdff5",
      "parents": [
        "40819f6fb227c1832935b775ac22aef10aa6f6dd"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 03 10:25:11 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 03 10:25:11 2010 -0700"
      },
      "message": "ceph: whitespace cleanup\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "796d6955a51ce6768d0e033f27a2f8f5be6cb39a",
      "tree": "03672d617a25c43ff90f7f627aa2ed0c3f3ed1db",
      "parents": [
        "37151668bad3fd058368752bee476f2ba3645596"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 10 15:50:10 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:40 2010 -0700"
      },
      "message": "ceph: only set num_pages in calc_layout\n\nSetting it elsewhere is unnecessary and more fragile.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "03066f23452ff088ad8e2c8acdf4443043f35b51",
      "tree": "37f03df4e28de87339cec3b88e479073c8cee958",
      "parents": [
        "25848b3ec681c7018e3746dd850c1e8ed0a3dd6b"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Tue Jul 27 13:11:08 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 27 13:11:17 2010 -0700"
      },
      "message": "ceph: use complete_all and wake_up_all\n\nThis fixes an issue triggered by running concurrent syncs. One of the syncs\nwould go through while the other would just hang indefinitely. In any case, we\nnever actually want to wake a single waiter, so the *_all functions should\nbe used.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "4a32f93d29b05cdab63c0e2979bc1524c8ea6bf5",
      "tree": "381f3bac8bb564a4666f48a0d6d459b0a2bbbba7",
      "parents": [
        "0cf5537b158caae42bcc03f0f6db10f68585b1ec"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Jun 13 10:27:53 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Jun 13 10:34:36 2010 -0700"
      },
      "message": "ceph: fix map handler error path\n\nDon\u0027t leak message if we receive an unexpected message type.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "79494d1b9b92259eb40ea6e939ba5aff4b8de5f1",
      "tree": "4e646e85059ba65083896ba3454b9a30a146b6ff",
      "parents": [
        "a922d38fd10d55d5033f10df15baf966e8f5b18c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 27 14:15:49 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:42:04 2010 -0700"
      },
      "message": "ceph: fix leak of osd authorizer\n\nRelease the ceph_authorizer when releasing osd state.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "9e32789f63fc5ad91c8b10f68ec23a86856d5af5",
      "tree": "d70a343f5c2e0689d4e44ba93a586fe3d21bbdc6",
      "parents": [
        "34d23762d988b7dcb08390ac72a353df3d60193c"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@distanz.ch",
        "time": "Thu May 20 10:40:19 2010 +0200"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 21 15:01:21 2010 -0700"
      },
      "message": "ceph: Storage class should be before const qualifier\n\nThe C99 specification states in section 6.11.5:\n\nThe placement of a storage-class specifier other than at the beginning\nof the declaration specifiers in a declaration is an obsolescent\nfeature.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@distanz.ch\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "34d23762d988b7dcb08390ac72a353df3d60193c",
      "tree": "3a49d039527548697165da2b8789f3588b95ffed",
      "parents": [
        "23804d91f112df09b832cd091b71af4dc2831aa8"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Tue Apr 06 14:33:58 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 17 15:25:42 2010 -0700"
      },
      "message": "ceph: all allocation functions should get gfp_mask\n\nThis is essential, as for the rados block device we\u0027ll need\nto run in different contexts that would need flags that\nare other than GFP_NOFS.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "4f48280ee1d0654390cd50ad0c41ea93309e7c91",
      "tree": "e0a9b6502ddcf09caa66c99b787685f4846ea7ef",
      "parents": [
        "8c6efb58a5bab880d45b2078cb55ec4320707daf"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat Apr 24 09:56:35 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 17 15:25:24 2010 -0700"
      },
      "message": "ceph: name msgpools; useful error messages\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f26e681d52fcc4778d8c604ef047487ca9f3df95",
      "tree": "8ecf2e821aabda4c062debf469e3870f8ec13bf7",
      "parents": [
        "0d509c949a4d3f21943bd93863a2e6c2f0d0c004"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Apr 21 11:09:38 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 17 15:25:22 2010 -0700"
      },
      "message": "ceph: osdtimeout\u003d0 for now timeout\n\nAllow the osd reset timeout to be disabled.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "c473ad927e6b3be0bac51ddf312e5d8d2b9220b0",
      "tree": "64738dc2c6bd7e9f3881a4bcae68f0bed697a655",
      "parents": [
        "1bb71637d07d58e993ef3f8e2c6b7ca6f4c0e0b8"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Tue Apr 13 19:34:26 2010 +0100"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 17 15:25:21 2010 -0700"
      },
      "message": "ceph: wake up mount thread when getting osdmap\n\nNow that the mount thread waits for the osdmap, it needs\nto be awaken.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\n"
    },
    {
      "commit": "bb257664f748bcfc80715f85f70f0f560caec3b4",
      "tree": "0f03c628328082e660c6a60f6094cde478dadec9",
      "parents": [
        "a79832f26be370ee26ea81eecdfd42d10e49d66a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Apr 01 16:07:23 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 17 15:25:19 2010 -0700"
      },
      "message": "ceph: simplify ceph_msg_new\n\nWe only need to pass in front_len.  Callers can attach any other payload\npieces (middle, data) as they see fit.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a79832f26be370ee26ea81eecdfd42d10e49d66a",
      "tree": "59d55f3c928558505a420830eddfb01b3186d467",
      "parents": [
        "d52f847a841bfeba0ea87a7842732d388a1ca2e8"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Apr 01 16:06:19 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 17 15:25:18 2010 -0700"
      },
      "message": "ceph: make ceph_msg_new return NULL on failure; clean up, fix callers\n\nReturning ERR_PTR(-ENOMEM) is useless extra work.  Return NULL on failure\ninstead, and fix up the callers (about half of which were wrong anyway).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "6f46cb29350963527b663c9eb4fe964daa9ae707",
      "tree": "6550abaa45abaff66668e2914c1219e9f4cb930f",
      "parents": [
        "c7708075f18086ee7d02df8b891910893e9ea372"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Mar 24 21:30:19 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 17 15:25:14 2010 -0700"
      },
      "message": "ceph: fix theoretically possible double-put on connection\n\nThis would only trigger if we bailed out before resetting r_con_filling_msg\nbecause the server reply was corrupt (oversized).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "21b667f69b023979410188d7d94c9b219f216626",
      "tree": "7f6fd28d03fe97e1f4febd3ee5f8522e2f6a86dc",
      "parents": [
        "81a6cf2d30eac5d790f53cdff110892f7b18c7fe"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Mar 04 10:22:59 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 17 15:25:11 2010 -0700"
      },
      "message": "ceph: simplify page setup for incoming data\n\nDrop largely useless helper __prepare_pages(), and simplify sanity checks.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "d85b705663905b3dae30007f824355bdcfcf3f00",
      "tree": "e47262683ed704786be3f0dae62bc4c57bd50ad7",
      "parents": [
        "04d000eb358919043da538f197d63f2a5924a525"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 10 10:24:48 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 09:53:56 2010 -0700"
      },
      "message": "ceph: resubmit requests on pg mapping change (not just primary change)\n\nOSD requests need to be resubmitted on any pg mapping change, not just when\nthe pg primary changes.  Resending only when the primary changes results in\noccasional \u0027hung\u0027 requests during osd cluster recovery or rebalancing.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "0ceed5db321ac0f9782e77dda476ebe28a8e2199",
      "tree": "356f6a3f2dc26ba04589e9abd603139c62094730",
      "parents": [
        "54ad023ba8108d0163acc931ed4b5e4a8a3a7327"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 09:53:18 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 09:53:18 2010 -0700"
      },
      "message": "ceph: unregister osd request on failure\n\nThe osd request wasn\u0027t being unregistered when the osd returned a failure\ncode, even though the result was returned to the caller.  This would cause\nit to eventually time out, and then crash the kernel when it tried to\nresend the request using a stale page vector.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "87b315a5b5cec5d7086494b203577602f5befc8c",
      "tree": "18e1638619a51cdf4605bad5b4270841450cf211",
      "parents": [
        "3dd72fc0e6dc49c79fa9e7cd7c654deac7ccaa29"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Mar 22 14:51:18 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 23 07:47:01 2010 -0700"
      },
      "message": "ceph: avoid reopening osd connections when address hasn\u0027t changed\n\nWe get a fault callback on _every_ tcp connection fault.  Normally, we\nwant to reopen the connection when that happens.  If the address we have\nis bad, however, and connection attempts always result in a connection\nrefused or similar error, explicitly closing and reopening the msgr\nconnection just prevents the messenger\u0027s backoff logic from kicking in.\nThe result can be a console full of\n\n[ 3974.417106] ceph: osd11 10.3.14.138:6800 connection failed\n[ 3974.423295] ceph: osd11 10.3.14.138:6800 connection failed\n[ 3974.429709] ceph: osd11 10.3.14.138:6800 connection failed\n\nInstead, if we get a fault, and have outstanding requests, but the osd\naddress hasn\u0027t changed and the connection never successfully connected in\nthe first place, do nothing to the osd connection.  The messenger layer\nwill back off and retry periodically, because we never connected and thus\nthe lossy bit is not set.\n\nInstead, touch each request\u0027s r_stamp so that handle_timeout can tell the\nrequest is still alive and kicking.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "3dd72fc0e6dc49c79fa9e7cd7c654deac7ccaa29",
      "tree": "724a1bc01c752e3de305c01180c5868a3d8601a4",
      "parents": [
        "3c3f2e32effd4c6acc3a9434bd7eecb0af653d89"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Mar 22 14:42:30 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 23 07:47:00 2010 -0700"
      },
      "message": "ceph: rename r_sent_stamp r_stamp\n\nMake variable name slightly more generic, since it will (soon)\nreflect either the time the request was sent OR the time it was\nlast determined to be still retrying.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "12eadc190038e68b5884a4aa313b6ab89ba60f5e",
      "tree": "ba53a7209528981aec774f99132723b913a9e6ae",
      "parents": [
        "0a990e7093566ceb07e38951e1a01686923d4f09"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Mar 15 22:20:39 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 23 07:46:51 2010 -0700"
      },
      "message": "ceph: fix null pointer deref of r_osd in debug output\n\nThis causes an oops when debug output is enabled and we kick\nan osd request with no current r_osd (sometime after an osd\nfailure).  Check the pointer before dereferencing.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "422d2cb8f9afadba1ecd3614f658b6daaaa480fb",
      "tree": "22e1a61acdbbe1459b190c4dbb6019360464b2e9",
      "parents": [
        "e9964c102312967a4bc1fd501cb628c4a3b19034"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Fri Feb 26 15:32:31 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Mar 04 11:26:35 2010 -0800"
      },
      "message": "ceph: reset osd after relevant messages timed out\n\nThis simplifies the process of timing out messages. We\nkeep lru of current messages that are in flight. If a\ntimeout has passed, we reset the osd connection, so that\nmessages will be retransmitted.  This is a failsafe in case\nwe hit some sort of problem sending out message to the OSD.\nNormally, we\u0027ll get notification via an updated osdmap if\nthere are problems.\n\nIf a request is older than the keepalive timeout, send a\nkeepalive to ensure we detect any breaks in the TCP connection.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "6f863e712d4114e8ae2f02de64ebeac0546ebaa0",
      "tree": "0a61ce00922aa3670f53f44f7ae5ec2ad19c6c90",
      "parents": [
        "3ca02ef96e119d36bc1752baeae7dd0c59c2f325"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Mar 01 15:26:41 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Mar 01 15:26:41 2010 -0800"
      },
      "message": "ceph: set osd request message front length correctly\n\nWe didn\u0027t set the front length correctly.  When messages used\nthe message pool we ended up with the conservative max (4 KB), and\nthe rest of the time the slightly less conservative estimate.  Even\nthough the OSD ignores the extra data, set it to the right value to avoid\nsending extra data over the network.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "c16e786927b977cb880873214bbd815e8d5ec4ba",
      "tree": "82774e0b06015f2d4813b6cfd3d1924ad96da5d7",
      "parents": [
        "1679f876a641d209e7b22e43ebda0693c71003cf"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Mar 01 13:02:00 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Mar 01 15:20:02 2010 -0800"
      },
      "message": "ceph: use single osd op reply msg\n\nUse a single ceph_msg for the osd reply, even when we are getting multiple\nreplies.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "c99eb1c7263a44e63161a041a778b345b5cf0b6a",
      "tree": "7c1a303b30e8aadc0514af07748d25efd7fb2669",
      "parents": [
        "e80a52d14f868059e8ec790c9fae88cdb8a1df98"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Feb 26 09:37:33 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Feb 26 09:37:33 2010 -0800"
      },
      "message": "ceph: remove fragile __map_osds optimization\n\nWe used to try to avoid freeing and then reallocating the osd\nstruct.  This is a bit fragile due to potential interactions with\nother references (beyond o_requests), and may be the cause of\nthis crash:\n\n[120633.442358] BUG: unable to handle kernel NULL pointer dereference at (null)\n[120633.443292] IP: [\u003cffffffff812549b6\u003e] rb_erase+0x11d/0x277\n[120633.443292] PGD f7ff3067 PUD f7f53067 PMD 0\n[120633.443292] Oops: 0000 [#1] PREEMPT SMP\n[120633.443292] last sysfs file: /sys/kernel/uevent_seqnum\n[120633.443292] CPU 1\n[120633.443292] Modules linked in: ceph fan ac battery psmouse ehci_hcd ide_pci_generic ohci_hcd thermal processor button\n[120633.443292] Pid: 3023, comm: ceph-msgr/1 Not tainted 2.6.32-rc2 #12 H8SSL\n[120633.443292] RIP: 0010:[\u003cffffffff812549b6\u003e]  [\u003cffffffff812549b6\u003e] rb_erase+0x11d/0x277\n[120633.443292] RSP: 0018:ffff8800f7b13a50  EFLAGS: 00010246\n[120633.443292] RAX: ffff880022907819 RBX: ffff880022907818 RCX: 0000000000000000\n[120633.443292] RDX: ffff8800f7b13a80 RSI: ffff8800f587eb48 RDI: 0000000000000000\n[120633.443292] RBP: ffff8800f7b13a60 R08: 0000000000000000 R09: 0000000000000004\n[120633.443292] R10: 0000000000000000 R11: ffff8800c4441000 R12: ffff8800f587eb48\n[120633.443292] R13: ffff8800f58eaa00 R14: ffff8800f413c000 R15: 0000000000000001\n[120633.443292] FS:  00007fbef6e226e0(0000) GS:ffff880009200000(0000) knlGS:0000000000000000\n[120633.443292] CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\n[120633.443292] CR2: 0000000000000000 CR3: 00000000f7c53000 CR4: 00000000000006e0\n[120633.443292] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[120633.443292] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[120633.443292] Process ceph-msgr/1 (pid: 3023, threadinfo ffff8800f7b12000, task ffff8800f5858b40)\n[120633.443292] Stack:\n[120633.443292]  ffff8800f413c000 ffff8800f587e9c0 ffff8800f7b13a80 ffffffffa0098a86\n[120633.443292] \u003c0\u003e 00000000000006f1 0000000000000000 ffff8800f7b13af0 ffffffffa009959b\n[120633.443292] \u003c0\u003e ffff8800f413c000 ffff880022a68400 ffff880022a68400 ffff8800f587e9c0\n[120633.443292] Call Trace:\n[120633.443292]  [\u003cffffffffa0098a86\u003e] __remove_osd+0x4d/0xbc [ceph]\n[120633.443292]  [\u003cffffffffa009959b\u003e] __map_osds+0x199/0x4fa [ceph]\n[120633.443292]  [\u003cffffffffa00999f4\u003e] ? __send_request+0xf8/0x186 [ceph]\n[120633.443292]  [\u003cffffffffa0099beb\u003e] kick_requests+0x169/0x3cb [ceph]\n[120633.443292]  [\u003cffffffffa009a8c1\u003e] ceph_osdc_handle_map+0x370/0x522 [ceph]\n\nSince we\u0027re probably screwed anyway if a small kmalloc is\nfailing, don\u0027t bother with trying to be clever here.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "5b3a4db3e4009aff918abb1353eb3f4925393a7b",
      "tree": "0f55666c827c3dfe31309209b69121e431366739",
      "parents": [
        "bcd2cbd10ce31c950a40c08d7f601f8ff23537b8"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Feb 19 21:43:23 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Feb 23 14:26:29 2010 -0800"
      },
      "message": "ceph: fix up unexpected message handling\n\nFix skipping of unexpected message types from osd, mon.\n\nClean up pr_info and debug output.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "153a008bf7915ea9127341409170cb197d111282",
      "tree": "da9852014c4a71f8578437698200b56218874110",
      "parents": [
        "6c5d1a49e5e88ee831117f4b2375829933ad15da"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Feb 15 12:11:51 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Feb 15 12:11:51 2010 -0800"
      },
      "message": "ceph: reset osd connections after fault\n\nA single osd connection fault (e.g. tcp disconnect) wasn\u0027t\nreopening the connection, which causes all current and future\nrequests for that osd to hang.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f5a2041bd96c9f05ff10172b9c814c14f247084e",
      "tree": "3c9c47169fa5ad2ec52d278f10d9d2de2237accf",
      "parents": [
        "b056c8769d1da6a6a80ce780a4b8957b70434a41"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Wed Feb 03 11:00:26 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Feb 11 11:48:48 2010 -0800"
      },
      "message": "ceph: put unused osd connections on lru\n\nInstead of removing osd connection immediately when the\nrequests list is empty, put the osd connection on an lru.\nOnly if that osd has not been used for more than a specified\ntime, will it be removed.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "9bd2e6f8ba71facf1cadb7154a7e0e4d345a6aba",
      "tree": "1c1bb4d2f769eca05443b98334fe0fbdb3b977c2",
      "parents": [
        "8b6e4f2d8b21c25225b1ce8d53a2e03b92cc8522"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Feb 02 16:21:06 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Feb 10 15:04:47 2010 -0800"
      },
      "message": "ceph: allow renewal of auth credentials\n\nAdd infrastructure to allow the mon_client to periodically renew its auth\ncredentials.  Also add a messenger callback that will force such a renewal\nif a peer rejects our authenticator.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "0c948992a00d478c17042f4790b7d6b35299cf94",
      "tree": "8a6bdfabcaf9f524fcfa6ce2ec10ebb73df0a9aa",
      "parents": [
        "0f26c4b21b684825a6dd41f2bc04d48ff62d72f8"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Mon Feb 01 16:10:45 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Feb 02 16:29:50 2010 -0800"
      },
      "message": "ceph: always send truncation info with read and write osd ops\n\nThis fixes a bug where the read/write ops arrive the osd after\na following truncation request.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "0d59ab81c3d3adf466c3fd37d7fb6d46b05d1fd4",
      "tree": "1cdf338188bc323379ced8d5e1bdec31f500768c",
      "parents": [
        "0547a9b30a5ac8680325752b61d3ffa9d4971b6e"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Wed Jan 13 17:03:23 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jan 25 12:58:08 2010 -0800"
      },
      "message": "ceph: keep reserved replies on the request structure\n\nThis includes treating all the data preallocation and revokation\nat the same place, not having to have a special case for\nthe reserved pages.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\n"
    },
    {
      "commit": "0547a9b30a5ac8680325752b61d3ffa9d4971b6e",
      "tree": "0e54e227d44fab7b98c97ee4c3bed185a1238487",
      "parents": [
        "9d7f0f139edfdce1a1539b100c617fd9182b0829"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Mon Jan 11 14:47:13 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jan 25 12:57:46 2010 -0800"
      },
      "message": "ceph: alloc message data pages and check if tid exists\n\nNow doing it in the same callback that is also responsible for\nallocating the \u0027front\u0027 part of the message. If we get a message\nthat we haven\u0027t got a corresponding tid for, mark it for skipping.\n\nMoving the mutex unlock/lock from the osd alloc_msg callback\nto the calling function in the messenger.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\n"
    },
    {
      "commit": "2450418c47b7998ad55a73f23707b1e21c371eef",
      "tree": "1e17dd88f86c5daa1bfbca1aeea0c909391b5829",
      "parents": [
        "5b1daecd59f95eb24dc629407ed80369c9929520"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Fri Jan 08 13:58:34 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jan 25 12:57:37 2010 -0800"
      },
      "message": "ceph: allocate middle of message before stating to read\n\nBoth front and middle parts of the message are now being\nallocated at the ceph_alloc_msg().\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\n"
    },
    {
      "commit": "7740a42f816790583bd8a9079337772d511af3a3",
      "tree": "fffc12ba1ab1e60da8c13dba7fef5d0024278ca5",
      "parents": [
        "103e2d3ae57d38d18aaac1b327266c1407499ac1"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jan 08 15:58:25 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jan 14 12:23:39 2010 -0800"
      },
      "message": "ceph: display pgid in debugfs osd request dump\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "103e2d3ae57d38d18aaac1b327266c1407499ac1",
      "tree": "9e46032de5680bd987e8fdd16753856e496812e6",
      "parents": [
        "4baa75ef0ed29adae03fcbbaa9aca1511a5a8cc9"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jan 07 16:12:36 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jan 14 12:23:38 2010 -0800"
      },
      "message": "ceph: remove unused erank field\n\nThe ceph_entity_addr erank field is obsolete; remove it.  Get rid of\ntrivial addr comparison helpers while we\u0027re at it.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "6df058c025ce343052c5516b1d8a9a7e73cddd64",
      "tree": "58230bd258f71c2c3adf56a55d11ed39f404d12a",
      "parents": [
        "0cf90ab5b075821940873e73cdbfeb8edc3dabe8"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Dec 22 11:24:33 2009 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Dec 23 08:17:22 2009 -0800"
      },
      "message": "ceph: include transaction id in ceph_msg_header (protocol change)\n\nMany (most?) message types include a transaction id.  By including it in\nthe fixed size header, we always have it available even when we are unable\nto allocate memory for the (larger, variable sized) message body.  This\nwill allow us to error out the appropriate request instead of (silently)\ndropping the reply.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "350b1c32ea58d29e25d63fc25e92dd48f9339546",
      "tree": "4b9e8b06de8fd7e07c2292307e9a67c121f1e079",
      "parents": [
        "ec302645f4a9bd9ec757c30d185557e1c0972c1a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Dec 22 10:45:45 2009 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Dec 23 08:17:20 2009 -0800"
      },
      "message": "ceph: control access to page vector for incoming data\n\nWhen we issue an OSD read, we specify a vector of pages that the data is to\nbe read into.  The request may be sent multiple times, to multiple OSDs, if\nthe osdmap changes, which means we can get more than one reply.\n\nOnly read data into the page vector if the reply is coming from the\nOSD we last sent the request to.  Keep track of which connection is using\nthe vector by taking a reference.  If another connection was already\nusing the vector before and a new reply comes in on the right connection,\nrevoke the pages from the other connection.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "529cfcc46ffa2cbe4d07641c11e65f67fe7b66e4",
      "tree": "4666fb5c64a1e2d0ebcc8dff5825a882aff86796",
      "parents": [
        "e0e3271074e1ebd0b80a912a457ce03c971bcd66"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Dec 22 10:29:39 2009 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Dec 23 08:17:19 2009 -0800"
      },
      "message": "ceph: unregister canceled/timed out osd requests\n\nCanceled or timed out osd requests were getting left in the request list\nand never deallocated (until umount).  Unregister if they are canceled\n(control-c) or time out.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "30dc6381bbac213987be6fe0b0fb89868ff1f2c0",
      "tree": "f647d1826a3f8cf07a510cad49c9f400359a9ae4",
      "parents": [
        "5de7bf8afa87f75af5ef3d6f9fce3e171cac834c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Dec 21 14:49:37 2009 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Dec 21 16:39:59 2009 -0800"
      },
      "message": "ceph: fix error paths for corrupt osdmap messages\n\nBoth osdmap_decode() and osdmap_apply_incremental() should never return\nNULL.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "9ec7cab14e6de732d4e7c355fe67c5810c32c758",
      "tree": "2f512034bc7db2b4ca8fe47ceea06ac99a8cab40",
      "parents": [
        "93c20d98c29ccefa039c3843ccc37122caaf3d31"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Dec 14 15:13:47 2009 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Dec 21 16:39:52 2009 -0800"
      },
      "message": "ceph: hex dump corrupt server data to KERN_DEBUG\n\nAlso, print fsid using standard format, NOT hex dump.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "93c20d98c29ccefa039c3843ccc37122caaf3d31",
      "tree": "ed434cc0f9390c2821051979ae1237dd25f97217",
      "parents": [
        "b3d1dbbdd5670d8a9fb01f7dfb1cac522ff6795a"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Tue Dec 15 09:50:36 2009 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Dec 21 16:39:51 2009 -0800"
      },
      "message": "ceph: fix msgpool reservation leak\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\n"
    },
    {
      "commit": "415e49a9c4faf1a1480b1497da2037608e5aa2c5",
      "tree": "6c376396878b506f46e6cc57e108524916554842",
      "parents": [
        "153c8e6bf7ffee561e046e60b26ef6486c6fc9f2"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Dec 07 13:37:03 2009 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Dec 07 13:37:03 2009 -0800"
      },
      "message": "ceph: use kref for ceph_osd_request\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "50b885b96c903e420a1eac54dd27626244704a06",
      "tree": "35038a32cbb963c784685e8b73d6ecd1a7cde3c9",
      "parents": [
        "34b43a56b9b103a7a820032177131532d9dbdbe8"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Dec 01 14:12:07 2009 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Dec 03 14:59:44 2009 -0800"
      },
      "message": "ceph: whitespace cleanup\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "34b43a56b9b103a7a820032177131532d9dbdbe8",
      "tree": "526dc10d39f89589da61c3b9bd82ae35cd1ce385",
      "parents": [
        "75eb3592811028e5b01835126483d115532a3aa1"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Dec 01 12:23:54 2009 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Dec 01 12:23:54 2009 -0800"
      },
      "message": "ceph: plug leak of request_mutex\n\nFix leak of osd client request_mutex on receiving dup ack.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "32c895e776a0dd2cb701d60fbd6440280c09ce35",
      "tree": "75229f8dc990d6e352a2c97ccefc20307c1ab52e",
      "parents": [
        "60d877334f7d9f5f2417ea4a83c1def769286102"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sat Nov 21 16:53:16 2009 +0100"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat Nov 21 13:05:16 2009 -0800"
      },
      "message": "fs/ceph: Move a dereference below a NULL test\n\nIf the NULL test is necessary, then the dereference should be moved below\nthe NULL test.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/).\n\n// \u003csmpl\u003e\n@@\ntype T;\nexpression E;\nidentifier i,fld;\nstatement S;\n@@\n\n- T i \u003d E-\u003efld;\n+ T i;\n  ... when !\u003d E\n      when !\u003d i\n  if (E \u003d\u003d NULL) S\n+ i \u003d E-\u003efld;\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "0743304d871559cb4c7c066357de2caa60e94c2f",
      "tree": "546510a84c1bda27e71a8a8229544d99f5624252",
      "parents": [
        "cfea1cf42b614583c02727d5bffd5a2384e92bda"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Nov 18 16:50:41 2009 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Nov 20 14:24:27 2009 -0800"
      },
      "message": "ceph: fix debugfs entry, simplify fsid checks\n\nWe may first learn our fsid from any of the mon, osd, or mds maps\n(whichever the monitor sends first).  Consolidate checks in a single\nhelper.  Initialize the client debugfs entry then, since we need the\nfsid (and global_id) for the directory name.\n\nAlso remove dead mount code.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "4e7a5dcd1bbab6560fbc8ada29a840e7a20ed7bc",
      "tree": "a77e9b4563022340361ca673ef2e1beebb538e2f",
      "parents": [
        "5f44f142601bf94c448e2d463f0f18fd159da164"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Nov 18 16:19:57 2009 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Nov 18 16:19:57 2009 -0800"
      },
      "message": "ceph: negotiate authentication protocol; implement AUTH_NONE protocol\n\nWhen we open a monitor session, we send an initial AUTH message listing\nthe auth protocols we support, our entity name, and (possibly) a previously\nassigned global_id.  The monitor chooses a protocol and responds with an\ninitial message.\n\nInitially implement AUTH_NONE, a dummy protocol that provides no security,\nbut works within the new framework.  It generates \u0027authorizers\u0027 that are\nused when connecting to (mds, osd) services that simply state our entity\nname and global_id.\n\nThis is a wire protocol change.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "5f44f142601bf94c448e2d463f0f18fd159da164",
      "tree": "773b4677c536519435f073b27873212f705c9c3c",
      "parents": [
        "71ececdacae24be333c534869cb1b06357f0e215"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Nov 18 14:52:18 2009 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Nov 18 15:02:36 2009 -0800"
      },
      "message": "ceph: handle errors during osd client init\n\nUnwind initializing if we get ENOMEM during client initialization.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "42ce56e50d948fc7c1c8c3a749ee5a21a7e134f6",
      "tree": "d9c65553d783b2dd0fff7489be15e314fa78203f",
      "parents": [
        "11ea8eda064aa4dc6e44a6dade1891b69ebd5255"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Nov 18 11:22:36 2009 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Nov 18 11:29:42 2009 -0800"
      },
      "message": "ceph: remove bad calls to ceph_con_shutdown\n\nWe want to ceph_con_close when we\u0027re done with the connection, before\nthe ref count reaches 0.  Once it does, do not call ceph_con_shutdown,\nas that takes the con mutex and may sleep, and besides that is\nunnecessary.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "51042122d4f85e0f8ee577a4230f172fcc57c456",
      "tree": "d5ccf5f84d362b6542a86eab6b6f50112111434b",
      "parents": [
        "63f2d211954b790fea0a9caeae605c7956535af6"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Nov 04 11:39:12 2009 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Nov 04 16:36:07 2009 -0800"
      },
      "message": "ceph: fix endian conversions for ceph_pg\n\nThe endian conversions don\u0027t quite work with the old union ceph_pg.  Just\nmake it a regular struct, and make each field __le.  This is simpler and it\nhas the added bonus of actually working.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "6b8051855d983db8480ff1ea1b02ef2b49203c22",
      "tree": "afb72be534ddd4c474a2ec9b7cf2ea5ab86799bc",
      "parents": [
        "e53c2fe075feda1fd4f009956ac026dc24c3a199"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Oct 27 11:50:50 2009 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Oct 27 11:57:03 2009 -0700"
      },
      "message": "ceph: allocate and parse mount args before client instance\n\nThis simplifies much of the error handling during mount.  It also means\nthat we have the mount args before client creation, and we can initialize\nbased on those options.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "8f3bc053c610826a657714649ea596f07875db2e",
      "tree": "97823cb2a202439bb9f9839e2d326ac95d728dd0",
      "parents": [
        "07bd10fb9853a41a7f0bb271721cca97d15eccae"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Oct 14 17:36:07 2009 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Oct 15 18:14:43 2009 -0700"
      },
      "message": "ceph: warn on allocation from msgpool with larger front_len\n\nPass the front_len we need when pulling a message off a msgpool,\nand WARN if it is greater than the pool\u0027s size.  Then try to\nallocate a new message (to continue without failing).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "c89136ea4253c73e89e97f5138bb22d97ad9f564",
      "tree": "ba8080adfaa6f5b84eadd4d65eff70840f9dfe22",
      "parents": [
        "535bbb530764b1b2b3b732837f0e61e1baae7109"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Oct 14 09:59:09 2009 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Oct 14 09:59:09 2009 -0700"
      },
      "message": "ceph: convert encode/decode macros to inlines\n\nThis avoids the fugly pass by reference and makes the code a bit easier\nto read.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "266673db423e6ab247170d6c6d72ec36e530a911",
      "tree": "d86b9d3b3e34fbf2dcc64b21d73145fd962237ac",
      "parents": [
        "81b024e70fed635a2cf5a4bf911db1649bb005f5"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 09 10:31:32 2009 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 09 11:58:20 2009 -0700"
      },
      "message": "ceph: cancel osd requests before resending them\n\nThis ensures we don\u0027t submit the same request twice if we are kicking a\nspecific osd (as with an osd_reset), or when we hit a transient error and\nresend.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "81b024e70fed635a2cf5a4bf911db1649bb005f5",
      "tree": "67c949621bc90cf2cd2651992e11afb35d87724b",
      "parents": [
        "991abb6ecfc8edf9863aa6a3f43249e63f9d4d4e"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 09 10:29:18 2009 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 09 11:58:15 2009 -0700"
      },
      "message": "ceph: reset osd session on fault, not peer_reset\n\nThe peer_reset just takes longer (until we reconnect and discover the osd\ndropped the session... which it will).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "0ba6478df7c6bef0f4b2625554545f941f89fb97",
      "tree": "2b99864e80174ab56cb0d0b42669e45e2c9d86cd",
      "parents": [
        "c1ea8823be69ebebaface912142190e910711984"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Oct 08 16:57:16 2009 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 09 11:58:07 2009 -0700"
      },
      "message": "ceph: revoke osd request message on request completion\n\nIf an osd has failed or returned and a request has been sent twice, it\u0027s\npossible to get a reply and unregister the request while the request\nmessage is queued for delivery.  Since the message references the caller\u0027s\npage vector, we need to revoke it before completing.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "c1ea8823be69ebebaface912142190e910711984",
      "tree": "d834392aebd65a1d538e23b54b63172ca427f29c",
      "parents": [
        "0656d11ba6ffa3dee0e8916a1903f96185651217"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Oct 08 16:55:47 2009 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 09 11:58:03 2009 -0700"
      },
      "message": "ceph: fix osd request submission race\n\nThe osd request submission path registers the request, drops and retakes\nthe request_mutex, then sends it to the OSD.  A racing kick_requests could\nsent it during that interval, causing the same msg to be sent twice and\nBUGing in the msgr.\n\nFix by only sending the message if it hasn\u0027t been touched by other\nthreads.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f24e9980eb860d8600cbe5ef3d2fd9295320d229",
      "tree": "10f43450ad2cd4d799dd02d33c02d4ed8bef39d6",
      "parents": [
        "2f2dc053404febedc9c273452d9d518fb31fde72"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Oct 06 11:31:10 2009 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Oct 06 11:31:10 2009 -0700"
      },
      "message": "ceph: OSD client\n\nThe OSD client is responsible for reading and writing data from/to the\nobject storage pool.  This includes determining where objects are\nstored in the cluster, and ensuring that requests are retried or\nredirected in the event of a node failure or data migration.\n\nIf an OSD does not respond before a timeout expires, keepalive\nmessages are sent across the lossless, ordered communications channel\nto ensure that any break in the TCP is discovered.  If the session\ndoes reset, a reconnection is attempted and affected requests are\nresent (by the message transport layer).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    }
  ]
}
