Gluster and Ceph are delighted to be hosting a Software Defined Storage devroom at FOSDEM 2017.

Important dates:

  • Nov 16: Deadline for submissions
  • Dec 1: Speakers notified of acceptance
  • Dec 5: Schedule published

This year, we’re looking for conversations about open source software defined storage, use cases in the real world, and where the future lies. We’re inviting any Free/Libre/Open Source Software for software defined storage.

Please include the following information when submitting a proposal:

  • Your name
  • The title of your talk (please be descriptive, as titles will be listed with around 250 from other projects)
  • Short abstract of one or two paragraphs
  • Short bio (with photo)

The deadline for submissions is November 16th 2016. FOSDEM will be held on the weekend of February 4-5, 2017 and the Software Defined Storage DevRoom will take place on Sunday, February 5, 2017. Please use the following website to submit your proposals:

In addition to (or in place of) the submissions site, you can also send your information to for consideration. Thanks!

Kraken 11.0.2 released

This development checkpoint release includes a lot of changes and
improvements to Kraken. This is the first release introducing ceph-mgr,
a new daemon which provides additional monitoring & interfaces to
external monitoring/management systems. There are also many improvements
to bluestore, RGW introduces sync modules, copy part for multipart
uploads and metadata search via elastic search as a tech preview. We’ve
had to skip releasing 11.0.1 due to an issue with git tags and package
versions as we were transitioning away from autotools to cmake and the
new build system in place.

