Ceph v12.0.2 Luminous (dev) released

TheAnalyst

This is the third development checkpoint release of Luminous, the next long term stable release.

Major changes from v12.0.1

  • The original librados rados_objects_list_open (C) and objects_begin (C++) object listing API, deprecated in Hammer, has finally been removed. Users of this interface must update their software to use either the rados_nobjects_list_open (C) and nobjects_begin (C++) API or the new rados_object_list_begin (C) and object_list_begin (C++) API before updating the client-side librados library to Luminous.

    Object enumeration (via any API) with the latest librados version and pre-Hammer OSDs is no longer supported. Note that no in-tree Ceph services rely on object enumeration via the deprecated APIs, so only external librados users might be affected.

    The newest (and recommended) rados_object_list_begin (C) and object_list_begin (C++) API is only usable on clusters with the SORTBITWISE flag enabled (Jewel and later). (Note that this flag is required to be set before upgrading beyond Jewel.)

  • CephFS clients without the ‘p’ flag in their authentication capability string will no longer be able to set quotas or any layout fields. This flag previously only restricted modification of the pool and namespace fields in layouts.

  • CephFS directory fragmentation (large directory support) is enabled by default on new filesystems. To enable it on existing filesystems use “ceph fs set <fs_name> allow_dirfrags”.

  • CephFS will generate a health warning if you have fewer standby daemons than it thinks you wanted. By default this will be 1 if you ever had a standby, and 0 if you did not. You can customize this using ceph fs setstandby_count_wanted. Setting it to zero will effectively disable the health check.

  • The “ceph mds tell ...” command has been removed. It is superceded by “ceph tell mds....”

  • RGW introduces server side encryption of uploaded objects with 3 options for the management of encryption keys, automatic encryption (only recommended for test setups), customer provided keys similar to Amazon SSE KMS specification & using a key management service (openstack barbician)

