)]}'
{
  "log": [
    {
      "commit": "0c1f91f27140cf3b6e38dc4e892adac241c73a20",
      "tree": "5058e4c66a16e2c1d808ce66317ef2c9fdb21590",
      "parents": [
        "0e98728fa32d338907631349a8cc2afa07c0cb9a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed May 25 14:56:12 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jun 07 21:36:45 2011 -0700"
      },
      "message": "ceph: unwind canceled flock state\n\nIf we request a lock and then abort (e.g., ^C), we need to send a matching\nunlock request to the MDS to unwind our lock attempt to avoid indefinitely\nblocking other clients.\n\nReported-by: Brian Chrisman \u003cbrchrisman@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "70b666c3b4cb2b96098d80e6f515e4bc6d37db5a",
      "tree": "dd82036114adf9d0c28120500d58833cacfbc004",
      "parents": [
        "db3540522e955c1ebb391f4f5324dff4f20ecd09"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 09:24:26 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jun 07 21:34:11 2011 -0700"
      },
      "message": "ceph: use ihold when we already have an inode ref\n\nWe should use ihold whenever we already have a stable inode ref, even\nwhen we aren\u0027t holding i_lock.  This avoids adding new and unnecessary\nlocking dependencies.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a5b10629edfa521071ccdb3b1e0e7fb350a044db",
      "tree": "c852f7a214c30fe1923579ec031b37fc8f326523",
      "parents": [
        "637ae8d547390df75bad42a7e9cb65e625119767"
      ],
      "author": {
        "name": "Herb Shiu",
        "email": "herb_shiu@tcloudcomputing.com",
        "time": "Tue Nov 23 13:58:29 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Dec 01 14:22:34 2010 -0800"
      },
      "message": "ceph: Behave better when handling file lock replies.\n\nFill in the local lock with response data if appropriate,\nand don\u0027t call posix_lock_file when reading locks.\n\nSigned-off-by: Herb Shiu \u003cherb_shiu@tcloudcomputing.com\u003e\nAcked-by: Greg Farnum \u003cgregf@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "637ae8d547390df75bad42a7e9cb65e625119767",
      "tree": "311b5e454928e8954aee522d8c1a943954c9ea7e",
      "parents": [
        "25933abdd8c562182ca6dc9f8c4c2cc8265c3a80"
      ],
      "author": {
        "name": "Herb Shiu",
        "email": "herb_shiu@tcloudcomputing.com",
        "time": "Tue Nov 23 13:42:23 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Dec 01 14:22:34 2010 -0800"
      },
      "message": "ceph: pass lock information by struct file_lock instead of as individual params.\n\nSigned-off-by: Herb Shiu \u003cherb_shiu@tcloudcomputing.com\u003e\nAcked-by: Greg Farnum \u003cgregf@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "fca4451acfdcf894154e4809529ca28a09db88ff",
      "tree": "446381c8e8c7b592b47c2e50c32b1e40817fcfe1",
      "parents": [
        "ac0b74d8a1ced8ea86147467daf06b15b130dd94"
      ],
      "author": {
        "name": "Greg Farnum",
        "email": "gregf@hq.newdream.net",
        "time": "Fri Sep 17 10:24:02 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Oct 20 15:38:17 2010 -0700"
      },
      "message": "ceph: preallocate flock state without locks held\n\nWhen the lock_kernel() turns into lock_flocks() and a spinlock, we won\u0027t\nbe able to do allocations with the lock held.  Preallocate space without\nthe lock, and retry if the lock state changes out from underneath us.\n\nSigned-off-by: Greg Farnum \u003cgregf@hq.newdream.net\u003e\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": "ad8453ab0a5b98884074302ba3cc37664791e261",
      "tree": "3e90b914db42bfa8b476b1d46aef7baee4adebb3",
      "parents": [
        "ac1f12ef569d49b013c3db86e11be7e15d66b1c3"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Wed Aug 25 13:26:32 2010 +0100"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Aug 25 12:02:14 2010 -0700"
      },
      "message": "ceph: Fix warnings\n\nJust scrubbing some warnings so I can see real problem ones in the build\nnoise. For 32bit we need to coax gcc politely into believing we really\nhonestly intend to the casts. Using (u64)(unsigned long) means we cast from\na pointer to a type of the right size and then extend it. This stops the\nwarning spew.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\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"
    }
  ]
}