Notable Changes

  • bluestore: os/bluestore: misc fixes (pr#10953, Sage Weil)
  • bluestore: os/bluestore/BlueFS: do not op_file_update deleted files (pr#10686, Sage Weil)
  • bluestore: bluestore/BitAllocator: Fix deadlock with musl libc (pr#10634, John Coyle)
  • bluestore: bluestore/BlueFS: revert direct IO for WRITER_WAL (pr#11059, Mark Nelson)
  • bluestore: ceph-disk: support creating block.db and block.wal with customized size for bluestore (pr#10135, Zhi Zhang)
  • bluestore: compressor/zlib: switch to raw deflate (pr#11122, Piotr Dałek)
  • bluestore: do not use freelist to track bluefs_extents (pr#10698, Sage Weil)
  • bluestore: initialize csum_order properly (pr#10728, xie xingguo)
  • bluestore: kv/rocksdb: dump transactions on error (pr#11042, Somnath Roy)
  • bluestore: kv: In memory keyvalue db implementation (pr#9933, Ramesh Chander)
  • bluestore: os/bluestore/BitAllocator: batch is_allocated bit checks (pr#10704, Ramesh Chander)
  • bluestore: os/bluestore/BlueFS: For logs of rocksdb & bluefs only use directio. (pr#11012, Jianpeng Ma)
  • bluestore: os/bluestore/BlueFS: async compaction (pr#10717, Varada Kari, Sage Weil)
  • bluestore: os/bluestore/BlueFS: do not hold internal lock while waiting for IO (pr#9898, Varada Kari, Sage Weil)
  • bluestore: os/bluestore/BlueFS: do not start racing async compaction (pr#11010, Sage Weil)
  • bluestore: os/bluestore/BlueFS: don’t inc l_bluefs_files_written_wal if overwrite. (pr#10143, Jianpeng Ma)
  • bluestore: os/bluestore/BlueFS: factor unflushed log into runway calculation (pr#10966, Sage Weil)
  • bluestore: os/bluestore/BlueFS: fix async compaction logging bug (pr#10964, Sage Weil)
  • bluestore: os/bluestore/BlueFS: log dirty files at sync time (pr#11108, Sage Weil)
  • bluestore: os/bluestore/BlueFS: only extend extent on same bdev (pr#11023, Sage Weil)
  • bluestore: os/bluestore/BlueFS: prevent concurrent async compaction (pr#11095, Sage Weil)
  • bluestore: os/bluestore/BlueFS: release completed aios (pr#11268, Sage Weil)
  • bluestore: os/bluestore/BlueFS: use StupidAllocator; fix async compaction bug (pr#11087, Sage Weil)
  • bluestore: os/bluestore/bluefs: add file refs check (pr#10863, xie xingguo)
  • bluestore: os/bluestore/bluefs: use map to track dirty files (pr#10923, xie xingguo)
  • bluestore: os/bluestore/bluefs_types: fix extent operator<< (pr#10685, Sage Weil)
  • bluestore: os/bluestore/bluestore_types: uint64_t for ref_map (pr#11267, Sage Weil)
  • bluestore: os/bluestore: Hint based allocation in bitmap Allocator (pr#10978, Ramesh Chander)
  • bluestore: os/bluestore: Remove bit alloc Woverloaded-virtual warnings (pr#10082, Ramesh Chander)
  • bluestore: os/bluestore: a few cleanups (pr#11192, xie xingguo)
  • bluestore: os/bluestore: a few fixes about the global csum setting (pr#11195, xie xingguo)
  • bluestore: os/bluestore: add assert to compress_extent_map (pr#11240, Sage Weil)
  • bluestore: os/bluestore: add cache-related stats (pr#10961, xie xingguo)
  • bluestore: os/bluestore: add checks and kill unreachable code (pr#11077, xie xingguo)
  • bluestore: os/bluestore: add error injection (pr#11151, Sage Weil)
  • bluestore: os/bluestore: add max blob size; fix compressed min blob size logic (pr#11239, Sage Weil)
  • bluestore: os/bluestore: add multiple finishers to bluestore (pr#10780, Ilsoo Byun)
  • bluestore: os/bluestore: add perf counters for compression effectiveness and space utilization measurements (pr#10449, Igor Fedotov)
  • bluestore: os/bluestore: apply “small encoding” for onode_t::extents map (pr#10018, Igor Fedotov)
  • bluestore: os/bluestore: avoid blob_t reencode when unchanged (pr#10768, Sage Weil)
  • bluestore: os/bluestore: binary search specified shard (pr#11245, xie xingguo)
  • bluestore: os/bluestore: change algorithm of compression header from string to int (pr#10137, xie xingguo)
  • bluestore: os/bluestore: compaction fixes (pr#11279, Sage Weil)
  • bluestore: os/bluestore: drop redundant call of get_blob (pr#11275, xie xingguo)
  • bluestore: os/bluestore: drop unreferenced spanning blobs (pr#11212, Sage Weil)
  • bluestore: os/bluestore: fix a few leaks (pr#11068, Sage Weil)
  • bluestore: os/bluestore: fix a few memory utilization leaks and wasters (pr#11011, Sage Weil)
  • bluestore: os/bluestore: fix crash in decode_some() (pr#11312, Sage Weil)
  • bluestore: os/bluestore: fix decoding hash of bnode (pr#10773, xie xingguo)
  • bluestore: os/bluestore: fix fsck() won’t catch stray shard sometimes (pr#11219, xie xingguo)
  • bluestore: os/bluestore: fix gc when blob extends past eof (pr#11282, Sage Weil)
  • bluestore: os/bluestore: fix improper local var variable in collection_list meth… (pr#10680, Igor Fedotov)
  • bluestore: os/bluestore: fix incorrect pool decoding of bnode (pr#10117, xie xingguo)
  • bluestore: os/bluestore: fix leak of result-checking of _fsck_check_extents (pr#11040, xie xingguo)
  • bluestore: os/bluestore: fix leaks in our use of rocksdb (pr#11250, Sage Weil)
  • bluestore: os/bluestore: fix memory leak during bit_alloc testing (pr#9935, xie xingguo)
  • bluestore: os/bluestore: fix offset bug in _do_write_small. (pr#11030, amoxic)
  • bluestore: os/bluestore: fix onode cache addition race (pr#11300, Sage Weil)
  • bluestore: os/bluestore: fix potential access violation (pr#10362, xie xingguo)
  • bluestore: os/bluestore: fix potential access violation during rename (pr#11033, xie xingguo)
  • bluestore: os/bluestore: fix shard_info::dump() (pr#11061, xie xingguo)
  • bluestore: os/bluestore: fix spanning blob leak from ~ExtentMap (pr#11223, Somnath Roy)
  • bluestore: os/bluestore: fix statfs tests (pr#10910, Sage Weil)
  • bluestore: os/bluestore: fix when block device is not a multiple of the block size (pr#10844, Sage Weil)
  • bluestore: os/bluestore: fix write_big counter and some more cleanups (pr#11344, xie xingguo)
  • bluestore: os/bluestore: fix/improve csum error message (pr#10938, Sage Weil)
  • bluestore: os/bluestore: garbage collect partially overlapped blobs (pr#11232, Roushan Ali)
  • bluestore: os/bluestore: get rid off “isa-l” type in ZLibCompressor ctor (pr#10931, xie xingguo)
  • bluestore: os/bluestore: gifting bluefs more carefully (pr#10950, xie xingguo)
  • bluestore: os/bluestore: honour allow-eio flag; use global compressor if possible (pr#10970, xie xingguo)
  • bluestore: os/bluestore: improve required compression threshold (pr#10080, xie xingguo)
  • bluestore: os/bluestore: include bluefs space in statfs result (pr#10795, Sage Weil)
  • bluestore: os/bluestore: introduce power 2 macros for block alignment and rounding (pr#10128, xie xingguo)
  • bluestore: os/bluestore: make assert conditional with macro for allocator (pr#11014, Ramesh Chander)
  • bluestore: os/bluestore: make cache settings process-wide (pr#11295, Sage Weil)
  • bluestore: os/bluestore: make clone_range copy-on-write (pr#11106, Sage Weil)
  • bluestore: os/bluestore: make onode keys more efficient (and sort correctly) (pr#11009, xie xingguo, Sage Weil)
  • bluestore: os/bluestore: make trim() of 2Q cache more fine-grained (pr#9946, xie xingguo)
  • bluestore: os/bluestore: make zone/span size of bitmap-allocator configurable (pr#10040, xie xingguo)
  • bluestore: os/bluestore: misc cleanup and test fixes (pr#11346, Igor Fedotov)
  • bluestore: os/bluestore: misc cleanups (pr#10201, xie xingguo)
  • bluestore: os/bluestore: misc cleanups (pr#11197, Haomai Wang)
  • bluestore: os/bluestore: misc fixes (pr#9999, xie xingguo)
  • bluestore: os/bluestore: misc fixes (pr#10771, xie xingguo)
  • bluestore: os/bluestore: misc. fixes (pr#11129, xie xingguo)
  • bluestore: os/bluestore: more cleanups (pr#11235, xie xingguo)
  • bluestore: os/bluestore: more cleanups and fixes (pr#11210, xie xingguo)
  • bluestore: os/bluestore: narrow condition of sanity check when get_object_key() (pr#11149, xie xingguo)
  • bluestore: os/bluestore: narrow lock scope for cache trim() (pr#10410, xie xingguo)
  • bluestore: os/bluestore: optimize intrusive sets for size. (pr#11319, Mark Nelson)
  • bluestore: os/bluestore: pack a few more in-memory types (pr#11328, Sage Weil)
  • bluestore: os/bluestore: precondition rocksdb/bluefs during mkfs (pr#10814, Sage Weil)
  • bluestore: os/bluestore: prevent extent merging across shard boundaries (pr#11216, Sage Weil)
  • bluestore: os/bluestore: print bluefs_extents in hex (pr#10689, Sage Weil)
  • bluestore: os/bluestore: proper handling for csum enable/disable settings (pr#10431, Igor Fedotov)
  • bluestore: os/bluestore: refactor dirty blob tracking along with some related fixes (pr#10215, Igor Fedotov)
  • bluestore: os/bluestore: remove cmake warning from extent alloc functions (issue#16766, pr#10492, Ramesh Chander)
  • bluestore: os/bluestore: remove deferred_csum machinery (pr#11243, Sage Weil)
  • bluestore: os/bluestore: remove some copy-pastes (pr#11017, Igor Fedotov)
  • bluestore: os/bluestore: replace store with logger in Cache (pr#10969, xie xingguo)
  • bluestore: os/bluestore: shard extent map (pr#10963, Sage Weil)
  • bluestore: os/bluestore: simplify LRUCache::trim() (pr#10109, xie xingguo)
  • bluestore: os/bluestore: simplify calculation of collection key range (pr#11166, xie xingguo)
  • bluestore: os/bluestore: sloppy reshard boundaries to avoid spanning blobs (pr#11263, Sage Weil)
  • bluestore: os/bluestore: still more cleanups (pr#11274, xie xingguo)
  • bluestore: os/bluestore: switch spanning_blob_map to std::map (pr#11336, Sage Weil)
  • bluestore: os/bluestore: trim cache on reads (pr#10095, Sage Weil)
  • bluestore: os/bluestore: try to split blobs instead of spanning them (pr#11264, Sage Weil)
  • bluestore: os/bluestore: upgrade compression settings to atomics (pr#11244, xie xingguo)
  • bluestore: os/bluestore: use small encoding for bluefs extent and fnode (pr#10375, xie xingguo)
  • bluestore: os/bluestore: yet another statfs test fix (pr#10926, Igor Fedotov)
  • bluestore: os/bluestore:Fix size calculation in bitallocator (pr#10377, Ramesh Chander)
  • bluestore: os/bluestore: fix error handling of posix_fallocate() (pr#10277, xie xingguo)
  • bluestore: os/bluestore: use BE for gifting and reclaiming from bluefs (pr#10294, xie xingguo)
  • bluestore: os/bluestore: get rid off blob’s ref_map for non-shared objects (pr#9988, Igor Fedotov)
  • bluestore: kv/MemDB: fix wrong output target and add sanity checks (pr#10358, xie xingguo)
  • bluestore: os/bluestore: add a boundary check of cache read (pr#10349, xie xingguo)
  • bluestore: os/bluestore: fix bitmap allocating failure if max_alloc_size is 0 (pr#10379, xie xingguo)
  • bluestore: os/bluestore: misc fixes (pr#10327, xie xingguo)
  • bluestore: kv/MemDB: misc fixes and cleanups (pr#10295, xie xingguo)
  • bluestore: rocksdb: pull up to master (4.12 + a few patches) (pr#11069, Sage Weil)
  • bluestore: test/store_test: extend Bluestore compression test to verify compress… (pr#11080, Igor Fedotov)
  • bluestore: test/store_test: fix statfs results check to consider SSD min_alloc_size (pr#11096, Igor Fedotov)
  • bluestore: unittest_bluestore_types: a few more types for sizeof (pr#11323, Sage Weil)
  • bluestore: ceph_test_objectstore: test clone_range and fix a few bugs (pr#11103, Sage Weil)
  • bluestore: kv: fix some bugs in memdb (pr#10550, Haodong Tang)
  • bluestore: os/bluestore/BlueFS: disable buffered io (pr#10766, Sage Weil)
  • build/ops,bluestore: test/objectstore/CMakeLists.txt: fix libaio conditional (pr#11008, Sage Weil)
  • build/ops,cephfs: client: added def for ACCESSPERMS when undefined (pr#9835, John Coyle)
  • build/ops,cephfs: deb: merge ceph-fs-common into ceph-common (issue#16808, pr#10433, Nathan Cutler)
  • build/ops,cephfs: man/ drop legacy cephfs tool (pr#10444, Nathan Cutler)
  • build/ops,cephfs: test: break out librados-using cephfs test (issue#16556, pr#10452, John Spray)
  • build/ops,common: common/dns_resolve: use ns_name_uncompress instead of ns_name_ntop (pr#9755, John Coyle)
  • build/ops,common: msg/async/ make it more compatible with BSDs (pr#10029, Willem Jan Withagen)
  • build/ops,pybind: Include Python 3 bindings into the cmake build and make packages for them (pr#10208, Oleh Prypin)
  • build/ops,rbd: systemd: add install section to rbdmap.service file (pr#10942, Jelle vd Kooij)
  • build/ops,rbd: test: fix rbd-mirror workunit test cases for cmake (pr#10076, Jason Dillaman)
  • build/ops,rgw: rgw-ldap: add ldap lib to rgw lib deps based on build config (pr#9852, John Coyle)
  • build/ops: .gitignore: Add .pyc files globally (pr#11076, Brad Hubbard)
  • build/ops: Allow compressor build without YASM (pr#10937, Daniel Gryniewicz)
  • build/ops: CMake – stop pip checking for updates (pr#10161, Daniel Gryniewicz)
  • build/ops: CMakeList.txt: link ceph_objectstore_tool against fuse only if WITH_FUSE (pr#10149, Willem Jan Withagen)
  • build/ops: Cmake: fix using CMAKE_DL_LIBS instead of dl (pr#10317, Willem Jan Withagen)
  • build/ops: CmakeLists.txt: use LIB_RESOLV instead of resolv. (pr#10972, Willem Jan Withagen)
  • build/ops: Enable builds without ceph-test subpackage (issue#16776, pr#10872, Ricardo Dias)
  • build/ops: Fix libatomic_ops-devel in SUSE and specfile cleanup (issue#16645, pr#10363, Nathan Cutler)
  • build/ops: FreeBSD: Define CLOCK_REALTIME_COARSE in compat.h (pr#10506, Willem Jan Withagen)
  • build/ops: Gentoo support for ceph-disk / ceph-detect-init; pip speedup (pr#8317, Robin H. Johnson)
  • build/ops: LTTng-UST disabled for openSUSE (issue#16937, pr#10592, Michel Normand)
  • build/ops: Port ceph-brag to Python 3 (+ small fixes) (pr#10064, Oleh Prypin)
  • build/ops: Removes remaining reference to WITH_MDS (pr#10286, J. Eric Ivancich)
  • build/ops: Stop hiding errors from (issue#17267, pr#11071, Dan Mick)
  • build/ops: Wip kill warnings (pr#10881, Kefu Chai)
  • build/ops: autogen: Fix rocksdb error when make dist (pr#10988, tianqing)
  • build/ops: autotools: remove a few other remaining traces (pr#11019, Sage Weil)
  • build/ops: build scripts: Enable dnf for Fedora >= 22 (pr#11105, Brad Hubbard)
  • build/ops: build: drop dryrun of from script (pr#11013, xie xingguo)
  • build/ops: ceph-disk tests: Let missing python interpreters be non-fatal (pr#11072, Dan Mick)
  • build/ops: ceph-disk: Compatibility fixes for Python 3 (pr#9936, Anirudha Bose)
  • build/ops: ceph-disk: do not activate device that is not ready (issue#15990, pr#9943, Boris Ranto)
  • build/ops: check existence of OSD data directory (issue#17091, pr#10809, Nathan Cutler)
  • build/ops: drop Upstart-specific code (issue#15984, pr#9667, Nathan Cutler)
  • build/ops: ceph-post-file replace DSA with RSA ssh key (issue#14267, pr#10800, David Galloway)
  • build/ops: don’t try to package __pycache__ for SUSE (issue#17106, pr#10805, Tim Serong)
  • build/ops: fix rpm package building error (pr#10115, runsisi)
  • build/ops: changes for Clang and yasm (pr#10417, Willem Jan Withagen)
  • build/ops: cmake changes (pr#10351, Kefu Chai)
  • build/ops: cmake changes (pr#10059, Kefu Chai)
  • build/ops: cmake changes (pr#10279, Kefu Chai)
  • build/ops: cmake changes (issue#16804, pr#10391, Kefu Chai)
  • build/ops: cmake changes (pr#10361, Kefu Chai)
  • build/ops: cmake changes (pr#10112, Kefu Chai)
  • build/ops: cmake changes (pr#10489, Kefu Chai)
  • build/ops: cmake changes (pr#10283, Kefu Chai)
  • build/ops: cmake changes (issue#16504, pr#9995, Kefu Chai, Sage Weil, Dan Mick)
  • build/ops: cmake changes (pr#9975, Kefu Chai)
  • build/ops: cmake changes related to LTTng-UST (pr#10917, Kefu Chai)
  • build/ops: common/compressor: add libcommon as a dependency for zlib and snappy p… (pr#11083, Igor Fedotov)
  • build/ops: compat: add abstractions for non portable pthread name funcs (pr#9763, John Coyle)
  • build/ops: Use uname instead of arch. (pr#9766, John Coyle)
  • build/ops: add _LIBS variables for boost_system and boost_iostreams (pr#9848, John Coyle)
  • build/ops: fix res_query detection (pr#9820, John Coyle)
  • build/ops: debian and cmake cleanups (pr#10788, Kefu Chai)
  • build/ops: debian: bump compat to 9 (issue#16744, pr#10366, Kefu Chai)
  • build/ops: debian: python related changes (pr#10322, Kefu Chai)
  • build/ops: debian: replace SysV rbdmap with systemd service (pr#10435, Ken Dreyer)
  • build/ops: debian: set libexec dir to correct value as autotools did (pr#10096, Daniel Gryniewicz)
  • build/ops: set up initial plugin dir (pr#10067, Sage Weil)
  • build/ops: fix /etc/os-release parsing in (pr#10981, Nathan Cutler)
  • build/ops: fix the rpm build for centos (pr#10289, Oleh Prypin, Josh Durgin)
  • build/ops: force Python 3 packages to build in SUSE (issue#17106, pr#10894, Dominique Leuenberger, Nathan Cutler)
  • build/ops: based on /etc/os-release (issue#16522, pr#10017, Jan Fajerski)
  • build/ops: install-deps: exit non-zero when we cannot match distro (pr#10941, Gregory Meno)
  • build/ops: isa-l: add isa-l library as a submodule (pr#10066, Alyona Kiseleva)
  • build/ops: jerasure: include generic objects in neon jerasure lib (like sse3/4) (pr#10879, Dan Mick)
  • build/ops: logrotate: Run as root/ceph (pr#10587, Boris Ranto)
  • build/ops: lttng: build the tracepoint provider lib from .c files in repo (pr#11196, Kefu Chai)
  • build/ops: make-dist: generate ceph.spec (issue#16501, pr#9986, Sage Weil)
  • build/ops: make-dist: set rpm_release correctly for release builds (pr#11334, Dan Mick)
  • build/ops: A simple script to make the srpm for ceph. (pr#11064, Ira Cooper)
  • build/ops: makefile: change librgw_file_* as check_PROGRAMS (issue#16646, pr#10229, Brad Hubbard)
  • build/ops: remove autotools (pr#11007, Sage Weil)
  • build/ops: rpm: Do not start targets on update (pr#9968, Nathan Cutler, Boris Ranto)
  • build/ops: rpm: ExclusiveArch for suse_version (issue#16936, pr#10594, Michel Normand)
  • build/ops: rpm: Fix creation of mount.ceph symbolic link for SUSE distros (pr#10353, Ricardo Dias)
  • build/ops: rpm: add udev BuildRequires to provide /usr/lib/udev directory (issue#16949, pr#10608, Nathan Cutler)
  • build/ops: rpm: build rpm with cmake (pr#10016, Kefu Chai)
  • build/ops: rpm: drop obsolete libs-compat and python-ceph-compat metapackages (issue#16353, pr#9757, Nathan Cutler)
  • build/ops: rpm: fix permissions for /etc/ceph/rbdmap (issue#17395, pr#11217, Ken Dreyer)
  • build/ops: rpm: fix shared library devel package names and dependencies (issue#16345, issue#16346, pr#9744, Nathan Cutler, Ken Dreyer)
  • build/ops: rpm: move mount.ceph from ceph-base to ceph-common and add symlink in /sbin for SUSE (issue#16598, pr#10147, Nathan Cutler)
  • build/ops: Remove redundant calls (pr#11116, Brad Hubbard)
  • build/ops: script: improve ceph-release-notes regex (pr#10729, Nathan Cutler)
  • build/ops: src/CMakeLists.txt: remove double flag -Wno-invalid-offsetof (pr#10443, Willem Jan Withagen)
  • build/ops: src/CMakeLists.txt: remove unneeded libraries from ceph-dencoder target (pr#10478, Willem Jan Withagen)
  • build/ops: src/global/ Assign elements in structures individually (pr#10516, Willem Jan Withagen)
  • build/ops: src/kv/CMakeLists.txt: force rocksdb/include to first include directory (pr#11194, Willem Jan Withagen)
  • build/ops: test/common/ FreeBSD does not have distro information (pr#10547, Willem Jan Withagen)
  • build/ops: test: make check using cmake (pr#10116, Kefu Chai, Sage Weil)
  • build/ops: verfied f23 (pr#10222, Kefu Chai)
  • build/ops: yasm-wrapper: dont echo the yasm command line (pr#10819, Casey Bodley)
  • build/ops: .gitignore: exclude coredumps, logfiles and temporary testresults (pr#8150, Willem Jan Withagen)
  • build/ops: this fixes the broken build (pr#9992, Haomai Wang)
  • build/ops: mrgw: search for cmake build dir. (pr#10180, Abhishek Lekshmanan)
  • build/ops: mrun,, search for cmake build directory (pr#10097, Yehuda Sadeh)
  • build/ops: arm64 fixes(pr#10438, Dan Mick)
  • build/ops: Wip kill warnings (pr#10934, Kefu Chai)
  • build/ops: systemd: add osd id to service description (pr#10091, Ruben Kerkhof)
  • build/ops: fix wrong indent caused compile warning (pr#10014, Wanlong Gao)
  • build/ops: ceph-detect-init: fix the py3 test (pr#10266, Kefu Chai)
  • build/ops: ceph.spec: fix ceph-mgr version requirement (pr#11285, Sage Weil)
  • build/ops: make-dist/ Fix srpm build breakage. (pr#10404, Ira Cooper)
  • build/ops: master: remove SYSTEMD_RUN from initscript (issue#16440, issue#7627, pr#9871, Vladislav Odintsov)
  • build/ops: rocksdb: revert the change introduced by dc41731 (pr#10595, Kefu Chai)
  • build/ops: do_freebsd*.sh: rename to (pr#11088, Kefu Chai)
  • build/ops: gcc 6.1.1 complains about missing include: <random>. 4.8.3 does not c… (pr#10747, Daniel Oliveira)
  • build/ops: selinux: Allow ceph to manage tmp files (issue#17436, pr#11259, Boris Ranto)
  • build/ops: selinux: allow read /proc/<pid>/cmdline (issue#16675, pr#10339, Kefu Chai)
  • cephfs,common: osdc/Journaler: move C_DelayFlush class to .cc (pr#10744, Michal Jarzabek)
  • cephfs,core,rbd: ObjectCacher: fix bh_read_finish offset logic (issue#16002, pr#9606, Greg Farnum)
  • cephfs,core,rbd: osdc/ObjectCacher: move C_ReadFinish, C_RetryRead (pr#10781, Michal Jarzabek)
  • cephfs: Add ceph_ll_setlk and ceph_ll_getlk (pr#9566, Frank S. Filz)
  • cephfs: CephFS: misc. cleanups and remove legacy cephfs tool (issue#16195, issue#16035, issue#15923, pr#10243, John Spray)
  • cephfs: Clean up handling of “/..” in ceph client (pr#10691, Jeff Layton)
  • cephfs: Client: fixup param type and return value (pr#10463, gongchuang)
  • cephfs: Client: pass “UserPerm” struct everywhere for security checks (issue#16367, issue#17368, pr#11218, Greg Farnum)
  • cephfs: First pile of statx patches (pr#10922, Sage Weil, Jeff Layton)
  • cephfs: Fix attribute handling at lookup time (issue#16668, pr#10386, Jeff Layton)
  • cephfs: Inotable repair during forward scrub (pr#10281, Vishal Kanaujia)
  • cephfs: Server: drop locks and auth pins if wait for pending truncate (pr#9716, xie xingguo)
  • cephfs: Small interface cleanups for struct ceph_statx (pr#11093, Jeff Layton)
  • cephfs: build ceph-fuse on OSX (pr#9371, Yan, Zheng)
  • cephfs: ceph-fuse: link to libtcmalloc or jemalloc (issue#16655, pr#10258, Yan, Zheng)
  • cephfs: ceph_volume_client: store authentication metadata (issue#15406, issue#15615, pr#9864, John Spray, Ramana Raja)
  • cephfs: client/barrier: move C_Block_Sync class to .cc (pr#11001, Michal Jarzabek)
  • cephfs: client/filer: cleanup the redundant judgments of _write&&_fallocate (pr#10062, huanwen ren)
  • cephfs: client: add missing client_lock for get_root (pr#10027, Patrick Donnelly)
  • cephfs: client: discard mds map if it is identical to ours (pr#9774, xie xingguo)
  • cephfs: client: fast abort if underlying statsf() call failed; end scope of std::hex properly (pr#9803, xie xingguo)
  • cephfs: client: fix access violation (pr#9793, xie xingguo)
  • cephfs: client: fix readdir vs fragmentation race (issue#17286, pr#11147, Yan, Zheng)
  • cephfs: client: fix segment fault in Client::_invalidate_kernel_dcache(). (issue#17253, pr#11170, Yan, Zheng)
  • cephfs: client: fix shutdown with open inodes (issue#16764, pr#10419, John Spray)
  • cephfs: client: include COMPLETE and ORDERED states in cache dump (pr#10485, Greg Farnum)
  • cephfs: client: kill compiling warning (pr#9994, xie xingguo)
  • cephfs: client: misc fixes (pr#9838, xie xingguo)
  • cephfs: client: move Inode specific cleanup to destructor (pr#10168, Patrick Donnelly)
  • cephfs: client: note order of member init in cons (pr#10169, Patrick Donnelly)
  • cephfs: client: properly set inode number of created inode in replay request (issue#17172, pr#10957, Yan, Zheng)
  • cephfs: client: protect InodeRef with client_lock (issue#17392, pr#11225, Yan, Zheng)
  • cephfs: doc/mds: fixup mds doc (pr#10573, huanwen ren)
  • cephfs: fuse_ll: fix incorrect error settings of fuse_ll_mkdir() (pr#9809, xie xingguo)
  • cephfs: include/ceph_fs.h: guard #define CEPH_SETATTR_* with #ifndef (pr#10265, Kefu Chai)
  • cephfs: libcephfs: Fix the incorrect integer conversion in (pr#10640, wenjunhuang)
  • cephfs: libcephfs: add unmount function in cephfs.pyx (pr#10774, huanwen ren)
  • cephfs: libcephfs: fix portability-related error settings (pr#9794, xie xingguo)
  • cephfs: libcephfs: kill compiling warning (pr#10622, xie xingguo)
  • cephfs: mds/CDir: remove the part of judgment for _next_dentry_on_set (pr#10476, zhang.zezhu)
  • cephfs: mds/CInode: fix potential fin hanging (pr#9773, xie xingguo)
  • cephfs: mds/MDBalancer: cleanup (pr#10512, huanwen ren)
  • cephfs: mds/MDCache: kill a comipler warning (pr#11254, xie xingguo)
  • cephfs: mds/MDSMap default metadata pool to -1 (was: output None instead of 0 when no fs present.) (issue#16588, pr#10202, Xiaoxi Chen)
  • cephfs: mds/MDSTable: add const to member functions (pr#10846, Michal Jarzabek)
  • cephfs: mds/SessionMap.h: change statement to assertion (pr#11289, Michal Jarzabek)
  • cephfs: mds/SnapRealm.h: add const to member functions (pr#10878, Michal Jarzabek)
  • cephfs: mds/server: clean up handle_client_open() (pr#11120, huanwen ren)
  • cephfs: mon/MDSMonitor: move C_Updated class to .cc file (pr#10668, Michal Jarzabek)
  • cephfs: osdc/mds: fixup pos parameter in the journaler (pr#10200, huanwen ren)
  • cephfs: reduce unnecessary mds log flush (pr#10393, Yan, Zheng)
  • cephfs: tools/cephfs: Remove cephfs-data-scan tmap_upgrade (issue#16144, pr#10100, Douglas Fuller)
  • cephfs: ceph_fuse: use sizeof get the buf length (pr#11176, LeoZhang)
  • cli: retry when the mon is not configured (issue#16477, pr#11089, Loic Dachary)
  • cmake: Add -pie to CMAKE_EXE_LINKER_FLAGS (pr#10755, Tim Serong)
  • cmake: Fix FCGI include directory (pr#9983, Tim Serong)
  • cmake: Fix mismatched librgw VERSION / SOVERSION (pr#10754, Tim Serong)
  • cmake: FreeBSD specific excludes in CMakeLists.txt (pr#10973, Willem Jan Withagen)
  • cmake: FreeBSD specific excludes in CMakeLists.txt files (pr#10517, Willem Jan Withagen)
  • cmake: Really add FCGI_INCLUDE_DIR to include_directories for rgw (pr#10139, Tim Serong)
  • cmake: Removed, edited (pr#10028, Ali Maredia)
  • cmake: Support tcmalloc_minimal allocator (pr#11111, Bassam Tabbara)
  • cmake: add dependency from ceph_smalliobenchrbd to cls libraries (pr#10870, J. Eric Ivancich)
  • cmake: add_subdirectory(include) (pr#10360, Kefu Chai)
  • cmake: ceph_test_rbd_mirror does not require librados_test_stub (pr#10164, Jason Dillaman)
  • cmake: cleanup Findgperftools.cmake (pr#10670, Kefu Chai)
  • cmake: correct ceph_test_librbd/ceph_test_rbd_mirror linkage (issue#16882, pr#10598, Jason Dillaman)
  • cmake: disable -fvar-tracking-assignments for (pr#10275, Kefu Chai)
  • cmake: disable unittest_async_compressor (pr#10394, Kefu Chai)
  • cmake: do not link against unused objects or libraries (pr#10837, Kefu Chai)
  • cmake: enable ccache for rocksdb too (pr#11100, Bassam Tabbara)
  • cmake: exclude non-public symbols in shared libraries (issue#16556, pr#10472, Kefu Chai)
  • cmake: fix incorrect dependencies to librados (pr#10145, Jason Dillaman)
  • cmake: fix the FTBFS introduced by dc8b3ba (pr#10282, Kefu Chai)
  • cmake: fix the build of unittest_async_compressor (pr#10400, Kefu Chai)
  • cmake: fix the tracing header dependencies (pr#10906, Kefu Chai)
  • cmake: fix unittest_rbd_mirror failures under non-optimized builds (pr#9990, Jason Dillaman)
  • cmake: fix wrong path introduced by bb163e9 (pr#10643, Kefu Chai)
  • cmake: fixes (pr#10092, Daniel Gryniewicz)
  • cmake: fixes for pypi changes (pr#10204, Kefu Chai)
  • cmake: include(SIMDExt) in src/CMakeLists.txt (pr#11003, Kefu Chai)
  • cmake: install ceph_test_cls_rgw (pr#10025, Kefu Chai)
  • cmake: install ceph_test_rados_striper_api_* (pr#10541, Kefu Chai)
  • cmake: install platlib into a subdir of build-base dir (pr#10666, Kefu Chai)
  • cmake: make py3 a nice-to-have (issue#17103, pr#11015, Kefu Chai)
  • cmake: pass -DINTEL* to gf-complete cflags (pr#10956, tone.zhang, Kefu Chai)
  • cmake: pass cmake’s compiler and flags to compile RocksDB into build (pr#10418, Willem Jan Withagen)
  • cmake: recompile erasure src for different variants (pr#10772, Kefu Chai)
  • cmake: remove WITH_MDS option (pr#10186, Ali Maredia)
  • cmake: remove more autotools hacks (pr#11229, Sage Weil)
  • cmake: remove unnecessary linked libs from libcephfs (issue#16556, pr#10081, Kefu Chai)
  • cmake: rework NSS and SSL (pr#9831, Matt Benjamin)
  • cmake: set ARM_CRC_FLAGS from the CRC test rather than ARM_NEON_FLAGS (issue#17250, pr#11028, Dan Mick)
  • cmake: specify distutils build path explicitly (pr#10568, Kefu Chai)
  • cmake: supress more warnings (pr#10469, Willem Jan Withagen)
  • cmake: use PERF_LOCAL_FLAGS only if defined (issue#17104, pr#10828, Michel Normand)
  • cmake: use stock Find* modules. (pr#10178, Kefu Chai)
  • cmake: work to get inital FreeBSD stuff (pr#10352, Willem Jan Withagen)
  • common,bluestore: Isa-l extention for zlib compression plugin (pr#10158, Alyona Kiseleva, Dan Mick)
  • common,bluestore: compressor/zlib: zlib wrapper fix (pr#11079, Igor Fedotov)
  • common: auth/cephx: misc fixes (pr#9679, xie xingguo)
  • common: common/PluginRegistry: improve error output for shared library load fa… (pr#11081, Igor Fedotov)
  • common: common/Throttle.h: remove unneeded class (pr#10902, Michal Jarzabek)
  • common: common/Timer.h: delete copy constr and assign op (pr#11046, Michal Jarzabek)
  • common: common/WorkQueue: add std move (pr#9729, Michal Jarzabek)
  • common: compressor: zlib compressor plugin cleanup (pr#9782, Alyona Kiseleva)
  • common: erasure-code: Runtime detection of SIMD for jerasure and shec (pr#11086, Bassam Tabbara)
  • common: global: log which process/command sent a signal (pr#8964, song baisen)
  • common: include/assert: clean up ceph assertion macros (pr#9969, Sage Weil)
  • common: instantiate strict_si_cast<long> not strict_si_cast<int64_t> (issue#16398, pr#9934, Kefu Chai)
  • common: lockdep: verbose even if no logging is set (pr#10576, Willem Jan Withagen)
  • common: messages/MOSDMap: mark as enlighten OSDMap encoder (pr#10843, Sage Weil)
  • common: mon/ lock/unlock with Mutex:Lockr (pr#9792, Michal Jarzabek)
  • common: msg/ remove code duplication (pr#10030, Michal Jarzabek)
  • common: msg/async: less verbose debug messages at debug_ms=1 (pr#11205, Sage Weil)
  • common: msg/async: remove static member variable (issue#16686, pr#10440, Kefu Chai)
  • common: only call crypto::init once per CephContext (issue#17205, pr#10965, Casey Bodley)
  • common: osdc/ObjectCacher: change iterator to const_iterator and add const to member functions (pr#9644, Michal Jarzabek)
  • common: preforker: prevent call to ‘write’ on an fd that was already closed (pr#10949, Avner BenHanoch)
  • common: remove basename() dependency (pr#9845, John Coyle)
  • common: src/common/ fix judgment for lseek (pr#10130, zhang.zezhu)
  • common: unknown hash type of judgment modification (pr#9510, huanwen ren)
  • common: replace long types with auto (pr#11067, Michal Jarzabek)
  • common: TrackedOp: move ShardedTrackingData to .cc (pr#10639, Michal Jarzabek)
  • common: config_opts: fix comment(radio -> ratio) (pr#10783, xie xingguo)
  • common: src/common/ reorder the includes (pr#10505, Willem Jan Withagen)
  • common: global/signal_handler: use sig_str instead of sys_siglist (pr#10633, John Coyle)
  • core,cephfs: Revert “osd/ReplicatedPG: for sync-read it don’t cacl l_osd_op_r_prep… (issue#16908, pr#10875, Samuel Just)
  • core,cephfs: mon/mds: add err info when load_metadata is abnormal (pr#10176, huanwen ren)
  • core,common: osd/ remove unneeded returns (pr#11043, Michal Jarzabek)
  • core,pybind: python-rados: extends ReadOp/WriteOp API (pr#9944, Mehdi Abaakouk)
  • core,pybind: python-rados: implement new aio_stat. (pr#11006, Iain Buclaw)
  • core,pybind: qa/workunits/rados/ Allow specifying Python executable (pr#10782, Oleh Prypin)
  • core: os/filestore/LFNIndex: remove unused variable ‘subdir_path’ (pr#8959, huangjun)
  • core: Create ceph-mgr (pr#10328, John Spray, Tim Serong)
  • core: FileJournal: Remove obsolete _check_disk_write_cache function (pr#11073, Brad Hubbard)
  • core: Lua object class support (pr#7338, Noah Watkins)
  • core: OSD crash with Hammer to Jewel Upgrade: void FileStore::init_temp_collections() (issue#16672, pr#10565, David Zafman)
  • core: remove unneeded return (pr#9701, Michal Jarzabek)
  • core: OSD: avoid FileStore finisher deadlock in osd_lock when shutdown OSD (pr#11052, Haomai Wang)
  • core: ObjectCacher: fix last_write check in bh_write_adjacencies() (issue#16610, pr#10304, Yan, Zheng)
  • core: ReplicatedPG: call op_applied for submit_log_entries based repops (pr#9489, Samuel Just)
  • core: Wip 16998 (issue#16998, pr#10688, Samuel Just)
  • core: ceph-create-keys: add missing argument comma (pr#11123, Patrick Donnelly)
  • core: ceph-create-keys: fix existing-but-different case (issue#16255, pr#10415, John Spray)
  • core: ceph-disk: partprobe should block udev induced BLKRRPART (issue#15176, pr#9330, Marius Vollmer, Loic Dachary)
  • core: ceph-disk: timeout ceph-disk to avoid blocking forever (issue#16580, pr#10262, Loic Dachary)
  • core: ceph-objectstore-tool: add a way to split filestore directories offline (issue#17220, pr#10776, Josh Durgin)
  • core: python 3 compatibility of the ceph CLI (pr#9702, Oleh Prypin)
  • core: ceph_mon: use readdir() as readdir_r() is deprecated (pr#11047, Kefu Chai)
  • core: cephx: Fix multiple segfaults due to attempts to encrypt or decrypt (issue#16266, pr#9703, Brad Hubbard)
  • core: (pr#10371, Yan Jun)
  • core: include write error codes in the pg log (issue#14468, pr#10170, Josh Durgin)
  • core: kv/MemDB: fix assert triggerred by m_total_bytes underflow (pr#10471, xie xingguo)
  • core: kv/RocksDB: add perfcounter for submit_transaction_sync operation (pr#9770, Haodong Tang)
  • core: logmon: check is_leader() before doing any work on get_trim_to() (pr#10342, song baisen)
  • core: memstore: clone zero-fills holes from source range (pr#11157, Casey Bodley)
  • core: message: optimization for message priority strategy (pr#8687, yaoning)
  • core: messages/MForward: fix encoding features (issue#17365, pr#11180, Sage Weil)
  • core: mgr/MgrClient: fix ms_handle_reset (pr#11298, Sage Weil)
  • core: mgr/MgrMap: initialize all fields (issue#17492, pr#11308, Sage Weil)
  • core: mon/ConfigKeyService: pass strings by const ref (pr#10618, Michal Jarzabek)
  • core: mon/LogMonitor: move C_Log struct to cc file (pr#10721, Michal Jarzabek)
  • core: mon/MonClient.h: pass strings by const reference (pr#10605, Michal Jarzabek)
  • core: mon/MonDBStore: fix assert which never fires (pr#10706, xie xingguo)
  • core: mon/MonitorDBStore: do not use snapshot iterator; close on close (pr#10102, Sage Weil)
  • core: mon/ remove use of boost assign (pr#11060, Michal Jarzabek)
  • core: mon/PGMonitor: batch filter pg states; add sanity check (pr#9394, xie xingguo)
  • core: mon/PGMonitor: calc the %USED of pool using used/(used+avail) (issue#16933, pr#10584, Kefu Chai)
  • core: mon/PGMonitor: move C_Stats struct to cc file (pr#10719, Michal Jarzabek)
  • core: mon/PaxosService: make the return value type inconsistent (pr#10231, zhang.zezhu)
  • core: mon/osdmonitor: fix incorrect output of “osd df” due to osd out (issue#16706, pr#10308, xie xingguo)
  • core: msg/AsyncMessenger: change return type to void (pr#10230, Michal Jarzabek)
  • core: msg/Messenger: add const and override to function (pr#10183, Michal Jarzabek)
  • core: msg/async/AsyncConnection: replace Mutex with std::mutex for peformance (issue#16714, issue#16715, pr#10340, Haomai Wang)
  • core: msg/async/Event: ensure not refer to member variable which may destroyed (issue#16714, pr#10369, Haomai Wang)
  • core: msg/async/kqueue: avoid remove nonexist kqueue event (pr#9869, Haomai Wang)
  • core: msg/async: Support close idle connection feature (issue#16366, pr#9783, Haomai Wang)
  • core: msg/async: allow other async backend implementations (pr#10264, Haomai Wang)
  • core: msg/async: avoid set out of range ms_async_op_threads option (pr#11200, Haomai Wang)
  • core: msg/async: connect authorizer fix + recv_buf size (pr#9784, Ilya Dryomov)
  • core: msg/async: harden error logic handle (pr#9781, Haomai Wang)
  • core: msg/async: remove fd output in log prefix (pr#11199, Haomai Wang)
  • core: msg/async: remove file event lock (issue#16554, issue#16552, pr#10090, Haomai Wang)
  • core: msg/simple/Pipe: eliminating casts for the comparing of len and recv_max_prefetch (pr#10273, zhang.zezhu)
  • core: msg/simple: fix wrong condition checking of writing TAG_CLOSE on closing (pr#10343, xie xingguo)
  • core: msg/simple: wait dispatch_queue until all pipes closed (issue#16472, pr#9930, Haomai Wang)
  • core: msg: make async backend default (pr#10746, Haomai Wang)
  • core: msg: mark daemons down on RST + ECONNREFUSED (pr#8558, Piotr Dałek)
  • core: os/FuseStore: fix several FuseStore issues (pr#10723, Sage Weil)
  • core: os/MemStore: move BufferlistObject to .cc file (pr#10833, Michal Jarzabek)
  • core: os/ObjectStore: fix return code of collection_empty() method (pr#11050, xie xingguo)
  • core: os/RocksDBStore: use effective Get API instead of iterator api (pr#9411, Jianjian Huo, Haomai Wang, Mark Nelson)
  • core: os/filestore/FDCache: fix bug when filestore_fd_cache_shards = 0 (pr#11048, jimifm)
  • core: os/filestore/FileJournal: error out if FileJournal is not a file (issue#17307, pr#11146, Kefu Chai)
  • core: os/filestore: add sanity checks and cleanups for mount() process (pr#9734, xie xingguo)
  • core: os/filestore: disable use of splice by default (pr#11113, Haomai Wang)
  • core: osd/ remove repeated searching of map (pr#10986, Michal Jarzabek)
  • core: osd/ remove unneeded searching of maps (pr#11039, Michal Jarzabek)
  • core: osd/OSD.h: add const to member functions (pr#11114, Michal Jarzabek)
  • core: osd/OSD.h: move some members under private (pr#11121, Michal Jarzabek)
  • core: osd/OSD.h: remove unneeded line (pr#8980, Michal Jarzabek)
  • core: osd/OSDMonitor: misc. cleanups (pr#10739, xie xingguo)
  • core: osd/OSDMonitor: misc. fixes (pr#10491, xie xingguo)
  • core: osd/ReplicatedBackend: add sanity check during build_push_op() (pr#9491, Yan Jun)
  • core: osd/ReplicatedPG: for sync-read it don’t cacl l_osd_op_r_prepare_lat. (pr#10365, Jianpeng Ma)
  • core: osd/ReplicatedPG: remove class redeclaration (pr#11041, Michal Jarzabek)
  • core: osd/ReplicatedPG: remove unused param “op” from generate_subop() (pr#10811, jimifm)
  • core: osd/Watch: add consts to member functions (pr#10251, Michal Jarzabek)
  • core: osd/osd_type: check if pool is gone during check_new_interval() (pr#10859, xie xingguo)
  • core: osd/osdmonitor: pool of objects and bytes beyond quota should all be warn (pr#9085, huanwen ren)
  • core: osdc/objecter: misc fixes (pr#10826, xie xingguo)
  • core: pass string by const ref and add override to virtual function (pr#9082, Michal Jarzabek)
  • core: qa/workunits/objectstore/ make work with filestore (pr#11057, Sage Weil)
  • core: rados: add option to include clones when doing flush or evict (pr#9698, Mingxin Liu)
  • core: subman: use replace instead of format (issue#16961, pr#10620, Loic Dachary)
  • core: test/common/ fix race in shutdown (pr#10094, Samuel Just)
  • core: test: add the necessary judgment (pr#9694, huanwen ren)
  • core: tox.ini: remove extraneous coverage –omit option (pr#10943, Josh Durgin)
  • core: udev: always populate /dev/disk/by-parttypeuuid (issue#16351, pr#9885, Loic Dachary)
  • core: os/FuseStore: remove unneeded header file (pr#10799, Michal Jarzabek)
  • core: os/MemStore: move OmapIteratorImpl to cc file (pr#10803, Michal Jarzabek)
  • core: os/Memstore.h: add override to virtual functions (pr#10801, Michal Jarzabek)
  • core: os/Memstore: move PageSetObject class to .cc file (pr#10817, Michal Jarzabek)
  • core: os/bluestore: remove unused head file. (pr#11186, Jianpeng Ma)
  • core: safe_io: Improve portability by replacing loff_t type usage with off_t. (pr#9767, John Coyle)
  • core: src/kv/ the type of the parameter of push_back() does not match the ops’s value_type (pr#10455, Willem Jan Withagen)
  • core: msg/simple: apply prefetch policy more precisely (pr#10344, xie xingguo)
  • core: CompatSet.h: remove unneeded inline (pr#10071, Michal Jarzabek)
  • core: Objclass perm feedback (pr#10313, Noah Watkins)
  • core: arch/arm.c: remove unnecessary variable read for simplicity (pr#10821, Weibing Zhang)
  • crush: don’t normalize input of crush_ln iteratively (pr#10935, Piotr Dałek)
  • crush: reset bucket->h.items[i] when removing tree item (issue#16525, pr#10093, Kefu Chai)
  • crush: (pr#10952, xu biao)
  • crush: CrushCompiler: error out as long as parse fails (issue#17306, pr#11144, Kefu Chai)
  • doc: Add documentation about snapshots (pr#10436, Greg Farnum)
  • doc: Add two options to radosgw-admin.rst manpage (issue#17281, pr#11134, Thomas Serlin)
  • doc: Changed config parameter “rgw keystone make new tenants” in radosgw multitenancy (issue#17293, pr#11127, SirishaGuduru)
  • doc: Modification for “TEST S3 ACCESS” section in “INSTALL CEPH OBJECT GATEWAY” page (pr#9089, la-sguduru)
  • doc: Update developer docs for cmake paths (pr#11163, John Spray)
  • doc: add “–orphan-stale-secs” to radosgw-admin(8) (issue#17280, pr#11097, Ken Dreyer)
  • doc: add $pid metavar conf doc (pr#11172, Patrick Donnelly)
  • doc: add Backporting section to Essentials chapter (issue#15497, pr#10457, Nathan Cutler)
  • doc: add Prepare tenant section to Testing in the cloud chapter (pr#10413, Nathan Cutler)
  • doc: add Upload logs to archive server section… (pr#10414, Nathan Cutler)
  • doc: add client config ref (issue#16743, pr#10434, Patrick Donnelly)
  • doc: add graphic for cap bit field (pr#10897, Patrick Donnelly)
  • doc: add missing PR to hammer 0.94.8 release notes (pr#10900, Nathan Cutler)
  • doc: add openSUSE instructions to quick-start-preflight (pr#10454, Nathan Cutler)
  • doc: add rgw_enable_usage_log option in Rados Gateway admin guide (issue#16604, pr#10159, Mike Hackett)
  • doc: add troubleshooting steps for ceph-fuse (pr#10374, Ken Dreyer)
  • doc: admin/build-doc: bypass sanity check if building doc (issue#16940, pr#10623, Kefu Chai)
  • doc: ceph-authtool man page option is –print-key not –print (pr#9731, Brad Hubbard)
  • doc: ceph-deploy mon add doesn’t take multiple nodes (pr#10085, Chengwei Yang)
  • doc: clarify rbd size units (pr#11303, Ilya Dryomov)
  • doc: cleanup outdated radosgw description (pr#11248, Jiaying Ren)
  • doc: describe libvirt client logging (pr#10542, Ken Dreyer)
  • doc: do not list all major versions in get-packages.rst (pr#10899, Nathan Cutler)
  • doc: doc/cephfs: explain the various health messages (pr#10244, John Spray)
  • doc: doc/dev: Fix missing code section due to no lexer for “none” (pr#9083, Brad Hubbard)
  • doc: doc/radosgw: fix description of response elements ‘Part’ (pr#10641, weiqiaomiao)
  • doc: doc/radosgw: rename config.rst to config-fcgi.rst (pr#10381, Nathan Cutler)
  • doc: extend the CephFS troubleshooting guide (pr#10458, Greg Farnum)
  • doc: fix broken link in SHEC erasure code plugin (issue#16996, pr#10675, Albert Tu)
  • doc: fix description for rsize and rasize (pr#11101, Andreas Gerstmayr)
  • doc: fix rados/configuration/osd-config-ref.rst (pr#10619, Chengwei Yang)
  • doc: fix singleton example in Developer Guide (pr#10830, Nathan Cutler)
  • doc: fix some nits in release notes and releases table (pr#10903, Nathan Cutler)
  • doc: fix standby replay config (issue#16664, pr#10268, Patrick Donnelly)
  • doc: fix wrong osdkeepalive name in mount.ceph manpage (pr#10840, Zhi Zhang)
  • doc: fix/add changelog for 10.2.2, 0.94.7, 0.94.8 (pr#10895, Sage Weil)
  • doc: format 2 now is the default image format (pr#10705, Chengwei Yang)
  • doc: lgtm (build verified f23) (pr#9745, weiqiaomiao)
  • doc: mailmap updates for upcoming 11.0.0 (pr#9301, Yann Dupont)
  • doc: manual instructions to set up mds daemon (pr#11115, Peter Maloney)
  • doc: missing “make vstart” in quick_guide.rst (pr#11226, Leo Zhang)
  • doc: more details for pool deletion (pr#10190, Ken Dreyer)
  • doc: peering.rst, fix typo (pr#10131, Brad Hubbard)
  • doc: perf_counters.rst fix trivial typo (pr#10292, Brad Hubbard)
  • doc: rbdmap: specify bash shell interpreter (issue#16608, pr#10733, Jason Dillaman)
  • doc: release-notes.rst: draft 0.94.8 release notes (pr#10730, Nathan Cutler)
  • doc: remove btrfs contradiction (pr#9758, Nathan Cutler)
  • doc: remove i386 from minimal hardware recommendations (pr#10276, Kefu Chai)
  • doc: remove old references to inktank premium support (pr#11182, Alfredo Deza)
  • doc: remove the description of deleted options (issue#17041, pr#10741, MinSheng Lin)
  • doc: rgw, doc: fix formatting around Keystone-related options. (pr#10331, Radoslaw Zarzynski)
  • doc: rgw/doc: fix indent (pr#10676, Yan Jun)
  • doc: rm SysV instructions, add systemd (pr#10184, Ken Dreyer)
  • doc: silence sphinx warnings (pr#10621, Kefu Chai)
  • doc: small standby doc edits (pr#10479, Patrick Donnelly)
  • doc: update CephFS “early adopters” info (pr#10068, John Spray)
  • doc: update canonical tarballs URL (pr#9695, Ken Dreyer)
  • doc: update rbd glance configuration notes (pr#10629, Jason Dillaman)
  • doc: update s3 static webiste feature support status (pr#10223, Jiaying Ren)
  • doc: changelog: add v10.2.3 (pr#11238, Abhishek Lekshmanan)
  • doc: install: Use https:// for (pr#10709, Colin Walters)
  • doc: release-notes: v0.94.9 (pr#10927, Sage Weil)
  • doc: release-notes: v10.2.3 jewel (pr#11234, Abhishek Lekshmanan)
  • doc: Add UK mirror and update copyright (pr#10531, Patrick McGarry)
  • doc: replace package build instructions with tarball instructions (pr#10829, Sage Weil)
  • doc: Removed reference about pool ownership based on BZ#1368528 (pr#11063, Bara Ancincova)
  • librados: use bufferlist instead of buffer::list in public header (pr#10632, Ryne Li)
  • librados: Rados-stripper: Flexible string matching for not found attributes (pr#10577, Willem Jan Withagen)
  • librados: librados examples: link and include from current source tree by default. (issue#15100, pr#8189, Jesse Williamson)
  • librbd: API methods to directly acquire and release the exclusive lock (issue#15632, pr#9592, Mykola Golub)
  • librbd: add consistency groups operations with images (pr#10034, Victor Denisov)
  • librbd: add explicit shrink check while resizing images (pr#9878, Vaibhav Bhembre)
  • librbd: asynchronous v2 image creation (issue#15321, pr#9585, Venky Shankar)
  • librbd: backward/forward compatibility for update_features (issue#17330, pr#11155, Jason Dillaman)
  • librbd: block name prefix might overflow fixed size C-string (issue#17310, pr#11148, Jason Dillaman)
  • librbd: cache was not switching to writeback after first flush (issue#16654, pr#10762, Jason Dillaman)
  • librbd: corrected use-after-free in ImageWatcher (issue#17289, pr#11112, Jason Dillaman)
  • librbd: deadlock when replaying journal during image open (issue#17188, pr#10945, Jason Dillaman)
  • librbd: delay acquiring lock if image watch has failed (issue#16923, pr#10574, Jason Dillaman)
  • librbd: discard hangs when ‘rbd_skip_partial_discard’ is enabled (issue#16386, pr#10060, Mykola Golub)
  • librbd: extract group module from librbd/internal (pr#11070, Victor Denisov)
  • librbd: failed assertion after shrinking a clone image twice (issue#16561, pr#10072, Jason Dillaman)
  • librbd: fix missing return statement if failed to get mirror image state (pr#10136, runsisi)
  • librbd: fix possible inconsistent state when disabling mirroring fails (issue#16984, pr#10711, Jason Dillaman)
  • librbd: ignore partial refresh error when acquiring exclusive lock (issue#17227, pr#11044, Jason Dillaman)
  • librbd: initial hooks for client-side, image-extent cache in IO path (pr#9121, Jason Dillaman)
  • librbd: interlock image refresh and exclusive lock operations (issue#16773, issue#17015, pr#10770, Jason Dillaman)
  • librbd: memory leak in MirroringWatcher::notify_image_updated (pr#11306, Mykola Golub)
  • librbd: optimize away unnecessary object map updates (issue#16707, issue#16689, pr#10332, Jason Dillaman)
  • librbd: optionally unregister “laggy” journal clients (issue#14738, pr#10378, Mykola Golub)
  • librbd: permit disabling journaling if in corrupt state (issue#16740, pr#10712, Jason Dillaman)
  • librbd: possible deadlock if cluster connection closed after image (issue#17254, pr#11037, Jason Dillaman)
  • librbd: potential deadlock closing image with in-flight readahead (issue#17198, pr#11152, Jason Dillaman)
  • librbd: potential double-unwatch of watch handle upon error (issue#17210, pr#10974, Jason Dillaman)
  • librbd: potential seg fault when blacklisting an image client (issue#17251, pr#11034, Jason Dillaman)
  • librbd: prevent creation of clone from non-primary mirrored image (issue#16449, pr#10123, Mykola Golub)
  • librbd: prevent creation of v2 image ids that are too large (issue#16887, pr#10581, Jason Dillaman)
  • mds: Add path filtering for dump cache (issue#11171, pr#9925, Douglas Fuller)
  • mds: Kill C_SaferCond in evict_sessions() (issue#16288, pr#9971, Douglas Fuller)
  • mds: Return “committing” rather than “committed” member in get_committing (pr#10250, Greg Farnum)
  • mds: Set mds_snap_max_uid to 4294967294 (pr#11016, Wido den Hollander)
  • mds: add assertion in handle_slave_rename_prep (issue#16807, pr#10429, John Spray)
  • mds: add assertions for standby_daemons invariant (issue#16592, pr#10316, Patrick Donnelly)
  • mds: add health warning for oversized cache (issue#16570, pr#10245, John Spray)
  • mds: add maximum fragment size constraint (issue#16164, pr#9789, Patrick Donnelly)
  • mds: add perf counters for MDLog replay and SessionMap (pr#10539, John Spray)
  • mds: catch duplicates in DamageTable (issue#17173, pr#11137, John Spray)
  • mds: fix Session::check_access() (issue#16358, pr#9769, Yan, Zheng)
  • mds: fix daemon selection when starting ranks (pr#10540, John Spray)
  • mds: fix shutting down mds timed-out due to deadlock (issue#16396, pr#9884, Zhi Zhang)
  • mds: fix up _dispatch ref-counting semantics (pr#10533, Greg Farnum)
  • mds: fixup dump Formatter’ type error; add path_ino and is_primary in the CDentry::dump() (pr#10119, huanwen ren)
  • mds: handle blacklisting during journal recovery (issue#17236, pr#11138, John Spray)
  • mds: log path with CDir damage messages (issue#16973, pr#10996, John Spray)
  • mds: move Finisher to unlocked shutdown (issue#16042, pr#10142, Patrick Donnelly)
  • mds: populate DamageTable from scrub and log more quietly (issue#16016, pr#11136, John Spray)
  • mds: remove fail-safe queueing replay request (issue#17271, pr#11078, Yan, Zheng)
  • mds: remove max_mds config option (issue#17105, pr#10914, Patrick Donnelly)
  • mds: remove unused MDSDaemon::objecter (pr#10566, Patrick Donnelly)
  • mds: snap failover fixes (pr#9955, Yan, Zheng)
  • mds: trim null dentries proactively (issue#16919, pr#10606, John Spray)
  • mds: unuse Class and cleanup (pr#10399, huanwen ren)
  • mds: use reference to avoid copy (pr#10191, Patrick Donnelly)
  • mds: MDCache.h: remove unneeded access specifier (pr#10901, Michal Jarzabek)
  • mds: MDSDaemon: move C_MDS_Tick class to .cc file (pr#11220, Michal Jarzabek)
  • mgr: implement con reset handling (pr#11299, Sage Weil)
  • mgr: squash compiler warnings (pr#11307, John Spray)
  • mon: MonClient may hang on pinging an unresponsive monitor (pr#9259, xie xingguo)
  • mon: Monitor: validate prefix on handle_command() (issue#16297, pr#9700, You Ji)
  • mon: OSDMonitor: Missing nearfull flag set (pr#11082, Igor Podoski)
  • mon: change osdmap flags set and unset messages (issue#15983, pr#9252, Vikhyat Umrao)
  • mon: clear list in better way (pr#9718, song baisen)
  • mon: do not recalculate ‘to_remove’ when it’s known (pr#9717, song baisen)
  • mon: misc cleanups (pr#10591, xie xingguo)
  • mon: remove the redundant cancel_probe_timeout function (pr#10261, song baisen)
  • mon: remove the redundant is_active judge in PaxosService (pr#9749, song baisen)
  • mon: tear down standby replays on MDS rank stop (issue#16909, pr#10628, John Spray)
  • mon: use clearer code structure (pr#10192, Patrick Donnelly)
  • mon: validate states transmitted in beacons (issue#16592, pr#10428, John Spray)
  • mon: wait 10m (not 5m) before marking down OSDs out (pr#11184, Sage Weil)
  • mon: write fsid use the right return value (pr#10197, song baisen)
  • mon: Elector:move C_ElectionExpire class to cc file (pr#10416, Michal Jarzabek)
  • mon: HealthMonitor: add override to virtual functs (pr#10549, Michal Jarzabek)
  • mon: HealthMonitor: remove unneeded include (pr#10563, Michal Jarzabek)
  • mon: MonClient.h: delete copy constr and assing op (pr#10599, Michal Jarzabek)
  • mon: MonClient: move C_CancelMonCommand to cc file (pr#10392, Michal Jarzabek)
  • mon: MonClient: move C_Tick struct to cc file (pr#10383, Michal Jarzabek)
  • mon: Monitor.h: add override to virtual functions (pr#10515, Michal Jarzabek)
  • mon: Monitor: move C_Scrub, C_ScrubTimeout to .cc (pr#10513, Michal Jarzabek)
  • mon: remove unneeded casts (pr#10575, Michal Jarzabek)
  • mon: Paxos: move classes to .cc file (pr#11215, Michal Jarzabek)
  • mon: PaxosService: move classes to cc file (pr#10529, Michal Jarzabek)
  • mon: remove the redundant list swap in paxos commit_proposal (pr#10011, song baisen)
  • msgr: set close on exec flag (issue#16390, pr#9772, Kefu Chai)
  • msgr: Accepter.h: add override to virtual function (pr#10422, Michal Jarzabek)
  • msgr: Accepter: move include to cc file (pr#10441, Michal Jarzabek)
  • msgr: AsyncConnection: add const to mem functions (pr#10302, Michal Jarzabek)
  • msgr: remove unneeded cast (pr#10141, Michal Jarzabek)
  • msgr: AsyncMessenger: add const to function (pr#10114, Michal Jarzabek)
  • msgr: AsyncMessenger: move C_handle_reap class to cc (pr#10113, Michal Jarzabek)
  • msgr: AsyncMessenger: move C_processor_accept class (pr#9991, Michal Jarzabek)
  • msgr: AsyncMessenger: remove unneeded include file (pr#10195, Michal Jarzabek)
  • msgr: AsyncMessenger: remove unused function (pr#10163, Michal Jarzabek)
  • msgr: EventKqueue.h: add override to virtual func (pr#10318, Michal Jarzabek)
  • msgr: EventPoll.h: add override to virtual functions (pr#10314, Michal Jarzabek)
  • msgr: EventSelect.h: add override to virtual funct (pr#10321, Michal Jarzabek)
  • msgr: EventSelect: move includes to cc file (pr#10333, Michal Jarzabek)
  • msgr: FastStrategy.h: add override to virtual funct (pr#10482, Michal Jarzabek)
  • msgr: Message.h: add const to member function (pr#10354, Michal Jarzabek)
  • msgr: Message.h: remove code duplication (pr#10356, Michal Jarzabek)
  • msgr: QueueStrategy: add override to virtual functs (pr#10503, Michal Jarzabek)
  • msgr: Stack.h: delete copy constr and assign op (pr#11107, Michal Jarzabek)
  • msgr: async/Event.h: add const to member function (pr#10224, Michal Jarzabek)
  • msgr: async: remove unused code. (pr#11247, Jianpeng Ma)
  • osd: bail out if transaction size overflows (issue#16982, pr#10753, Kefu Chai)
  • osd: cleanup options and other redundancies (pr#10450, xie xingguo)
  • osd: drop unused variables/methods (pr#10559, xie xingguo)
  • osd: fix the mem leak of RepGather (issue#16801, pr#10423, Kefu Chai)
  • osd: fixups to explicitly persistenting missing sets (pr#10405, Samuel Just)
  • osd: increment stats on recovery pull also (issue#16277, pr#10152, Kefu Chai)
  • osd: limit omap data in push op (issue#16128, pr#9894, Wanlong Gao)
  • osd: minor performance improvements (pr#10470, xie xingguo)
  • osd: minor performance improvements and fixes (pr#10526, xie xingguo)
  • osd: misc fixes and cleanups (pr#10610, xie xingguo)
  • osd: miscellaneous fixes (pr#10572, xie xingguo)
  • osd: more cleanups (pr#10548, xie xingguo)
  • osd: object class loading and execution permissions (pr#9972, Noah Watkins)
  • osd: pass shared_ptr by const reference (pr#11266, Michal Jarzabek)
  • osd: persist the missing set explicitly (pr#10334, Samuel Just)
  • osd: remove dispatch queue check since we don’t queue hb message to this (pr#9947, Haomai Wang)
  • osd: remove duplicated function (pr#9117, Wei Jin)
  • osd: replace ceph:atomic_t with std::atomic in osd module. (pr#9138, Xiaowei Chen)
  • osd: should not look up an empty pg (issue#17380, pr#11208, Kefu Chai, Loic Dachary)
  • osd: small cleanups (pr#9980, Wanlong Gao)
  • osd: subscribe for old osdmaps when pause flag is set (issue#17023, pr#10725, Kefu Chai)
  • osd:preserve allocation hint attribute during recovery (pr#9452, yaoning)
  • osd: fix typo in variable assignments (pr#11224, Willem Jan Withagen)
  • osd: initialise variable at definition (pr#11099, Michal Jarzabek)
  • osd: remove unneeded searching of map (pr#11000, Michal Jarzabek)
  • osd: OSD.h: make some members private (pr#11085, Michal Jarzabek)
  • osd: remove unneeded use of count (pr#11228, Michal Jarzabek)
  • osd: PGBackend.h: move structs to .cc file (pr#10975, Michal Jarzabek)
  • osd: ReplicatedBackend: move classes to cc file (pr#10967, Michal Jarzabek)
  • osd: ReplicatedPG.h: add override to virtual funct (pr#11271, Michal Jarzabek)
  • osd: ReplicatedPG: move classes to .cc file (pr#10971, Michal Jarzabek)
  • osd: ReplicatedPG:move C_OSD_OnApplied class to cc (pr#11288, Michal Jarzabek)
  • osd: Watch.h: remove unneeded forward declaration (pr#10269, Michal Jarzabek)
  • osd: osdc/ObjectCacher.h: add const to member functions (pr#9569, Michal Jarzabek)
  • osd: osdc/ObjectCacher.h: add const to member functions (pr#9652, Michal Jarzabek)
  • osd: osdc/Objecter: move RequestStateHook class to .cc (pr#10734, Michal Jarzabek)
  • pybind: Port Python-based tests and remaining Python bindings to Python 3 (pr#10177, Oleh Prypin)
  • pybind: Rework cephfs/ for PyPI (pr#10315, Anirudha Bose)
  • pybind: Rework rbd/ for PyPI (issue#16940, pr#10376, Anirudha Bose)
  • pybind: global/signal_handler: dump cmdline instead of arg[0] (pr#10345, Kefu Chai)
  • pybind: make rados ready for PyPI (pr#9833, Anirudha Bose)
  • pybind: pybind/ceph_argparse: handle non ascii unicode args (issue#12287, pr#8943, Kefu Chai)
  • pybind: Python 3 compatibility for workunits (pr#10815, Anirudha Bose)
  • rbd: Allow user to remove snapshot with –force to auto flatten children (pr#10087, Dongsheng Yang)
  • rbd: Reviewed-off-by: Ilya Dryomov <> (issue#16171, pr#10481, Jason Dillaman)
  • rbd: Reviewed-off-by: Ilya Dryomov <> (issue#17030, pr#10735, Jason Dillaman)
  • rbd: bench io-size should not be larger than image size (issue#16967, pr#10708, Jason Dillaman)
  • rbd: cleanup – Proxied operations shouldn’t result in error messages if replayed (issue#16130, pr#9724, Vikhyat Umrao)
  • rbd: cls_rbd: clean up status from rbd-mirror if image removed (pr#11142, Huan Zhang)
  • rbd: cls_rbd: set omap values in batch during image creation (pr#9981, Dongsheng Yang)
  • rbd: inherit the parent image features when cloning an image (issue#15388, pr#9334, Dongsheng Yang)
  • rbd: journal: ensure in-flight ops are complete destroying journaler (issue#17446, pr#11257, Mykola Golub, Jason Dillaman)
  • rbd: journal: increase concurrency/parallelism of journal recorder (issue#15259, pr#10445, Ricardo Dias)
  • rbd: journal: move JournalTrimmer::C_RemoveSet struct (pr#10912, Michal Jarzabek)
  • rbd: qa/workunits/rbd: before removing image make sure it is not bootstrapped (issue#16555, pr#10155, Mykola Golub)
  • rbd: qa/workunits/rbd: check status also in pool dir after asok commands (pr#11291, Mykola Golub)
  • rbd: qa/workunits/rbd: set image-meta on primary image and wait it is replicated (pr#11294, Mykola Golub)
  • rbd: qa/workunits/rbd: small fixup and improvements for rbd-mirror tests (pr#10483, Mykola Golub)
  • rbd: qa/workunits/rbd: wait for image deleted before checking health (pr#10545, Mykola Golub)
  • rbd: qa/workunits: support filtering cls_rbd unit test cases (issue#16529, pr#10714, Jason Dillaman)
  • rbd: rbd-mirror: ‘wait_for_scheduled_deletion’ callback might deadlock (issue#16491, pr#9964, Jason Dillaman)
  • rbd: rbd-mirror: Add sparse read for sync image (issue#16780, pr#11005, tianqing)
  • rbd: rbd-mirror: add additional test scenarios (pr#10488, lande1234)
  • rbd: rbd-mirror: concurrent access of event might result in heap corruption (issue#17283, pr#11104, Jason Dillaman)
  • rbd: rbd-mirror: force-promoted image will remain R/O until rbd-mirror daemon restarted (issue#16974, pr#11090, Jason Dillaman)
  • rbd: rbd-mirror: gracefully fail if object map is unavailable (issue#16558, pr#10065, Jason Dillaman)
  • rbd: rbd-mirror: gracefully handle being blacklisted (issue#16349, pr#9970, Jason Dillaman)
  • rbd: rbd-mirror: image deleter should use pool id + global image uuid for key (issue#16538, issue#16227, pr#10484, Jason Dillaman)
  • rbd: rbd-mirror: improve split-brain detection logic (issue#16855, pr#10703, Jason Dillaman)
  • rbd: rbd-mirror: include local pool id in resync throttle unique key (issue#16536, pr#10254, Jason Dillaman)
  • rbd: rbd-mirror: non-primary image is recording journal events during image sync (pr#10462, Jason Dillaman)
  • rbd: rbd-mirror: potential IO stall when using asok flush request (issue#16708, pr#10432, Jason Dillaman)
  • rbd: rbd-mirror: potential assertion failure during error-induced shutdown (issue#16956, pr#10613, Jason Dillaman)
  • rbd: rbd-mirror: potential race condition during failure shutdown (issue#16980, pr#10667, Jason Dillaman)
  • rbd: rbd-mirror: quiesce in-flight event commits before shut down (issue#17355, pr#11185, Jason Dillaman)
  • rbd: rbd-mirror: reduce memory footprint during journal replay (issue#16223, pr#10341, Jason Dillaman)
  • rbd: rbd-mirror: remove ceph_test_rbd_mirror_image_replay test case (issue#16539, pr#10083, Mykola Golub)
  • rbd: rbd-mirror: replaying state should include flush action (issue#16970, pr#10627, Jason Dillaman)
  • rbd: rbd-mirror: replicate dynamic feature updates (issue#16213, pr#10980, Mykola Golub)
  • rbd: rbd-mirror: replicate image metadata settings (issue#16212, pr#11168, Mykola Golub)
  • rbd: rbd-mirror: snap rename does not properly replicate to peers (issue#16622, pr#10249, Jason Dillaman)
  • rbd: rbd-nbd does not properly handle resize notifications (issue#15715, pr#9291, Mykola Golub)
  • rbd: rbd-nbd: fix kernel deadlock during teuthology testing (issue#16921, pr#10985, Jason Dillaman)
  • rbd: recognize lock_on_read option (pr#11313, Ilya Dryomov)
  • rbd: return error if we specified a wrong image name for rbd du (issue#16987, pr#11031, Dongsheng Yang)
  • rbd: test/librbd/fsx: enable exclusive-lock feature in krbd mode (pr#10984, Ilya Dryomov)
  • rbd: test/rbd: fix possible mock journal race conditions (issue#17317, pr#11153, Jason Dillaman)
  • rbd: test: cmake related fixups for rbd tests (pr#10124, Mykola Golub)
  • rbd: test: run-rbd-tests test cmake fixup (pr#10134, Mykola Golub)
  • rbd: test: use wrapper that respects RBD_FEATURES when creating rbd image (issue#16717, pr#10348, Mykola Golub)
  • rbd: udev: add krbd readahead placeholder (pr#10841, Nick Fisk)
  • rbd: rbd_mirror/ImageSynceThrottler: move struct to .cc (pr#10928, Michal Jarzabek)
  • rgw: (build verified, provably unused/not aliased) (pr#9993, weiqiaomiao)
  • rgw: Add documentation for the Multi-tenancy feature (pr#9570, Pete Zaitcev)
  • rgw: Clean up lifecycle thread (pr#10480, Daniel Gryniewicz)
  • rgw: Do not archive metadata by default (issue#17256, pr#11051, Pavan Rallabhandi)
  • rgw: Fix Host->bucket fallback logic inversion (issue#15975, issue#17136, pr#10873, Robin H. Johnson)
  • rgw: Fix for using port 443 with pre-signed urls. (issue#16548, pr#10088, Pritha Srivastava)
  • rgw: Fix incorrect content length and range for zero sized objects during range requests (issue#16388, pr#10207, Pavan Rallabhandi)
  • rgw: Got rid of recursive mutex. (pr#10562, Adam Kupczyk)
  • rgw: RGW : setting socket backlog for via ceph.conf (issue#16406, pr#9891, Feng Guo)
  • rgw: RGWMetaSyncCR holds refs to stacks instead of crs (issue#16666, pr#10301, Casey Bodley)
  • rgw: Reviewed by: Pritha Srivastava <> (issue#16188, pr#9584, Albert Tu)
  • rgw: Rgw lifecycle testing (pr#11131, Daniel Gryniewicz)
  • rgw: Rgw nfs 28 (pr#10611, Matt Benjamin)
  • rgw: add configurables for {data,meta} sync error injection (pr#10388, Yehuda Sadeh)
  • rgw: add deadlock detection to RGWCoroutinesManager::run() (pr#10032, Casey Bodley)
  • rgw: add lc_pool when decode or encode struct RGWZoneParams (pr#10439, weiqiaomiao)
  • rgw: add missing master_zone when running with old default region config (issue#16627, pr#10205, Orit Wasserman)
  • rgw: add pg_ver to tombstone_cache (pr#9851, Casey Bodley)
  • rgw: add reinit/rebind logic (ldap) (pr#10532, Matt Benjamin)
  • rgw: add return value checking to avoid possible subsequent parse exception (pr#10241, Yan Jun)
  • rgw: add suport for Swift-at-root dependent features of Swift API (issue#16673, pr#10280, Pritha Srivastava, Radoslaw Zarzynski)
  • rgw: add support for Static Website of Swift API (pr#9844, Radoslaw Zarzynski)
  • rgw: add tenant support to multisite sync (issue#16469, pr#10075, Casey Bodley)
  • rgw: back off bucket sync on failures, don’t store marker (issue#16742, pr#10355, Yehuda Sadeh)
  • rgw: better error message when user has no bucket created yet (issue#16444, pr#10162, Gaurav Kumar Garg)
  • rgw: clean-up in the authentication infrastructure (pr#10212, Radoslaw Zarzynski)
  • rgw: clear realm watch on failed watch_restart (issue#16817, pr#10446, Casey Bodley)
  • rgw: collect skips a specific coroutine stack (issue#16665, pr#10274, Yehuda Sadeh)
  • rgw: cosmetic changes only–build verified, f23 (pr#9931, Yan Jun)
  • rgw: delete region map after upgrade to zonegroup map (issue#17051, pr#10831, Casey Bodley)
  • rgw: do not try to encode or decode time_t and fix compiling warnings (pr#10751, Kefu Chai)
  • rgw: don’t fail if lost race when setting acls (issue#16930, pr#11286, Yehuda Sadeh)
  • rgw: drop create_bucket in fwd_request log message (pr#10214, Abhishek Lekshmanan)
  • rgw: eradicate dynamic memory allocation in RGWPostObj. (pr#11054, Radoslaw Zarzynski)
  • rgw: file setattr (pr#8618, Matt Benjamin)
  • rgw: finish error_repo cr in stop_spawned_services() (issue#16530, pr#10031, Yehuda Sadeh)
  • rgw: fix RGWAccessControlPolicy_SWIFT::create return value check error (issue#17090, pr#10727, weiqiaomiao)
  • rgw: fix compilation (pr#10252, Josh Durgin)
  • rgw: fix decoding of creation_time and last_update. (issue#17167, pr#11132, Orit Wasserman)
  • rgw: fix error_repo segfault in data sync (issue#16603, pr#10157, Casey Bodley)
  • rgw: fix failed to create bucket if a non-master zonegroup has a single zone (pr#10991, weiqiaomiao)
  • rgw: fix flush_read_list() error msg (pr#10749, Jiaying Ren)
  • rgw: fix for issue 16494 (issue#16494, pr#10077, Yehuda Sadeh)
  • rgw: fix for s3tests failure when ldap auth is not applied (pr#10669, Casey Bodley)
  • rgw: fix get object instance returned NoSuchKey error (issue#17111, pr#10820, Yang Honggang)
  • rgw: fix is_admin handling in RGWLDAPAuthEngine and introduce acct_privilege_t (pr#10687, Radoslaw Zarzynski)
  • rgw: fix issue 16435 (issue#16435, pr#10193, Yehuda Sadeh)
  • rgw: fix multi-delete query param parsing. (issue#16618, pr#10187, Robin H. Johnson)
  • rgw: fix period update –commit return error (issue#17110, pr#10836, weiqiaomiao)
  • rgw: fix radosgw daemon core when reopen logs (issue#17036, pr#10737, weiqiaomiao)
  • rgw: fix regression with handling double underscore (issue#16856, pr#10939, Orit Wasserman)
  • rgw: fix rgw_bucket_dir_entry decode v (pr#10918, Tianshan Qu)
  • rgw: fix the error return variable in log message and cleanups (pr#10138, Yan Jun)
  • rgw: fix the missing return value (pr#10122, Yan Jun)
  • rgw: fix upgrade from old multisite to new multisite configuration (issue#16751, pr#10368, Orit Wasserman)
  • rgw: fix wrong variable definition in cls_version_check func (pr#10233, weiqiaomiao)
  • rgw: fix wrong variable definition in rgw_cls_lc_set_entry function (pr#10408, weiqiaomiao)
  • rgw: for the create_bucket api, if the input creation_time is zero, we should set it to ‘now” (issue#16597, pr#10118, weiqiaomiao)
  • rgw: kill a compile warning for rgw_sync (pr#10425, Casey Bodley, Abhishek Lekshmanan)
  • rgw: lgtm (pr#9941, weiqiaomiao)
  • rgw: lgtm (build verified, f23) (pr#9754, John Coyle)
  • rgw: lgtm, build verified f23 (pr#10035, Yan Jun)
  • rgw: lgtm–build verified, f23 (pr#10002, Yan Jun)
  • rgw: lgtm–build verified, f23 (pr#9985, Yan Jun)
  • rgw: lgtm–should backport (pr#9979, Yan Jun)
  • rgw: log mp upload failures due to parts mismatch (pr#10424, Abhishek Lekshmanan)
  • rgw: merge setting flags operation together and cleanups (pr#10203, Yan Jun)
  • rgw: miscellaneous cleanups (pr#10299, Yan Jun)
  • rgw: multiple fixes for Swift’s object expiration (issue#16705, issue#16684, pr#10330, Radoslaw Zarzynski)
  • rgw: need to ‘open_object_section’ before dump stats in ‘RGWGetUsage_… (issue#17499, pr#11325, weiqiaomiao)
  • rgw: obsolete ‘radosgw-admin period prepare’ command (issue#17387, pr#11278, Gaurav Kumar Garg)
  • rgw: radosgw-admin: add “–orphan-stale-secs” to –help (issue#17280, pr#11098, Ken Dreyer)
  • rgw: radosgw-admin: zone[group] modify can change realm id (issue#16839, pr#10477, Casey Bodley)
  • rgw: raise log levels for common radosgw-admin errors (issue#16935, pr#10602, Shilpa Jagannath)
  • rgw: register the correct handler for cls_user_complete_stats (issue#16624, pr#10151, Orit Wasserman)
  • rgw: remove bucket index objects when deleting the bucket (issue#16412, pr#10120, Orit Wasserman)
  • rgw: remove possible duplicate setting (pr#10110, Yan Jun)
  • rgw: remove the field ret from class RGWPutLC (pr#10726, weiqiaomiao)
  • rgw: remove unused bufferlist variable (pr#10194, Yan Jun)
  • rgw: remove unused realm from radosgw-admin zone modify (issue#16632, pr#10211, Orit Wasserman)
  • rgw: remove unused variables (pr#10589, Yan Jun)
  • rgw: return “NoSuchLifecycleConfiguration” if lifecycle config does not exist (pr#10442, weiqiaomiao)
  • rgw: revert a commit that broke s3 signature validation (issue#17279, pr#11102, Casey Bodley)
  • rgw: rgw file: remove busy-wait in RGWLibFS::gc() (pr#10638, Matt Benjamin)
  • rgw: rgw ldap: protect rgw::from_base64 from non-base64 input (pr#10777, Matt Benjamin)
  • rgw: rgw ldap: enforce simple_bind w/LDAPv3 (pr#10593, Matt Benjamin)
  • rgw: rgw multisite: RGWCoroutinesManager::run returns status of last cr (issue#17047, pr#10778, Casey Bodley)
  • rgw: rgw multisite: RGWDataSyncCR fails on errors from RGWListBucketIndexesCR (issue#17073, pr#10779, Casey Bodley)
  • rgw: rgw multisite: fix for assertion in RGWMetaSyncCR (issue#17044, pr#10743, Casey Bodley)
  • rgw: rgw multisite: fixes for period puller (issue#16939, pr#10596, Casey Bodley)
  • rgw: rgw multisite: trim data logs as peer zones catch up (pr#10372, Casey Bodley)
  • rgw: rgw nfs v3 completions (pr#10745, Matt Benjamin)
  • rgw: rgw-admin: allow unsetting user’s email (issue#13286, pr#11340, Yehuda Sadeh, Weijun Duan)
  • rgw: rgw/admin: fix some return values and indents (pr#9170, Yan Jun)
  • rgw: rgw/rados: remove confused error printout (pr#9351, Yan Jun)
  • rgw: rgw/ modify the end check in RGWHTTPArgs::sys_get (pr#9136, zhao kun)
  • rgw: rgw/ fix sleep time according to the error message (pr#10930, Weibing Zhang)
  • rgw: rgw/rgw_main: fix unnecessary variables defined (pr#10475, zhang.zezhu)
  • rgw: rgw/swift: remove redundant assignment operation (pr#11292, Yan Jun)
  • rgw: rgw_file: pre-assign times (issue#17367, pr#11181, Matt Benjamin)
  • rgw: rgw_file: fix rename cases and unify unlink (pr#10271, Matt Benjamin)
  • rgw: rgw_file: fix set_attrs operation (pr#11159, Matt Benjamin)
  • rgw: rgw_file: refuse partial, out-of-order writes (pr#10284, Matt Benjamin)
  • rgw: rgw_file: restore local definition of RGWLibFS gc interval (pr#10756, Matt Benjamin)
  • rgw: rgw_file: unlock() must precede out label (pr#10635, Matt Benjamin)
  • rgw: right parenthesis is missing in radosgw-admin help message on caps (pr#10947, Weibing Zhang)
  • rgw: set correct instance on the object (issue#17443, pr#11270, Yehuda Sadeh)
  • rgw: store oldest mdlog period in rados (issue#16894, pr#10558, Casey Bodley)
  • rgw: test/ add a destructive attr to tests (pr#10401, Abhishek Lekshmanan)
  • rgw: test/rgw: add –gateways-per-zone to (pr#10742, Casey Bodley)
  • rgw: avoid creating mds (pr#10174, Abhishek Lekshmanan)
  • rgw: test_rgw_bencode: null terminate strings before checking (issue#16861, pr#10510, Yehuda Sadeh)
  • rgw: use endpoints from master zone instead of zonegroup (issue#16834, pr#10456, Casey Bodley)
  • rgw: use the standard usage of string.find (pr#10226, Yan Jun)
  • rgw: verfied: f23, subset of s3tests (pr#10448, Pritha Srivastava)
  • rgw: verified (pr#10000, weiqiaomiao)
  • rgw: verified non-regression (MS AD) (pr#10597, Pritha Srivastava)
  • rgw: verified: autobuild (issue#16928, pr#10579, Robin H. Johnson)
  • rgw: verified: MS AD (pr#10307, Pritha Srivastava)
  • rgw: verified: f23 (pr#10882, Michal Jarzabek)
  • rgw: verified: f23 (pr#10858, Weibing Zhang)
  • rgw: verified: f23 (pr#10822, Yan Jun)
  • rgw: verified: f23 (pr#10929, Weibing Zhang)
  • rgw: wip: rgw multisite: preserve zone’s extra pool (issue#16712, pr#10397, Abhishek Lekshmanan)
  • rgw: work around curl_multi_wait bug with non-blocking reads (issue#15915, issue#16695, pr#10998, Casey Bodley)
  • rgw:add a s3 API of make torrent for a object (pr#10396, zhouruisong)
  • rgw:add a s3 API of make torrent for a object (pr#9589, zhouruisong)
  • rgw:bucket check remove _multipart_ prefix (pr#6501, Weijun Duan)
  • rgw:clean unuse bufferlist (pr#10232, weiqiaomiao)
  • rgw:fix rgw boot failed after upgrade to master latest version (pr#10409, weiqiaomiao)
  • rgw:lifecycle feature [rebased] (pr#9737, Ji Chen, Daniel Gryniewicz)
  • rgw: rgw/rgw_rados.h: remove unneeded class C_Tick (pr#10954, Michal Jarzabek)
  • rgw: ext_mime_map_init add string describing for error number (pr#9807, Yan Jun)
  • tests: Add test for global static non-POD segfault (pr#10486, Brad Hubbard)
  • tests: populate /dev/disk/by-partuuid for scsi_debug (issue#17100, pr#10824, Loic Dachary)
  • tests: use a fixture for memstore clone testing (pr#11190, Kefu Chai)
  • tests: run-* Make DRY_RUN actually mean a dry run (pr#11074, Brad Hubbard)
  • tests: Actually run the tests (pr#11075, Brad Hubbard)
  • tests: Init submodules (pr#11091, Brad Hubbard)
  • tests: Make DRY_RUN actually do a dry run (pr#11092, Brad Hubbard)
  • tests: pass args to (pr#10701, John Coyle)
  • tests: unittest_chain_xattr: account for existing xattrs (issue#16025, pr#11109, Dan Mick)
  • tests: src/test/cli/* tests: POSIX Convert grep -P to grep -E (pr#10319, Willem Jan Withagen)
  • test: ceph_test_msgr: fix circular locking dependency (issue#16955, pr#10612, Kefu Chai)
  • test: cli/crushtool: fix the test of compile-decompile-recompile.t (issue#17306, pr#11173, Kefu Chai)
  • test: libcephfs: fix gcc sys/fcntl.h warnings (pr#10126, John Coyle)
  • test: librados: rados_connect() should succeed (issue#17087, pr#10806, Kefu Chai)
  • test: mds: add fs dump in (pr#10347, huanwen ren)
  • test: remove unused variable (pr#9932, Michal Jarzabek)
  • test: store_test: tidy-up SyntheticWorkloadState class (pr#10775, xie xingguo)
  • test: More portable use of mmap(MAP_ANON) (pr#10557, Willem Jan Withagen)
  • test: Removeall merged after print_function commit needs a fix (pr#10535, David Zafman)
  • test: do not kill all daemons (issue#16729, pr#10346, Kefu Chai)
  • test: cephtool/ fix expect_false() calls (pr#10133, Kefu Chai)
  • test: fix usage info of omapbench (pr#10089, Wanlong Gao)
  • test: remove ceph_test_rados_api_tmap_migrate (issue#16144, pr#10256, Kefu Chai)
  • test: test_{compression_plugin,async_compressor}: do not copy plugins (pr#10153, Kefu Chai)
  • test: Make script work under ctest (pr#10166, Willem Jan Withagen)
  • test: qa/workunits/cephtool/ fix omission of ceph-command (pr#10979, Willem Jan Withagen)
  • test: qa/workunits/cephtool/ s/TMPDIR/TEMP_DIR/ (pr#10306, Kefu Chai)
  • test: qa/workunits/cephtool/ use absolute path for TEMP_DIR (pr#10430, Kefu Chai)
  • tools: New “removeall” used to remove head with snapshots (pr#10098, David Zafman)
  • tools: do not closed stdout ; fix overload of “<” operator (pr#9290, xie xingguo)
  • tools: fix the core dump when get the crushmap do not exist (pr#10451, song baisen)
  • tools: rebuild monstore (issue#17179, pr#10933, Kefu Chai)
  • tools: use TextTable for “rados df” plain output (pr#9362, xie xingguo)
  • tools: fio engine for objectstore (pr#10267, Casey Bodley, Igor Fedotov, Daniel Gollub)
  • tools: rados/client: fix typo (pr#10493, Yan Jun)
  • tools: rados/client: fix waiting on the condition variable more efficient. (pr#9939, Yan Jun)
  • tools: tools/rebuild_mondb: kill comipling warning and other fixes (pr#11117, xie xingguo)
  • tools: authtool: Enhance argument combinations validation (issue#2904, pr#9704, Brad Hubbard)
  • tools: ceph-disk: change ownership of initfile to ceph:ceph (issue#16280, pr#9688, Shylesh Kumar)
  • test: ceph_test_rados_api_tmap_migrate: remove test for tmap_upgrade (pr#10234, Kefu Chai)

v0.94.4 Hammer released

This Hammer point fixes several important bugs in Hammer, as well as fixing interoperability issues that are required before an upgrade to Infernalis. That is, all users of earlier version of Hammer or any version of Firefly will first need to upgrade to hammer v0.94.4 or later before upgrading to Infernalis (or future releases).

All v0.94.x Hammer users are strongly encouraged to upgrade.


  • build/ops: 50-rbd.rules conditional is wrong (issue#12166, pr#5207, Nathan Cutler)
  • build/ops: ceph-common needs python-argparse on older distros, but doesn’t require it (issue#12034, pr#5216, Nathan Cutler)
  • build/ops: radosgw requires apache for SUSE only – makes no sense (issue#12358, pr#5411, Nathan Cutler)
  • build/ops: rpm: cephfs_java not fully conditionalized (issue#11991, pr#5202, Nathan Cutler)
  • build/ops: rpm: not possible to turn off Java (issue#11992, pr#5203, Owen Synge)
  • build/ops: running fdupes unnecessarily (issue#12301, pr#5223, Nathan Cutler)
  • build/ops: snappy-devel for all supported distros (issue#12361, pr#5264, Nathan Cutler)
  • build/ops: SUSE/openSUSE builds need libbz2-devel (issue#11629, pr#5204, Nathan Cutler)
  • build/ops: useless %py_requires breaks SLE11-SP3 build (issue#12351, pr#5412, Nathan Cutler)
  • build/ops: error in ext_mime_map_init() when /etc/mime.types is missing (issue#11864, pr#5385, Ken Dreyer)
  • build/ops: upstart: limit respawn to 3 in 30 mins (instead of 5 in 30s) (issue#11798, pr#5930, Sage Weil)
  • build/ops: With root as default user, unable to have multiple RGW instances running (issue#10927, pr#6161, Sage Weil)
  • build/ops: With root as default user, unable to have multiple RGW instances running (issue#11140, pr#6161, Sage Weil)
  • build/ops: With root as default user, unable to have multiple RGW instances running (issue#11686, pr#6161, Sage Weil)
  • build/ops: With root as default user, unable to have multiple RGW instances running (issue#12407, pr#6161, Sage Weil)
  • cli: ceph: cli throws exception on unrecognized errno (issue#11354, pr#5368, Kefu Chai)
  • cli: ceph tell: broken error message / misleading hinting (issue#11101, pr#5371, Kefu Chai)
  • common: arm: all programs that link to librados2 hang forever on startup (issue#12505, pr#5366, Boris Ranto)
  • common: buffer: critical bufferlist::zero bug (issue#12252, pr#5365, Haomai Wang)
  • common: ceph-object-corpus: add 0.94.2-207-g88e7ee7 hammer objects (issue#13070, pr#5551, Sage Weil)
  • common: do not insert emtpy ptr when rebuild emtpy bufferlist (issue#12775, pr#5764, Xinze Chi)
  • common: [ FAILED ] TestLibRBD.BlockingAIO (issue#12479, pr#5768, Jason Dillaman)
  • common: LibCephFS.GetPoolId failure (issue#12598, pr#5887, Yan, Zheng)
  • common: Memory leak in, pthread_mutexattr_init without pthread_mutexattr_destroy (issue#11762, pr#5378, Ketor Meng)
  • common: object_map_update fails with -EINVAL return code (issue#12611, pr#5559, Jason Dillaman)
  • common: Pipe: Drop connect_seq increase line (issue#13093, pr#5908, Haomai Wang)
  • common: recursive lock of md_config_t (0) (issue#12614, pr#5759, Josh Durgin)
  • crush: ceph osd crush reweight-subtree does not reweight parent node (issue#11855, pr#5374, Sage Weil)
  • doc: update docs to point to (issue#13162, pr#6156, Alfredo Deza)
  • fs: ceph-fuse 0.94.2-1trusty segfaults / aborts (issue#12297, pr#5381, Greg Farnum)
  • fs: segfault launching ceph-fuse with bad –name (issue#12417, pr#5382, John Spray)
  • librados: Change radosgw pools default crush ruleset (issue#11640, pr#5754, Yuan Zhou)
  • librbd: correct issues discovered via lockdep / helgrind (issue#12345, pr#5296, Jason Dillaman)
  • librbd: Crash during TestInternal.MultipleResize (issue#12664, pr#5769, Jason Dillaman)
  • librbd: deadlock during cooperative exclusive lock transition (issue#11537, pr#5319, Jason Dillaman)
  • librbd: Possible crash while concurrently writing and shrinking an image (issue#11743, pr#5318, Jason Dillaman)
  • mon: add a cache layer over MonitorDBStore (issue#12638, pr#5697, Kefu Chai)
  • mon: fix crush testing for new pools (issue#13400, pr#6192, Sage Weil)
  • mon: get pools health’info have error (issue#12402, pr#5369, renhwztetecs)
  • mon: implicit erasure code crush ruleset is not validated (issue#11814, pr#5276, Loic Dachary)
  • mon: PaxosService: call post_refresh() instead of post_paxos_update() (issue#11470, pr#5359, Joao Eduardo Luis)
  • mon: pgmonitor: wrong at/near target max“ reporting (issue#12401, pr#5370, huangjun)
  • mon: register_new_pgs() should check ruleno instead of its index (issue#12210, pr#5377, Xinze Chi)
  • mon: Show osd as NONE in ceph osd map <pool> <object> output (issue#11820, pr#5376, Shylesh Kumar)
  • mon: the output is wrong when runing ceph osd reweight (issue#12251, pr#5372, Joao Eduardo Luis)
  • osd: allow peek_map_epoch to return an error (issue#13060, pr#5892, Sage Weil)
  • osd: cache agent is idle although one object is left in the cache (issue#12673, pr#5765, Loic Dachary)
  • osd: copy-from doesn’t preserve truncate_{seq,size} (issue#12551, pr#5885, Samuel Just)
  • osd: crash creating/deleting pools (issue#12429, pr#5527, John Spray)
  • osd: fix repair when recorded digest is wrong (issue#12577, pr#5468, Sage Weil)
  • osd: include/ceph_features: define HAMMER_0_94_4 feature (issue#13026, pr#5687, Sage Weil)
  • osd: is_new_interval() fixes (issue#10399, pr#5691, Jason Dillaman)
  • osd: is_new_interval() fixes (issue#11771, pr#5691, Jason Dillaman)
  • osd: long standing slow requests: connection->session->waiting_for_map->connection ref cycle (issue#12338, pr#5761, Samuel Just)
  • osd: Mutex Assert from PipeConnection::try_get_pipe (issue#12437, pr#5758, David Zafman)
  • osd: pg_interval_t::check_new_interval – for ec pool, should not rely on min_size to determine if the PG was active at the interval (issue#12162, pr#5373, Guang G Yang)
  • osd: 732: FAILED assert(log.log.size() == log_keys_debug.size()) (issue#12652, pr#5763, Sage Weil)
  • osd: PGLog::proc_replica_log: correctly handle case where entries between olog.head and log.tail were split out (issue#11358, pr#5380, Samuel Just)
  • osd: read on chunk-aligned xattr not handled (issue#12309, pr#5367, Sage Weil)
  • osd: suicide timeout during peering – search for missing objects (issue#12523, pr#5762, Guang G Yang)
  • osd: WBThrottle::clear_object: signal on cond when we reduce throttle values (issue#12223, pr#5757, Samuel Just)
  • rbd: crash during shutdown after writeback blocked by IO errors (issue#12597, pr#5767, Jianpeng Ma)
  • rgw: add delimiter to prefix only when path is specified (issue#12960, pr#5860, Sylvain Baubeau)
  • rgw: create a tool for orphaned objects cleanup (issue#9604, pr#5717, Yehuda Sadeh)
  • rgw: don’t preserve acls when copying object (issue#11563, pr#6039, Yehuda Sadeh)
  • rgw: don’t preserve acls when copying object (issue#12370, pr#6039, Yehuda Sadeh)
  • rgw: don’t preserve acls when copying object (issue#13015, pr#6039, Yehuda Sadeh)
  • rgw: Ensure that swift keys don’t include backslashes (issue#7647, pr#5716, Yehuda Sadeh)
  • rgw: GWWatcher::handle_error -> common/ 95: FAILED assert(r == 0) (issue#12208, pr#6164, Yehuda Sadeh)
  • rgw: HTTP return code is not being logged by CivetWeb (issue#12432, pr#5498, Yehuda Sadeh)
  • rgw: init_rados failed leads to repeated delete (issue#12978, pr#6165, Xiaowei Chen)
  • rgw: init some manifest fields when handling explicit objs (issue#11455, pr#5732, Yehuda Sadeh)
  • rgw: Keystone Fernet tokens break auth (issue#12761, pr#6162, Abhishek Lekshmanan)
  • rgw: region data still exist in region-map after region-map update (issue#12964, pr#6163, dwj192)
  • rgw: remove trailing :port from host for purposes of subdomain matching (issue#12353, pr#6042, Yehuda Sadeh)
  • rgw: rest-bench common/ 54: FAILED assert(_threads.empty()) (issue#3896, pr#5383, huangjun)
  • rgw: returns requested bucket name raw in Bucket response header (issue#12537, pr#5715, Yehuda Sadeh)
  • rgw: segmentation fault when rgw_gc_max_objs > HASH_PRIME (issue#12630, pr#5719, Ruifeng Yang)
  • rgw: segments are read during HEAD on Swift DLO (issue#12780, pr#6160, Yehuda Sadeh)
  • rgw: setting max number of buckets for user via ceph.conf option (issue#12714, pr#6166, Vikhyat Umrao)
  • rgw: Swift API: X-Trans-Id header is wrongly formatted (issue#12108, pr#5721, Radoslaw Zarzynski)
  • rgw: testGetContentType and testHead failed (issue#11091, pr#5718, Radoslaw Zarzynski)
  • rgw: testGetContentType and testHead failed (issue#11438, pr#5718, Radoslaw Zarzynski)
  • rgw: testGetContentType and testHead failed (issue#12157, pr#5718, Radoslaw Zarzynski)
  • rgw: testGetContentType and testHead failed (issue#12158, pr#5718, Radoslaw Zarzynski)
  • rgw: testGetContentType and testHead failed (issue#12363, pr#5718, Radoslaw Zarzynski)
  • rgw: the arguments ‘domain’ should not be assigned when return false (issue#12629, pr#5720, Ruifeng Yang)
  • tests: qa/workunits/cephtool/ don’t assume crash_replay_interval=45 (issue#13406, pr#6172, Sage Weil)
  • tests: TEST_crush_rule_create_erasure consistently fails on i386 builder (issue#12419, pr#6201, Loic Dachary)
  • tools: ceph-disk zap should ensure block device (issue#11272, pr#5755, Loic Dachary)

For more detailed information, see the complete changelog.

v9.1.0 Infernalis release candidate released

This is the first Infernalis release candidate. There have been some major changes since Hammer, and the upgrade process is non-trivial. Please read carefully.


The v9.1.0 packages are pushed to the development release repositories:

For for info, see:

Or install with ceph-deploy via:

ceph-deploy install --testing HOST


  • librbd and librados ABI compatibility is broken. Be careful installing this RC on client machines (e.g., those running qemu). It will be fixed in the final v9.2.0 release.


  • General:
    • Ceph daemons are now managed via systemd (with the exception of Ubuntu Trusty, which still uses upstart).
    • Ceph daemons run as ‘ceph’ user instead root.
    • On Red Hat distros, there is also an SELinux policy.
  • RADOS:
    • The RADOS cache tier can now proxy write operations to the base tier, allowing writes to be handled without forcing migration of an object into the cache.
    • The SHEC erasure coding support is no longer flagged as experimental. SHEC trades some additional storage space for faster repair.
    • There is now a unified queue (and thus prioritization) of client IO, recovery, scrubbing, and snapshot trimming.
    • There have been many improvements to low-level repair tooling (ceph-objectstore-tool).
    • The internal ObjectStore API has been significantly cleaned up in order to faciliate new storage backends like NewStore.
  • RGW:
    • The Swift API now supports object expiration.
    • There are many Swift API compatibility improvements.
  • RBD:
    • The rbd du command shows actual usage (quickly, when object-map is enabled).
    • The object-map feature has seen many stability improvements.
    • Object-map and exclusive-lock features can be enabled or disabled dynamically.
    • You can now store user metadata and set persistent librbd options associated with individual images.
    • The new deep-flatten features allows flattening of a clone and all of its snapshots. (Previously snapshots could not be flattened.)
    • The export-diff command command is now faster (it uses aio). There is also a new fast-diff feature.
    • The –size argument can be specified with a suffix for units (e.g., --size 64G).
    • There is a new rbd status command that, for now, shows who has the image open/mapped.
  • CephFS:
    • You can now rename snapshots.
    • There have been ongoing improvements around administration, diagnostics, and the check and repair tools.
    • The caching and revocation of client cache state due to unused inodes has been dramatically improved.
    • The ceph-fuse client behaves better on 32-bit hosts.


We have decided to drop support for many older distributions so that we can move to a newer compiler toolchain (e.g., C++11). Although it is still possible to build Ceph on older distributions by installing backported development tools, we are not building and publishing release packages for

In particular,

  • CentOS 7 or later; we have dropped support for CentOS 6 (and other RHEL 6 derivatives, like Scientific Linux 6).
  • Debian Jessie 8.x or later; Debian Wheezy 7.x’s g++ has incomplete support for C++11 (and no systemd).
  • Ubuntu Trusty 14.04 or later; Ubuntu Precise 12.04 is no longer supported.
  • Fedora 22 or later.


Upgrading directly from Firefly v0.80.z is not possible. All clusters must first upgrade to Hammer v0.94.4 or a later v0.94.z release; only then is it possible to upgrade to Infernalis 9.2.z.

Note that v0.94.4 isn’t released yet, but you can upgrade to a test build from gitbuilder with:

ceph-deploy install --dev hammer HOST

The v0.94.4 Hammer point release will be out before v9.2.0 Infernalis is.


  • For all distributions that support systemd (CentOS 7, Fedora, Debian Jessie 8.x, OpenSUSE), ceph daemons are now managed using native systemd files instead of the legacy sysvinit scripts. For example,:

    systemctl start       # start all daemons
    systemctl status ceph-osd@12      # check status of osd.12

    The main notable distro that is not yet using systemd is Ubuntu trusty 14.04. (The next Ubuntu LTS, 16.04, will use systemd instead of upstart.)

  • Ceph daemons now run as user and group ceph by default. The ceph user has a static UID assigned by Fedora and Debian (also used by derivative distributions like RHEL/CentOS and Ubuntu). On SUSE the ceph user will currently get a dynamically assigned UID when the user is created.

    If your systems already have a ceph user, upgrading the package will cause problems. We suggest you first remove or rename the existing ‘ceph’ user before upgrading.

    When upgrading, administrators have two options:

    1. Add the following line to ceph.conf on all hosts:

      setuser match path = /var/lib/ceph/$type/$cluster-$id

      This will make the Ceph daemons run as root (i.e., not drop privileges and switch to user ceph) if the daemon’s data directory is still owned by root. Newly deployed daemons will be created with data owned by user ceph and will run with reduced privileges, but upgraded daemons will continue to run as root.

    2. Fix the data ownership during the upgrade. This is the preferred option, but is more work. The process for each host would be to:

      1. Upgrade the ceph package. This creates the ceph user and group. For example:

        ceph-deploy install --stable infernalis HOST
      2. Stop the daemon(s).:

        service ceph stop           # fedora, centos, rhel, debian
        stop ceph-all               # ubuntu
      3. Fix the ownership:

        chown -R ceph:ceph /var/lib/ceph
      4. Restart the daemon(s).:

        start ceph-all                # ubuntu
        systemctl start   # debian, centos, fedora, rhel
  • The on-disk format for the experimental KeyValueStore OSD backend has changed. You will need to remove any OSDs using that backend before you upgrade any test clusters that use it.


  • When a pool quota is reached, librados operations now block indefinitely, the same way they do when the cluster fills up. (Previously they would return -ENOSPC). By default, a full cluster or pool will now block. If your librados application can handle ENOSPC or EDQUOT errors gracefully, you can get error returns instead by using the new librados OPERATION_FULL_TRY flag.


NOTE: These notes are somewhat abbreviated while we find a less time-consuming process for generating them.

  • build: C++11 now supported
  • build: many cmake improvements
  • build: OSX build fixes (Yan, Zheng)
  • build: remove rest-bench
  • ceph-disk: many fixes (Loic Dachary)
  • ceph-disk: support for multipath devices (Loic Dachary)
  • ceph-fuse: mostly behave on 32-bit hosts (Yan, Zheng)
  • ceph-objectstore-tool: many improvements (David Zafman)
  • common: bufferlist performance tuning (Piotr Dalek, Sage Weil)
  • common: make mutex more efficient
  • common: some async compression infrastructure (Haomai Wang)
  • librados: add FULL_TRY and FULL_FORCE flags for dealing with full clusters or pools (Sage Weil)
  • librados: fix notify completion race (#13114 Sage Weil)
  • librados, libcephfs: randomize client nonces (Josh Durgin)
  • librados: pybind: fix binary omap values (Robin H. Johnson)
  • librbd: fix reads larger than the cache size (Lu Shi)
  • librbd: metadata filter fixes (Haomai Wang)
  • librbd: use write_full when possible (Zhiqiang Wang)
  • mds: avoid emitting cap warnigns before evicting session (John Spray)
  • mds: fix expected holes in journal objects (#13167 Yan, Zheng)
  • mds: fix SnapServer crash on deleted pool (John Spray)
  • mds: many fixes (Yan, Zheng, John Spray, Greg Farnum)
  • mon: add cache over MonitorDBStore (Kefu Chai)
  • mon: ‘ceph osd metadata’ can dump all osds (Haomai Wang)
  • mon: detect kv backend failures (Sage Weil)
  • mon: fix CRUSH map test for new pools (Sage Weil)
  • mon: fix min_last_epoch_clean tracking (Kefu Chai)
  • mon: misc scaling fixes (Sage Weil)
  • mon: streamline session handling, fix memory leaks (Sage Weil)
  • mon: upgrades must pass through hammer (Sage Weil)
  • msg/async: many fixes (Haomai Wang)
  • osd: cache proxy-write support (Zhiqiang Wang, Samuel Just)
  • osd: configure promotion based on write recency (Zhiqiang Wang)
  • osd: don’t send dup MMonGetOSDMap requests (Sage Weil, Kefu Chai)
  • osd: erasure-code: fix SHEC floating point bug (#12936 Loic Dachary)
  • osd: erasure-code: update to ISA-L 2.14 (Yuan Zhou)
  • osd: fix hitset object naming to use GMT (Kefu Chai)
  • osd: fix misc memory leaks (Sage Weil)
  • osd: fix peek_queue locking in FileStore (Xinze Chi)
  • osd: fix promotion vs full cache tier (Samuel Just)
  • osd: fix replay requeue when pg is still activating (#13116 Samuel Just)
  • osd: fix scrub stat bugs (Sage Weil, Samuel Just)
  • osd: force promotion for ops EC can’t handle (Zhiqiang Wang)
  • osd: improve behavior on machines with large memory pages (Steve Capper)
  • osd: merge multiple setattr calls into a setattrs call (Xinxin Shu)
  • osd: newstore prototype (Sage Weil)
  • osd: ObjectStore internal API refactor (Sage Weil)
  • osd: SHEC no longer experimental
  • osd: throttle evict ops (Yunchuan Wen)
  • osd: upgrades must pass through hammer (Sage Weil)
  • osd: use SEEK_HOLE / SEEK_DATA for sparse copy (Xinxin Shu)
  • rbd: rbd-replay-prep and rbd-replay improvements (Jason Dillaman)
  • rgw: expose the number of unhealthy workers through admin socket (Guang Yang)
  • rgw: fix casing of Content-Type header (Robin H. Johnson)
  • rgw: fix decoding of X-Object-Manifest from GET on Swift DLO (Radslow Rzarzynski)
  • rgw: fix sysvinit script
  • rgw: fix sysvinit script w/ multiple instances (Sage Weil, Pavan Rallabhandi)
  • rgw: improve handling of already removed buckets in expirer (Radoslaw Rzarzynski)
  • rgw: log to /var/log/ceph instead of /var/log/radosgw
  • rgw: rework X-Trans-Id header to be conform with Swift API (Radoslaw Rzarzynski)
  • rgw: s3 encoding-type for get bucket (Jeff Weber)
  • rgw: set max buckets per user in ceph.conf (Vikhyat Umrao)
  • rgw: support for Swift expiration API (Radoslaw Rzarzynski, Yehuda Sadeh)
  • rgw: user rm is idempotent (Orit Wasserman)
  • selinux policy (Boris Ranto, Milan Broz)
  • systemd: many fixes (Sage Weil, Owen Synge, Boris Ranto, Dan van der Ster)
  • systemd: run daemons as user ceph

v0.87 Giant released

This release will form the basis for the stable release Giant, v0.87.x. Highlights for Giant include:

  • RADOS Performance: a range of improvements have been made in the OSD and client-side librados code that improve the throughput on flash backends and improve parallelism and scaling on fast machines.
  • CephFS: we have fixed a raft of bugs in CephFS and built some basic journal recovery and diagnostic tools. Stability and performance of single-MDS systems is vastly improved in Giant. Although we do not yet recommend CephFS for production deployments, we do encourage testing for non-critical workloads so that we can better guage the feature, usability, performance, and stability gaps.
  • Local Recovery Codes: the OSDs now support an erasure-coding scheme that stores some additional data blocks to reduce the IO required to recover from single OSD failures.
  • Degraded vs misplaced: the Ceph health reports from ‘ceph -s’ and related commands now make a distinction between data that is degraded (there are fewer than the desired number of copies) and data that is misplaced (stored in the wrong location in the cluster). The distinction is important because the latter does not compromise data safety.
  • Tiering improvements: we have made several improvements to the cache tiering implementation that improve performance. Most notably, objects are not promoted into the cache tier by a single read; they must be found to be sufficiently hot before that happens.
  • Monitor performance: the monitors now perform writes to the local data store asynchronously, improving overall responsiveness.
  • Recovery tools: the ceph_objectstore_tool is greatly expanded to allow manipulation of an individual OSDs data store for debugging and repair purposes. This is most heavily used by our QA infrastructure to exercise recovery code.

read more…

Teuthology docker targets hack (1/3)

teuthology runs jobs testing the Ceph integration on targets that can either be virtual machines or bare metal. The container hack adds support for docker containers as a replacement.

Running task exec...
Executing custom commands...
Running commands on role mon.a host container002
running sudo 'TESTDIR=/home/ubuntu/cephtest' bash '-c' '/bin/true'
running docker exec container002 bash /tmp/tmp/tmptJ7hxa
Duration was 0.088931 seconds

A worker with this hack listens on the container tube:

$ mkdir /tmp/a /tmp/logs
$ ./virtualenv/bin/teuthology-worker \
  -l /tmp/logs --archive-dir /tmp/a \
  --tube container

A noop job

machine_type: container
os_type: ubuntu
os_version: "14.04"
- - mon.a
  - osd.0
- - osd.1
  - client.0
- exec:
      - /bin/true

is scheduled via the container tube

./virtualenv/bin/teuthology-schedule --name foo \
  --worker container --owner \
Job scheduled with name foo and ID 29
2014-10-29 14:28:28,415.415 results_server \
  set in /home/loic/.teuthology.yaml; cannot report results

The implementation relies on the docker 1.3 docker exec command. It is used as a replacement for ssh connections.

2014-10-29 13:48:34,996.996 INFO:teuthology.lockstatus:lockstatus::get_status uri = http://localhost:8080/nodes/container002/
2014-10-29 13:48:35,009.009 INFO:teuthology.containers:sleeper_running  140380434393616
2014-10-29 13:48:35,032.032 INFO:teuthology.containers:running 'docker' 'run' '--rm=true' '--volume' '/tmp:/tmp/tmp' '--name' 'container002' 'ceph-ubuntu-14.04' 'bash' '-c' 'echo running ; sleep 1000000'
2014-10-29 13:48:36,132.132 INFO:teuthology.containers:run_sleeper: running

2014-10-29 13:48:36,133.133 INFO:teuthology.containers:sleeper_running  140380434393616
2014-10-29 13:48:36,133.133 INFO:teuthology.containers:start: container container002 started
2014-10-29 13:48:36,133.133 INFO:teuthology.lockstatus:lockstatus::get_status uri = http://localhost:8080/nodes/container001/
2014-10-29 13:48:36,149.149 INFO:teuthology.containers:sleeper_running  140380258955216
2014-10-29 13:48:36,169.169 INFO:teuthology.containers:running 'docker' 'run' '--rm=true' '--volume' '/tmp:/tmp/tmp' '--name' 'container001' 'ceph-ubuntu-14.04' 'bash' '-c' 'echo running ; sleep 1000000'
2014-10-29 13:48:37,244.244 INFO:teuthology.containers:run_sleeper: running

2014-10-29 13:48:37,244.244 INFO:teuthology.containers:sleeper_running  140380258955216
2014-10-29 13:48:37,245.245 INFO:teuthology.containers:start: container container001 started
2014-10-29 13:48:37,245.245 INFO:teuthology.task.internal:roles:  - ['mon.a', 'osd.0']
2014-10-29 13:48:37,245.245 INFO:teuthology.task.internal:roles:  - ['osd.1', 'client.0']
2014-10-29 13:48:37,245.245 INFO:teuthology.run_tasks:Running task internal.push_inventory...
2014-10-29 13:48:37,245.245 INFO:teuthology.run_tasks:Running task internal.serialize_remote_roles...
2014-10-29 13:48:37,247.247 INFO:teuthology.run_tasks:Running task internal.check_conflict...
2014-10-29 13:48:40,033.033 INFO:teuthology.containers:running rmdir '--' '/home/ubuntu/cephtest'
2014-10-29 13:48:40,034.034 INFO:teuthology.containers:running docker exec container002 bash /tmp/tmp/tmpxaD5xX
2014-10-29 13:48:40,145.145 INFO:teuthology.containers:completed ['docker', 'exec', u'container001', 'bash', '/tmp/tmp/tmpqhYczm'] on container001:
2014-10-29 13:48:40,145.145 INFO:teuthology.containers:completed ['docker', 'exec', u'container002', 'bash', '/tmp/tmp/tmpxaD5xX'] on container002:
2014-10-29 13:48:40,147.147 data:
{duration: 0.0005440711975097656, failure_reason: need more than 0 values to unpack,
  owner:, status: fail, success: false}

2014-10-29 13:48:40,148.148 results_server set in /home/loic/.teuthology.yaml; cannot report results
2014-10-29 13:48:40,149.149

The containers were added to the paddles database, using the new is_container field.

for id in 1 2 3 ; do
 sqlite3 dev.db "insert into nodes (id,name,machine_type,is_container,is_vm,locked,up) values ($id, 'container00$id', 'container', 1, 0, 0, 1);"

They were not pre-provisionned because they are created on demand. Since docker provides a repository of images, downburst is not used.

Remove Pool Without Name

For exemple :

# rados lspools
                            <---- ?????

# ceph osd dump | grep "pool 4 "
pool 4 '' replicated size 2 min_size 1 crush_ruleset 0 object_hash rjenkins pg_num 8 pgp_num 8 last_change 1668 stripe_width 0

# rados rmpool "" "" --yes-i-really-really-mean-it
successfully deleted pool

Ceph Developer Summit 2014 – Hammer

The Ceph Developer Summit (CDS) for the next major Ceph release called Hammer started today some hours ago (2014/10/28). It’s again a virtual summit via video conference calls.

I’ve submitted three blueprints:

We already discussed the Ceph security and enterprise topics. You can find the results/logs in the pad. The sessions are recorded and will be available afterwards.

If you are interested in Ceph development: now it’s time to join the video conference call. You can find all links, the timetable and blueprints to discuss here. There will be a second track with a lot of interesting discussions tomorrow.

If you are interested to work e.g. on the Ceph security topic: check the pad and feel free to contact me.
© 2016, Red Hat, Inc. All rights reserved.