Notable Changes

  • bluestore: bluestore/NVMEDEVICE: update SPDK to version 17.03 (pr#14585, optimistyzy)
  • bluestore: bluestore, NVMeDevice: use task’ own lock for (random) read (pr#14094, optimistyzy)
  • bluestore: common/config: set rocksdb_cache_size to OPT_U64 (pr#13995, liuhongtong)
  • bluestore: os/bluestore: avoid nullptr in bluestore_extent_ref_map_t::bound_encode (pr#14073, Sage Weil)
  • bluestore: os/bluestore: clean up flush logic (pr#14162, Jianpeng Ma)
  • bluestore: os/bluestore: clean up Invalid return value judgment (pr#14219, shiqi)
  • bluestore: os/bluestore: fix bug for calc extent_avg in reshard function (pr#13931, wangzhengyong)
  • bluestore: os/bluestore: fix bug in _open_alloc() (pr#13577, yonghengdexin735)
  • bluestore: os/bluestore: fix deferred writes vs collection split race (issue#19379, pr#14157, Sage Weil)
  • bluestore: os/bluestore: fix narrow osr->flush() race (pr#14489, Sage Weil)
  • bluestore: os/bluestore: fix perf counters (pr#13965, Sage Weil)
  • bluestore: os/bluestore: fsck: verify blob.unused field (pr#14316, Sage Weil)
  • bluestore: os/bluestore: implement collect_metadata (pr#14115, Sage Weil)
  • bluestore: os/bluestore: make live changes for BlueStore throttle config work like initial config (pr#14225, J. Eric Ivancich)
  • bluestore: os/bluestore: misc fixes (pr#14333, Sage Weil)
  • bluestore: os/bluestore/NVMEDevice: Add multiple thread support for SPDK I/O thread (pr#14420, Ziye Yang)
  • bluestore: os/bluestore/NVMEDevice: fix the compilation issue for collect_metadata (pr#14455, optimistyzy)
  • bluestore,performance: kv/RocksDBStore: implement rm_range_keys operator interface and test (pr#13855, Haomai Wang)
  • bluestore,performance: os/bluestore: avoid the VTABLE-related burden in BitMapAllocator’s hotspot (pr#14348, Radoslaw Zarzynski)
  • bluestore,performance: os/bluestore/BlueFS: optimize get_allocated (pr#14121, Jianpeng Ma)
  • bluestore,performance: os/bluestore: memory and dereference clean-up in the BitAllocator (pr#13811, Radoslaw Zarzynski)
  • bluestore,performance: os/bluestore: optimize blob usage when doing appends/overwrites (pr#13337, Igor Fedotov)
  • bluestore,performance: os/bluestore: refactor small write handling to reuse blob more effect… (pr#14399, Igor Fedotov)
  • bluestore,performance: os/bluestore: tune deferred_batch_ops separately for hdd and ssd (pr#14435, Sage Weil)
  • bluestore,performance: os/bluestore: unify throttling model (issue#19542, pr#14306, Sage Weil)
  • bluestore,tests: test/objectstore/store_test_fixture.cc: Exclude bluestore code if required. (pr#14085, Willem Jan Withagen)
  • bluestore,tests: test/store_test: fix bluestore test cases disablement (pr#14228, Igor Fedotov)
  • bluestore,tests: test/unittest_bluefs: check whether add_block_device success (pr#14013, shiqi)
  • bluestore,tools: ceph-bluestore-tool: rename from bluefs-tool; improve usage (pr#14258, Sage Weil)
  • build/ops: add 12.0.1 release tag in master (pr#14690, Jenkins Build Slave User)
  • build/ops: arch: fix build on PowerPC with FreeBSD (pr#14378, Andrew Solomon)
  • build/ops: arch: fix cmake’s ARM CRC intrinsics test to handle duplicitous gcc 4.8.5 (issue#19386, pr#14132, Dan Mick)
  • build/ops: build: Add Virtuozzo Linux support (pr#14301, Andrey Parfenov)
  • build/ops,core: build: let FreeBSD build ceph-fuse (pr#14282, Willem Jan Withagen)
  • build/ops,core: os: allow offline conversion of filestore -> bluestore (or anything else) (pr#14210, Sage Weil)
  • build/ops: debian: package ceph.logroate properly (issue#19390, pr#14600, Kefu Chai)
  • build/ops: debian/rules, ceph.spec.in: invoke cmake with -DBOOST_J (pr#14114, Dan Mick)
  • build/ops: gitignore: Ignore rejects by patch (pr#14405, Willem Jan Withagen)
  • build/ops,performance: crc32c: Add crc32c function optimized for ppc architecture (pr#13909, Andrew Solomon)
  • build/ops: rocksdb: sync with upstream (pr#14456, Kefu Chai)
  • build/ops: script: drop the -x arg for credits script (pr#14296, Abhishek Lekshmanan)
  • build/ops: systemd/ceph-disk: make it possible to customize timeout (issue#18740, pr#13197, Alexey Sheplyakov)
  • build/ops: systemd: remove ceph-create-keys from presets (pr#14226, Sébastien Han)
  • build/ops: Tested-by: Andrew Solomon <asolomon@us.ibm.com> (pr#14289, Kefu Chai)
  • build/ops,tests: test/osd/CMakeLists.txt: osd-dup.sh require BlueStore/AIO (pr#14387, Willem Jan Withagen)
  • build/ops: vstart: do not start mgr if not start_all (pr#13974, Kefu Chai)
  • cephfs: client/Client.cc: after reset session from MDS - reconnect (issue#18757, pr#13522, Henrik Korkuc)
  • cephfs: client: drop cap snaps when auth mds session gets closed (issue#19022, pr#13579, “Yan, Zheng”)
  • cephfs: client: refine fsync/close writeback error handling (pr#14589, John Spray)
  • cephfs: client: specify inode in get_caps log message (pr#13966, John Spray)
  • cephfs,core: Add test for is_hacky_ecoverwrites in cephfs pool checks (pr#13466, John Spray)
  • cephfs: fix mount point break off problem after mds switch occured (issue#19437, pr#14267, Guan yunfei)
  • cephfs: fix write_buf’s _len overflow problem (issue#19033, pr#13587, Yang Honggang)
  • cephfs: Mitigation for #16842, validate sessions after load (issue#16842, pr#14164, John Spray)
  • cephfs: Permit recovering metadata into a new RADOS pool (issue#15069, issue#15068, pr#10636, Douglas Fuller)
  • cephfs: qa: whitelist new fullness messages in fs tests (issue#19253, pr#13915, John Spray)
  • cephfs,tests: qa: fix test_standby_for_invalid_fscid with vstart_runner (pr#14272, John Spray)
  • cephfs,tests: qa, mds: add checks for fragmentation, and enable it by default (issue#16523, pr#13862, john Spray, John Spray)
  • cephfs,tests: qa: re-enable ENOSPC tests for kclient (issue#19550, pr#14396, John Spray)
  • cephfs,tests: qa/vstart_runner: amend ps invocation (pr#14254, Ilya Dryomov)
  • cephfs,tests: qa: whitelist another fullness log message (issue#19253, pr#14221, John Spray)
  • cephfs: tools/cephfs: set dir_layout when injecting inodes (issue#19406, pr#14234, John Spray)
  • cleanup: misc: Warning Elimination (pr#14439, Adam C. Emerson)
  • cmake: Add simple recursive ctags target for Ceph source only (pr#14334, Kefu Chai, Dan Mick)
  • cmake: build tracepoint libraries for vstart target (pr#14354, Mohamad Gebai)
  • cmake: do not try to add submodule to exclude list if .git is not around (pr#14495, Kefu Chai)
  • cmake: support optional argument for overriding default ctag excludes (pr#14379, Kefu Chai)
  • common: common/ceph_context: fewer warnings about experimental features (pr#14170, Sage Weil)
  • common: common/config: eliminate config_t::set_val unsafe option (issue#19106, pr#13687, liuchang0812)
  • common: common/perf_counters: fix race condition with atomic variables (pr#14227, J. Eric Ivancich)
  • common,core,tests: Wip cppcheck errors (pr#14446, Brad Hubbard)
  • common: do not print error when asok is closed (pr#14022, Patrick Donnelly)
  • common: Fix heap buffer overflow in do_request (issue#19393, pr#14173, Brad Hubbard)
  • common: fix segfault in public IPv6 addr picking (issue#19371, pr#14124, Fabian Grünbichler)
  • common: Implements simple_spin_t in terms of std::atomic_flag. (pr#14370, Jesse Williamson)
  • common: include/denc: remove nullptr runtime magic boundedness check (pr#13889, Sage Weil)
  • common: Make spinlock delay more conventional (pr#14248, Brad Hubbard)
  • common: messages: fix return type name of MOSDMap (pr#14382, Leo Zhang)
  • common: msg/async/rdma: Add fork safe on RDMA (pr#13740, Sarit Zubakov)
  • common: msg/async/rdma: Update fix broken compilation (pr#13940, Sarit Zubakov)
  • common: msg/SimpleMessenger: error out misplace in set_socket_options (pr#13961, wangzhengyong)
  • common: .organizationmap: Updated authors (pr#14360, Jos Collin)
  • common: rados: more info added to pool deletion error (issue#19400, pr#14235, Vedant Nanda)
  • common,rbd,rgw: common/escape: do not escape / in json (pr#14130, Sage Weil)
  • common,rdma: msg/async/rdma: Introduce RDMAConnMgr + Debug prints (pr#14201, Amir Vadai)
  • common,rdma: msg/async/rdma: Move resource handling to Device (pr#14088, Sarit Zubakov, Amir Vadai)
  • common,rdma: msg/async/rdma: RDMA-CM Initialize device on first connect (pr#14179, Amir Vadai)
  • common: remove useless parameter (pr#14096, baiyanchun)
  • common: support s390 and unknown architectures in spin-wait loop (issue#19492, pr#14337, Nathan Cutler)
  • common: Tested-by: Andrew Solomon <asolomon@us.ibm.com> (pr#14310, Kefu Chai)
  • common: tracing: fix segv (issue#18576, pr#14304, Anjaneya Chagam)
  • core: ceph-disk: Adding retry loop in get_partition_dev() (pr#14275, Erwan Velu)
  • core: ceph-disk/ceph_disk/main.py: fix calling of the bsdrc init scripts (pr#14476, Willem Jan Withagen)
  • core: ceph-disk: enable directory backed OSD at boot time (issue#19628, pr#14546, Loic Dachary)
  • core: ceph-disk,osd: add support for crush device classes (issue#19513, pr#14436, Loic Dachary)
  • core: ceph-disk: Populate mount options when running “list” (issue#17331, pr#14293, Brad Hubbard)
  • core: ceph-disk: Write 10M to all partitions before zapping (issue#18962, pr#13766, Wido den Hollander)
  • core: client/SyntheticClient.cc: Fix warning in random_walk (issue#19445, pr#14308, Brad Hubbard)
  • core: cls/timeindex: clean up cls_timeindex_client.h|cc (pr#13987, Shinobu Kinjo)
  • core: common/TrackedOp: allow dumping historic ops sorted by duration (pr#14050, Piotr Dałek)
  • core: Give requested scrub work a higher priority (issue#15789, pr#14488, David Zafman)
  • core: include/denc: add {encode,decode}_nohead for denc_traits<basic_string> (issue#18938, pr#14099, Kefu Chai)
  • core,mgr,mon: mon,mgr: tag some commands for ceph-mgr (pr#13617, Sage Weil)
  • core: misc: SCA fixes (pr#14426, Danny Al-Gaaf)
  • core,mon: mon,osd: decouple creating pgs from pgmap (pr#13999, Kefu Chai)
  • core: mon/OSDMonitor: osd crush set-device-class (issue#19307, pr#14039, Loic Dachary)
  • core: msg/async/AsyncConnection: keepalive objecter ping connection to avoid timeout (pr#14009, Haomai Wang)
  • core: osdc/Objecter: respect epoch barrier in _op_submit() (issue#19396, pr#14190, Ilya Dryomov)
  • core: osd,mon: misc full fixes and cleanups (pr#13968, David Zafman)
  • core: osd/OSDMap: hide require_*_osd and sortbitwise flags (pr#14440, Sage Weil)
  • core: osd/PG: only correct filestore collection bits on load (issue#19541, pr#14397, Sage Weil)
  • core: osd/PG: some minor cleanups (pr#14133, runsisi)
  • core: osd/PrimaryLogPG: do not expect FULL_TRY ops to get resent (issue#19430, pr#14255, Sage Weil)
  • core: osd/PrimaryLogPG: set return value if sparse read failed (pr#14093, huangjun)
  • core: osd/ReplicatedBackend: clear pull source once we are done with it (issue#19076, pr#13879, Samuel Just)
  • core: os/filestore: handle error returned from write_fd() (pr#10146, yonghengdexin735)
  • core: os/fs/FS.cc: remove the redundant code. (pr#14362, Jianpeng Ma)
  • core: os/kstore: some error handling (pr#13960, wangzhengyong)
  • core,performance: mon,osd: explicitly remap some pgs (pr#13984, Sage Weil)
  • core: Prefix /proc/ with FreeBSD emulation (pr#14290, Willem Jan Withagen)
  • core: Revert “msg/async/rdma: Debug prints for ibv_*” (pr#14245, Kefu Chai)
  • core: test, osd: fix some coverity issues (pr#13293, liuchang0812)
  • core,tests: ceph-disk/tests/test_main.py: FreeBSD does not do multipath (pr#13847, Willem Jan Withagen)
  • core,tests: ceph_test_librados_api_misc: fix stupid LibRadosMiscConnectFailure.ConnectFailure test (issue#15368, pr#14261, Sage Weil)
  • core,tests: os: allow ‘osd objectstore = random’ to pick either filestore or bluestore (pr#13754, Sage Weil)
  • core,tests,tools: Fixes: http://tracker.ceph.com/issues/18533 (pr#13423, Samuel Just, David Zafman)
  • crush: bucket: crush_add_uniform_bucket_item should check for uniformity (pr#14208, Sahid Orentino Ferdjaoui)
  • crush: builder: clean the arguments of crush_reweight* methods (pr#14110, Sahid Orentino Ferdjaoui)
  • crush: builder: creating crush map with optimal configurations (pr#14209, Sahid Orentino Ferdjaoui)
  • crush: only encode class info if SERVER_LUMINOUS (issue#19361, pr#14131, Sage Weil)
  • crush: weight_set and id remapping (issue#15653, pr#14486, Loic Dachary)
  • doc: add 12.0.1 release notes (pr#14106, Abhishek Lekshmanan)
  • doc: add changelog for v10.2.7 (pr#14441, Abhishek Lekshmanan)
  • doc: add RGW ldap auth documentation (pr#14339, Harald Klein)
  • doc: add some undocumented options to rbd-nbd (pr#14134, wangzhengyong)
  • doc: change osd_op_thread_timeout default value to 15 (pr#14199, Andreas Gerstmayr)
  • doc: correct arguments for ceph tell osd.N bench (pr#14462, Patrick Dinnen)
  • doc: correct the quota section (issue#19397, pr#14122, Chu, Hua-Rong)
  • doc: dev guide: how to run s3-tests locally against vstart (pr#14508, Nathan Cutler, Abhishek Lekshmanan)
  • doc: doc/radosgw/s3/cpp.rst: update usage of libs3 APIs to make the examples work (pr#10851, Weibing Zhang)
  • doc: doc/rgw: instructions for changing multisite master zone (pr#14089, Casey Bodley)
  • doc: docs: Clarify the relationship of min_size to EC pool recovery (pr#14419, Brad Hubbard)
  • doc: how to specify filesystem for cephfs clients (pr#14087, John Spray)
  • doc: mailmap: shiqi affiliation (pr#14361, shiqi)
  • doc: mention –show-mappings in crushtool manpage (issue#19649, pr#14599, Nathan Cutler, Loic Dachary)
  • doc: PendingReleaseNotes: recent cephfs changes (pr#14196, John Spray)
  • doc: radosgw-admin: new ‘global quota’ commands update period config (issue#19409, pr#14252, Casey Bodley)
  • doc: README.FreeBSD: Update the status (pr#14406, Willem Jan Withagen)
  • doc: README.md: fix build instructions inconsistent. (pr#14555, Yao Zongyou)
  • doc: README.md: use github heading syntax to mark the headings (pr#14591, Kefu Chai)
  • doc: release notes for v10.2.7 Jewel (pr#14295, Abhishek Lekshmanan)
  • doc: rgw: remove mention of megabytes for quotas (pr#14413, Hans van den Bogert)
  • doc: rgw server-side encryption and barbican (pr#13483, Adam Kupczyk, Casey Bodley)
  • doc: script: build-doc/serve-doc fixes (pr#14438, Abhishek Lekshmanan)
  • doc: script: ceph-release-notes: use https instead of http (pr#14103, Kefu Chai)
  • doc: typo in hit_set_search_last_n (pr#14108, Sven Seeberg)
  • doc: update packages mentioned by build-doc and related doc (pr#14649, Yu Shengzuo)
  • doc: wip-doc-multisite ports downstream multisite document upstream. (pr#14259, John Wilkins)
  • librados: set the flag CEPH_OSD_FLAG_FULL_TRY of Op in the right place. (pr#14193, Pan Liu)
  • librbd: changed the return type of ImageRequestWQ::discard() (issue#18511, pr#14032, Jos Collin)
  • librbd: corrected resize RPC message backwards compatibility (issue#19636, pr#14615, Jason Dillaman)
  • librbd: deferred image deletion (issue#18481, pr#13105, Ricardo Dias)
  • librbd: fix rbd_metadata_list and rbd_metadata_get (issue#19588, pr#14471, Mykola Golub)
  • librbd: is_exclusive_lock_owner API should ping OSD (issue#19287, pr#14003, Jason Dillaman)
  • librbd: Notifier::notify API improvement (pr#14072, Mykola Golub)
  • librbd: pass an uint64_t to clip_io() as the third param (issue#18938, pr#14159, Kefu Chai)
  • librbd: potential use of uninitialised value in ImageWatcher (pr#14091, Mykola Golub)
  • librbd: random unit test failures due to shut down race (issue#19389, pr#14166, Jason Dillaman)
  • mds: bump client_reply debug to match client_req (pr#14036, Patrick Donnelly)
  • mds: don’t assert on read errors in RecoveryQueue (issue#19282, pr#14017, John Spray)
  • mds: drop partial entry and adjust write_pos when opening PurgeQueue (issue#19450, pr#14447, “Yan, Zheng”)
  • mds: fix mgrc shutdown (issue#19566, pr#14505, John Spray)
  • mds: fix stray creation/removal notification (issue#19630, pr#14554, “Yan, Zheng”)
  • mds: ignore ENOENT on writing backtrace (issue#19401, pr#14207, John Spray)
  • mds: include advisory path field in damage (issue#18509, pr#14104, John Spray)
  • mds: make C_MDSInternalNoop::complete() delete ‘this’ (issue#19501, pr#14347, “Yan, Zheng”)
  • mds: miscellaneous multimds fixes (issue#19022, pr#13698, “Yan, Zheng”)
  • mds: pretty json from tell commands (pr#14105, John Spray)
  • mds: remove legacy “mds tell” command (issue#19288, pr#14015, John Spray)
  • mds: Return error message instead of asserting (pr#14469, Brad Hubbard)
  • mds: set ceph-mds name uncond for external tools (issue#19291, pr#14021, Patrick Donnelly)
  • mds: shut down finisher before objecter (issue#19204, pr#13859, John Spray)
  • mds: use same inode count in health check as in trim (issue#19395, pr#14197, John Spray)
  • mds: warn if insufficient standbys exist (issue#17604, pr#12074, Patrick Donnelly)
  • mgr: always free allocated MgrPyModule (issue#19590, pr#14507, Kefu Chai)
  • mgr: ceph-mgr: rotate logs on sighup (issue#19568, pr#14437, Dan van der Ster)
  • mgr: fix bugs in init, beacons (issue#19516, issue#19502, pr#14374, Sage Weil)
  • mgr: fix crash on missing ‘ceph_version’ in daemon metadata (fixes #18764) (issue#18764, pr#14129, Tim Serong)
  • mgr: fix several init/re-init bugs (issue#19491, pr#14328, Sage Weil)
  • mgr: mgr/MgrClient: fix reconnect event leak (issue#19580, pr#14431, Sage Weil)
  • mgr,mon: mon,mgr: move reweight-by-* to mgr (pr#14404, Kefu Chai)
  • mgr: move ‘osd perf’ and ‘osd blocked-by’ to mgr (pr#14303, Sage Weil)
  • mgr: move “osd pool stats” to mgr (pr#14365, Kefu Chai)
  • mgr: optimization some judgment and adjust the debug remove value in register_new_pgs (pr#14046, song baisen)
  • mgr: pass through cluster log to plugins (pr#13690, John Spray)
  • mgr: pybind/mgr/rest: don’t set timezone to Chicago (pr#14184, Tim Serong)
  • mgr: remove unused function declarations (pr#14366, Wei Jin)
  • mgr: rm nonused main function (pr#14313, Wei Jin)
  • mgr: shutdown py_modules in Mgr::shutdown() (issue#19258, pr#14078, Kefu Chai)
  • mon: add mon_debug_no_require_luminous (pr#14490, Sage Weil)
  • mon: avoid segfault in wait_auth_rotating (issue#19566, pr#14430, John Spray)
  • mon: common/config_opts.h: kill mon_pg_create_interval (pr#13800, xie xingguo)
  • mon: emit cluster log messages on MDS health changes (issue#19551, pr#14398, John Spray)
  • mon: fix hiding mdsmonitor informative strings (issue#16709, pr#13904, John Spray)
  • mon: fix synchronise pgmap with others (pr#14418, song baisen, z09440)
  • mon: mon/MonClient: make get_mon_log_message() atomic (issue#19427, pr#14422, Kefu Chai)
  • mon: mon/Monitor.h: add const to member function (pr#10412, Michal Jarzabek)
  • mon: mon/OSDMonitor: check last_osd_report only when the whole cluster is lu… (pr#14294, Kefu Chai)
  • mon: mon/OSDMonitor: Clean up: delete extra S signature for plural (pr#14174, Shinobu Kinjo)
  • mon: mon/OSDMonitor: spinlock -> std::mutex (pr#14269, Sage Weil)
  • mon: mon/OSDMonitor: transit creating_pgs from pgmap when upgrading (issue#19584, pr#14551, Kefu Chai)
  • mon: mon/OSDMonitor: update creating epoch if target osd changed (issue#19515, pr#14386, Kefu Chai)
  • mon: mon/PGMap: make si units more readable in PGMap summary (pr#14185, liuhong)
  • mon: osd crush set crushmap need sanity check (issue#19302, pr#14029, Loic Dachary)
  • mon: Tidy up removal of debug mon features (pr#14467, Brad Hubbard)
  • mon: update mgrmap when active goes offline (issue#19407, pr#14220, John Spray)
  • msg/async: Postpone bind if network stack is not ready (pr#14414, Amir Vadai, Haomai Wang)
  • msg: src/msg/async: Update fix broken compilation for Posix (pr#14336, Sarit Zubakov)
  • NVMEDevice: remove unnessary dpdk header file (pr#14650, optimistyzy)
  • osd: add “heap *” admin command (issue#15475, pr#13073, Jesse Williamson)
  • osd: add override in headers files (pr#13962, liuchang0812)
  • osd: Cleanup-Updated OSDMap.cc with C++11 style range-for loops (pr#14381, Jos Collin)
  • osd: combine unstable stats with info.stats when publish stats to osd (pr#14060, Mingxin Liu)
  • osd: fix comments about pg refs and lock (pr#14279, tang.jin)
  • osd: fix some osd beacon bugs (pr#14274, Sage Weil)
  • osd: kill all remaining MOSDSubOp users (pr#13401, Sage Weil)
  • osd: make ec overwrites ready to use (pr#14496, Josh Durgin)
  • osd: new op for calculating an extent checksum (pr#14256, Jason Dillaman)
  • osd: osd/PrimaryLogPG: nullptr not NULL (pr#13973, Shinobu Kinjo)
  • osd: pg-remap -> pg-upmap (pr#14556, Sage Weil)
  • osd: print pg_info_t::purged_snaps as array, not string (issue#18584, pr#14217, liuchang0812)
  • qa: krbd_data_pool.sh: account for rbd_info metadata object (pr#14631, Ilya Dryomov)
  • qa/objectstore: test bluestore with aggressive compression (pr#14623, Sage Weil)
  • qa/tasks: assert on pg status with a timeout (issue#19594, pr#14608, Kefu Chai)
  • qa/workunits/cephtool/test.sh: Be more liberal in testing health-output. (pr#14614, Willem Jan Withagen)
  • rbd: correct issues with image importing (pr#14401, Jason Dillaman)
  • rbd: error out if import image format failed (pr#13957, wangzhengyong)
  • rbd: import-diff should discard any zeroed extents (pr#14445, Jason Dillaman)
  • rbd: import real thin-provision image (issue#15648, pr#12883, yaoning, Ning Yao)
  • rbd-mirror: pool watcher should track mirror uuid (pr#14240, Jason Dillaman)
  • rbd-mirror: separate ImageReplayer handling from Replayer (issue#18785, pr#13803, Mykola Golub)
  • rbd-nbd: clean up the doc and help information (pr#14146, Pan Liu)
  • rbd-nbd: remove debug messages from do_unmap (pr#14253, Pan Liu)
  • rbd-nbd: s/cpp_error/cpp_strerror/ to fix FTBFS (pr#14223, Kefu Chai)
  • rbd-nbd: support signal handle for SIGHUP, SIGINT and SIGTERM. (issue#19349, pr#14079, Pan Liu)
  • rbd: pybind/rbd: add image metadata methods (issue#19451, pr#14463, Mykola Golub)
  • rbd,tests: qa/workunits: corrected issues with RBD cli test (pr#14460, Jason Dillaman)
  • rbd,tests: qa/workunits/rbd: diff.sh failed removing nonexistent file (pr#14482, Mykola Golub)
  • rbd,tests: test/librados_test_stub: fixed cls_cxx_map_get_keys/vals return value (issue#19597, pr#14484, Jason Dillaman)
  • rbd,tests: test/rbd_mirror: race in TestMockInstanceWatcher on destroy (pr#14453, Mykola Golub)
  • rbd: use min<uint64_t>() explicitly (issue#18938, pr#14202, Kefu Chai)
  • rbd: validate pool and snap name optionals (issue#14535, pr#13836, Gaurav Kumar Garg)
  • rbd: warning, ‘devno’ may be used uninitialized in this function (pr#14271, Jos Collin)
  • rdma: msg/async/rdma: Debug prints for ibv_* (pr#14249, Amir Vadai)
  • rdma: msg/async/rdma: Device::last_poll_dev must be positive (pr#14250, Amir Vadai)
  • rdma: msg/async/rdma: Fix small memory leaks detected by valgrind (pr#14288, Amir Vadai)
  • rdma: msg/async/rdma: Make poll_blocking() poll for async events in additio… (pr#14320, Amir Vadai)
  • rdma: msg/async/rdma: Make port number an attribute of the Connection not o… (pr#14297, Amir Vadai)
  • rdma: msg/async/rdma: RDMA-CM, get_device() by ibv_context (pr#14410, Amir Vadai)
  • rdma: msg/async/rdma: RDMA-CM, Pass specific ConnMgr info in constructor (pr#14409, Amir Vadai)
  • rgw: Added code to correctly account for bytes sent/ received during a ‘PUT’ operation. (pr#14042, Pritha Srivastava)
  • rgw: add –num-zonegroups option for multi test (pr#14216, lvshuhua)
  • rgw: add pool namespace to cache’s key so that system obj can have unique key (issue#19372, pr#14125, Zhang Shaowen)
  • rgw: add support for multipart upload expiration. (issue#19088, pr#13622, Zhang Shaowen)
  • rgw: add support for the BulkUpload of Swift API (pr#12243, Radoslaw Zarzynski)
  • rgw: add the remove-x-delete feature to cancel swift object expiration (issue#19074, pr#13621, Jing Wenjun)
  • rgw: Add –zonegroup-new-name in usage (pr#12084, Hans van den Bogert)
  • rgw: allow larger payload for period commit (issue#19505, pr#14355, Casey Bodley)
  • rgw: allow system users to read SLO parts (issue#19027, pr#13561, Casey Bodley)
  • rgw: avoid listing user buckets for rgw_delete_user (pr#13991, liuchang0812)
  • rgw: avoid using null pointer in rgw_file.cc (pr#14474, lihongjie)
  • rgw: bucket stats display bucket index type (pr#14466, fang yuxiang)
  • rgw: clean up the unneeded rgw::io::ChunkingFilter::has_content_length. (pr#13504, Radoslaw Zarzynski)
  • rgw: cls/rgw: Clean up the “magic string” usage in the cls layer for RGW. (pr#12536, Ira Cooper)
  • rgw: cls/user: cls_user_bucket backward compatibility (issue#19367, pr#14128, Yehuda Sadeh)
  • rgw: cls_user don’t clobber existing bucket stats when creating bucket (issue#16357, pr#10121, Abhishek Lekshmanan)
  • rgw: continuation of the auth rework (pr#12893, Radoslaw Zarzynski, Matt Benjamin)
  • rgw: delete non-empty buckets in slave zonegroup works not well (issue#19313, pr#14043, Zhang Shaowen)
  • rgw: don’t read all user input for a few param requests (pr#13815, Abhishek Lekshmanan)
  • rgw: enable to update acl of bucket created in slave zonegroup (issue#16888, pr#14082, Guo Zhandong)
  • rgw: error more verbosely in RGWRados::create_pool (pr#14642, Matt Benjamin)
  • rgw: fix build of conflict after auth rework (pr#14203, Casey Bodley)
  • rgw: fix configurable write obj window size (pr#13934, hechuang)
  • rgw: fix for EINVAL errors on forwarded bucket put_acl requests (pr#14376, Casey Bodley)
  • rgw: fix for null version_id in fetch_remote_obj() (pr#14375, Casey Bodley)
  • rgw: fix memory leak in delete_obj_aio (pr#13998, wangzhengyong)
  • rgw: fix memory leak in RGWGetObjLayout (pr#14014, liuchang0812)
  • rgw: fix response header of Swift API (issue#19443, pr#14280, tone-zhang)
  • rgw: fix slave zonegroup cannot enable the bucket versioning (issue#18003, pr#12175, lvshuhua)
  • rgw: fix uninitialized fields (pr#14120, wangzhengyong)
  • rgw: LCWorker’s worktime is not the same as config rgw_lifecycle_work_time. (issue#18087, pr#11963, Zhang Shaowen)
  • rgw: multisite enabled over multiple clusters (pr#12535, Ali Maredia)
  • rgw: multisite: fixes for zonegroup redirect (issue#19488, pr#14319, Casey Bodley)
  • rgw: radosgw-admin: use zone id when creating a zone (issue#19498, pr#14340, Orit Wasserman)
  • rgw: Removed Unwanted headers (pr#14183, Jos Collin)
  • rgw: remove duplicate flush formatter (pr#12437, Guo Zhandong)
  • rgw: remove extra RGWMPObj in rgw_multi.h (pr#14619, Casey Bodley)
  • rgw: rgw_file: fix missing unlock in unlink (issue#19435, pr#14262, Gui Hecheng)
  • rgw: rgw_file: fix non-posix errcode EINVAL to ENAMETOOLONG (pr#13764, Gui Hecheng)
  • rgw: rgw_file: fix readdir after dirent-change (issue#19634, pr#14561, Matt Benjamin)
  • rgw: rgw_file: pre-compute unix attrs in write_finish() (issue#19653, pr#14609, Matt Benjamin)
  • rgw: rgw_file: support readdir cb type hints (plus fixes) (issue#19623, issue#19625, issue#19624, pr#14458, Matt Benjamin)
  • rgw: rgw_lc: drop a bunch of unused headers (pr#14342, Abhishek Lekshmanan)
  • rgw: rgw/lifecycle: do not send lifecycle rules when GetLifeCycle failed (issue#19363, pr#14160, liuchang0812)
  • rgw: rgw_op: remove unused variable iter (pr#14276, Weibing Zhang)
  • rgw: s3 server-side encryption (SSE-C, SSE-KMS) (pr#11049, Adam Kupczyk, Casey Bodley, Radoslaw Zarzynski)
  • rgw: stat requests skip compression, manifest handling, etc (pr#14109, Casey Bodley)
  • rgw: switch from “timegm()” to “internal_timegm()” for better portability (issue#12863, pr#14327, Rishabh Kumar)
  • rgw: switch to std::array in RGWBulkUploadOp due to C++11 and FreeBSD. (pr#14314, Radoslaw Zarzynski)
  • rgw,tests: qa/rgw: add configuration for server-side encryption tests (pr#13597, Casey Bodley)
  • rgw,tests: test/rgw: test_bucket_delete_notempty in test_multi.py (pr#14090, Casey Bodley)
  • rgw: update is_truncated in function rgw_read_user_buckets (issue#19365, pr#14343, liuchang0812)
  • rgw: verified f23 (pr#14553, Gui Hecheng)
  • rgw: version id doesn’t work in fetch_remote_obj (pr#14010, Zhang Shaowen)
  • rgw: warning, output may be truncated before the last format character (pr#14194, Jos Collin)
  • src/ceph-disk/ceph_disk/main.py: Make ‘ceph-disk list’ work on FreeBSD (pr#14483, Willem Jan Withagen)
  • test/osd/osd-dup.sh: warn on low open file limit (pr#14637, Piotr Dałek)
  • test: rbd master/slave notify test should test active features (issue#19692, pr#14638, Jason Dillaman)
  • test/rgw: refactor test_multi.py for use in qa suite (pr#14433, Casey Bodley)
  • tests: add MGR=1 so ‘pg dump’ won’t be blocked (pr#14266, Kefu Chai)
  • tests: ceph_objectstore_tool.py: kill all daemons (pr#14428, Kefu Chai)
  • tests: qa: Add reboot case for systemd test (pr#14229, Vasu Kulkarni)
  • tests: qa/suites: drop ‘fs’ facet, and add ‘objectstore’ facet where missing (pr#14198, Sage Weil)
  • tests: qa/tasks: use sudo to check ceph health for systemd test (pr#14464, Vasu Kulkarni)
  • tests: qa/tasks/workunit.py: use “overrides” as the default settings of workunit (issue#19429, pr#14281, Kefu Chai)
  • tests: qa/workunits/ceph-helpers: display rejected string (pr#14468, Kefu Chai)
  • tests: tasks/workunit.py: when cloning, use –depth=1 (pr#14214, Dan Mick)
  • tests: test: add explicit braces to avoid ambiguous ‘else’ and to silence warnings (pr#14472, Jos Collin)
  • tests: test: objectstore: chain_xattr: fix wrong memset usage to fill buf (pr#14277, Weibing Zhang)
  • tests: Thrasher: handle “OSD has the store locked” gracefully (issue#19556, pr#14415, Nathan Cutler)
  • tests: workunit: request branch when cloning (pr#14260, Kefu Chai, Dan Mick)
  • tools: ceph-disk: Add fix subcommand (pr#13310, Boris Ranto)
  • tools: ceph-release-notes: prefixes and pep8 compliance (pr#14156, Nathan Cutler)
  • tools: ceph-release-notes: strip trailing punctuation (pr#14385, Nathan Cutler)
  • tools: stop.sh: boilerplate error (don’t stop mon when stopping mgr) (pr#14461, Dan Mick)
  • tools: warning, ‘%.16x’ directive output truncated writing 16 bytes into a region of size 9. (pr#14292, Jos Collin)