)]}'
{
  "commit": "a10c38a4f385f5d7c173a263ff6bb2d36021b3bb",
  "tree": "3cbaa916940b36a9fdb27c8a231e1488fbc352d6",
  "parents": [
    "ea8ea737c46cffa5d0ee74309f81e55a7e5e9c2a",
    "e536030934aebf049fe6aaebc58dd37aeee21840"
  ],
  "author": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Thu May 26 14:10:32 2016 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Thu May 26 14:10:32 2016 -0700"
  },
  "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\nPull Ceph updates from Sage Weil:\n \"This changeset has a few main parts:\n\n   - Ilya has finished a huge refactoring effort to sync up the\n     client-side logic in libceph with the user-space client code, which\n     has evolved significantly over the last couple years, with lots of\n     additional behaviors (e.g., how requests are handled when cluster\n     is full and transitions from full to non-full).\n\n     This structure of the code is more closely aligned with userspace\n     now such that it will be much easier to maintain going forward when\n     behavior changes take place.  There are some locking improvements\n     bundled in as well.\n\n   - Zheng adds multi-filesystem support (multiple namespaces within the\n     same Ceph cluster)\n\n   - Zheng has changed the readdir offsets and directory enumeration so\n     that dentry offsets are hash-based and therefore stable across\n     directory fragmentation events on the MDS.\n\n   - Zheng has a smorgasbord of bug fixes across fs/ceph\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (71 commits)\n  ceph: fix wake_up_session_cb()\n  ceph: don\u0027t use truncate_pagecache() to invalidate read cache\n  ceph: SetPageError() for writeback pages if writepages fails\n  ceph: handle interrupted ceph_writepage()\n  ceph: make ceph_update_writeable_page() uninterruptible\n  libceph: make ceph_osdc_wait_request() uninterruptible\n  ceph: handle -EAGAIN returned by ceph_update_writeable_page()\n  ceph: make fault/page_mkwrite return VM_FAULT_OOM for -ENOMEM\n  ceph: block non-fatal signals for fault/page_mkwrite\n  ceph: make logical calculation functions return bool\n  ceph: tolerate bad i_size for symlink inode\n  ceph: improve fragtree change detection\n  ceph: keep leaf frag when updating fragtree\n  ceph: fix dir_auth check in ceph_fill_dirfrag()\n  ceph: don\u0027t assume frag tree splits in mds reply are sorted\n  ceph: fix inode reference leak\n  ceph: using hash value to compose dentry offset\n  ceph: don\u0027t forbid marking directory complete after forward seek\n  ceph: record \u0027offset\u0027 for each entry of readdir result\n  ceph: define \u0027end/complete\u0027 in readdir reply as bit flags\n  ...\n",
  "tree_diff": []
}
