The Ceph Blog

Ceph blog stories provide high-level spotlights on our customers all over the world

November 12, 2014

v0.88 released

This is the first development release after Giant. The two main features merged this round are the new AsyncMessenger (an alternative implementation of the network layer) from Haomai Wang at UnitedStack, and support for POSIX file locks in ceph-fuse and libcephfs from Yan, Zheng. There is also a big pile of smaller items that re merged while we were stabilizing Giant, including a range of smaller performance and bug fixes and some new tracepoints for LTTNG.


  • ceph-disk: Scientific Linux support (Dan van der Ster)
  • ceph-disk: respect –statedir for keyring (Loic Dachary)
  • ceph-fuse, libcephfs: POSIX file lock support (Yan, Zheng)
  • ceph-fuse, libcephfs: fix cap flush overflow (Greg Farnum, Yan, Zheng)
  • ceph-fuse, libcephfs: fix root inode xattrs (Yan, Zheng)
  • ceph-fuse, libcephfs: preserve dir ordering (#9178 Yan, Zheng)
  • ceph-fuse, libcephfs: trim inodes before reconnecting to MDS (Yan, Zheng)
  • ceph: do not parse injectargs twice (Loic Dachary)
  • ceph: make ‘ceph -s’ output more readable (Sage Weil)
  • ceph: new ‘ceph tell mds.$name_or_rank_or_gid’ (John Spray)
  • ceph: test robustness (Joao Eduardo Luis)
  • ceph_objectstore_tool: behave with sharded flag (#9661 David Zafman)
  • cephfs-journal-tool: fix journal import (#10025 John Spray)
  • cephfs-journal-tool: skip up to expire_pos (#9977 John Spray)
  • cleanup rados.h definitions with macros (Ilya Dryomov)
  • common: shared_cache unit tests (Cheng Cheng)
  • config: add $cctid meta variable (Adam Crume)
  • crush: fix buffer overrun for poorly formed rules (#9492 Johnu George)
  • crush: improve constness (Loic Dachary)
  • crushtool: add –location <id> command (Sage Weil, Loic Dachary)
  • default to libnss instead of crypto++ (Federico Gimenez)
  • doc: ceph osd reweight vs crush weight (Laurent Guerby)
  • doc: document the LRC per-layer plugin configuration (Yuan Zhou)
  • doc: erasure code doc updates (Loic Dachary)
  • doc: misc updates (Alfredo Deza, VRan Liu)
  • doc: preflight doc fixes (John Wilkins)
  • doc: update PG count guide (Gerben Meijer, Laurent Guerby, Loic Dachary)
  • keyvaluestore: misc fixes (Haomai Wang)
  • keyvaluestore: performance improvements (Haomai Wang)
  • librados: add rados_pool_get_base_tier() call (Adam Crume)
  • librados: cap buffer length (Loic Dachary)
  • librados: fix objecter races (#9617 Josh Durgin)
  • libradosstriper: misc fixes (Sebastien Ponce)
  • librbd: add missing python docstrings (Jason Dillaman)
  • librbd: add readahead (Adam Crume)
  • librbd: fix cache tiers in list_children and snap_unprotect (Adam Crume)
  • librbd: fix performance regression in ObjectCacher (#9513 Adam Crume)
  • librbd: lttng tracepoints (Adam Crume)
  • librbd: misc fixes (Xinxin Shu, Jason Dillaman)
  • mds: fix sessionmap lifecycle bugs (Yan, Zheng)
  • mds: initialize root inode xattr version (Yan, Zheng)
  • mds: introduce auth caps (John Spray)
  • mds: misc bugs (Greg Farnum, John Spray, Yan, Zheng, Henry Change)
  • misc coverity fixes (Danny Al-Gaaf)
  • mon: add ‘ceph osd rename-bucket …’ command (Loic Dachary)
  • mon: clean up auth list output (Loic Dachary)
  • mon: fix ‘osd crush link’ id resolution (John Spray)
  • mon: fix misc error paths (Joao Eduardo Luis)
  • mon: fix paxos off-by-one corner case (#9301 Sage Weil)
  • mon: new ‘ceph pool ls [detail]’ command (Sage Weil)
  • mon: wait for writeable before cross-proposing (#9794 Joao Eduardo Luis)
  • msgr: avoid useless new/delete (Haomai Wang)
  • msgr: fix delay injection bug (#9910 Sage Weil, Greg Farnum)
  • msgr: new AsymcMessenger alternative implementation (Haomai Wang)
  • msgr: prefetch data when doing recv (Yehuda Sadeh)
  • osd: add erasure code corpus (Loic Dachary)
  • osd: add misc tests (Loic Dachary, Danny Al-Gaaf)
  • osd: cleanup boost optionals (William Kennington)
  • osd: expose non-journal backends via ceph-osd CLI (Hoamai Wang)
  • osd: fix JSON output for stray OSDs (Loic Dachary)
  • osd: fix ioprio options (Loic Dachary)
  • osd: fix transaction accounting (Jianpeng Ma)
  • osd: misc optimizations (Xinxin Shu, Zhiqiang Wang, Xinze Chi)
  • osd: use FIEMAP_FLAGS_SYNC instead of fsync (Jianpeng Ma)
  • rados: fix put of /dev/null (Loic Dachary)
  • rados: parse command-line arguments more strictly (#8983 Adam Crume)
  • rbd-fuse: fix memory leak (Adam Crume)
  • rbd-replay-many (Adam Crume)
  • rbd-replay: –anonymize flag to rbd-replay-prep (Adam Crume)
  • rbd: fix ‘rbd diff’ for non-existent objects (Adam Crume)
  • rbd: fix error when striping with format 1 (Sebastien Han)
  • rbd: fix export for image sizes over 2GB (Vicente Cheng)
  • rbd: use rolling average for rbd bench-write throughput (Jason Dillaman)
  • rgw: send explicit HTTP status string (Yehuda Sadeh)
  • rgw: set length for keystone token validation request (#7796 Yehuda Sadeh, Mark Kirkwood)
  • udev: fix rules for CentOS7/RHEL7 (Loic Dachary)
  • use clock_gettime instead of gettimeofday (Jianpeng Ma)
  • set up environment for s3-tests (Luis Pabon)


Sage Weil