)]}'
{
  "log": [
    {
      "commit": "e56fa10e92e077d456cbc33b7025032887772b33",
      "tree": "ada8fefc9fdbe457a6f387b05e984478065a698b",
      "parents": [
        "0eb6cd49f6e3ec523787d09cf08d3179be270db4"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Mon May 17 12:40:28 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 10 14:41:25 2010 -0700"
      },
      "message": "ceph: generalize mon requests, add pool op support\n\nGeneralize the current statfs synchronous requests, and support pool_ops.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "0eb6cd49f6e3ec523787d09cf08d3179be270db4",
      "tree": "7974963003e0b8ef26fdfb3a8120c6b4b588a01b",
      "parents": [
        "e9d177443134bc4ac1c1393af69e2a8704bcac09"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Aug 05 13:53:18 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Aug 05 13:53:40 2010 -0700"
      },
      "message": "ceph: only queue async writeback on cap revocation if there is dirty data\n\nNormally, if the Fb cap bit is being revoked, we queue an async writeback.\nIf there is no dirty data but we still hold the cap, this leaves the\nclient sitting around doing nothing until the cap timeouts expire and the\ncap is released on its own (as it would have been without the revocation).\n\nInstead, only queue writeback if the bit is actually used (i.e., we have\ndirty data).  If not, we can reply to the revocation immediately.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e9d177443134bc4ac1c1393af69e2a8704bcac09",
      "tree": "77da337352fe11a62b1f712c30d28105175b4378",
      "parents": [
        "52dfb8ac0ef41168c1a10590b7259a5ab1cd2ab7"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 16:23:49 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 03 12:56:57 2010 -0700"
      },
      "message": "ceph: do not ignore osd_idle_ttl mount option\n\nActually apply the mount option to the mount_args struct.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "52dfb8ac0ef41168c1a10590b7259a5ab1cd2ab7",
      "tree": "b559e3232c32a1d5e97785aea6f9ccafbba054ce",
      "parents": [
        "213c99ee0cf17ff0fbffb6fb540bd29615cd19d5"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 03 10:25:30 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Aug 03 10:25:30 2010 -0700"
      },
      "message": "ceph: constify dentry_operations\n\nThis makes checkpatch happy.\n\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": "40819f6fb227c1832935b775ac22aef10aa6f6dd",
      "tree": "14f3e73f9585cc157ab2daab487c7b3964394fe2",
      "parents": [
        "fbaad9797a761c2d5ff6e755bbb4c046207a1ca2"
      ],
      "author": {
        "name": "Greg Farnum",
        "email": "gregf@hq.newdream.net",
        "time": "Mon Aug 02 15:34:23 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 16:10:53 2010 -0700"
      },
      "message": "ceph: add flock/fcntl lock support\n\nImplement flock inode operation to support advisory file locking.  All\nlock/unlock operations are synchronous with the MDS.  Lock state is\nsent when reconnecting to a recovering MDS to restore the shared lock\nstate.\n\nSigned-off-by: Greg Farnum \u003cgregf@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "fbaad9797a761c2d5ff6e755bbb4c046207a1ca2",
      "tree": "abe5e3668294922e70282dab9c36072cac1939c9",
      "parents": [
        "c6f3fdc592d61847da0e2172e352dbcb53c83d39"
      ],
      "author": {
        "name": "Greg Farnum",
        "email": "gregf@hq.newdream.net",
        "time": "Mon Aug 02 15:30:08 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 15:48:54 2010 -0700"
      },
      "message": "ceph: define on-wire types, constants for file locking support\n\nDefine the MDS operations and data types for doing file advisory locking\nwith the MDS.\n\nSigned-off-by: Greg Farnum \u003cgregf@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "c6f3fdc592d61847da0e2172e352dbcb53c83d39",
      "tree": "b658c608a71b3c373b529ec5d0b9930b1263166d",
      "parents": [
        "20cb34ae9e4b008a8789a48d52f5aa279dc400b6"
      ],
      "author": {
        "name": "Greg Farnum",
        "email": "gregf@hq.newdream.net",
        "time": "Mon Aug 02 14:55:24 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 15:48:51 2010 -0700"
      },
      "message": "ceph: add CEPH_FEATURE_FLOCK to the supported feature bits\n\nThis informs the server that we will accept v2 client_caps format and v2\nclient_reconnect format messages.\n\nSigned-off-by: Greg Farnum \u003cgregf@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "20cb34ae9e4b008a8789a48d52f5aa279dc400b6",
      "tree": "03b0c011ebaec2cb26c81f122b5432119976dc6b",
      "parents": [
        "ce1fbc8dd657a4bbcf26c683c9d07c88db83fd86"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed May 12 15:21:32 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 15:48:50 2010 -0700"
      },
      "message": "ceph: support v2 reconnect encoding\n\nEncode either old or v2 encoding of client_reconnect message, depending on\nwhether the peer has the FLOCK feature bit.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ce1fbc8dd657a4bbcf26c683c9d07c88db83fd86",
      "tree": "5ff998e85e35f6938cd316c2f9147c87a6a5faab",
      "parents": [
        "cbbfe499055f49c09210e04d9f88c2f483052384"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 15:09:39 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 15:48:49 2010 -0700"
      },
      "message": "ceph: support v2 client_caps encoding\n\nAdd support for v2 encoding of MClientCaps, which includes a flock blob.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "cbbfe499055f49c09210e04d9f88c2f483052384",
      "tree": "055a42f950c68b6ecd47f61a80fa15e813fdb381",
      "parents": [
        "73a7e693f9da464b0df07643af3f8ffc04dcc0b5"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 15:48:23 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 15:48:31 2010 -0700"
      },
      "message": "ceph: move AES iv definition to shared header\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "73a7e693f9da464b0df07643af3f8ffc04dcc0b5",
      "tree": "1e0e09dd0ee0390e4da8f2247187b283e48b228e",
      "parents": [
        "2d9c98ae97c18e8b1c363af6a2e51d5d9e8c5e04"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 11:00:55 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 02 11:10:07 2010 -0700"
      },
      "message": "ceph: fix decoding of pool snap info\n\nThe pool info contains a vector for snap_info_t, not snap ids.  This fixes\nthe broken decoding, which would declare teh update corrupt when a pool\nsnapshot was created.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "2d9c98ae97c18e8b1c363af6a2e51d5d9e8c5e04",
      "tree": "694895b1c66c7a1f382f8e7b6bc8c1b53165eab1",
      "parents": [
        "b8cd07e78eaa49857e882f4199309f86aeb80bbd"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jul 30 09:38:13 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:42 2010 -0700"
      },
      "message": "ceph: make -\u003esync_fs not wait if wait\u003d\u003d0\n\nThe -\u003esync_fs() super op only needs to wait if wait is true.  Otherwise,\njust get some dirty cap writeback started.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "b8cd07e78eaa49857e882f4199309f86aeb80bbd",
      "tree": "91999adddd919b9f47d69d71800ac33ac40077fd",
      "parents": [
        "effcb9ed43d16db27ae5837d93879e067e902151"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jul 16 12:00:02 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:42 2010 -0700"
      },
      "message": "ceph: warn on missing snap realm\n\nWell, this Shouldn\u0027t Happen, so it would be helpful to know the caller when\nit does.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "effcb9ed43d16db27ae5837d93879e067e902151",
      "tree": "bbcc99baff812d42a3bbaaa6a33a95ee3709e893",
      "parents": [
        "a8b763a9b34561fea8e616c1439a71913ff2c1bd"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jul 09 11:00:08 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:42 2010 -0700"
      },
      "message": "ceph: print useful error message when crush rule not found\n\nInclude the crush_ruleset in the error message.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a8b763a9b34561fea8e616c1439a71913ff2c1bd",
      "tree": "f8c90178e33cf7138296a9f36cf2cdc2d21d0408",
      "parents": [
        "f0b18d9f22ea4e50955945661b7e165a47705249"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jul 08 13:00:18 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:42 2010 -0700"
      },
      "message": "ceph: use %pU to print uuid (fsid)\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f0b18d9f22ea4e50955945661b7e165a47705249",
      "tree": "736393b3c0ba0d7e983f06882e31acd61cb75c44",
      "parents": [
        "5cd068c200795537fd78c423254389c8a07e2d20"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Jul 07 08:39:03 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:42 2010 -0700"
      },
      "message": "ceph: sync header defs with server code\n\nDefine ROLLBACK op, IFLOCK inode lock (for advisory file locking).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "5cd068c200795537fd78c423254389c8a07e2d20",
      "tree": "303f92b1eb74bca53ab7c9abb2f8701487ac3883",
      "parents": [
        "9688f19a188e5ef6ac8a4b6a5b17273028d1090e"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Jul 07 08:38:17 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:42 2010 -0700"
      },
      "message": "ceph: clean up header guards\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "9688f19a188e5ef6ac8a4b6a5b17273028d1090e",
      "tree": "8805232333bedef21e5ec46e1f5d8137aa4467d2",
      "parents": [
        "6a2593823ababdada2636398ac190931517b51cf"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jul 30 10:18:04 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:41 2010 -0700"
      },
      "message": "ceph: strip misleading/obsolete version, feature info\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "6a2593823ababdada2636398ac190931517b51cf",
      "tree": "7557b08cc90aa0d2c70ea5b0e6b22ff64a4c235d",
      "parents": [
        "c309f0ab26ca37663f368918553d02e90356c89d"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Jul 07 09:06:08 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:41 2010 -0700"
      },
      "message": "ceph: specify supported features in super.h\n\nSpecify the supported/required feature bits in super.h client code instead\nof using the definitions from the shared kernel/userspace headers (which\nwill go away shortly).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "c309f0ab26ca37663f368918553d02e90356c89d",
      "tree": "431be55e223cae146317fa46c94b7d9253d616a8",
      "parents": [
        "e0f9f9ee8f6cb60fe49e32e1df790a698ce0840c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Jun 30 21:34:01 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:41 2010 -0700"
      },
      "message": "ceph: clean up fsid mount option\n\nSpecify the fsid mount option in hex, not via the major/minor u64 hackery we had\nbefore.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e0f9f9ee8f6cb60fe49e32e1df790a698ce0840c",
      "tree": "a943edfd909954c5e62415c184f1ba850bb1b681",
      "parents": [
        "e55b71f802fd448a79275ba7b263fe1a8639be5f"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Jun 30 12:45:29 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:41 2010 -0700"
      },
      "message": "ceph: remove unused \u0027monport\u0027 mount option\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e55b71f802fd448a79275ba7b263fe1a8639be5f",
      "tree": "fa17d2b0fbf1bc5e76a5e9ddac6c19a6bbe8d2bc",
      "parents": [
        "2bc50259fa0aa1868f8b2ba1d374406cb3c57f72"
      ],
      "author": {
        "name": "Greg Farnum",
        "email": "gregf@hq.newdream.net",
        "time": "Tue Jun 22 15:58:01 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:41 2010 -0700"
      },
      "message": "ceph: handle ESTALE properly; on receipt send to authority if it wasn\u0027t\n\nSigned-off-by: Greg Farnum \u003cgregf@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "2bc50259fa0aa1868f8b2ba1d374406cb3c57f72",
      "tree": "0c8d510478866b4fdeafeb7953395226f0b8fb25",
      "parents": [
        "154f42c2c3c3b66a7a63dad5648e8a9860a32af9"
      ],
      "author": {
        "name": "Greg Farnum",
        "email": "gregf@hq.newdream.net",
        "time": "Wed Jun 30 12:44:34 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:41 2010 -0700"
      },
      "message": "ceph: add ceph_get_cap_for_mds function.\n\nSigned-off-by: Greg Farnum \u003cgregf@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "154f42c2c3c3b66a7a63dad5648e8a9860a32af9",
      "tree": "408beec027a62dcb67f212b07590039aea22866b",
      "parents": [
        "cb170a22153730eb9c82b6c85ead2001dba6c41a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jun 21 13:45:04 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:41 2010 -0700"
      },
      "message": "ceph: connect to export targets on cap export\n\nWhen we get a cap EXPORT message, make sure we are connected to all export\ntargets to ensure we can handle the matching IMPORT.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "cb170a22153730eb9c82b6c85ead2001dba6c41a",
      "tree": "d5a4d6135fae1fda0f033c206237f54567cad707",
      "parents": [
        "ed0552a1a21d2f2692b84c366ce04ad17377780c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jun 21 13:38:35 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:40 2010 -0700"
      },
      "message": "ceph: connect to export targets if mds is laggy\n\nIf an MDS we are talking to may have failed, we need to open sessions to\nits potential export targets to ensure that any in-progress migration that\nmay have involved some of our caps is properly handled.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ed0552a1a21d2f2692b84c366ce04ad17377780c",
      "tree": "ac660be5e7e6dae6a50c96a3ef7ce633bf550f41",
      "parents": [
        "796d6955a51ce6768d0e033f27a2f8f5be6cb39a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jun 21 13:38:25 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:40 2010 -0700"
      },
      "message": "ceph: introduce helper to connect to mds export targets\n\nThere are a few cases where we need to open sessions with a given mds\u0027s\npotential export targets.\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": "37151668bad3fd058368752bee476f2ba3645596",
      "tree": "6eeae77dfa1c758ff03659b5677f474a72fbe7c0",
      "parents": [
        "0deb01c9998f8112c5e478e3fe3a930131abbc0a"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Thu Jun 17 16:16:12 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:40 2010 -0700"
      },
      "message": "ceph: do caps accounting per mds_client\n\nCaps related accounting is now being done per mds client instead\nof just being global. This prepares ground work for a later revision\nof the caps preallocated reservation list.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "0deb01c9998f8112c5e478e3fe3a930131abbc0a",
      "tree": "1b98a08ce630949268c4f26d5f232d07acb5c7ba",
      "parents": [
        "cd84db6e4051a9fb7941d49d31a0193a3371fd61"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 17 14:19:01 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:40 2010 -0700"
      },
      "message": "ceph: track laggy state of mds from mdsmap\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "cd84db6e4051a9fb7941d49d31a0193a3371fd61",
      "tree": "beb657b2cc6b4184d97a85502b29a291616a83ab",
      "parents": [
        "ca81f3f6bd759f90a4b940cddda1f8bc61a7725a"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Fri Jun 11 16:58:48 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:40 2010 -0700"
      },
      "message": "ceph: code cleanup\n\nMainly fixing minor issues reported by sparse.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ca81f3f6bd759f90a4b940cddda1f8bc61a7725a",
      "tree": "77b0f3a45d48303246f26e85b3945916f388805a",
      "parents": [
        "3b454c4945c756686e91d77eeefac80cb5d21baf"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 10 14:21:36 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:39 2010 -0700"
      },
      "message": "ceph: skip if no auth cap in flush_snaps\n\nIf we have a capsnap but no auth cap (e.g. because it is migrating to\nanother mds), bail out and do nothing for now.  Do NOT remove the capsnap\nfrom the flush list.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "3b454c4945c756686e91d77eeefac80cb5d21baf",
      "tree": "bd55ec2db3c234cf2fb1eebcf1ace3e4b9e2bc35",
      "parents": [
        "38e8883ee31667d901feb9106f4863af35948c91"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 10 13:20:33 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:39 2010 -0700"
      },
      "message": "ceph: simplify caps revocation, fix for multimds\n\nThe caps revocation should either initiate writeback, invalidateion, or\ncall check_caps to ack or do the dirty work.  The primary question is\nwhether we can get away with only checking the auth cap or whether all\ncaps need to be checked.\n\nThe old code was doing...something else.  At the very least, revocations\nfrom non-auth MDSs could break by triggering the \"check auth cap only\"\ncase.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "38e8883ee31667d901feb9106f4863af35948c91",
      "tree": "2b36df7cde625b72a43adf9d6ad998a46b8c5b04",
      "parents": [
        "ee6b272b9c3447a78fa831e37b925aefd5587ec9"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 10 12:57:11 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:39 2010 -0700"
      },
      "message": "ceph: simplify add_cap_releases\n\nNo functional change, aside from more useful debug output.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ee6b272b9c3447a78fa831e37b925aefd5587ec9",
      "tree": "fcb7c31794908d89760fef635ee2a52b1c338fa1",
      "parents": [
        "2962507ca204f886967e1a089d9bec206d427c22"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 10 12:55:52 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:39 2010 -0700"
      },
      "message": "ceph: drop unused argument\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "2962507ca204f886967e1a089d9bec206d427c22",
      "tree": "e9cec16b13ad1d8e41c288658e62fb3bf1c66859",
      "parents": [
        "33caad324b88f75f42d836735d86feaafb3b40cf"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 27 10:40:43 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:39 2010 -0700"
      },
      "message": "ceph: perform lazy reads when file mode and caps permit\n\nIf the file mode is marked as \"lazy,\" perform cached/buffered reads when\nthe caps permit it.  Adjust the rdcache_gen and invalidation logic\naccordingly so that we manage our cache based on the FILE_CACHE -or-\nFILE_LAZYIO cap bits.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "33caad324b88f75f42d836735d86feaafb3b40cf",
      "tree": "57e50ce5bdc181ea296191784c4d57999c51207e",
      "parents": [
        "8c6e9229fc1989cf263a6fcd4ff406d7f473f966"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed May 26 14:31:27 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:39 2010 -0700"
      },
      "message": "ceph: perform lazy writes when file mode and caps permit\n\nIf we have marked a file as \"lazy\" (using the ceph ioctl), perform buffered\nwrites when the MDS caps allow it.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "8c6e9229fc1989cf263a6fcd4ff406d7f473f966",
      "tree": "6402204aae50b0590df39289ed1e533472ee6ca1",
      "parents": [
        "84d9509234c46481aded977193fcf23f892d715f"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Apr 16 09:53:43 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:39 2010 -0700"
      },
      "message": "ceph: add LAZYIO ioctl to mark a file description for lazy consistency\n\nAllow an application to mark a file descriptor for lazy file consistency\nsemantics, allowing buffered reads and writes when multiple clients are\naccessing the same file.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "84d9509234c46481aded977193fcf23f892d715f",
      "tree": "a79cdd09126323064b49ac00c2aa1a39733675d1",
      "parents": [
        "9fe6206f400646a2322096b56c59891d530e8d51"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 25 16:46:24 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Aug 01 20:11:38 2010 -0700"
      },
      "message": "ceph: request FILE_LAZYIO cap when LAZY file mode is set\n\nAlso clean up the file flags -\u003e file mode -\u003e wanted caps functions while\nwe\u0027re at it.  This resyncs this file with userspace.\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": "25848b3ec681c7018e3746dd850c1e8ed0a3dd6b",
      "tree": "5e3c4a3af1178c44740aae781ac9d2f71769c02d",
      "parents": [
        "1dadcce358a4c4078e1ea0bc4365c3f67b8e373e"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Sat Jul 24 06:41:18 2010 -0400"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat Jul 24 21:36:07 2010 -0700"
      },
      "message": "ceph: Correct obvious typo of Kconfig variable \"CRYPTO_AES\"\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "1dadcce358a4c4078e1ea0bc4365c3f67b8e373e",
      "tree": "01e2bc98db97884a5c039a185612a878c199a1aa",
      "parents": [
        "8c696737aa61316a252c4514d09dd163f1464d33"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jul 23 13:54:21 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jul 23 13:54:21 2010 -0700"
      },
      "message": "ceph: fix dentry lease release\n\nWhen we embed a dentry lease release notification in a request, invalidate\nour lease so we don\u0027t think we still have it.  Otherwise we can get all\nsorts of incorrect client behavior when multiple clients are interacting\nwith the same part of the namespace.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "8c696737aa61316a252c4514d09dd163f1464d33",
      "tree": "8f130d45380ac3f8bd897bf78bc7650c1bbb41b5",
      "parents": [
        "bc4fdca85734d12cd2c7a25c52323ef6e6e5adef"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jul 22 14:11:56 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jul 23 10:02:07 2010 -0700"
      },
      "message": "ceph: fix leak of dentry in ceph_init_dentry() error path\n\nIf we fail to allocate a ceph_dentry_info, don\u0027t leak the dn reference.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "bc4fdca85734d12cd2c7a25c52323ef6e6e5adef",
      "tree": "64063d3fc8e39dd22d1621c7e30b184585bfdaf2",
      "parents": [
        "252af5214682191e34e57204e1a31924fb82c207"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 20 16:19:56 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jul 23 10:02:06 2010 -0700"
      },
      "message": "ceph: fix pg_mapping leak on pg_temp updates\n\nFree the ceph_pg_mapping structs when they are removed from the pg_temp\nrbtree.  Also fix a leak in the __insert_pg_mapping() error path.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "252af5214682191e34e57204e1a31924fb82c207",
      "tree": "56834ab133d2b466b35dfff0abd4db71a9f658ad",
      "parents": [
        "a0dff78dab0ff8d78bd5c9e33c105cf1292f2282"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jul 22 13:49:08 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jul 23 10:02:05 2010 -0700"
      },
      "message": "ceph: fix d_release dop for snapdir, snapped dentries\n\nWe need to set the d_release dop for snapdir and snapped dentries so that\nthe ceph_dentry_info struct gets released.  We also use the dcache to\ncache readdir results when possible, which only works if we know when\ndentries are dropped from the cache.  Since we don\u0027t use the dcache for\nreaddir in the hidden snapdir, avoid that case in ceph_dentry_release.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a0dff78dab0ff8d78bd5c9e33c105cf1292f2282",
      "tree": "70e63198ffd47f391b804e6d8303778cf514e581",
      "parents": [
        "b37fa16e78d6f9790462b3181602a26b5af36260"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jul 22 13:47:21 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jul 22 13:50:45 2010 -0700"
      },
      "message": "ceph: avoid dcache readdir for snapdir\n\nWe should always go to the MDS for readdir on the hidden snapdir.  The\nset of snapshots can change at any time; the client can\u0027t trust its cache\nfor that.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e979cf50395e24c4bdd489f60e2d5dd5ae66d255",
      "tree": "5d26b26b4b7eb9bed0812800ea4d2d5704c5eaa3",
      "parents": [
        "01a92f174f8a3b99dbb5e02c86e7ee1e576737af"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jul 15 14:58:39 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jul 16 10:30:18 2010 -0700"
      },
      "message": "ceph: do not include cap/dentry releases in replayed messages\n\nStrip the cap and dentry releases from replayed messages.  They can\ncause the shared state to get out of sync because they were generated\n(with the request message) earlier, and no longer reflect the current\nclient state.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "01a92f174f8a3b99dbb5e02c86e7ee1e576737af",
      "tree": "ad478397d935b4b09340408cbacf8c6d35dee9d1",
      "parents": [
        "f91d3471ccf1ca9a795f46c94b1ded8dd219940c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jul 15 13:24:32 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jul 16 10:30:17 2010 -0700"
      },
      "message": "ceph: reuse request message when replaying against recovering mds\n\nReplayed rename operations (after an mds failure/recovery) were broken\nbecause the request paths were regenerated from the dentry names, which\nget mangled when d_move() is called.\n\nInstead, resend the previous request message when replaying completed\noperations.  Just make sure the REPLAY flag is set and the target ino is\nfilled in.\n\nThis fixes problems with workloads doing renames when the MDS restarts,\nwhere the rename operation appears to succeed, but on mds restart then\nfails (leading to client confusion, app breakage, etc.).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f91d3471ccf1ca9a795f46c94b1ded8dd219940c",
      "tree": "7a8d496d69ad9dd7a206183d11f5719b7161e6a7",
      "parents": [
        "39139f64e14684cf2370770deb79d929d27cfd9b"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jul 01 15:18:31 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jul 09 15:00:20 2010 -0700"
      },
      "message": "ceph: fix creation of ipv6 sockets\n\nUse the address family from the peer address instead of assuming IPv4.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "39139f64e14684cf2370770deb79d929d27cfd9b",
      "tree": "7ea80cd49b3afd0816eacf7fbf191647c44d5661",
      "parents": [
        "d06dbaf6c2c7187938f3f6745d9e4938a2d0ec47"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jul 08 09:54:52 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jul 09 15:00:18 2010 -0700"
      },
      "message": "ceph: fix parsing of ipv6 addresses\n\nCheck for brackets around the ipv6 address to avoid ambiguity with the port\nnumber.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "d06dbaf6c2c7187938f3f6745d9e4938a2d0ec47",
      "tree": "472cfd72bcc15d7a7323a58a8698bab6ec7f33f1",
      "parents": [
        "b0bbb0be8f7fbf6d366b359e034c78a96c4e274d"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jul 08 10:47:16 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jul 08 16:49:53 2010 -0700"
      },
      "message": "ceph: fix printing of ipv6 addrs\n\nThe buffer was too small.  Make it bigger, use snprintf(), put brackets\naround the ipv6 address to avoid mixing it up with the :port, and use the\never-so-handy %pI[46] formats.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "b0bbb0be8f7fbf6d366b359e034c78a96c4e274d",
      "tree": "cc3f2c6c33a49eae3880165def5a13e1af23b0ed",
      "parents": [
        "22b1de06c9fe128ca3de72560c3e8c2cabf2927a"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Jul 08 14:49:38 2010 +0200"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jul 08 08:03:24 2010 -0700"
      },
      "message": "ceph: add kfree() to error path\n\nWe leak a \"pi\" on this error path.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "22b1de06c9fe128ca3de72560c3e8c2cabf2927a",
      "tree": "e8f711819f4430e8da584b3bbaba0bd6227d7edd",
      "parents": [
        "ed98adad3d87594c55347824e85137d1829c9e70"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jul 05 15:36:49 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jul 05 15:36:49 2010 -0700"
      },
      "message": "ceph: fix leak of mon authorizer\n\nFix leak of a struct ceph_buffer on umount.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ed98adad3d87594c55347824e85137d1829c9e70",
      "tree": "b22414183f7eff1ac1ba606a3ebf2357f0876b4c",
      "parents": [
        "153a10939ea6e42e9c0115b0645060d0d7bb4697"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jul 05 12:15:14 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jul 05 12:16:23 2010 -0700"
      },
      "message": "ceph: fix message revocation\n\nA message can be on a queue (pending or sent), or out_msg (sending), or\nboth.  We were assuming that if it\u0027s not on a queue it couldn\u0027t be out_msg,\nbut that was false in the case of lossy connections like the OSD.  Fix\nceph_con_revoke() to treat these cases independently.  Also, fix the\nout_kvec_is_message check to only trigger if we are currently sending\n_this_ message.\n\nThis fixes a GPF in tcp_sendpage, triggered by OSD restarts.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "153a10939ea6e42e9c0115b0645060d0d7bb4697",
      "tree": "6d6362aebbe5e0450c0bb1eed27cdb4cee420f2a",
      "parents": [
        "443b3760a06860187f135c1ecd56c2c7d4ad1022"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jul 05 09:44:17 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jul 05 09:44:17 2010 -0700"
      },
      "message": "ceph: fix crush device \u0027out\u0027 threshold to 1.0, not 0.1\n\nFix a typo that made any OSD weighted between 0.1 and 1.0 effectively\nweighted as 1.0 (fully in).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "443b3760a06860187f135c1ecd56c2c7d4ad1022",
      "tree": "d6a3ec8b77f133066bd7795acca33f461eee821a",
      "parents": [
        "ec97f88ba6d4256927fde516033ee76d5d85b54a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jun 29 09:28:39 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jun 29 09:31:56 2010 -0700"
      },
      "message": "ceph: fix caps usage accounting for import (non-reserved) case\n\nWe need to increase the total and used counters when allocating a new cap\nin the non-reserved (cap import) case.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ec97f88ba6d4256927fde516033ee76d5d85b54a",
      "tree": "0df9cb10364afdb9092a089ba0da4a15f3c25a06",
      "parents": [
        "a1a31e734241aefcb2b30fb0cc0376977b6d2ba8"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 24 15:12:37 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jun 29 09:31:55 2010 -0700"
      },
      "message": "ceph: only release clean, unused caps with mds requests\n\nWe can drop caps with an mds request.  Ensure we only drop unused AND\nclean caps, since the MDS doesn\u0027t support cap writeback in that context,\nnor do we track it.  If caps are dirty, and the MDS needs them back, we\nit will revoke and we will flush in the normal fashion.\n\nThis fixes a possibly loss of metadata.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a1a31e734241aefcb2b30fb0cc0376977b6d2ba8",
      "tree": "3247b61cf5f1cc3efb212e0362493f98f326e4ff",
      "parents": [
        "55bda7aacd13f5fdfeaafc16934953171405c692"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 24 12:58:14 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 24 12:58:14 2010 -0700"
      },
      "message": "ceph: fix crush CHOOSE_LEAF when type is already a leaf\n\nWe may not recurse for CHOOSE_LEAF if we start with a leaf node.  When\nthat happens, the out2 vector needs to be filled in with the result.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "55bda7aacd13f5fdfeaafc16934953171405c692",
      "tree": "0eac30a53266f636589e4b6220409289d068625a",
      "parents": [
        "bfaf148eb2e42c00f1c79b2163f0804068ea0c5e"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 24 12:55:48 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 24 12:55:48 2010 -0700"
      },
      "message": "ceph: fix crush recursion\n\nThere was a longstanding problem with recursion through intervening\nbucket types on complex hierarchies.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "bfaf148eb2e42c00f1c79b2163f0804068ea0c5e",
      "tree": "8d6b4dfcc42cd156bc80f0db472e9b3988edcd1b",
      "parents": [
        "17c688c3dfffc274c87be00033da0050bb6eefc0"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Wed Jun 23 15:52:27 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 24 09:47:36 2010 -0700"
      },
      "message": "ceph: fix caps debugfs entry\n\nThe ceph client structure was not set correctly.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "17c688c3dfffc274c87be00033da0050bb6eefc0",
      "tree": "1b1586253abf6850c9746235462d71e14e57f243",
      "parents": [
        "d69ed05a80f23b25f06e73af9b7e701ce4900edc"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jun 21 16:12:26 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jun 21 16:11:50 2010 -0700"
      },
      "message": "ceph: delay umount until all mds requests drop inode+dentry refs\n\nThis fixes a race between handle_reply finishing an mds request, signalling\ncompletion, and then dropping the request structing and its dentry+inode\nrefs, and pre_umount function waiting for requests to finish before\nletting the vfs tear down the dcache.  If umount was delayed waiting for\nmds requests, we could race and BUG in shrink_dcache_for_umount_subtree\nbecause of a slow dput.\n\nThis delays umount until the msgr queue flushes, which means handle_reply\nwill exit and will have dropped the ceph_mds_request struct.  I\u0027m assuming\nthe VFS has already ensured that its calls have all completed and those\nrequest refs have thus been dropped as well (I haven\u0027t seen that race, at\nleast).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "d69ed05a80f23b25f06e73af9b7e701ce4900edc",
      "tree": "dfe4d372b1c2bb66a71d13d6bf8a22758640ddd0",
      "parents": [
        "cebc5be6b6c82a99231e9c9af451e9e3d3399ec6"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jun 21 10:38:14 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Jun 21 16:04:10 2010 -0700"
      },
      "message": "ceph: handle splice_dentry/d_materialize_unique error in readdir_prepopulate\n\nHandle a splice_dentry failure (due to a d_materialize_unique error)\nwithout crashing.  (Also, report the error code.)\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "cebc5be6b6c82a99231e9c9af451e9e3d3399ec6",
      "tree": "5899be89ac6396cb38ca938f922ef0a8ab57d3b3",
      "parents": [
        "ae32be31341a5fecfa16c5b3eb78095207182cce"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 17 10:22:48 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 17 10:22:48 2010 -0700"
      },
      "message": "ceph: fix crush map update decoding\n\nIf the incremental osdmap has a new crush map, advance the position after\ndecoding so that we can parse the rest of the osdmap properly.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ae32be31341a5fecfa16c5b3eb78095207182cce",
      "tree": "1fb056abaab9a6ca5f593dba6237f6ebc0f6135c",
      "parents": [
        "4a32f93d29b05cdab63c0e2979bc1524c8ea6bf5"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Jun 13 10:30:19 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Jun 13 10:34:36 2010 -0700"
      },
      "message": "ceph: fix message memory leak, uninitialized variable\n\nWe need to properly initialize skip, as not all alloc_msg op instances\nset it.\n\nAlso, BUG if someone says skip but also allocates a message.\n\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": "0cf5537b158caae42bcc03f0f6db10f68585b1ec",
      "tree": "a64e764eff79981bbcac289e33f8022096be0cbe",
      "parents": [
        "7e27d6e778cd87b6f2415515d7127eba53fe5d02"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Fri Jun 11 15:57:06 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Jun 13 10:34:36 2010 -0700"
      },
      "message": "ceph: some endianity fixes\n\nFix some problems that came up with sparse.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "2b2300d62ea413bec631d5b880effa2cc5363acb",
      "tree": "50707a1b8a547d781dc23fd830c23d580671c8a8",
      "parents": [
        "3d7ded4d81d807c2f75f310a8d74a5d72be13a1b"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Jun 09 16:52:04 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 10 13:30:25 2010 -0700"
      },
      "message": "ceph: try to send partial cap release on cap message on missing inode\n\nIf we have enough memory to allocate a new cap release message, do so, so\nthat we can send a partial release message immediately.  This keeps us from\nmaking the MDS wait when the cap release it needs is in a partially full\nrelease message.\n\nIf we fail because of ENOMEM, oh well, they\u0027ll just have to wait a bit\nlonger.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "3d7ded4d81d807c2f75f310a8d74a5d72be13a1b",
      "tree": "c633b938f72dcd39c84f2430c7d4025331ab4369",
      "parents": [
        "9dbd412f56c453f15014396c6024b895c1485ccb"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Jun 09 16:47:10 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 10 13:30:07 2010 -0700"
      },
      "message": "ceph: release cap on import if we don\u0027t have the inode\n\nIf we get an IMPORT that give us a cap, but we don\u0027t have the inode, queue\na release (and try to send it immediately) so that the MDS doesn\u0027t get\nstuck waiting for us.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "9dbd412f56c453f15014396c6024b895c1485ccb",
      "tree": "633dc3b97a73f3cc131d6640a9d58806bbb359ce",
      "parents": [
        "00d5643e7c5ed4ae1bb0b385fe2f41bb951cc3cd"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 10 13:21:20 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 10 13:29:59 2010 -0700"
      },
      "message": "ceph: fix misleading/incorrect debug message\n\nNothing is released here: the caps message is simply ignored in this case.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "00d5643e7c5ed4ae1bb0b385fe2f41bb951cc3cd",
      "tree": "5bfc31767da9d3a987be9ff117d366bfa8d73415",
      "parents": [
        "1e5ea23df11c7c90c7e7268dd3a6603bfa5aadf7"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Thu Jun 10 11:13:58 2010 -0400"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jun 10 13:29:50 2010 -0700"
      },
      "message": "ceph: fix atomic64_t initialization on ia64\n\nbdi_seq is an atomic_long_t but we\u0027re using ATOMIC_INIT, which causes\n build failures on ia64. This patch fixes it to use ATOMIC_LONG_INIT.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "1e5ea23df11c7c90c7e7268dd3a6603bfa5aadf7",
      "tree": "d7a09a153c3b00add2eee343d8584bc90b1cb848",
      "parents": [
        "558d3499bd059d4534b1f2b69dc1c562acc733fe"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jun 04 10:05:40 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jun 04 10:05:40 2010 -0700"
      },
      "message": "ceph: fix lease revocation when seq doesn\u0027t match\n\nIf the client revokes a lease with a higher seq than what we have, keep\nthe mds\u0027s seq, so that it honors our release.  Otherwise, we can hang\nindefinitely.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "558d3499bd059d4534b1f2b69dc1c562acc733fe",
      "tree": "6a8a46b1b8a0588506160624cffebed157a4455e",
      "parents": [
        "205475679a74fe40b63a1c7f41110fdb64daa8b9"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jun 01 12:51:12 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jun 01 16:56:03 2010 -0700"
      },
      "message": "ceph: fix f_namelen reported by statfs\n\nWe were setting f_namelen in kstatfs to PATH_MAX instead of NAME_MAX.\nThat disagrees with ceph_lookup behavior (which checks against NAME_MAX),\nand also makes the pjd posix test suite spit out ugly errors because with\ncan\u0027t clean up its temporary files.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "205475679a74fe40b63a1c7f41110fdb64daa8b9",
      "tree": "08c40894f919e89d37df0ca9a27bffb209912a15",
      "parents": [
        "13a4214cd9ec14d7b77e98bd3ee51f60f868a6e5"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Tue Jun 01 10:37:40 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jun 01 16:56:02 2010 -0700"
      },
      "message": "ceph: fix memory leak in statfs\n\nFreeing the statfs request structure when required.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "13a4214cd9ec14d7b77e98bd3ee51f60f868a6e5",
      "tree": "baf741b4b80b169994591870106a39a885b55a68",
      "parents": [
        "67a3e12b05e055c0415c556a315a3d3eb637e29e"
      ],
      "author": {
        "name": "Henry C Chang",
        "email": "henry_c_chang@tcloudcomputing.com",
        "time": "Tue Jun 01 11:31:08 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jun 01 16:55:55 2010 -0700"
      },
      "message": "ceph: fix d_subdirs ordering problem\n\nWe misused list_move_tail() to order the dentry in d_subdirs.\nThis will screw up the d_subdirs order.\n\nThis bug can be reliably reproduced by:\n1. mount ceph fs.\n2. on ceph fs, git clone git://ceph.newdream.net/git/ceph.git\n3. Run autogen.sh in ceph directory.\n(Note: Errors only occur at the first time you run autogen.sh.)\n\nSigned-off-by: Henry C Chang \u003chenry_c_chang@tcloudcomputing.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "b612a0553714c6b9744ad0d03f10cac78f3a84b1",
      "tree": "9dfb5cb5d13c187ff1f54448f8441512203625d0",
      "parents": [
        "52b0ace7dfe8f70350218017a95d7cab1eb41fbb",
        "2a8e5e3637e2fc058798f5d3626f525729ffaaaf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 08:56:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 08:56:39 2010 -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  ceph: clean up on forwarded aborted mds request\n  ceph: fix leak of osd authorizer\n  ceph: close out mds, osd connections before stopping auth\n  ceph: make lease code DN specific\n  fs/ceph: Use ERR_CAST\n  ceph: renew auth tickets before they expire\n  ceph: do not resend mon requests on auth ticket renewal\n  ceph: removed duplicated #includes\n  ceph: avoid possible null dereference\n  ceph: make mds requests killable, not interruptible\n  sched: add wait_for_completion_killable_timeout\n"
    },
    {
      "commit": "2a8e5e3637e2fc058798f5d3626f525729ffaaaf",
      "tree": "fc35ac8b29813050cf5199574646106da171a88f",
      "parents": [
        "79494d1b9b92259eb40ea6e939ba5aff4b8de5f1"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 28 16:43:16 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:42:05 2010 -0700"
      },
      "message": "ceph: clean up on forwarded aborted mds request\n\nIf an mds request is aborted (timeout, SIGKILL), it is left registered to\nkeep our state in sync with the mds.  If we get a forward notification,\nthough, we know the request didn\u0027t succeed and we can unregister it\nsafely.  We were trying to resend it, but then bailing out (and not\nunregistering) in __do_request.\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": "a922d38fd10d55d5033f10df15baf966e8f5b18c",
      "tree": "306f73dedd5482f09bdac6dc9ecb5285f95b316f",
      "parents": [
        "dd1c9057366f329911180e9000e2b425f23fc287"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:41:23 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:42:03 2010 -0700"
      },
      "message": "ceph: close out mds, osd connections before stopping auth\n\nThe auth module (part of the mon_client) is needed to free any\nceph_authorizer(s) used by the mds and osd connections.  Flush the msgr\nworkqueue before stopping monc to ensure that the destroy_authorizer\nauth op is available when those connections are closed out.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "dd1c9057366f329911180e9000e2b425f23fc287",
      "tree": "719ad55ef41a86aaa98419ade71b005306456ed6",
      "parents": [
        "7e34bc524ecae3a04d8cc427ee76ddad826a937b"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 25 16:45:25 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:42 2010 -0700"
      },
      "message": "ceph: make lease code DN specific\n\nThe lease code includes a mask in the CEPH_LOCK_* namespace, but that\nnamespace is changing, and only one mask (formerly _DN \u003d\u003d 1) is used, so\nhard code for that value for now.\n\nIf we ever extend this code to handle leases over different data types we\ncan extend it accordingly.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "7e34bc524ecae3a04d8cc427ee76ddad826a937b",
      "tree": "5065eb0e287e450aef2d8e03e3a18d8f895a4c9e",
      "parents": [
        "a41359fa355e7b450c610ed8e913d5d75c3c9c3b"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sat May 22 12:01:14 2010 +0200"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:41 2010 -0700"
      },
      "message": "fs/ceph: Use ERR_CAST\n\nUse ERR_CAST(x) rather than ERR_PTR(PTR_ERR(x)).  The former makes more\nclear what is the purpose of the operation, which otherwise looks like a\nno-op.\n\nIn the case of fs/ceph/inode.c, ERR_CAST is not needed, because the type of\nthe returned value is the same as the type of the enclosing function.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\ntype T;\nT x;\nidentifier f;\n@@\n\nT f (...) { \u003c+...\n- ERR_PTR(PTR_ERR(x))\n+ x\n ...+\u003e }\n\n@@\nexpression x;\n@@\n\n- ERR_PTR(PTR_ERR(x))\n+ ERR_CAST(x)\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": "a41359fa355e7b450c610ed8e913d5d75c3c9c3b",
      "tree": "6dc6681f4350f0888ddcb55b5a21326069c200b2",
      "parents": [
        "09c4d6a7d40dd26c1b35674c582382b7ea551368"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 25 15:39:06 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:39 2010 -0700"
      },
      "message": "ceph: renew auth tickets before they expire\n\nWe were only requesting renewal after our tickets expire; do so before\nthat.  Most of the low-level logic for this was already there; just use\nit.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "09c4d6a7d40dd26c1b35674c582382b7ea551368",
      "tree": "b3afda46b0342ea3e87980b5bb2f6148ce119414",
      "parents": [
        "984c76908efd3c6795aa03dff16a8fc3496af99f"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 25 15:38:06 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:38 2010 -0700"
      },
      "message": "ceph: do not resend mon requests on auth ticket renewal\n\nWe only want to send pending mon requests when we successfully\nauthenticate.  If we are already authenticated, like when we renew our\nticket, there is no need to resend pending requests.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "984c76908efd3c6795aa03dff16a8fc3496af99f",
      "tree": "99b0e7bd4016036fb445809c73e722a1e94d94a2",
      "parents": [
        "e95e9a7ae4c1e7655a0438579f891b3c60178d77"
      ],
      "author": {
        "name": "Andrea Gelmini",
        "email": "andrea.gelmini@gelma.net",
        "time": "Sun May 23 21:47:58 2010 +0200"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:37 2010 -0700"
      },
      "message": "ceph: removed duplicated #includes\n\nfs/ceph/auth.c: linux/slab.h is included more than once.\nfs/ceph/super.h: linux/slab.h is included more than once.\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrea Gelmini \u003candrea.gelmini@gelma.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e95e9a7ae4c1e7655a0438579f891b3c60178d77",
      "tree": "7704aabe47fe7ad8347717b4b6e2b58224b78d9b",
      "parents": [
        "aa91647c898d62e869fcf35e977ab3c533be8fc1"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 25 09:24:42 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:36 2010 -0700"
      },
      "message": "ceph: avoid possible null dereference\n\nac-\u003eops may be null; use protocol id in error message instead.\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "aa91647c898d62e869fcf35e977ab3c533be8fc1",
      "tree": "6a5ff908ecb2732d891baa4bac52b5690130e887",
      "parents": [
        "0aa12fb439838a85802ab8b7fbb9bcfc3e6e05cb"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 24 11:15:51 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:35 2010 -0700"
      },
      "message": "ceph: make mds requests killable, not interruptible\n\nThe underlying problem is that many mds requests can\u0027t be restarted.  For\nexample, a restarted create() would return -EEXIST if the original request\nsucceeds.  However, we do not want a hung MDS to hang the client too.  So,\nuse the _killable wait_for_completion variants to abort on SIGKILL but\nnothing else.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "7ea8085910ef3dd4f3cad6845aaa2b580d39b115",
      "tree": "d9c1edb5906f943f7d70bfb4b65106e29772d379",
      "parents": [
        "cc967be54710d97c05229b2e5ba2d00df84ddd64"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:25 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:05:02 2010 -0400"
      },
      "message": "drop unused dentry argument to -\u003efsync\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6e188240ebc2a132d70924942d7c8b9acb46e11a",
      "tree": "7628df39f9c1d60a639504faaf6b5941b2c4b4ae",
      "parents": [
        "62a11ae3405b6da2535d28e5facc2de5af4a7e62",
        "240ed68eb567d80dd6bab739341999a5ab0ad55d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:37:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:37:52 2010 -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: (59 commits)\n  ceph: reuse mon subscribe message instead of allocated anew\n  ceph: avoid resending queued message to monitor\n  ceph: Storage class should be before const qualifier\n  ceph: all allocation functions should get gfp_mask\n  ceph: specify max_bytes on readdir replies\n  ceph: cleanup pool op strings\n  ceph: Use kzalloc\n  ceph: use common helper for aborted dir request invalidation\n  ceph: cope with out of order (unsafe after safe) mds reply\n  ceph: save peer feature bits in connection structure\n  ceph: resync headers with userland\n  ceph: use ceph. prefix for virtual xattrs\n  ceph: throw out dirty caps metadata, data on session teardown\n  ceph: attempt mds reconnect if mds closes our session\n  ceph: clean up send_mds_reconnect interface\n  ceph: wait for mds OPEN reply to indicate reconnect success\n  ceph: only send cap releases when mds is OPEN|HUNG\n  ceph: dicard cap releases on mds restart\n  ceph: make mon client statfs handling more generic\n  ceph: drop src address(es) from message header [new protocol feature]\n  ...\n"
    },
    {
      "commit": "240ed68eb567d80dd6bab739341999a5ab0ad55d",
      "tree": "fabd30d0897a30fa401f85e858f8aecdedb02959",
      "parents": [
        "970690012c572fc3b7be532080564b730f6a9c02"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 21 14:57:25 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 21 16:26:11 2010 -0700"
      },
      "message": "ceph: reuse mon subscribe message instead of allocated anew\n\nUse the same message, allocated during startup.  No need to reallocate a\nnew one each time around (and potentially ENOMEM).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "8018ab057480974e7f26a387bf4ce040e9a5f6f1",
      "tree": "98298180bf60797a028eca4f24234dc67d38a9d4",
      "parents": [
        "e970a573ce30a3976234dcfb67906c164b0df9ee"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Mar 22 17:32:25 2010 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 21 18:31:21 2010 -0400"
      },
      "message": "sanitize vfs_fsync calling conventions\n\nNow that the last user passing a NULL file pointer is gone we can remove\nthe redundant dentry argument and associated hacks inside vfs_fsynmc_range.\n\nThe next step will be removig the dentry argument from -\u003efsync, but given\nthe luck with the last round of method prototype changes I\u0027d rather\ndefer this until after the main merge window.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3981f2e2a04df4b95129ddbb8bb869ef1d57bea9",
      "tree": "56b59b8e02b8a505f70126cbe98b81a6c798de83",
      "parents": [
        "2ccde7c631f992bf79da8007b5fc8b6425eb0d6d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 21 19:22:29 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 21 18:31:13 2010 -0400"
      },
      "message": "ceph: should use deactivate_locked_super() on failure exits\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "970690012c572fc3b7be532080564b730f6a9c02",
      "tree": "07fcab8e6e374e175aa964a33b5d8a2c36dc76a8",
      "parents": [
        "9e32789f63fc5ad91c8b10f68ec23a86856d5af5"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 21 12:31:49 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 21 15:01:22 2010 -0700"
      },
      "message": "ceph: avoid resending queued message to monitor\n\nThe auth_reply handler will (re)send any pending requests.  For the\ninitial mon authenticate phase, that\u0027s correct, but when a auth ticket\nrenewal races with an in-flight request, we may resend a request message\nthat is already in flight.  Avoid this by revoking the message before\nsending it.\n\nWe should also avoid resending requests at all during ticket renewal; that\nwill come soon.\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": "23804d91f112df09b832cd091b71af4dc2831aa8",
      "tree": "4b77c43b47d58f08ab02220c507dabfc8f6daf7a",
      "parents": [
        "366837706bae00abc2edd75add2579c1be18b2b8"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 14 13:06:30 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 17 15:25:41 2010 -0700"
      },
      "message": "ceph: specify max_bytes on readdir replies\n\nSpecify max bytes in request to bound size of reply.  Add associated\nmount option with default value of 512 KB.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "366837706bae00abc2edd75add2579c1be18b2b8",
      "tree": "cc66bd8c4696da8530912b9368bf73fff151df6c",
      "parents": [
        "cffe7b6d8cc029d13524acedf4917210dc0102ab"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 14 11:36:48 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 17 15:25:41 2010 -0700"
      },
      "message": "ceph: cleanup pool op strings\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "cffe7b6d8cc029d13524acedf4917210dc0102ab",
      "tree": "8f0358059a8ebe29844375694768b88b915256f4",
      "parents": [
        "167c9e352deb7e25568c926c49c3eafad69cbe76"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Thu May 13 22:07:29 2010 +0200"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 17 15:25:40 2010 -0700"
      },
      "message": "ceph: Use kzalloc\n\nUse kzalloc rather than the combination of kmalloc and memset.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression x,size,flags;\nstatement S;\n@@\n\n-x \u003d kmalloc(size,flags);\n+x \u003d kzalloc(size,flags);\n if (x \u003d\u003d NULL) S\n-memset(x, 0, size);\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": "167c9e352deb7e25568c926c49c3eafad69cbe76",
      "tree": "b420c256e60accca30704059ab676e878cf49603",
      "parents": [
        "85792d0dd6e7a7a18fba55c97e49871211b28fe0"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 14 10:02:57 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 17 15:25:40 2010 -0700"
      },
      "message": "ceph: use common helper for aborted dir request invalidation\n\nWe invalidate I_COMPLETE and dentry leases in two places: on aborted mds\nrequest and on request replay.  Use common helper to avoid duplicate code.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "85792d0dd6e7a7a18fba55c97e49871211b28fe0",
      "tree": "7b8405250e818f8d5b71d9495c06bf5773d9c5e7",
      "parents": [
        "aba558e28ac40a598542d995c09efa8439ee3ed4"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 13 09:06:02 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 17 15:25:39 2010 -0700"
      },
      "message": "ceph: cope with out of order (unsafe after safe) mds reply\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "aba558e28ac40a598542d995c09efa8439ee3ed4",
      "tree": "22df6fe65694b3ebe5a0a56dbf96c3973f3c5812",
      "parents": [
        "ca9d93a292e327bbcddd8f8ea4197397e35097d4"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed May 12 15:23:30 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 17 15:25:38 2010 -0700"
      },
      "message": "ceph: save peer feature bits in connection structure\n\nThese are used for adjusting behavior, such as conditionally encoding a\nnewer message format.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ca9d93a292e327bbcddd8f8ea4197397e35097d4",
      "tree": "30e81e64079228bca30b4b32b5ad4df68eca6dc2",
      "parents": [
        "1a75627896fe67d0124eab6fe2f83dd40188c40c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed May 12 14:48:20 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 17 15:25:38 2010 -0700"
      },
      "message": "ceph: resync headers with userland\n\nNotable changes include pool op defines and types, FLOCK feature bit, and\nnew CMPXATTR osd ops.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    }
  ],
  "next": "1a75627896fe67d0124eab6fe2f83dd40188c40c"
}
