Release Notes

v12.0.3 Luminous (dev)

This is the fourth development checkpoint release of Luminous, the next long term stable release. This release introduces several improvements in bluestore, monitor, rbd & rgw.

Major changes from v12.0.2

  • The “journaler allow split entries” config setting has been removed.

Notable Changes

  • bluestore,core: osd/OSDMap: should update input param if osd dne (pr#14863, Kefu Chai)
  • bluestore: include/intarith: templatize ctz/clz/cbits helpers (pr#14862, Kefu Chai)
  • bluestore: os/bluestore: align reclaim size to bluefs_alloc_size (pr#14744, Haomai Wang)
  • bluestore: os/bluestore: assert blob map returns success (pr#14473, shiqi)
  • bluestore: os/bluestore: fix deferred write race (issue#19880, pr#15004, Sage Weil)
  • bluestore: os/bluestore: fix typo(s/trasnaction/transaction/) (pr#14890, xie xingguo)
  • bluestore: os/bluestore: fix use after free race with aio_wait (pr#14956, Sage Weil)
  • bluestore: os/bluestore: pre-calculate number of ghost buffers to evict (pr#15029, xie xingguo)
  • bluestore: os/bluestore: Record l_bluestore_state_kv_queued_lat for sync_submit_… (pr#14448, Jianpeng Ma)
  • bluestore: os/bluestore: Remove ExtentFreeListManager. (pr#14772, Jianpeng Ma)
  • bluestore: os/bluestore: remove unused condition variable (pr#14973, Igor Fedotov)
  • bluestore: os/bluestore: rename/fix throttle options (pr#14717, Sage Weil)
  • bluestore: os/bluestore: roundoff bluefs allocs to bluefs_alloc_size (pr#14876, Ramesh Chander)
  • bluestore: os/bluestore: use correct bound encode size for unused (pr#14731, Haomai Wang)
  • bluestore,performance: common/config_opts.h: compaction readahead for bluestore/rocksdb (pr#14932, Mark Nelson)
  • bluestore,performance: os/bluestore/BlueFS: add bluefs_sync_write option (pr#14510, Sage Weil)
  • bluestore,performance: os/bluestore: do not balance bluefs on every kv_sync_thread iteration (pr#14557, Sage Weil)
  • bluestore,performance: os/bluestore: eliminate some excessive stuff (pr#14675, Igor Fedotov)
  • bluestore,performance: os/bluestore: get rid off excessive lock at BitMapAllocator (pr#14749, Igor Fedotov)
  • bluestore,performance: os/blueStore: In osd_tp_thread, call _txc_finalize_kv. (pr#14709, Jianpeng Ma)
  • bluestore,performance: os/bluestore: make bluestore_max_blob_size parameter hdd/ssd case dependant (pr#14434, Igor Fedotov)
  • bluestore,performance: os/bluestore: rewrite deferred write handling (issue#16644, pr#14491, Sage Weil)
  • bluestore,performance: os/bluestore: use denc for varint encoding (pr#14911, Piotr Dałek)
  • bluestore,performance: os/fs/aio: use small_vector for aio_t; clean up header location (pr#14853, Sage Weil)
  • bluestore,tests: unittest_alloc: add test_alloc_big (issue#16662, pr#14844, Sage Weil)
  • bluestore,tools: ceph-kvstore-tool: allow ‘bluestore-kv’ as kvdb type; add escaping, compaction (pr#14718, Sage Weil)
  • build/ops: alpine: add alpine linux dev support (pr#9853, John Coyle)
  • build/ops: arch: use __get_cpuid instead of do_cpuid (issue#7869, pr#14857, Jos Collin)
  • build/ops: CMakeLists.txt: don’t do crypto/isa-l if not Intel (pr#14721, Dan Mick)
  • build/ops: compressor/zlib: fix plugin for non-Intel arches (pr#14947, Dan Mick)
  • build/ops: debian/rpm: move radosgw-admin to ceph-common (issue#19577, pr#14940, Ali Maredia)
  • build/ops: dmclock: error: ‘function’ in namespace ‘std’ does not name a template type (pr#14909, Jos Collin)
  • build/ops: dmclock: initial commit of dmclock QoS library (pr#14330, J. Eric Ivancich)
  • build/ops: init-ceph: add ceph libraries path to environment (pr#14693, Mohamad Gebai)
  • build/ops: init-ceph: should have a space before “]” (pr#14796, Kefu Chai)
  • build/ops: merge v12.0.2 release tag (pr#15091, Jenkins Build Slave User)
  • build/ops,mgr: debian/ceph-base.dirs: create bootstrap-mgr dirs (pr#14838, Sage Weil)
  • build/ops,mon: mon/ConfigKeyService: add ‘config-key dump’ to show keys and vals (pr#14858, Dan Mick)
  • build/ops,performance,rbd: byteorder: use gcc intrinsics for byteswap (pr#15012, Kefu Chai)
  • build/ops: rocksdb: sync with upstream (pr#14818, Nathan Cutler, Kefu Chai)
  • build/ops: rpm: fix python-Sphinx package name for SUSE (pr#15015, Nathan Cutler, Jan Matejek)
  • build/ops: rpm: gperftools-devel >= 2.4 (issue#13522, pr#14870, Nathan Cutler)
  • build/ops: rpm: package crypto on x86_64 only (pr#14779, Nathan Cutler)
  • build/ops: debian: package crypto plugin only on amd64 (pr#14820, Kefu Chai)
  • build/ops: src/init-ceph.in: allow one((re)?start|stop) as commands (pr#14560, Willem Jan Withagen)
  • build/ops: yasm-wrapper: strip -E (stops ccache trashing source files) (pr#14633, Tim Serong)
  • cephfs: ceph-fuse: use user space permission check by default (issue#19820, pr#14907, “Yan, Zheng”)
  • cephfs: client: client_quota no longer optional (pr#14978, Dan van der Ster)
  • cephfs: client: fix UserPerm::gid_in_group() (issue#19903, pr#15039, “Yan, Zheng”)
  • cephfs: client: getattr before returning quota/layout xattrs (issue#17939, pr#14018, John Spray)
  • cephfs: fs/ceph-fuse: normalize file open flags on the wire (pr#14822, Jan Fajerski)
  • cephfs: mds/Server.cc: Don’t evict a slow client if... (issue#17855, pr#12935, Michal Jarzabek)
  • cephfs: osdc/Filer: truncate large file party by party (issue#19755, pr#14769, “Yan, Zheng”)
  • cephfs: osdc: remove journaler_allow_split_entries option (issue#19691, pr#14636, John Spray)
  • cephfs,performance: client: make seeky readdir more efficiency (issue#19306, pr#14317, “Yan, Zheng”)
  • cephfs: qa/cephfs: Fix for test_data_scan (issue#19893, pr#15094, Douglas Fuller)
  • cephfs: qa/suites/fs: reserve more space for mds in full tests (issue#19891, pr#15026, “Yan, Zheng”)
  • cephfs,tests: qa: silence spurious insufficient standby health warnings (pr#15035, Patrick Donnelly)
  • cephfs,tests: qa: Tidy up fs/ suite (pr#14575, John Spray)
  • cleanup: dmclock: include missing <functional> header. (pr#14923, Jos Collin)
  • cleanup: kill clang warnings (pr#14549, Kefu Chai)
  • cleanup: test: c_write_operations.cc: silence warning from -Wsign-compare (pr#14889, Jos Collin)
  • cmake: add “container” to required boost components (pr#14850, Kefu Chai)
  • cmake: align cmake names of library packages (issue#19853, pr#14951, Nathan Cutler)
  • cmake: Allow tests to build without NSS (pr#13315, Daniel Gryniewicz)
  • cmake: do not compile crush twice (pr#14725, Kefu Chai)
  • cmake: enable cross-compilation of boost (issue#18938, pr#14881, Kefu Chai)
  • cmake: fix the linked lib reference of unittest_rgw_crypto (pr#14869, Willem Jan Withagen)
  • cmake: kill duplicated cmake commands (pr#14948, liuchang0812)
  • cmake: pass -d0 to b2 if not CMAKE_VERBOSE_MAKEFILE (pr#14651, Kefu Chai)
  • cmake: should not compile crc32c_ppc.c on intel arch. (pr#14423, Kefu Chai)
  • common: Better handling for missing/inaccessible ceph.conf files (issue#19658, pr#14757, Dan Mick)
  • common: cls/log/cls_log.cc: reduce logging noise (issue#19835, pr#14879, Willem Jan Withagen)
  • common: common/admin_socket: add config for admin socket permission bits (pr#11684, runsisi)
  • common: common/ceph_context.cc: Use CEPH_DEV to reduce logfile noise (pr#10384, Willem Jan Withagen)
  • common: common/config: Add /usr/local/etc/ceph to default paths (pr#14797, Willem Jan Withagen)
  • common: common/config_opts: Set the HDD throttle cost to 1.5M (pr#14808, Mark Nelson)
  • common: common/Finisher: fix uninitialized variable warning (pr#14958, Piotr Dałek)
  • common: common/interval_set: return int64_t for size() (pr#12898, Xinze Chi)
  • common: crypto: cleanup NSPR in main thread (pr#14801, Kefu Chai)
  • common: fix building against libcryptopp (pr#14949, Shengjing Zhu)
  • common: Fix unused variable references warnings (pr#14790, Willem Jan Withagen)
  • common: msg/async: return right away in NetHandler::set_priority() if not supported (pr#14795, Kefu Chai)
  • common: osdc/Objecter: fix pool dne corner case (issue#19552, pr#14901, Sage Weil)
  • common: osdc/Objecter: handle command target that goes down (issue#19452, pr#14302, Sage Weil)
  • common: osd/OSDMap: fix feature commit comment (pr#15056, Sage Weil)
  • common,performance: common/Finisher: batch handle perfcounter && only send signal when waiter existed. (pr#14363, Jianpeng Ma)
  • common: Remove redundant includes (issue#19883, pr#15003, Brad Hubbard)
  • common: Remove redundant includes (issue#19883, pr#15019, Brad Hubbard)
  • common: src/common: change last_work_queue to next_work_queue. (pr#14738, Pan Liu)
  • core: ceph-disk: ceph-disk on FreeBSD should not use mpath-code (pr#14837, Willem Jan Withagen)
  • core: ceph-disk: implement prepare –no-locking (pr#14728, Dan van der Ster, Loic Dachary)
  • core: ceph-disk: separate ceph-osd –check-needs-* logs (issue#19888, pr#15016, Loic Dachary)
  • core: erasure-code: sync jerasure/gf-complete submodules (pr#14424, Loic Dachary)
  • core: introduce DirectMessenger (pr#14755, Casey Bodley, Matt Benjamin)
  • core: messages: remove compat cruft (pr#14475, Sage Weil)
  • core,mon: common/Finisher: fix uninitialized variable warning (issue#19874, pr#14979, Sage Weil)
  • core: mon,osd: add require_min_compat_client setting to enforce and clarify client compatibility (pr#14959, Sage Weil)
  • core: mon/OSDMonitor: skip prime_pg_temp if mapping is prior to osdmap (pr#14826, Kefu Chai)
  • core: mon/PGMonitor: fix wrongly report “pg stuck in inactive” (pr#14391, Mingxin Liu)
  • core: osd,librados: cmpext support (pr#14715, Zhengyong Wang, David Disseldorp, Mike Christie)
  • core: osd/OSDMap: bump encoding version for require_min_compat_client (pr#15046, “Yan, Zheng”)
  • core: osd/PG.cc: Optimistic estimation on PG.last_active (pr#14799, Xiaoxi Chen)
  • core: osd/PG.cc: unify the call of checking whether lock is held (pr#15013, Jin Cai)
  • core: osd/PG: fix possible overflow on unfound objects (pr#12669, huangjun)
  • core: osd/PrimaryLogPG: do not call on_shutdown() if (pg.deleting) (issue#19902, pr#15040, Kefu Chai)
  • core: osd/PrimayLogPG: update modified range to include the whole object size for write_full op (pr#15021, runsisi)
  • core: osd/ReplicatedBackend: remove MOSDSubOp cruft from repop_applied (pr#14358, Jianpeng Ma)
  • core: os/filestore/FileJournal: Fix typo in the comment (pr#14493, Zhou Zhengping)
  • core: os/filestore: fix infinit loops in fiemap() (pr#14367, Ning Yao)
  • core,performance: osd, os: reduce fiemap burden (pr#14640, Piotr Dałek)
  • core,performance: os/filestore: use new sleep strategy when io_submit gets EAGAIN. (pr#14860, Pan Liu)
  • core,performance: os/kstore: Added rocksdb bloom filter settings (pr#13053, Ted-Chang)
  • core,tests: ceph_test_rados_api_watch_notify: make LibRadosWatchNotify.Watch3Timeout tolerate thrashing (issue#19433, pr#14899, Sage Weil)
  • core,tools: ceph: perfcounter priorities and daemonperf updates to use them (pr#14793, Sage Weil, Dan Mick)
  • core,tools: kv: move ‘bluestore-kv’ hackery out of KeyValueDB into ceph-kvstore-tool (issue#19778, pr#14895, Sage Weil)
  • crush: builder: legacy has chooseleaf_stable = 0 (pr#14695, Loic Dachary)
  • crush: crush_init_workspace starts with struct crush_work (pr#14696, Loic Dachary)
  • crush: update documentation for negative choose step (pr#14970, Loic Dachary)
  • doc: AUTHORS: update tech leads (pr#14350, Patrick Donnelly)
  • doc: correct and improve add user capability section (pr#14055, Chu, Hua-Rong)
  • doc: Correcting the remove bucket example and adding bucket link/unlink examples (pr#12460, Uday Mullangi)
  • doc: dev add a note about ccache (pr#14478, Abhishek Lekshmanan)
  • doc: doc/dev: add some info about FreeBSD (pr#14503, Willem Jan Withagen)
  • doc: fio: update README.md so only the fio ceph engine is built (pr#15081, Kefu Chai)
  • doc: fix link that pointed to a nonexistent file (pr#14740, Peter Maloney)
  • doc: Indicate how to add multiple admin capbabilies (pr#13956, Chu, Hua-Rong)
  • doc: mailmap: add Alibaba into organization map (pr#14900, James Liu)
  • doc: mailmap: update organization info (pr#14747, liuchang0812)
  • doc: mailmap: V12.0.1 credits (pr#14479, M Ranga Swami Reddy)
  • doc: mailmap: Weibing Zhang mailmap affiliation (pr#15076, Weibing Zhang)
  • doc: mailmap: ztczll affiliation (pr#15079, zhanglei)
  • doc: mention teuthology-worker security group (pr#14748, Nathan Cutler)
  • doc: peoplemap: add pdonnell alias (pr#14352, Patrick Donnelly)
  • doc: remove deprecated subcommand in man/8/ceph.rst (pr#14928, Drunkard Zhang)
  • doc: Re-word the warnings about using git subtrees. (pr#14999, J. Eric Ivancich)
  • doc: rgw: Clean up create subuser parameters (pr#14335, hrchu)
  • doc: rgw: correct get usage parameter default value (pr#14372, hrchu)
  • doc: rgw: Get user usage needs to specify user (pr#14804, hrchu)
  • doc: rgw: note rgw_enable_usage_log option in adminops guide (pr#14803, hrchu)
  • doc: rgw: Rewrite Java swift examples (pr#14268, Chu, Hua-Rong)
  • doc: rgw: Rewrite the key management (pr#14384, hrchu)
  • doc: style fix for doc/cephfs/client-config-ref.rst (pr#14840, Drunkard Zhang)
  • doc: two minor fixes (pr#14494, Drunkard Zhang)
  • doc: update the support status of swift static website (pr#13824, Jing Wenjun)
  • doc: v12.0.2 (dev) release notes (pr#14625, Abhishek Lekshmanan)
  • librados: fix rados_pool_list when buf is null (pr#14859, Sage Weil)
  • librbd: cleanup logging code under librbd/io (pr#14975, runsisi)
  • librbd: do not instantiate templates while building tests (issue#18938, pr#14891, Kefu Chai)
  • librbd: minor fixes for image trash move (pr#14834, runsisi)
  • librbd: remove redundant check for image id emptiness (pr#14830, runsisi)
  • librbd: silence -Wunused-variable warning (pr#14953, Kefu Chai)
  • mds: add perf counters for file system operations (pr#14938, Michael Sevilla)
  • mds: change_attr++ and set ctime for set_vxattr (issue#19583, pr#14726, Patrick Donnelly)
  • mds: fix mantle script to not fail for last rank (issue#19589, pr#14704, Patrick Donnelly)
  • mds: fix use-after-free in Locker::file_update_finish() (issue#19828, pr#14991, “Yan, Zheng”)
  • mds: issue new caps when sending reply to client (issue#19635, pr#14743, “Yan, Zheng”)
  • mds: relocate PTRWAITER put near get (pr#14921, Patrick Donnelly)
  • mds: remove boost::pool usage and use tcmalloc directly (issue#18425, pr#12792, Zhi Zhang)
  • mds: remove “mds log” config option (issue#18816, pr#14652, John Spray)
  • mds: support export pinning on directories (issue#17834, pr#14598, “Yan, Zheng”, Patrick Donnelly)
  • mds: use debug_mds for most subsys (issue#19734, pr#15052, Patrick Donnelly)
  • mgr: add machinery for python modules to send MCommands to daemons (pr#14920, John Spray)
  • mgr: add mgr allow * to client.admin (pr#14864, huanwen ren)
  • mgr: do shutdown using finisher so we can do it in the right order (issue#19743, pr#14835, Kefu Chai)
  • mgr: do the shutdown in the right order (issue#19813, pr#14952, Kefu Chai)
  • mgr: fix crash on set_config from python module with insufficient caps (issue#19629, pr#14706, Tim Serong)
  • mgr: fix metadata handling from old MDS daemons (pr#14161, John Spray)
  • mgr: fix python module teardown & add tests (issue#19407, issue#19412, issue#19258, pr#14232, John Spray)
  • mgr: fix session leak (issue#19591, pr#14720, Sage Weil)
  • mgr: Misc. bug fixes (issue#18994, pr#14883, John Spray)
  • mgr: mkdir bootstrap-mgr (pr#14824, huanwen ren)
  • mgr,mon: mon/MgrMonitor: only propose if we updated (pr#14645, Sage Weil)
  • mgr,mon: mon,mgr: trim osdmap without the help of pgmap (pr#14504, Kefu Chai)
  • mgr: pybind/mgr/rest: completely terminate cherrypy in shutdown (pr#14995, Tim Serong)
  • mgr: redirect python stdout,stderr to ceph log (pr#14189, Kefu Chai, Tim Serong, Dan Mick)
  • mgr: release allocated PyString (pr#14716, Kefu Chai)
  • mgr: remove non-existent MDS daemons from FSMap (issue#17453, pr#14937, Spandan Kumar Sahu)
  • mgr,tests: qa/suites: move mgr tests into rados suite (pr#14687, John Spray)
  • mgr: various cleanups (pr#14802, Kefu Chai)
  • mon: check is_shutdown() in timer callbacks (issue#19825, pr#14919, Kefu Chai)
  • mon: do not prime_pg_temp creating pgs; clean up pg create conditions (issue#19826, pr#14913, Sage Weil)
  • mon: don’t call propose_pending in prepare_update() (issue#19738, pr#14711, John Spray)
  • mon: logclient: use the seq id of the 1st log entry when resetting session (issue#19427, pr#14927, Kefu Chai)
  • mon: mon/OSDMonitor: check get()’s return value instead of bl’s length (pr#14805, Kefu Chai)
  • mon: mon/OSDMonitor: cleanup pending_created_pgs after done with it (pr#14898, Kefu Chai)
  • mon: mon/OSDMonitor: do not alter the “created” epoch of a pg (issue#19787, pr#14849, Kefu Chai)
  • mon: mon/OSDMonitor: fix output func name in can_mark_out (pr#14758, xie xingguo)
  • mon: mon/OSDMonitor: increase last_epoch_clean’s lower bound if possible (pr#14855, Kefu Chai)
  • mon: mon/OSDMonitor: tolerate upgrade from post-kraken dev cluster (pr#14442, Sage Weil)
  • mon: mon/OSDMonitor: update creating_pgs using pending_creatings (issue#19814, pr#14897, Kefu Chai)
  • mon: mon/OSDMonitor: update pg_creatings even the new acting set is empty (issue#19744, pr#14730, Kefu Chai)
  • mon: mon/PGMap: add up_primary pg number field for pg-dump cmd (pr#13451, xie xingguo)
  • mon: mon/PGMap.cc: fix “osd_epochs” section of dump_basic (pr#14996, xie xingguo)
  • mon: mon/PGMonitor: clean up min/max span warning (pr#14611, Sage Weil)
  • mon: move ‘pg map’ to OSDMonitor (pr#14559, Sage Weil)
  • mon: osd/PGMonitor: always update pgmap with latest osdmap (issue#19398, pr#14777, Kefu Chai)
  • mon: show inactive % in ceph status (pr#14810, Sage Weil)
  • msg: Increase loglevels on some messages (pr#14707, Willem Jan Withagen)
  • msg: msg/async/net_handler: errno should be stored before calling next function (pr#14985, Zhou Zhengping)
  • msg: msg/simple: use my addr when setting sock priority (issue#19801, pr#14878, Kefu Chai)
  • msg: src/msg/async/AsyncConnect.cc: Use of sizeof() on a Pointer Type (pr#14773, Svyatoslav)
  • msg: src/msg/simple/Pipe.cc: Fix the inclusion of ‘}’ (pr#14843, Willem Jan Withagen)
  • osd: check fsid is normal before osd mkfs (pr#13898, song baisen)
  • osd: clean nonused work queue (pr#14990, Wei Jin)
  • osd: eliminate snapdir objects and move clone snaps vector into SnapSet (pr#13610, Sage Weil)
  • osd: fix occasional MOSDMap leak (issue#18293, pr#14558, Sage Weil)
  • osd: fix typo in comment (pr#13061, Gu Zhongyan)
  • osd: Implement asynchronous scrub sleep (issue#19497, pr#14886, Brad Hubbard)
  • osd: Implement peering state timing (pr#14627, Brad Hubbard)
  • osd: objclass sdk (pr#14723, Neha Ojha)
  • osd: osdc/Objecter: more constness (pr#14819, Kefu Chai)
  • osd: osdc: silence warning from -Wsign-compare (pr#14729, Jos Collin)
  • osd: pglog trimming fixes (pr#12882, Zhiqiang Wang)
  • osd: pglog: with config, don’t assert in the presence of stale diverg… (issue#17916, pr#14648, Greg Farnum)
  • osd: put osdmap in mempool (pr#14780, Sage Weil)
  • osd: renamed the new vector name in OSDMap::build_simple_crush_map_from_conf (pr#14583, Jos Collin)
  • osd: ReplicatedBackend::prep_push() remove redundant variable assignments (pr#14817, Jin Cai)
  • osd: sched_scrub() lock pg only if all scrubbing conditions are fulfilled (pr#14968, Jin Cai)
  • osd: simplify past_intervals representation (pr#14444, Samuel Just, Sage Weil)
  • osd: stop mgrc earlier in shutdown() (issue#19638, pr#14904, Kefu Chai)
  • osd: stop MgrClient callbacks on shutdown (issue#19638, pr#14896, Sage Weil)
  • osd: strip pglog op name (pr#14764, liuchang0812)
  • osd: support dumping long ops (pr#13019, Zhiqiang Wang)
  • osd: switch filestore to default to rocksdb (pr#14814, Neha Ojha)
  • osd: tag fast dispatch messages with min_epoch (pr#13681, Sage Weil)
  • osd: use append(bufferlist &) to avoid unnecessary copy (pr#12272, Yunchuan Wen)
  • osd: zipkin tracing (pr#14305, Sage Weil, Marios-Evaggelos Kogias, Victor Araujo, Casey Bodley, Andrew Shewmaker, Chendi.Xue)
  • performance: buffer, osd: add missing crc cache miss perf counter (pr#14957, Piotr Dałek)
  • performance: osd/PG.cc: loop invariant code motion (pr#12720, Li Wang)
  • pybind: better error msg (pr#14497, Kefu Chai)
  • pybind: fix open flags calculation (issue#19890, pr#15018, “Yan, Zheng”)
  • qa: qa/added overrides (pr#14917, Yuri Weinstein)
  • qa: qa/suite: replace reference to fs/xfs.yaml (pr#14756, Yehuda Sadeh)
  • qa: qa/suites/rados/singleton-bluestore: concat settings (pr#14884, Kefu Chai)
  • rbd: cls_rbd: default initialize snapshot namespace for legacy clients (issue#19413, pr#14903, Jason Dillaman)
  • rbd: common/bit_vector: utilize deep-copy during data decode (issue#19863, pr#15017, Jason Dillaman)
  • rbd: import needs to sanity check auto-generated image name (issue#19128, pr#14754, Mykola Golub)
  • rbd: info command should indicate if parent is in trash (pr#14875, Jason Dillaman)
  • rbd-mirror: ensure missing images are re-synced when detected (issue#19811, pr#14945, Jason Dillaman)
  • rbd-mirror: failover and failback of unmodified image results in split-brain (issue#19858, pr#14963, Jason Dillaman)
  • rbd-mirror: image deletions should be handled by assigned instance (pr#14832, Jason Dillaman)
  • rbd-mirror: remove tracking of image names from pool watcher (pr#14712, Jason Dillaman)
  • rbd-mirror: resolve admin socket path names collision (issue#19907, pr#15048, Mykola Golub)
  • rbd-nbd: relax size check for newer kernel versions (issue#19871, pr#14976, Mykola Golub)
  • rbd: rbd/bench: add notes of default values, it’s easy to use (pr#14762, Zheng Yin)
  • rbd: rbd, librbd: migrate atomic_t to std::atomic (pr#14656, Jesse Williamson)
  • rbd: rbd-mirror A/A: proxy InstanceReplayer APIs via InstanceWatcher RPC (issue#18787, pr#13978, Mykola Golub)
  • rbd: recognize exclusive option (pr#14785, Ilya Dryomov)
  • rbd: removed spurious error message from mirror pool commands (pr#14935, Jason Dillaman)
  • rbd: stop indefinite thread waiting in krbd udev handling (issue#17195, pr#14051, Spandan Kumar Sahu)
  • rbd,tests: qa: krbd write-after-checksum tests (pr#14836, Ilya Dryomov)
  • rbd,tests: qa/workunits/rbd: increased trash deferment period (pr#14846, Jason Dillaman)
  • rbd,tests: qa/workunits: switch to OpenStack Ocata release for RBD testing (pr#14465, Jason Dillaman)
  • rbd,tests: test/librbd/test_librbd.cc: set *features even if RBD_FEATURES is unset (issue#19865, pr#14965, Dan Mick)
  • rbd,tests: test/librbd/test_notify.py: don’t disable feature in slave (issue#19716, pr#14751, Mykola Golub)
  • rbd,tests: test/rbd_mirror: race in TestMockLeaderWatcher.AcquireError (issue#19405, pr#14741, Mykola Golub)
  • rbd,tests: test: remove hard-coded image name from RBD metadata test (issue#19798, pr#14848, Jason Dillaman)
  • rdma: msg/async/rdma: add inqueue rx chunks perf counter (pr#14782, Haomai Wang)
  • rgw: add bucket size limit check to radosgw-admin (issue#17925, pr#11796, Matt Benjamin)
  • rgw: add ‘state==SyncState::IncrementalSync’ condition when add item … (pr#14552, Shasha Lu)
  • rgw: add support container and object levels of swift bulkupload (pr#14775, Jing Wenjun)
  • rgw: add support for FormPost of Swift API (issue#17273, pr#11179, Radoslaw Zarzynski, Orit Wasserman)
  • rgw: civetweb don’t go past the array index while calling mg_start (issue#19749, pr#14750, Abhishek Lekshmanan, Jesse Williamson)
  • rgw: clean unuse code in cls_statelog_check_state (pr#10260, weiqiaomiao)
  • rgw: cleanup: fix variable name in RGWRados::create_pool() declaration (pr#14547, Nathan Cutler)
  • rgw: cleanup lc continuation (pr#14906, Jiaying Ren)
  • rgw: cls/rgw: list_plain_entries() stops before bi_log entries (issue#19876, pr#14981, Casey Bodley)
  • rgw: custom user data header (issue#19644, pr#14592, Pavan Rallabhandi)
  • rgw: deduplicate variants of rgw_make_bucket_entry_name(). (pr#14299, Radoslaw Zarzynski)
  • rgw: don’t do unneccesary write if buffer with zero length (pr#14925, fang yuxiang)
  • rgw: dont spawn error_repo until lease is acquired (issue#19446, pr#14714, Casey Bodley)
  • rgw: drop unused param “bucket” from select_bucket_placement (pr#14390, Shasha Lu)
  • rgw: drop unused port var (pr#14412, Jiaying Ren)
  • rgw: fix broken /crossdomain.xml, /info and /healthcheck of Swift API. (issue#19520, pr#14373, Radoslaw Zarzynski)
  • rgw: fix forward request for bulkupload to be applied in multisite (issue#19645, pr#14601, Jing Wenjun)
  • rgw: fix handling of –remote in radosgw-admin period commands (issue#19554, pr#14407, Casey Bodley)
  • rgw: fix RadosGW hang during multi-chunk upload of AWSv4. (issue#19754, pr#14770, Radoslaw Zarzynski)
  • rgw: migrate atomic_t to std::atomic<> (ebirah) (pr#14839, Jesse Williamson)
  • rgw: radosgw-admin: warn that ‘realm rename’ does not update other clusters (issue#19746, pr#14722, Casey Bodley)
  • rgw: rgw_file: cleanup virtual keyword on derived functions (pr#14908, Gui Hecheng)
  • rgw: rgw_ldap: log the ldap err in case of bind failure (pr#14781, Abhishek Lekshmanan)
  • rgw: rgw multisite: automated mdlog trimming (pr#13111, Casey Bodley)
  • rgw: rgw multisite: fixes for meta sync across periods (issue#18639, pr#13070, Casey Bodley)
  • rgw: rgw multisite: remove the redundant post in OPT_ZONEGROUP_MODIFY (pr#14359, Jing Wenjun)
  • rgw: RGWPeriodPusher spawns http thread before cr thread (issue#19834, pr#14936, Casey Bodley)
  • rgw: rgw_rados drop deprecated global var (pr#14411, Jiaying Ren)
  • rgw: should delete in_stream_req if conn->get_obj(...) return not zero value (pr#9950, weiqiaomiao)
  • rgw: swift: ability to update swift read and write acls separately. (issue#19289, pr#14499, Marcus Watts)
  • rgw: swift: disable revocation thread if sleep == 0 (issue#19499, issue#9493, pr#14501, Marcus Watts)
  • rgw,tests: qa/rgw: add cluster name to path when s3tests scans rgw log (pr#14845, Casey Bodley)
  • rgw,tests: qa/rgw: don’t scan radosgw logs for encryption keys on jewel upgrade test (pr#14697, Casey Bodley)
  • rgw,tests: qa/rgw: fix assertions in radosgw_admin task (pr#14842, Casey Bodley)
  • rgw,tests: test/rgw: fixes for test_multi_period_incremental_sync() (pr#13067, Casey Bodley)
  • rgw,tests: test/rgw: fix for empty lists as default arguments (pr#14816, Casey Bodley)
  • rgw: update Beast for streaming reads in asio frontend (pr#14273, Casey Bodley)
  • rgw: using the same bucket num_shards as master zg when create bucket in secondary zg (issue#19745, pr#14388, Shasha Lu)
  • rgw: when create_bucket use the same num_shards with info.num_shards (issue#19745, pr#15010, Shasha Lu)
  • tests: ceph_test_rados_api_tier: tolerate ENOENT from ‘pg scrub’ (pr#14807, Sage Weil)
  • tests: cephtool/test.sh error on full tests (issue#19698, pr#14647, Willem Jan Withagen, David Zafman)
  • tests: Don’t dump core when using EXPECT_DEATH (pr#14821, Kefu Chai, Brad Hubbard)
  • tests: fio_ceph_objectstore: fixes improper write request data lifetime (pr#14338, Adam Kupczyk)
  • tests: fix broken links in upgrade/hammer-jewel-x/stress-split (issue#19793, pr#14831, Nathan Cutler)
  • tests: include/denc: support ENCODE_DUMP (pr#14962, Sage Weil)
  • tests: libradosstriper: do not assign garbage to returned value (pr#15009, Kefu Chai)
  • tests: qa/erasure-code: override min_size to 2 (issue#19770, pr#14872, Kefu Chai)
  • tests: qa/suites/jewel-x/point-to-point: don’t scane for keys on second s3tests either (pr#14788, Sage Weil)
  • tests: qa/suites: Reduce fs combination tests for smoke, use bluestore (pr#14854, Vasu Kulkarni)
  • tests: qa/suites: Revert “qa/suites: add mon-reweight-min-pgs-per-osd = 4” (pr#14584, Kefu Chai)
  • tests: qa/suites/upgrade/jewel-x: add mgr.x role (pr#14689, Sage Weil)
  • tests: qa/suites/upgrade/kraken-x: misc fixes (pr#14887, Sage Weil)
  • tests: qa/tasks/ceph_manager: always fix pgp_num when done with thrashosd task (issue#19771, pr#14931, Kefu Chai)
  • tests: qa/tasks: few fixes to get ceph-deploy 1node to working state (pr#14400, Vasu Kulkarni)
  • tests: rados: move cephtool.yaml to new singleton/bluestore subsuite (issue#19797, pr#14847, Nathan Cutler)
  • tests: set -x in suites/iozone.sh workunit (issue#19740, pr#14713, Nathan Cutler)
  • tests: test/compressor: disable isal tests if not available (pr#14929, Kefu Chai)
  • tests: test: c_read_operations.cc: silence warning from -Wsign-compare (pr#14888, Jos Collin)
  • tests: test/fio_ceph_objectstore: fix fio plugin build failure by engine_data (pr#15044, lisali)
  • tests: test: fixing assert that creates warning: comparison between signed and unsigned integer expressions (pr#14794, Jos Collin)
  • tests: test/fsx: Remove the dead code associated with aio backend (pr#14905, Zhou Zhengping)
  • tests: test/objectstore/: Check put_ref return value (pr#15007, zhanglei)
  • tests: test/osd/osd-dup.sh: lower wb fd throttle limits (pr#14984, Dan Mick)
  • tests: test: use 7130 for crush-classes.sh (pr#14783, Loic Dachary)
  • tests: test: warning: comparison between signed and unsigned integer expressions (pr#14705, Jos Collin)
  • tests,tools: test: kill warnings (pr#14892, Kefu Chai)
  • tools: change compare_exchange_weak to compare_exchange_strong (pr#15030, Jesse Williamson)
  • tools: rados: check for negative return value of rados_create_with_context() as its comment put (pr#10893, zhang.zezhu)
  • tools: rados: out json ‘df’ values as numbers, not strings (issue#15546, pr#14644, Sage Weil)

v12.0.2 Luminous (dev)

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 set <fs> standby_count_wanted <number>. 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.<id> ...”

  • 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-C specification and using a key management service (Openstack Barbician) similar to Amazon SSE-KMS specification.

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)

v12.0.1 Luminous (dev)

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

Major changes from 12.0.0

  • 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.

  • The rados copy-get-classic operation has been removed since it has not been used by the OSD since before hammer. It is unlikely any librados user is using this operation explicitly since there is also the more modern copy-get.

  • The RGW api for getting object torrent has changed its params from ‘get_torrent’ to ‘torrent’ so that it can be compatible with Amazon S3. Now the request for object torrent is like ‘GET /ObjectName?torrent’.

Other Notable Changes

  • auth: ‘ceph auth import -i’ overwrites caps, if caps are not specified (issue#18932, pr#13468, Vikhyat Umrao)
  • BitAllocator: delete useless codes (pr#13619, Jie Wang)
  • Bluestore, NVMEDevice: add the spdk core mask check (pr#14068, optimistyzy)
  • Bluestore, NVMeDevice: fix the core id for rte_remote_launch (pr#13896, optimistyzy)
  • bluestore,NVMEDevice: minor error for get slave core (pr#14012, Ziye Yang)
  • bluestore, NVMEDEVICE: Specify the max io completion in conf (pr#13799, optimistyzy)
  • brag: count the number of mds in fsmap not in mdsmap (issue#19192, pr#13798, Peng Zhang)
  • build/ops: add psmisc dependency to ceph-base (deb and rpm) (issue#19129, pr#13744, Nathan Cutler)
  • build/ops: make package groups comply with openSUSE guidelines (issue#19184, pr#13781, Nathan Cutler)
  • buildpackages: remove because it does not belong (issue#18846, pr#13297, Loic Dachary)
  • build: remove ceph-qa-suite directory (pr#13880, Casey Bodley)
  • ceph_common.sh: fix syntax error (issue#17826, pr#13419, Dan Mick)
  • ceph-create-keys: Add connection timeouts. (pr#11995, Owen Synge)
  • ceph-dencoder: enable bluestore types (pr#13595, Willem Jan Withagen, Kefu Chai)
  • ceph-detect-init: Add docker detection (pr#13218, Guillaume Abrioux)
  • ceph-detect-init: Adds Oracle Linux Server and Oracle VM Server detect (pr#13917, Nikita Gerasimov)
  • ceph-disk: ability to use a different cluster name with dmcrypt (issue#17821, pr#11786, Sébastien Han, Erwan Velu)
  • ceph-disk: dmcrypt activate must use the same cluster as prepare (issue#17821, pr#13573, Loic Dachary)
  • ceph-disk: Fix getting wrong group name when –setgroup in bluestore (issue#18955, pr#13457, craigchi)
  • ceph-disk: FreeBSD changes to get it working and passing tests (pr#12086, Willem Jan Withagen)
  • ceph-disk: Reporting /sys directory in get_partition_dev() (pr#14080, Erwan Velu)
  • ceph-disk: Revert “Revert “change get_dmcrypt_key test to support different cluster name”” (pr#13600, Loic Dachary)
  • ceph-disk/tests: Certain partition types do not work on FreeBSD (pr#13560, Willem Jan Withagen)
  • ceph: do not throw TypeError on connection failure (pr#13268, Kefu Chai)
  • ceph_fuse: fix daemonization when pid file is non-empty (pr#13532, “Yan, Zheng”)
  • ceph.in: add help for locally-handled commands (pr#13288, Dan Mick)
  • ceph.in: Fix couple of minor issues on the messages (pr#12797, Dave Chen)
  • ceph-osd: –flush-journal: sporadic segfaults on exit (issue#18820, pr#13311, Alexey Sheplyakov)
  • ceph.spec.in, debian/control: Add bc to build dependencies (issue#18876, pr#13338, Kyr Shatskyy)
  • ceph_test_objectstore: tolerate fsck EOPNOTSUPP too (pr#13325, Sage Weil)
  • ceph_test_rados_api_misc: avoid livelock from PoolCreationRace (pr#13565, Sage Weil)
  • cleanup: rbd: fix a typo in comment (pr#14049, Dongsheng Yang)
  • cleanup: resolve compiler warnings (pr#13236, Adam C. Emerson)
  • client: priority to verify the correctness of the “flag” (pr#12897, huanwen ren)
  • client: remove dead log code (pr#13093, Patrick Donnelly)
  • client: wait for lastest osdmap when handling set file/dir layout (issue#18914, pr#13580, “Yan, Zheng”)
  • cmake: link consumers of libclient with libcommon (issue#18838, pr#13394, Kefu Chai)
  • CMakeLists.txt: suppress unneeded warning about jemalloc (pr#13377, Willem Jan Withagen)
  • common: add override in common and misc (issue#18922, pr#13443, liuchang0812)
  • common: add override in header file (pr#13774, liuchang0812)
  • common: add override in msg subsystem (pr#13771, liuchang0812)
  • common/auth: add override in headers (pr#13692, liuchang0812)
  • common/config_opts.h: Remove deprecated osd_compact_leveldb_on_mount option (issue#19318, pr#14059, Vikhyat Umrao)
  • common/config_opts: improve rdma buffer size to 128k (pr#13510, Haomai Wang)
  • common/EventTrace: fix compiler warning. (pr#13659, Jianpeng Ma)
  • common: Fix clang compilation (pr#13335, Bartłomiej Święcki)
  • common: fix lockdep vs recursive mutexes (pr#9940, Adam Kupczyk)
  • common: fix that $host always expands to localhost instead of actual hostname (issue#11081, pr#12998, liuchang0812)
  • common: include/ceph_features.h uses uint64_t, which is in sys/types.h (pr#13339, Willem Jan Withagen)
  • common/MemoryModel: Bump int to long and drop mallinfo (pr#13453, Xiaoxi Chen)
  • common, osd, tools: Add histograms to performance counters (pr#12829, Bartłomiej Święcki)
  • common/perf_counters.: Remove unnecessary judgment (pr#10407, zhang.zezhu)
  • common: possible lockdep false alarm for ThreadPool lock (issue#18819, pr#13258, Mykola Golub)
  • common: remove n on clog messages (pr#13794, Sage Weil)
  • common/TracepointProvider: add assert if dlopen error. (pr#13430, Jianpeng Ma)
  • common/TrackedOp: make TrackedOp::reset_desc() safe (issue#19110, pr#13702, Sage Weil)
  • common: use ref to avoid unnecessary memory copy (issue#19107, pr#13689, liuchang0812)
  • compressor: fix Mutex::Locker used is not correct (pr#13935, hechuang)
  • compressor/zstd: add zstd to embedded ceph (pr#13159, Bassam Tabbara)
  • crc32c: optimize aarch64 crc32c implementation (pr#12977, wei xiao)
  • crush: add devices class that rules can use as a filter (issue#18943, pr#13444, Loic Dachary)
  • crush: add –dump to crushtool (pr#13726, Loic Dachary)
  • crush: allow uniform buckets with no items (pr#13521, Loic Dachary)
  • crush: document tunables and rule step set_ (pr#13722, Loic Dachary)
  • crush: do is_out test only if we do not collide (pr#13326, xie xingguo)
  • crush: fix dprintk compilation (pr#13424, Loic Dachary)
  • debian: Add missing tp files in deb packaging (pr#13526, Ganesh Mahalingam)
  • debian/control: add ceph-base-dbg (pr#13796, Sage Weil)
  • debian: drop boost build dependencies (pr#13524, Kefu Chai)
  • doc: add changelog for v0.94.10 (pr#13572, Abhishek Lekshmanan)
  • doc: add changelog for v10.2.6 Jewel release (pr#13839, Abhishek Lekshmanan)
  • doc: add optional argument for build-doc (pr#14058, Kefu Chai)
  • doc: clarify that “ms bind ipv6” disables IPv4 (pr#13317, Ken Dreyer)
  • doc: crush: API documentation fixes (pr#13589, Loic Dachary)
  • doc: crush typo in algorithm description (pr#13661, Loic Dachary)
  • doc: deletes duplicated word and clarifies an example (pr#13746, Tahia Khan)
  • doc: document osd-agent-{max,low}-ops options (pr#13648, Kefu Chai)
  • doc: fix a typo (pr#13930, Drunkard Zhang)
  • doc: fixes a broken hyperlink to RADOS paper in architecture (pr#13682, Tahia Khan)
  • doc: Fixes a typo. (pr#13985, Edwin F. Boza)
  • doc: Fixes parameter name in rbd configuration on openstack havana/icehouse (issue#17978, pr#13403, Michael Eischer)
  • doc: fixes to silence sphinx-build (pr#13997, Kefu Chai)
  • doc: fix the links to http://ceph.com/docs (issue#19090, pr#13976, Kefu Chai)
  • doc: Fix typo and grammar in RGW config reference (pr#13356, Ruben Kerkhof)
  • doc: fix typos in radosgw-admin usage (pr#13936, Enming Zhang)
  • doc: hammer 0.94.10 release notes (pr#13152, Nathan Cutler)
  • doc: Have install put manpages in the FreeBSD correct location (pr#13301, Willem Jan Withagen)
  • doc: improve firewalld instructions (pr#13360, Ken Dreyer)
  • doc: instructions and guidance for multimds (issue#19135, pr#13830, John Spray)
  • doc: instructions for provisioning OpenStack VMs ad hoc (pr#13368, Nathan Cutler)
  • doc: Jewel 10.2.6 release notes (pr#13835, Abhishek Lekshmanan)
  • doc: kernel client os-recommendations update (pr#13369, John Spray, Ilya Dryomov)
  • doc: mention ENXIO change in the 10.2.6 release notes (pr#13878, Nathan Cutler)
  • doc: minor changes in fuse client config reference (pr#13065, Barbora Ančincová)
  • doc: misc minor fixes (pr#13713, Drunkard Zhang)
  • doc: Modify Configuring Cinder section (issue#18840, pr#13400, Shinobu Kinjo)
  • doc/release-notes: avoid ‘production-ready’ in describing kraken (pr#13675, Sage Weil)
  • doc: releases update the luminous, hammer, jewel release dates (pr#13584, Abhishek Lekshmanan)
  • doc: remove duplicated references (pr#13396, Kefu Chai)
  • doc: remove mentions about mon_osd_min_down_reports (issue#19016, pr#13558, Barbora Ančincová)
  • doc: rgw: make a note abt system users vs normal users (issue#18889, pr#13461, Abhishek Lekshmanan)
  • docs: Fix problems with example code (pr#14007, Brad Hubbard)
  • doc: Update adminops.rst (pr#13893, Chu, Hua-Rong)
  • doc: Update CephFS disaster recovery documentation (pr#12370, Wido den Hollander)
  • doc: update links to point to ceph/qa instead of ceph-qa-suite (pr#13397, Jan Fajerski, Nathan Cutler)
  • doc: Update sample.ceph.conf (pr#13751, Saumay Agrawal)
  • doc: update to new ceph fs commands (pr#13346, Patrick Donnelly)
  • doc: v12.0.0 release notes (pr#13281, Abhishek Lekshmanan)
  • do_freebsd.sh: Remove ENODATA requirement (pr#13626, Willem Jan Withagen)
  • fix upgrate from hammer when zone doesn’t have zoneparams (issue#19231, pr#13900, Orit Wasserman)
  • include/denc, kv: silence gcc warnings (pr#13458, Kefu Chai)
  • include/mempool.h: fix Clangs complaint about types (pr#13523, Willem Jan Withagen)
  • init-ceph: fix ceph user args (pr#13467, Sage Weil)
  • init-ceph: Make init-ceph work under FreeBSD for init-system (pr#13209, Willem Jan Withagen)
  • init-ceph: print trailing n in “status” output (pr#13351, Kefu Chai)
  • librados: add override for librados (issue#18922, pr#13442, liuchang0812)
  • librados: add override in headers (pr#13775, liuchang0812)
  • librados: do not expose non-public symbols (pr#13265, Kefu Chai)
  • librados, osd: clang fixes (pr#13768, Kefu Chai)
  • librados: remove legacy object listing API, clean up newer api (pr#13149, Sage Weil)
  • librados: replace the var name from onack to complete (pr#13857, Pan Liu)
  • librados: use cursor for nobjects listing (pr#13323, Yehuda Sadeh, Sage Weil)
  • librbd: add override keyword in header files (issue#19012, pr#13536, liuchang0812)
  • librbd: add SnapshotNamespace to ImageCtx (pr#12970, Victor Denisov)
  • librbd: add writesame API (pr#12645, Mingxin Liu, Gui Hecheng)
  • librbd: asynchronous clone state machine (pr#12041, Dongsheng Yang)
  • librbd: asynchronous image removal state machine (pr#12102, Dongsheng Yang, Venky Shankar)
  • librbd: eliminate compiler warnings (pr#13729, Jason Dillaman)
  • librbd: fix clang compilation error (issue#19260, pr#13926, Mykola Golub)
  • librbd: fix segfault on EOPNOTSUPP returned while fetching snapshot timestamp (issue#18839, pr#13287, Gui Hecheng)
  • librbd: fix valid coverity warnings (pr#14023, Jason Dillaman)
  • librbd: image create validates that pool supports overwrites (issue#19081, pr#13986, Jason Dillaman)
  • librbd: image-extent cache needs to clip out-of-bounds read buffers (pr#13679, Jason Dillaman)
  • librbd: Include WorkQueue.h since we use it (issue#18862, pr#13322, Boris Ranto)
  • librbd: rbd ack cleanup (pr#13791, runsisi)
  • librbd: relax “is parent mirrored” check when enabling mirroring for pool (issue#19130, pr#13752, Mykola Golub)
  • librbd: scatter/gather support for the C API (issue#13025, pr#13447, Jason Dillaman)
  • librbd: simplify image open/close semantics (pr#13701, Jason Dillaman)
  • librbd: use ‘override’ keyword instead of ‘virtual’ (issue#18922, pr#13437, liuchang0812)
  • mailmap: fix Zhao Chao affiliation. (pr#13413, Zhao Chao)
  • mailmap: Liu Yang affiliation (pr#13427, LiuYang)
  • mailmap updates (pr#13309, Loic Dachary)
  • mailmap: Willem Jan Withagen affiliation (pr#13034, Willem Jan Withagen)
  • make-srpm: Pass first parameter to make-dist for building SRPM (pr#13480, Wido den Hollander)
  • man/8/ceph-disk: fix formatting (pr#13969, Kefu Chai)
  • mds: #11950: Persistent purge queue (issue#11950, pr#12786, John Spray)
  • mds: #18600: Clear out tasks that don’t make sense from multimds suite (issue#18600, pr#13089, John Spray)
  • mds: Add multimds:thrash sub-suite and fix bugs in thrasher for multimds (issue#18690, issue#10792, pr#13262, Patrick Donnelly)
  • mds: add override in headers (pr#13691, liuchang0812)
  • mds: add override in mds subsystem (issue#18922, pr#13438, liuchang0812)
  • mds: automate MDS object count tracking (pr#13591, Patrick Donnelly)
  • mds: extend ‘p’ auth cap to cover all vxattr stuff (issue#19075, pr#13628, John Spray)
  • mds: fix handling very fast delete ops (issue#19245, pr#13899, John Spray)
  • mds: fix IO error handling in SessionMap (pr#13464, John Spray)
  • mds: ignore fs full check for CEPH_MDS_OP_SETFILELOCK (issue#18953, pr#13455, “Yan, Zheng”)
  • mds/MDLog.cc Fix perf counter type for jlat (pr#13449, Xiaoxi Chen)
  • mds: misc multimds fixes (issue#18717, issue#18754, pr#13227, “Yan, Zheng”)
  • mds: print rank as int (issue#19201, pr#13816, Patrick Donnelly)
  • mds: remove some redundant object counters (pr#13704, Patrick Donnelly)
  • mds: replace C_VoidFn in MDSDaemon with lambdas (pr#13465, John Spray)
  • mds/StrayManager: avoid reusing deleted inode in StrayManager::_purge_stray_logged (issue#18877, pr#13347, Zhi Zhang)
  • mds: try to avoid false positive heartbeat timeouts (issue#19118, pr#13807, John Spray)
  • messages/MOSDOp: fix pg_t decoding for version <7 decoding (issue#19005, pr#13537, Sage Weil)
  • mgr: add a get_version to the python interface (pr#13669, John Spray)
  • mgr: add override in headers (pr#13772, liuchang0812)
  • mgr: add override in mgr subsystem (issue#18922, pr#13436, liuchang0812)
  • mgr/MgrClient: use unique_ptr for MgrClient::session (issue#19097, pr#13685, Kefu Chai)
  • mgr: use unique_ptr for MgrStandby::active_mgr (pr#13667, John Spray)
  • misc: SCA and Coverity Fixes (pr#13208, Danny Al-Gaaf)
  • mon: add override in headers (pr#13693, liuchang0812)
  • mon: add override in mon subsystem (issue#18922, pr#13440, liuchang0812)
  • mon: add warn info for osds were removed from osdmap but still kept in crushmap (pr#12273, song baisen)
  • mon: avoid start election twice when quorum enter (pr#10150, song baisen)
  • mon: crush straw_calc_version value is 0 or 1 not 0 to 2. (pr#13554, song baisen)
  • mon: detect existing fs and duplicate name earlier (issue#18964, pr#13471, Patrick Donnelly)
  • mon: drop useless assignment statements (pr#13958, wangzhengyong)
  • mon: enable luminous monmap feature on full quorum (pr#13379, Joao Eduardo Luis)
  • mon: fix force_pg_create pg stuck in creating bug (issue#18298, pr#12539, Sage Weil)
  • mon: in output of “ceph osd df tree”, display “-”, not “0”, for pg amount of a bucket (pr#13015, Chuanhong Hong)
  • mon/MDSMonitor: remove create_new_fs from header (pr#14019, Henrik Korkuc)
  • mon/MonClient: discard stray messages from non-acitve conns (issue#19015, pr#13656, Kefu Chai)
  • mon/MonClient: don’t return zero global_id (issue#19134, pr#13853, “Yan, Zheng”, Kefu Chai)
  • mon/MonClient: hunt monitors in parallel (issue#16091, pr#11128, Steven Dieffenbach, Kefu Chai)
  • mon/MonClient: persist global_id across re-connecting (issue#18968, pr#13550, Kefu Chai)
  • mon/MonClient: random all ranks then pick first_n (pr#13479, Mingxin Liu)
  • mon,osd: luminous feature bits, require flags, upgrade gates (pr#13278, Sage Weil)
  • mon: OSDMonitor add check only concern our self cluster command (pr#10309, song baisen)
  • mon/OSDMonitor: fix dividing by zero in OSDUtilizationDumper (pr#13531, Mingxin Liu)
  • mon/OSDMonitor: make mapping job behave if mon_osd_prime_pg_temp = false (issue#19020, pr#13574, Sage Weil)
  • mon/OSDMonitor: remove trivial PGMap dependency for ‘osd primary-temp’ command (pr#13616, Sage Weil)
  • mon/OSDMonitor: some cleanup for reweight-by-pg (pr#13462, Haodong Tang)
  • mon,osd: new mechanism for managing full and nearfull OSDs for luminous (pr#13615, Sage Weil)
  • mon/PGMap: factor mon_osd_full_ratio into MAX AVAIL calc (issue#18522, pr#12923, Sage Weil)
  • mon: PGMonitor add check only concern our self cluster command (pr#9976, song baisen)
  • mon/PGMonitor: rm nonused function (pr#14033, Wei Jin)
  • mon: refactor MDSMonitor command handling (pr#13581, John Spray)
  • mon: remove the redudant jugement in paxosservice is_writeable function (pr#10240, song baisen)
  • mon: remove unnecessary function declaration (pr#13762, liuchang0812)
  • mon: restructure prime_pg_temp around a full pg mapping calculated on multiple CPUs (pr#13207, Sage Weil)
  • mon: smooth io/recovery stats over longer period (pr#13249, Sage Weil)
  • mon: Update OSDMon.cc comments (pr#13750, Saumay Agrawal)
  • msg/async: avoid lossy connection sending ack message (pr#13700, Haomai Wang)
  • msg/async: cleanup code. (pr#13304, Jianpeng Ma)
  • msg/async: fix crash that writing char to nonblock-fd gets EAGAIN in EventCenter::wakeup (pr#13822, liuchang0812)
  • msg/AsyncMessenger: remove unused method (pr#10125, Michal Jarzabek)
  • msg/async/rdma: add log to show correct destruct queuepair (pr#13412, Haomai Wang)
  • msg/async/rdma: add perf counters to RDMA backend (pr#13484, Haomai Wang)
  • msg/async/rdma: check if exp verbs avail (pr#13391, Oren Duer, Adir Lev)
  • msg/async/rdma: check ulimit (pr#13655, Sarit Zubakov, Adir Lev)
  • msg/async/rdma: cleanup (pr#13509, Haomai Wang)
  • msg/async/rdma: compile with rdma as default (pr#13901, DanielBar-On)
  • msg/async/rdma: destroy QueuePair if needed (pr#13810, Haomai Wang)
  • msg/async/rdma: don’t need to delete event when tcp connection isn’t … (pr#13528, Haomai Wang)
  • msg/async/rdma: Fix broken compilation (pr#13603, Sarit Zubakov)
  • msg/async/rdma: fix outstanding queuepair when destruct RDMAStack (pr#13905, Haomai Wang)
  • msg/async/rdma: fix potential racing connection usage (pr#13738, Haomai Wang)
  • msg/async/rdma: Introduce Device.{cc,h} (pr#14001, Amir Vadai)
  • msg/async/rdma: make Infiniband can be forkable (pr#13525, Haomai Wang)
  • msg/async/rdma: move active_queue_pairs perf counter dec to polling (pr#13716, DanielBar-On)
  • msg/async/rdma: Print error only on ENOMEM (pr#13538, Sarit Zubakov)
  • msg/async/rdma: refactor tx handle flow to get rid of locks (pr#13680, Haomai Wang)
  • msg/async/rdma: rename chunk_size to buffer_size (pr#13666, Adir Lev)
  • msg/async/rdma: update destructor message (pr#13539, Sarit Zubakov)
  • msg/async/rdma: zero wqe inline (pr#13392, Adir Lev)
  • msg/async/rdm: fix leak when existing failure in ip network (pr#13435, Haomai Wang)
  • msg/async: remove useless close function (pr#13286, liuchang0812)
  • msg/async: set thread name for msgr worker (pr#13699, Haomai Wang)
  • msg/async/Stack.cc: use of pthread_setname_np() needs compat.h (pr#13825, Willem Jan Withagen)
  • msg/async: support IPv6 QoS. (issue#18887, issue#18928, pr#13418, Robin H. Johnson)
  • msg: end parameter in entity_addr_t::parse is optional (pr#13650, Mykola Golub)
  • msg: Fix calls to Messenger::create with new parameter (pr#13329, Sarit Zubakov)
  • msg, messages: coverity fixes (pr#13473, Kefu Chai)
  • msg: no need to pass supported features to Messenger::Policy ctor (pr#13785, Sage Weil)
  • msg/simple: fix missing unlock when already bind (pr#13267, Haomai Wang)
  • msg/simple/Pipe: support IPv6 QoS. (issue#18887, pr#13370, Robin H. Johnson)
  • msg/simple/Pipe:the returned value for do_recv unequal to zero (pr#10272, zhang.zezhu)
  • os/aio: remove the redundant memset(struct iocb) (pr#13662, Jianpeng Ma)
  • os/blestore/NVMEDevice: fix the I/O logic for read (pr#13971, optimistyzy)
  • os/bluestore: add bluestore_prefer_wal_size option (pr#13217, Sage Weil)
  • os/bluestore: add flush_store_cache cmd (pr#13428, xie xingguo)
  • os/bluestore: add more perf_counters to BlueStore (pr#13274, Igor Fedotov)
  • os/bluestore: add new garbage collector (pr#12144, Igor Fedotov)
  • os/bluestore: add “_” prefix for internal methods (pr#13409, xie xingguo)
  • os/bluestore/Allocator: drop unused return value in release function (pr#13913, wangzhengyong)
  • os/bluestore/BitAllocator: fix bug of checking required blocks (pr#13470, wangzhengyong)
  • os/bluestore/BitMapAllocator: rm unused variable (pr#13599, Jie Wang)
  • os/bluestore/BlueStore.cc:remove unuse code in _open_bdev() (pr#13553, yonghengdexin735)
  • os/bluestore: cleanup, got rid of table reference of 1<<x (pr#13718, Adam Kupczyk)
  • os/bluestore: default 16KB min_alloc_size on ssd (pr#14076, Sage Weil)
  • os/bluestore: do not use nullptr to calc the size of bluestore_pextent_t (pr#14030, Kefu Chai)
  • os/bluestore: enable SSE-assisted CRC32 calculations in RocksDB (pr#13741, Radoslaw Zarzynski)
  • os/bluestore: fix a bug in small write handling on sharded extents (pr#13728, Igor Fedotov)
  • os/bluestore: fix bug in aio_read() (pr#13511, tangwenjun)
  • os/bluestore: fix bug in _open_super_meta() (pr#13559, Taeksang Kim)
  • os/bluestore: fix bugs in bluefs and bdev flush (issue#19250, issue#19251, pr#13911, Sage Weil)
  • os/bluestore: fix coredump in register_ctrlr() (pr#13556, tangwenjun)
  • os/bluestore: fix deferred writes; improve flush (pr#13888, Sage Weil)
  • os/bluestore: fix wal-queue bytes-counter to keep pace with others (pr#13382, xie xingguo)
  • os/bluestore: leverage the type knowledge in BitMapAreaLeaf. (pr#13736, Radoslaw Zarzynski)
  • os/bluestore: “noid” is not always necessary in clone op (pr#13769, wangzhengyong)
  • os/bluestore: partial reshard support (pr#13162, Sage Weil)
  • os/bluestore: remove CephContext* from BmapEntry. (pr#13651, Radoslaw Zarzynski)
  • os/bluestore: remove unneeded indirection in BitMapZone. (pr#13743, Radoslaw Zarzynski)
  • os/bluestore: remove unused local variable “pos” (pr#13715, wangzhengyong)
  • os/bluestore rm unused variable in aio_read() (pr#13530, tangwenjun)
  • os/bluestore: silence gcc warning (pr#14028, Kefu Chai)
  • os/bluestore: some cleanup (pr#13390, liuchang0812)
  • os/bluestore,test/ceph_test_objectstore: silence gcc warnings (pr#13924, Kefu Chai)
  • os/bluestore: the exhausted check in BitMapZone can be lock-less. (pr#13653, Radoslaw Zarzynski)
  • osd: adding PerfCounters for backoff throttle (pr#13017, Chuanhong Wang)
  • osd: add is_split check before _start_split (pr#13307, song baisen)
  • osd: add override in osd subsystem (issue#18922, pr#13439, liuchang0812)
  • osd: add snap trim reservation and re-implement osd_snap_trim_sleep (pr#13594, Samuel Just)
  • osdc: clean up osd_command/start_mon_command interfaces (pr#13727, John Spray)
  • osdc: fix osdc_osd_seesion perf counter. (pr#13478, Xiaoxi Chen)
  • osd: change a few messages at level 0 and 1; change default level to 1/5 (pr#13407, Sage Weil)
  • osd: clarify REQUIRE_LUMINOUS error message (pr#13363, Josh Durgin)
  • osdc/Objecter: fix bugs in explicit naming of op spg_t (pr#13534, Sage Weil)
  • osdc/Objecter: fix possible OSDSession leak on wrong connection (pr#13365, xie xingguo)
  • osdc/Objecter: resend RWORDERED ops on full (issue#19133, pr#13759, Sage Weil)
  • osd: constify OpRequest::get_req(); fix a few cases of operator<< vs mutated message races (pr#13545, Sage Weil)
  • osd: correct epoch setting of osd boot msg (pr#12623, Mingxin Liu)
  • osd: correct the func name in execute_ctx() log messages (pr#13582, Gu Zhongyan)
  • osd: debug con in ms_handle_connect (pr#13540, Sage Weil)
  • osd/: don’t leak context for Blessed*Context or RecoveryQueueAsync (issue#18809, pr#13342, Samuel Just)
  • osd: don’t share osdmap with objecter when preboot (issue#15025, pr#13946, Mingxin Liu)
  • osd: don’t use ORDERSNAP for flush; always request/send ondisk ack (issue#18961, pr#13570, Samuel Just)
  • OSD: drop parameter t from merge_log() (pr#13923, xie xingguo)
  • osd: drop support for listing objects at a given snap (pr#13398, Sage Weil)
  • osd/ECBackend: drop duplicated pending_commit field from << operator (pr#13665, xie xingguo)
  • osd: fall back to failsafe threshold if osdmap doesn’t set [near]full (pr#14004, Sage Weil)
  • osd: faster dispatch (pr#13343, Sage Weil)
  • osd: fix a signed/unsigned warning in PG (pr#13922, Greg Farnum)
  • osd: fix func name in log produced by handle_pg_peering_evt() (pr#13801, xie xingguo)
  • osd: fix stat sum update of recovery pushing (pr#13328, Zhiqiang Wang)
  • osd: fix the setting of soid in sub_op_push (pr#13353, Zhiqiang Wang)
  • osd: have clients resend ops on pg split (pr#13235, Sage Weil)
  • osd: kill sortbitwise (pr#13321, Sage Weil)
  • osd,osdc: pg and osd-based backoff (pr#12342, Sage Weil)
  • osd: osd discussion docs (pr#13344, Greg Farnum)
  • osd/osd_internal_types: wake snaptrimmer on put_read lock, too (issue#19131, pr#13755, Sage Weil)
  • osd/OSDMap: don’t set weight to IN when OSD is destroyed (issue#19119, pr#13730, Ilya Dryomov)
  • osd/PG: conditionally retry on receiving pg-notify when Primary is Incomplete (pr#13942, xie xingguo)
  • osd/PGLog: fix index for parent and child log on split (issue#18975, pr#13493, Sage Weil)
  • osd/PG: restrict want_acting to up+acting on recovery completion (issue#18929, pr#13420, Sage Weil)
  • osd/Pool: Disallow enabling ‘hashpspool’ option to a pool without ‘–yes-i-really-mean-it’ (issue#18468, pr#13406, Vikhyat Umrao)
  • osd/PrimaryLogPG: remove duplicated code. (pr#13894, Jianpeng Ma)
  • osd: remove copy-get-classic (pr#13547, Sage Weil)
  • osd: remove sortbitwise thrashing (pr#13296, Sage Weil)
  • osd: replace object_info_t::operator=() with decode() (pr#13938, tang.jin)
  • osd: small clear up and optimize on _recover_now and should_share_map function (pr#13476, song baisen)
  • osd: the osd should not share map with others when it is in stopping state (pr#13668, song baisen)
  • osd: various changes for preventing internal ENOSPC condition (issue#16878, pr#13425, David Zafman)
  • osd: we know the definite epoch of marking down (pr#13121, Mingxin Liu)
  • os/filestore: avoid unnecessary copy in filestore::_do_transaction (pr#12578, Yunchuan Wen)
  • os/filestore: debug which omap keys are set (issue#19067, pr#13671, Sage Weil)
  • os/filestore/FileJournal: bufferlist rebuild (pr#13980, Jianpeng Ma)
  • os/filestore/FileStore.cc: remove unneeded loop (pr#12177, Li Wang)
  • os/filestore/HashIndex: be loud about splits (issue#18235, pr#12421, Dan van der Ster)
  • os/filestore: use existing variable for same func. (pr#13742, Pan Liu)
  • os/FuseStore: include <functional> header in src/os/FuseStore.h for gcc 7.x (pr#13454, Jos Collin)
  • PendingReleaseNotes: note the fuse fstab format change (pr#13259, John Spray)
  • pybind/ceph_daemon: use small chunk for recv (pr#13804, Xiaoxi Chen)
  • pybind: cephfs should be built without librados / python-rados (pr#13431, Kefu Chai)
  • pybind: fix docstring for librbd Python binding (pr#13977, runsisi)
  • qa: add supported distros for ceph-ansible (pr#13711, Tamil Muthamizhan)
  • qa: add workunit to test krbd data-pool support (pr#13482, Ilya Dryomov)
  • qa: fix race in Mount.open_background (issue#18661, pr#13137, John Spray)
  • qa: handle SSHException in logrotate (pr#13359, John Spray)
  • qa/rados/upgrade/jewel-x-singleton: run luminous.yaml at the end (pr#13378, Sage Weil)
  • qa/suites/{ceph-ansible,rest}: OpenStack volumes (pr#13672, Zack Cerza)
  • qa/suites/ceph-deploy: Drop OpenStack volume count (pr#13706, Zack Cerza)
  • qa/suites: fix upgrade tests vs cluster full thrashing (pr#13852, Sage Weil)
  • qa/suites/fs: Add openstack volume configuration (pr#13640, Zack Cerza)
  • qa/suites/kcephfs: Openstack volume configuration (pr#13634, Zack Cerza)
  • qa/suites/{knfs,hadoop,samba}: OpenStack volume configuration (pr#13637, Zack Cerza)
  • qa/suites/krbd: Add openstack volume configuration (pr#13631, Zack Cerza)
  • qa/suites/rados/objectstore: enable experimental features for testing bluestore (pr#13456, Kefu Chai, Dan Mick)
  • qa/suites/rgw: Add openstack volume configuration (pr#13611, Zack Cerza)
  • qa/suites/rgw/thrash: add osd thrashing tests (pr#13445, Sage Weil)
  • qa/suites/upgrade: add tiering test to hammer-jewel-x (issue#19185, pr#13805, Kefu Chai)
  • qa/suites/upgrade/kraken-x: do not thrash cluster full during upgrade (issue#19232, pr#13892, Dan Mick)
  • qa/suites/upgrade/kraken-x (pr#13517, Sage Weil, Yuri Weinstein)
  • qa/suite/upgrade/jewel-x: various fixes (pr#13734, Sage Weil)
  • qa/tasks/ceph.py: debug which pgs aren’t scrubbing (pr#13649, Sage Weil)
  • qa/tasks: force umount during kclient teardown (issue#18663, pr#13099, John Spray)
  • qa/tasks/rgw.py: start Apache before RadosGW. (pr#13846, Radoslaw Zarzynski)
  • qa/tasks/workunit: use ceph.git as an alternative of ceph-ci.git for cloning workunit (pr#13663, Kefu Chai)
  • qa/tasks/workunit: use the suite repo for cloning workunit (pr#13452, Kefu Chai)
  • qa/tasks/workunit: use the suite repo for cloning workunit (pr#13625, Kefu Chai)
  • qa/workunits/rados/test.sh: print test name when it fails (pr#13264, Kefu Chai)
  • qa/workunits/rbd: resolve potential rbd-mirror race conditions (issue#18935, pr#13421, Jason Dillaman)
  • qa/workunits/rbd: tweak rbd-mirror config to spead up testing (pr#13228, Mykola Golub)
  • rados: allow “rados purge” to delete objects when osd is full (pr#13814, Pan Liu)
  • rados: we need to get the latest osdmap when pool does not exists (pr#13289, song baisen)
  • rbd: demote/promote all mirrored images in a pool (issue#18748, pr#13758, Jason Dillaman)
  • rbd: fix typo in Kernel.cc (issue#19273, pr#13983, Gaurav Kumar Garg)
  • rbd: introduce v2 format for rbd export/import (issue#13186, pr#10487, Dongsheng Yang)
  • rbdmap: consider /etc/ceph/rbdmap when unmapping images (issue#18884, pr#13361, David Disseldorp)
  • rbd-mirror A/A: leader should track up/down rbd-mirror instances (issue#18784, pr#13571, Mykola Golub)
  • rbd-mirror: deleting a snapshot during sync can result in read errors (issue#18990, pr#13568, Jason Dillaman)
  • rbd-mirror: InstanceWatcher watch/notify stub for leader/follower RPC (issue#18783, pr#13312, Mykola Golub)
  • rbd-mirror: replace remote pool polling with add/remove notifications (issue#15029, pr#12364, Jason Dillaman)
  • rbd-mirror: track images via global image id (pr#13416, Jason Dillaman)
  • rbd-nbd: check /sys/block/nbdX/size to ensure kernel mapped correctly (issue#18335, pr#13229, Mykola Golub)
  • rbd-nbd: create admin socket only for map command (issue#17951, pr#12433, Pan Liu)
  • rbd-nbd: don’t ignore –read-only option in BLKROSET ioctl (pr#13944, Pan Liu)
  • rbd-nbd: fix a typo “moudle” (pr#13652, Pan Liu)
  • rbd-nbd: fix typo in comment (pr#14034, Pan Liu)
  • rbd-nbd: no need to check image format any more (pr#13389, Mykola Golub)
  • rbd-nbd: update size only when NBD_SET_SIZE successful (pr#14005, Pan Liu)
  • rbd-nbd: warn when kernel parameters are ignored (issue#19108, pr#13694, Pan Liu)
  • rbd: prevent adding multiple mirror peers to a single pool (issue#19256, pr#13919, Jason Dillaman)
  • rbd: spell out image features unsupported by the kernel (issue#19095, pr#13812, Ilya Dryomov)
  • rbd: use concurrent writes for imports (issue#19034, pr#13782, Venky Shankar)
  • rbd: When Ceph cluster becomes full, should allow user to remove rbd … (pr#12627, Pan Liu)
  • ReplicatedBackend: don’t queue Context outside of ObjectStore with obc (issue#18927, pr#13569, Samuel Just)
  • Revert “dummy: reduce run time, run user.yaml playbook” (issue#18259, pr#12506, Nathan Cutler)
  • Revert “qa/tasks/workunit: use the suite repo for cloning workunit” (pr#13495, Sage Weil)
  • Reviewed by: Yan, Zheng <zyan@redhat.com> (issue#18830, pr#13272, John Spray)
  • rgw: AbortMultipart request returns NoSuchUpload error if the meta obj doesn’t exist (pr#12793, Zhang Shaowen)
  • rgw: add apis to support ragweed (pr#13645, Yehuda Sadeh)
  • rgw: add override in header files mostly (pr#13586, liuchang0812)
  • rgw: add override in rgw subsystem (issue#18922, pr#13441, liuchang0812)
  • rgw: add radosclient finisher to perf counter (issue#19011, pr#13535, lvshuhua)
  • rgw: add support for noncurrentversion expiration in s3 lifecycle. (issue#18916, pr#13385, Zhang Shaowen)
  • rgw-admin: remove deprecated regionmap commands (issue#18725, pr#13963, Casey Bodley)
  • rgw: change default chunk size to 4MB (issue#18621, issue#18622, issue#18623, pr#13035, Yehuda Sadeh)
  • rgw: change loglevel to 20 for ‘System already converted’ message (issue#18919, pr#13399, Vikhyat Umrao)
  • rgw: change loglevel to 5 in user’s quota sync. (issue#18921, pr#13408, Zhang Shaowen)
  • rgw: clean redundant code (pr#13302, Yankun Li)
  • rgw: cleanup lifecycle managament (pr#13820, Jiaying Ren)
  • rgw: clean up the redundant assignment in last_entry_in_listing (pr#13387, Jing Wenjun)
  • rgw: cleanup unused var in rgw/rgw_rest_s3.cc (pr#13434, Jiaying Ren)
  • rgw: clear old zone short ids on period update (issue#15618, pr#13949, Casey Bodley)
  • rgw: correct the debug info when unlink instance failed. (pr#13761, Zhang Shaowen)
  • rgw: Correct the return codes for the health check feature (issue#19025, pr#13557, Pavan Rallabhandi)
  • rgw: data sync includes instance in rgw_obj_index_key (pr#13948, Casey Bodley)
  • rgw: don’t init rgw_obj from rgw_obj_key when it’s incorrect to do so (issue#19096, pr#13676, Yehuda Sadeh)
  • rgw: don’t log the env_map twice (pr#13481, Abhishek Lekshmanan)
  • rgw: don’t return skew time error in pre-signed url (issue#18828, pr#13354, liuchang0812)
  • rgw: error_code in error log is not right when data sync fails. (issue#18437, pr#12810, Zhang Shaowen)
  • rgw_file: avoid stranding invalid-name bucket handles in fhcache (issue#19036, pr#13590, Matt Benjamin)
  • rgw_file: ensure valid_s3_object_name for directories, too (issue#19066, pr#13614, Matt Benjamin)
  • rgw_file: fix double unref on rgw_fh for rename (pr#13988, Gui Hecheng)
  • rgw_file: fix fs_inst progression (issue#19214, pr#13832, Matt Benjamin)
  • rgw_file: fix non-negative return code for open operation (pr#14045, Gui Hecheng)
  • rgw_file: fix reversed return value of getattr (pr#13895, Gui Hecheng)
  • rgw_file: implement reliable has-children check (unlink dir) (issue#19270, pr#13953, Matt Benjamin)
  • rgw_file: posix style atime,ctime,mtime (pr#13765, Gui Hecheng)
  • rgw_file: RGWFileHandle dtor must also cond-unlink from FHCache (issue#19112, pr#13712, Matt Benjamin)
  • rgw: fix break inside of yield in RGWFetchAllMetaCR (issue#17655, pr#11586, Casey Bodley)
  • rgw: fix disabling Swift’s object versioning through empty X-Versions-Location (issue#18852, pr#13303, Jing Wenjun)
  • rgw: fix error code of inexistence of versions location in swift api (issue#18880, pr#13350, Jing Wenjun)
  • rgw:Fixes typo in rgw_admin.cc (issue#19026, pr#13576, Ronak Jain)
  • rgw: fix for broken yields in RGWMetaSyncShardCR (issue#18076, pr#12223, Casey Bodley)
  • rgw: fix init_bucket_for_sync retcode (pr#13684, Shasha Lu)
  • rgw: fix transition from full to incremental meta sync (pr#13920, Casey Bodley)
  • rgw: fix typo in comment (pr#13578, liuchang0812)
  • rgw: get torrent request’s parameter is not the same as amazon s3. (issue#19136, pr#13760, Zhang Shaowen)
  • rgw: handle error return value in build_linked_oids_index (pr#13955, wangzhengyong)
  • rgw: http_client clarify the debug msg function call (pr#13688, Abhishek Lekshmanan)
  • rgw: if user.email is empty, dont try to delete (issue#18980, pr#13783, Casey Bodley)
  • rgw: improve handling of illformed Swift’s container ACLs. (issue#18796, pr#13248, Radoslaw Zarzynski)
  • rgw: Let the object stat command be shown in the usage (issue#19013, pr#13291, Pavan Rallabhandi)
  • rgw: librgw refcnt (pr#13405, Matt Benjamin)
  • rgw: make sending Content-Length in 204 and 304 responses controllable (issue#16602, pr#10156, Radoslaw Zarzynski)
  • rgw: make sync thread name clear (issue#18860, pr#13324, lvshuhua)
  • rgw: print is_admin as int instead of __u8 (pr#12264, Casey Bodley)
  • rgw: put object’s acl can’t work well on the latest object (issue#18649, pr#13078, Zhang Shaowen)
  • rgw: remove redundant codes in rgw_cache.h (pr#13902, lihongjie)
  • rgw: remove useless –tier_type in radosgw-admin. (pr#13856, Zhang Shaowen)
  • rgw: rest_admin/user avoid double checking input args (pr#13460, Abhishek Lekshmanan)
  • rgw/rgw_main.cc: fix parenteses and function result (pr#12295, Willem Jan Withagen)
  • rgw: set dumpable flag after setuid post ff0e521 (issue#19089, pr#13657, Brad Hubbard)
  • rgw: set FCGI_INCLUDE_DIR for cephd_rgw_base (issue#18918, pr#13393, David Disseldorp)
  • rgw structures rework (issue#17996, issue#19249, pr#11485, Yehuda Sadeh)
  • rgw: use rgw_zone_root_pool for region_map like is done in hammer (issue#19195, pr#13928, Orit Wasserman)
  • rgw: use separate http_manager for read_sync_status (issue#19236, pr#13660, Shasha Lu)
  • rgw: wip dir orphan (issue#18992, issue#18989, issue#19018, issue#18991, pr#13529, Matt Benjamin)
  • rgw: wip parentref (issue#19060, issue#19059, pr#13607, Matt Benjamin)
  • rocksdb: sync with upstream (issue#18464, pr#13306, Kefu Chai)
  • rpm: build ceph-resource-agents by default (issue#17613, pr#13515, Nathan Cutler)
  • rpm: disable dwz to speed up valgrind (issue#19099, pr#13748, Kefu Chai)
  • rpm: drop boost build dependencies (pr#13519, Nathan Cutler)
  • script/find_dups_in_pg_log: scrip to find dup requests due to short pg logs (pr#13417, Sage Weil)
  • script/sepia_bt.sh: get sha1,release from t.log if it’s not in core (pr#13620, Kefu Chai)
  • script/sepia_bt.sh: no need to pass version and sha1 anymore (pr#13380, Kefu Chai)
  • script/sepia_bt.sh: support xenial (pr#13292, Kefu Chai)
  • selinux: Allow ceph daemons to read net stats (issue#19254, pr#13945, Boris Ranto)
  • Signed-off-by: Kefu Chai <kchai@redhat.com> (pr#14006, shiqi)
  • systemd: Start OSDs after MONs (issue#18516, pr#13097, Boris Ranto)
  • tasks/cephfs: tear down on mount() failure (pr#13282, John Spray)
  • test: add override in test submodule (pr#13773, liuchang0812)
  • test/ceph-test-objectstore: Don’t always include BlueStore code (pr#13516, Willem Jan Withagen)
  • tested by-had, using fault injection (issue#19019, pr#13546, Casey Bodley)
  • test/encoding: fix readable.sh bugs; fix ceph-object-corpus (pr#13678, Sage Weil)
  • test: Fix mismatched sign comparison in histogram test (pr#13362, Adam C. Emerson)
  • test: fix rbd unit test cases w/ striping feature (issue#18888, pr#13196, Venky Shankar)
  • test: fix test_pidfile (pr#13646, yaoning)
  • test/libcephfs: avoid buffer overflow when testing ceph_getdents() (issue#18941, pr#13429, “Yan, Zheng”)
  • test/librbd/CMakeLists.txt: ceph_test_librbd_fsx requires linux includes/libs (pr#13630, Willem Jan Withagen)
  • test/librbd: move tests using non-public api to internal (pr#13806, Venky Shankar)
  • test: Need to exclude the fsx executable also on FreeBSD (pr#13686, Willem Jan Withagen)
  • test/rgw: add bucket acl and versioning tests to test_multi.py (pr#12449, Casey Bodley)
  • tests: ceph_test_rados_api_watch_notify: test timeout using rados_wat… (issue#19312, pr#14061, Kefu Chai)
  • tests: drop buildpackages.py (issue#18846, pr#13319, Nathan Cutler)
  • tests: drop obsolete Perl scripts (pr#13951, Nathan Cutler)
  • test: sed on FreeBSD requires “-i extension”, so use gsed (pr#13903, Willem Jan Withagen)
  • tests: fix regression in qa/tasks/ceph_master.py (issue#16263, pr#13279, Nathan Cutler, Kefu Chai)
  • tests: osd-scrub-repair.sh disable scrub backoff in test (pr#13334, Kefu Chai)
  • tests: re-enable cephfs python tests on kclient (issue#17193, issue#18161, pr#13200, Nathan Cutler)
  • test/store_test: add deferred test case setup to support explicit min… (issue#18857, pr#13415, Igor Fedotov)
  • tests: update SUSE yaml facets in qa/distros/all (issue#18856, pr#13313, Nathan Cutler)
  • test: support blacklisting within librados_test_stub (pr#13737, Jason Dillaman)
  • test: Thrasher: do not update pools_to_fix_pgp_num if nothing happens (pr#13518, Kefu Chai)
  • test: Thrasher: update pgp_num of all expanded pools if not yet (pr#13367, Kefu Chai)
  • test: unittest_hostname compile error on freebsd (pr#13739, liuchang0812)
  • tools: add override in tool submodule (pr#13776, liuchang0812)
  • tools/rados: Check return value of connect (issue#19319, pr#14057, Brad Hubbard)
  • tools/rados: remove useless function declaration (pr#12566, liuchang0812)
  • tools/scripts:”FreeBSD getopt is not compatible, use the one from packages” (pr#13260, Willem Jan Withagen)
  • tracing: don’t include oid when tracing at dequeue_op() (pr#13410, Yehuda Sadeh)
  • upstart: start radosgw-all according to runlevel (issue#18313, pr#12586, Ken Dreyer)
  • verified by hand f23 (issue#19111, pr#13703, Matt Benjamin)
  • vstart: add –help documentation for rgw_num (pr#13817, Ali Maredia)
  • vstart: clean up usage a bit (pr#13138, Sage Weil)
  • vstart: do not add host for mgr.* section if not $overwrite_conf (pr#13767, Kefu Chai)
  • vstart: don’t configure rgw_dns_name (pr#13411, Yehuda Sadeh)
  • vstart: don’t create cluster by default (pr#13891, Yehuda Sadeh)

v12.0.0 Luminous (dev)

This is the first development checkpoint release of Luminous series, the next long term release. We’re off to a good start to release Luminous in the spring of ‘17.

Major changes from Kraken

  • When assigning a network to the public network and not to the cluster network the network specification of the public network will be used for the cluster network as well. In older versions this would lead to cluster services being bound to 0.0.0.0:<port>, thus making the cluster service even more publicly available than the public services. When only specifying a cluster network it will still result in the public services binding to 0.0.0.0.
  • Some variants of the omap_get_keys and omap_get_vals librados functions have been deprecated in favor of omap_get_vals2 and omap_get_keys2. The new methods include an output argument indicating whether there are additional keys left to fetch. Previously this had to be inferred from the requested key count vs the number of keys returned, but this breaks with new OSD-side limits on the number of keys or bytes that can be returned by a single omap request. These limits were introduced by kraken but are effectively disabled by default (by setting a very large limit of 1 GB) because users of the newly deprecated interface cannot tell whether they should fetch more keys or not. In the case of the standalone calls in the C++ interface (IoCtx::get_omap_{keys,vals}), librados has been updated to loop on the client side to provide a correct result via multiple calls to the OSD. In the case of the methods used for building multi-operation transactions, however, client-side looping is not practical, and the methods have been deprecated. Note that use of either the IoCtx methods on older librados versions or the deprecated methods on any version of librados will lead to incomplete results if/when the new OSD limits are enabled.
  • In previous versions, if a client sent an op to the wrong OSD, the OSD would reply with ENXIO. The rationale here is that the client or OSD is clearly buggy and we want to surface the error as clearly as possible. We now only send the ENXIO reply if the osd_enxio_on_misdirected_op option is enabled (it’s off by default). This means that a VM using librbd that previously would have gotten an EIO and gone read-only will now see a blocked/hung IO instead.
  • When configuring ceph-fuse mounts in /etc/fstab, a new syntax is available that uses “ceph.<arg>=<val>” in the options column, instead of putting configuration in the device column. The old style syntax still works. See the documentation page “Mount CephFS in your file systems table” for details.

Notable Changes

  • bluestore: avoid unnecessary copy with coll_t (pr#12576, Yunchuan Wen)
  • bluestore: fixed compilation error when enable spdk (pr#12672, Pan Liu)
  • bluestore: os/bluestore: add a debug option to bypass block device writes for bl… (pr#12464, Igor Fedotov)
  • bluestore: os/bluestore: Add bluestore pextent vector to mempool (pr#12946, Igor Fedotvo, Igor Fedotov)
  • bluestore: os/bluestore: add perf variable for throttle info in bluestore (pr#12583, Pan Liu)
  • bluestore: os/bluestore: allow multiple SPDK BlueStore OSD instances (issue#16966, pr#12604, Orlando Moreno)
  • bluestore: os/bluestore/BitmapFreelistManager: readability improvements (pr#12719, xie xingguo)
  • bluestore: os/bluestore/BlueFS: fix reclaim_blocks (issue#18368, pr#12725, Sage Weil)
  • bluestore: os/bluestore: conditionally load crr option (pr#12877, xie xingguo)
  • bluestore: os/bluestore: fix Allocator::allocate() int truncation (issue#18595, pr#13010, Sage Weil)
  • bluestore: os/bluestore: fix min_alloc_size at mkfs time (pr#13192, Sage Weil)
  • bluestore: os/bluestore: fix NVMEDevice::open failure if serial number ends with a … (pr#12956, Hongtong Liu)
  • bluestore: os/bluestore: fix OnodeSizeTracking testing (pr#12684, xie xingguo)
  • bluestore: os/bluestore: fix potential assert in cache _trim method. (pr#13234, Igor Fedotov)
  • bluestore: os/bluestore: fix reclaim_blocks and clean up Allocator interface (issue#18573, pr#12963, Sage Weil)
  • bluestore: os/bluestore: include logical object offset in crc error (pr#13074, Sage Weil)
  • bluestore: os/bluestore/KernelDevice: fix debug message (pr#13135, Sage Weil)
  • bluestore: os/bluestore/KernelDevice: kill zeros (pr#12856, xie xingguo)
  • bluestore: os/bluestore: kill BufferSpace.empty() (pr#12871, xie xingguo)
  • bluestore: os/bluestore: kill orphan declaration of do_write_check_depth() (pr#12853, xie xingguo)
  • bluestore: os/bluestore: miscellaneous fixes to BitAllocator (pr#12696, xie xingguo)
  • bluestore: os/bluestore: nullptr in OmapIteratorImpl::valid (pr#12900, Xinze Chi)
  • bluestore: os/bluestore/NVMEDevice.cc: fix the random read issue. (pr#13055, optimistyzy)
  • bluestore: os/bluestore/NVMEdevice: fix the unrelease segs issue (pr#12862, optimistyzy)
  • bluestore: os/bluestore: preallocate object[extent_shard] key to avoid reallocate (pr#12644, xie xingguo)
  • bluestore: os/bluestore: put strings in mempool (pr#12651, Allen Samuels, Sage Weil)
  • bluestore: os/bluestore: refactor ExtentMap::update to avoid preceeding db updat… (pr#12394, Igor Fedotov)
  • bluestore: os/bluestore: remove a never read value (pr#12618, liuchang0812)
  • bluestore: os/bluestore: remove intermediate key var to avoid string copy (pr#12643, xie xingguo)
  • bluestore: os/bluestore: shrink buffer_map key into uint32_t (pr#12850, xie xingguo)
  • bluestore: os/bluestore: _txc_release_alloc when do wal cleaning (pr#12692, Xinze Chi)
  • bluestore: os: extend ObjectStore interface to dump store’s performance counters (pr#13203, Igor Fedotov)
  • bluestore: rocksdb: add option: writable_file_max_buffer_size = 0 (pr#12562, Jianpeng Ma)
  • build/ops: add sanity checks to run-make-check.sh (pr#12683, Nathan Cutler)
  • build/ops: build/cmake: provide asan, tsan, ubsan builds (pr#12615, Matt Benjamin)
  • build/ops: builds with dpdk v16.07 (pr#12707, Kefu Chai)
  • build/ops: ceph-detect-init: adding Arch Linux support (pr#12787, Jamin W. Collins)
  • build/ops,cleanup: auth: Let’s not use the deprecated cephx option (pr#12721, Dave Chen)
  • build/ops: CMakeLists.txt: boost_python.so requires libpython.*.so on FreeBSD (pr#12763, Willem Jan Withagen)
  • build/ops: common/module.c: do not use strerror_r the GNU way. (pr#12363, Willem Jan Withagen)
  • build/ops,core: ceph-disk: use correct user in check_journal_req (issue#18538, pr#12947, Samuel Matzek)
  • build/ops: mailmap: Update OVH contributors (pr#13063, Bartłomiej Święcki)
  • build/ops: packaging: install libceph-common.so* not libceph-common.so.* (issue#18692, pr#13148, Kefu Chai)
  • build/ops: Reviewd-by: Loic Dachary <ldachary@redhat.com> (issue#18635, pr#13057, Wido den Hollander)
  • build/ops,rgw: rgw_file: radosgw-admin can be built under FreeBSD (pr#12191, Willem Jan Withagen)
  • build/ops: rocksdb: build with ppc64 (pr#12908, Kefu Chai)
  • build/ops: script: adding contributor credits script (pr#13251, Patrick McGarry)
  • build/ops: script/sepia_bt.sh: download packages from shaman not gitbuilder (pr#12799, Kefu Chai)
  • build/ops: spdk: upgrade spdk to v16.12 (pr#12734, Pan Liu)
  • build/ops: src/CMakeLists.txt: disable -Werror on rocksdb (pr#12560, Willem Jan Withagen)
  • build/ops: src/CMakeLists.txt: Move parse_secret_objs setting within definition block (pr#12785, Willem Jan Withagen)
  • build/ops: test/fio_ceph_objectstore: fix fio plugin build failure caused by rec… (pr#12655, Igor Fedotov)
  • build/ops: tool: add some ceph relate processes to ps-ceph.pl (pr#12406, songbaisen)
  • build/ops: tracing: Fix error in including all files in osd_tp (pr#12501, Ganesh Mahalingam)
  • cephfs: ceph_fuse: pid_file default to empty (issue#18309, pr#12628, Nathan Cutler)
  • cephfs,cleanup: client: fix potential buffer overflow (pr#12515, Yunchuan Wen)
  • cephfs,cleanup: client: simplify remove_cap interface (pr#12161, John Spray)
  • cephfs,cleanup: libcephfs: cleanups (pr#12830, huanwen ren)
  • cephfs,cleanup: qa: unpin knfs from ubuntu (issue#16397, pr#13088, John Spray)
  • cephfs,cleanup: Rewrite mount.fuse.ceph (to python) and move ceph-fuse options to fs_mntops (pr#11448, Edgaras Lukosevicius)
  • cephfs: client/Client.cc: prevent segfaulting (issue#9935, pr#12550, Michal Jarzabek)
  • cephfs: client: don’t request lookup parent if ino is root (pr#12478, huanwen ren)
  • cephfs: client: fix clang warn of “argument is an uninitialized value” (pr#12580, liuchang0812)
  • cephfs: client: fix Client::handle_cap_flushsnap_ack() crash (issue#18460, pr#12859, Yan, Zheng)
  • cephfs: client: fix the cross-quota rename boundary check conditions (pr#12489, Greg Farnum)
  • cephfs: client: populate metadata during mount (issue#18361, pr#12915, John Spray)
  • cephfs: client: remove request from session->requests when handling forward (issue#18675, pr#13124, “Yan, Zheng”)
  • cephfs,common: include/fs_types: fix unsigned integer overflow (pr#12440, runsisi)
  • cephfs,common,rbd: osdc: cache should ignore error bhs during trim (issue#18436, pr#12966, Jason Dillaman)
  • cephfs,core,cleanup,common: librados,osdc: kill ack vs commit distinction (pr#12607, Sage Weil)
  • cephfs: libcephfs.cc: fix memory leak (pr#12557, Michal Jarzabek)
  • cephfs: libcephfs: fix cct refcount constructing from rados (pr#12831, John Spray)
  • cephfs: mon/MDSMonitor.cc:refuse fs new on pools with obj (issue#11124, pr#12825, Michal Jarzabek)
  • cephfs: mount: do not print “unknown” option to kclient (issue#18159, pr#12465, John Spray)
  • cephfs: qa: update remaining ceph.com to download.ceph.com (issue#18574, pr#12964, John Spray)
  • cephfs: tasks/cephfs: fix kernel force umount (issue#18396, pr#12833, Yan, Zheng)
  • cleanup,bluestore: os/bluestore: avoid unnecessary memory copy, use variable reference in BlockDevice::Open (pr#12942, liuchang0812)
  • cleanup,bluestore: os/bluestore: cleanup BitAllocator (pr#12661, xie xingguo)
  • cleanup,bluestore: os/bluestore: remove no use parameter in bluestore_blob_t::map_bl (pr#13013, wangzhengyong)
  • cleanup,common: auth: Enhancement for the supported auth methods (pr#12937, Dave Chen)
  • cleanup,common: bufferlist: cleanup semantical wrong for bufferlist::append (pr#12247, Yankun Li)
  • cleanup,common: common/BackTrace: add operator<< (pr#9028, Kefu Chai)
  • cleanup: common/config: fix return type of string::find and use string::npos (pr#9924, Yan Jun)
  • cleanup: common/config_opts.h: remove obsolete configuration option (pr#12659, Li Wang)
  • cleanup,common: global: we need to handle the init_on_startup return value when global_init. (pr#13018, song baisen)
  • cleanup,common: msg/async: assert if compiled code doesn’t support the configured ms_… (pr#12559, Avner BenHanoch)
  • cleanup,common: msg/async/rdma: clean line endings (pr#12688, Adir Lev)
  • cleanup,common: msg/async/rdma: Remove compilation warning (pr#13142, Sarit Zubakov)
  • cleanup,common: osd/OSDMap: get_previous_up_osd_before() may run into endless loop (pr#12976, Mingxin Liu)
  • cleanup,common: osd/osd_types: clean up OSDOp printers (pr#12980, Sage Weil)
  • cleanup: include/mempool: fix typo in comments (pr#12772, huangjun)
  • cleanup: mds,mon: Clean issues detected by cppcheck (pr#13199, Ilya Shipitsin)
  • cleanup: misc: fix code typos in header files (pr#12716, Xianxia Xiao)
  • cleanup: mon/PGMonitor: fix description for ceph pg ls (pr#12807, runsisi)
  • cleanup: Move code from .h into .cc (pr#12737, Amir Vadai)
  • cleanup: msg/async: avoid atomic variable overhead (pr#12809, Wei Jin)
  • cleanup: msg/async: cleanups (pr#12832, Wei Jin)
  • cleanup: msg/async/rdma: fix log line spacing (pr#13263, Adir Lev)
  • cleanup: msg/async: rm nonused thread variable in posixworker (pr#12777, Wei Jin)
  • cleanup: msg/Messenger.cc: add std::move (pr#9760, Michal Jarzabek)
  • cleanup: msg: Revert the change from assert(0)-> ceph_abort() where is not applicable (pr#12930, Dave Chen)
  • cleanup: msg/simple: Remove dead code in pipe.cc (issue#12684, pr#12601, Rishabh Kumar)
  • cleanup: os/bluestore/BlueStore.cc: remove unused variable (pr#12703, Li Wang)
  • cleanup: osdc/ObjectCacher: use state instead of get_state() (pr#12544, huangjun)
  • cmake: add RGW and MDS to libcephd (pr#12345, Bassam Tabbara)
  • cmake: cleanup the use of udev and blkid in target_link_lib() (pr#12811, Willem Jan Withagen)
  • cmake: disable mallinfo for jemalloc (pr#12469, Bassam Tabbara)
  • cmake: explictly call find_package(PythonInterp) first to fix build err (pr#12385, Yixun Lan)
  • cmake: Fix broken async/rdma compilation since move to libceph-common (pr#13122, Oren Duer)
  • cmake: fix broken RDMA compilation after merge PR #12878 (pr#13186, Oren Duer)
  • cmake: fix hard coded boost python lib (pr#12480, John Coyle)
  • cmake: fix rpath on shared libraries and binaries targets (pr#12927, Ricardo Dias)
  • cmake: link ceph-{mgr,mon,mds,osd} against libcommon statically (pr#12878, Kefu Chai)
  • cmake: remove Findpciaccess.cmake (pr#12776, optimistyzy)
  • cmake: search for Keyutils in default paths (pr#12769, Pascal Bach)
  • cmake: search for nspr include files for both suffixes: nspr4 and nspr (issue#18535, pr#12939, John Lin)
  • cmake: simplify find_package jemalloc (pr#12468, Bassam Tabbara)
  • cmake: support for external rocksdb (pr#12467, Bassam Tabbara)
  • cmake: turn libcommon into a shared library (pr#12840, Kefu Chai)
  • common/admin-socket: fix potential buffer overflow (pr#12518, Yunchuan Wen)
  • common: common/BackTrace: demangle on FreeBSD also (pr#12992, Kefu Chai)
  • common: common/buffer: close pipe fd if set nonblocking fails. (pr#12828, donglinpeng)
  • common: common/ceph_context: Show clear message if all features are enabled (pr#12676, Dave Chen)
  • common: common/xmlformatter: turn on underscored and add unittest (pr#12916, liuchang0812)
  • common: compressor/zstd: add zstd compression plugin (pr#13075, Kefu Chai, Sage Weil)
  • common: config: Improve warning for unobserved value (issue#18424, pr#12855, Brad Hubbard)
  • common/config_opts.h: FreeBSD timing changed due to no SO_REUSEADDR (pr#12594, Willem Jan Withagen)
  • common: delete unused conf “filestore_debug_disable_sharded_check” (pr#13051, Chuanhong Wang)
  • common: get rid of “warning: ignoring return value of ‘strerror_r’” (pr#12775, xie xingguo)
  • common: include/denc: improvements (pr#12626, Adam C. Emerson)
  • common: make attempts of auth rotating configurable (pr#12563, xie xingguo)
  • common: misc fixes detected by crypto shutdown assert (pr#12925, Sage Weil)
  • common: msg/async/rdma: reduce number of rdma rx/tx buffers (pr#13190, Adir Lev)
  • common: msg/async/rdma: Support for RoCE v2 and SL (pr#12556, Oren Duer)
  • common: msg/simple: call clear_pipe in wait() shutdown path (issue#15784, pr#12633, Sage Weil)
  • common: tracing: Fix handle leak in TracepointProvider (pr#12652, Brad Hubbard)
  • core,bluestore: NVMEDevice: fix bug in data_buf_next_sge (pr#12812, optimistyzy)
  • core,bluestore: os/bluestore: fix statfs to not include DB partition in free space (issue#18599, pr#13140, Sage Weil)
  • core,cephfs,cleanup: cleanup: use std::make_shared to replace new (pr#12276, Yunchuan Wen)
  • core,cleanup: msg/async/AsyncConnection: socket’s fd can be zero, avoid false assert (pr#13080, Haomai Wang)
  • core,cleanup: osd/ECBackend: cleanup for unnecessary copy with pg_stat_t (pr#12564, Yunchuan Wen)
  • core,cleanup: osd/ECBackend: only need check missing_loc when doing recovery (pr#12526, huangjun)
  • core,cleanup: osd/ECBackend: remove unused variable “ReadCB” (pr#12543, huangjun)
  • core,cleanup: osd,librados: remove clone_range and associated multi-object cruft (pr#13008, Samuel Just)
  • core,cleanup: osd/OpRequest: dump both name and addr for the client op (pr#12691, runsisi)
  • core,cleanup: osd/OSDMap: Uncomment code to enable private default constructors (pr#12597, Brad Hubbard)
  • core,cleanup: osd/osd_type: Fix logging output (pr#12778, Brad Hubbard)
  • core,cleanup: osd/osd_types: Move comment to more relevant position (pr#12779, Brad Hubbard)
  • core,cleanup: osd/osd_types: print notify-ack op properly (pr#12585, Sage Weil)
  • core,cleanup: osd/PG: add new have_unfound() function in MissingLoc (pr#12668, huangjun)
  • core,cleanup: osd/PG: check the connection first in fulfill_log (pr#12579, huangjun)
  • core,cleanup: osd/PG: simplify the logic of backfill_targets checking (pr#12519, huangjun)
  • core,cleanup: osd/PrimaryLogPG: optimal pick_newest_available (pr#12695, huangjun)
  • core,cleanup: osd/PrimaryLogPG: unify the access to primary pg (pr#12527, huangjun)
  • core,cleanup: os/filestore/JournalingObjectStore cleanup (pr#12528, Li Wang)
  • core,common: common/pick_address.cc: Copy public_netw to cluster_netw if cluster empty (pr#12929, Willem Jan Withagen)
  • core,common: mempool: put bloom_filter in mempool (pr#13009, Sage Weil)
  • core: global: start removing g_ceph_context (pr#12149, Adam C. Emerson)
  • core: messages/MOSDPGTrim: add the missed HEAD_VERSION AND COMPAT_VERSION (issue#18266, pr#12517, huangjun)
  • core: messages/MOSDSubOp: Make encode_payload can be reentrant (pr#12654, Haomai Wang)
  • core: mon/OSDMonitor: fixup sortbitwise flag warning (pr#12682, huanwen ren)
  • core: mon/OSDMonitor: make ‘osd crush move ...’ work on osds (issue#18587, pr#12981, Sage Weil)
  • core: mon/OSDMonitor: make snaps on tier pool should not be allowed (pr#9348, Mingxin Liu)
  • core: mon/OSDMonitor: set last_force_op_resend on overlay pool too (issue#18366, pr#12712, Sage Weil)
  • core: mon/OSDMonitor: should propose osdmap update when cluster addr changed (pr#11065, Mingxin Liu)
  • core: msg: allow different ms type for cluster network and public network (pr#12023, Haomai Wang)
  • core: msg/async/dpdk: fix compile errors (pr#12698, Haomai Wang)
  • core: msg/async/rdma: fix ceph_clock_now calls (pr#12711, Haomai Wang)
  • core: msg: client bind (pr#12901, Zengran Zhang, Haomai Wang)
  • core: osdc/Objecter: resend pg commands on interval change (issue#18358, pr#12869, Samuel Just)
  • core: osd/PG: publish PG stats when backfill-related states change (issue#18369, pr#12727, Sage Weil)
  • core: osd/PrimaryLogPG::failed_push: update missing as well (issue#18165, pr#12888, Samuel Just)
  • core: osd/PrimaryLogPG::try_lock_for_read: give up if missing (issue#18583, pr#13087, Samuel Just)
  • core: osd/ReplicatedBackend: take read locks for clone sources during recovery (issue#17831, pr#12844, Samuel Just)
  • core: os/filestore: fix clang static check warn “use-after-free“ (pr#12581, liuchang0812)
  • core: os/filestore: version will be uninitialized varible if store_version doesn’t exist (pr#12582, liuchang0812)
  • core,performance: common/TrackedOp: various cleanups and optimizations (pr#12537, Sage Weil)
  • core,performance: osd/ECBackend: Send write message to peers first, then do local write (pr#12522, huangjun)
  • core,performance: osd/pg: bound the portion of the log we request in GetLog::GetLog() (pr#12233, Jie Wang)
  • core: PrimaryLogPG: don’t update digests for objects with mismatched names (issue#18409, pr#12788, Samuel Just)
  • core: Revert “PrimaryLogPG::failed_push: update missing as well” (issue#18624, pr#13090, David Zafman)
  • core: test/pybind/test_rados.py: tolerate TimedOut in test_ping_monitor (issue#18529, pr#12934, Samuel Just)
  • core,tests: ceph_test_rados_api_misc: Fix trivial memory leak (pr#12680, Brad Hubbard)
  • core,tests: c_write_operations.cc: Fix trivial memory leak (pr#12663, Brad Hubbard)
  • core,tests: qa/suites/rados/basic: set low omap limit for rgw workload (pr#13071, Sage Weil)
  • core,tests: qa/workunits/rest: use unique pool names for cephfs test (pr#13188, Sage Weil)
  • core,tests: test/librados/cmd.cc: Fix trivial memory leaks (pr#12671, Brad Hubbard)
  • core,tests: test/librados/c_read_operations.cc: Fix trivial memory leak (pr#12656, Brad Hubbard)
  • core,tests: test/librados/c_read_operations.cc: Fix valgrind errors (issue#18354, pr#12657, Brad Hubbard)
  • core,tests: test/librados: Silence Coverity memory leak warnings (pr#12442, Brad Hubbard, Samuel Just)
  • core,tests: test/librados/snapshots.cc: Fix memory leak (pr#12690, Brad Hubbard)
  • core,tests: test/librados/tier.cc: Fix valgrind errors (issue#18360, pr#12705, Brad Hubbard)
  • core,tests: test_rados_watch_notify: Fix trivial memory leaks (pr#12713, Brad Hubbard)
  • crush: API documentation (pr#13205, Loic Dachary)
  • crush: verify weights is influenced by the number of replicas (issue#15653, pr#13083, Adam C. Emerson, Loic Dachary)
  • crush: when osd_location_hook does not exist, we should exit error. (pr#12961, song baisen)
  • doc: add 0.94.10 and hammer EOL to releases.rst (pr#13069, Nathan Cutler)
  • doc: add verbiage to rbdmap manpage (issue#18262, pr#12509, Nathan Cutler)
  • doc: build/install-deps.sh: Add sphinx package for building docs on FreeBSD (pr#13223, Willem Jan Withagen)
  • doc/cephfs/troubleshooting: fix broken bullet list (pr#12894, Dan Mick)
  • doc: clarify “ceph quorum” syntax (issue#17802, pr#11787, Nathan Cutler)
  • doc: clarify SubmittingPatches.rst (pr#12988, Nathan Cutler)
  • doc: clarify the path restriction mds cap example (pr#12993, John Spray)
  • doc: correct S3 lifecycle support explain (issue#18459, pr#12827, liuchang0812)
  • doc: doc/dev: update log_based_pg.rst, fix some display problem (pr#12730, liuchang0812)
  • doc: Doc:Fixes Python Swift client commands (issue#17746, pr#12887, Ronak Jain)
  • doc: doc/release-notes: final kraken notes (pr#12968, Sage Weil)
  • doc: document repair/scrub features (issue#15786, pr#9032, Kefu Chai, David Zafman)
  • doc: Document that osd_heartbeat_grace applies to MON and OSD (pr#13098, Wido den Hollander)
  • doc: explain about logging levels (pr#12920, liuchang0812)
  • doc: fix document about rados mon (pr#12662, liuchang0812)
  • doc: Fixes radosgw-admin ex: in swift auth section (issue#16687, pr#12646, SirishaGuduru)
  • doc: fix the librados c api can not compile problem (pr#9396, song baisen)
  • doc: mailmap: Michal Koutny affiliation (pr#13036, Nathan Cutler)
  • doc: mailmap updates for v11.1.0 (pr#12335, Abhishek Lekshmanan)
  • doc: minor change to a cloud testing paragraph (pr#13277, Jan Fajerski)
  • doc: min_size advice is not helpful (pr#12936, Brad Hubbard)
  • doc: organizationmap: add Xianxia Xiao to Kylin Cloud team (pr#12718, Yunchuan Wen)
  • doc: README.FreeBSD: update current status (pr#12096, Willem Jan Withagen)
  • doc: release notes for v11.1.1 (pr#12642, Abhishek Lekshmanan)
  • doc: Remove “splitting” state (pr#12636, Brad Hubbard)
  • doc: typo fix in s3_compliance (pr#12598, LiuYang)
  • doc: Update disk thread section to reflect that scrubbing is no longe… (pr#12621, Nick Fisk)
  • doc: Update keystone.rst (pr#12717, Chu, Hua-Rong)
  • librados: asynchronous selfmanaged_snap_create/selfmanaged_snap_remove APIs (issue#16180, pr#12050, Jason Dillaman)
  • librados: fix compile errors from simplified aio completions (pr#12849, xie xingguo)
  • librbd: added rbd_flatten_with_progress to API (issue#15824, pr#12905, Ricardo Dias)
  • librbd: allow to open an image without opening the parent image (issue#18325, pr#12885, Ricardo Dias)
  • librbd: avoid possible recursive lock when racing acquire lock (issue#17447, pr#12991, Jason Dillaman)
  • librbd: create fewer empty objects during copyup (issue#15028, pr#12326, Douglas Fuller, Venky Shankar)
  • librbd: delay mirror registration when creating clones (issue#17993, pr#12839, Jason Dillaman)
  • librbd: don’t continue to remove an image w/ incompatible features (issue#18315, pr#12638, Dongsheng Yang)
  • librbd: fixed initializer list ordering (pr#13042, Jason Dillaman)
  • librbd: initialize diff parent overlap to zero (pr#13077, Gu Zhongyan)
  • librbd: introduce new constants for tracking max block name prefix (issue#18653, pr#13141, Jason Dillaman)
  • librbd: managed lock refactoring (pr#12922, Mykola Golub)
  • librbd: metadata_set API operation should not change global config setting (issue#18465, pr#12843, Mykola Golub)
  • librbd: new API method to force break a peer’s exclusive lock (issue#18429, issue#16988, issue#18327, pr#12639, Jason Dillaman)
  • librbd: permit removal of image being bootstrapped by rbd-mirror (issue#16555, pr#12549, Mykola Golub)
  • librbd: possible deadlock with flush if refresh in-progress (issue#18419, pr#12838, Jason Dillaman)
  • librbd: prevent self-blacklisting during break lock (issue#18666, pr#13110, Jason Dillaman)
  • librbd: race initializing exclusive lock and configuring IO path (pr#13086, Jason Dillaman)
  • librbd: refactor exclusive lock support into generic managed lock (issue#17016, pr#12846, Ricardo Dias, Jason Dillaman)
  • librbd: remove unnecessary dependencies of ManagedLock (pr#12982, Jason Dillaman)
  • librbd: resolve static analyser warnings (pr#12863, Jason Dillaman)
  • librbd: support for shared locking in ManagedLock (pr#12886, Ricardo Dias)
  • librbd: support to list snapshot timestamp (issue#808, pr#12817, Pan Liu)
  • librbd: warning message for mirroring pool option (issue#18125, pr#12319, Gaurav Kumar Garg)
  • log: use one write system call per message (pr#11955, Patrick Donnelly)
  • mds: add authority check for delay dirfrag split (issue#18487, pr#12994, “Yan, Zheng”)
  • mds: check for errors decoding backtraces (issue#18311, pr#12588, John Spray)
  • mds: don’t modify inode that is not projected (issue#16768, pr#13052, “Yan, Zheng”)
  • mds: finish clientreplay requests before requesting active state (issue#18461, pr#12852, Yan, Zheng)
  • mds: fix incorrect assertion in Server::_dir_is_nonempty() (issue#18578, pr#12973, Yan, Zheng)
  • mds: fix null pointer dereference in Locker::handle_client_caps (issue#18306, pr#12808, Yan, Zheng)
  • mds: miscellaneous fixes (issue#18646, pr#12974, Yan, Zheng, “Yan, Zheng”)
  • mds: misc multimds fixes part2 (pr#12794, Yan, Zheng)
  • mds: misc multimds fixes (pr#12274, Yan, Zheng)
  • mds: propagate error encountered during opening inode by number (issue#18179, pr#12749, Yan, Zheng)
  • mds: skip fragment space check for replayed request (issue#18660, pr#13095, “Yan, Zheng”)
  • mgr: Make stats period configurable (issue#17449, pr#12732, liuchang0812)
  • mon: clean up some osdmon/pgmon interactions (pr#12403, Sage Weil)
  • mon: don’t set last_osd_report when the pg stats msg is ignored (pr#12975, Zhiqiang Wang)
  • mon: fix a few nits (pr#12670, Sage Weil)
  • mon: fix wrongly delete routed pgstats op (issue#18458, pr#12784, Mingxin Liu)
  • mon: no delay for single message MSG_ALIVE and MSG_PGTEMP (pr#12107, yaoning)
  • mon: optracker’s initiated_at timestamp should not be NULL (pr#12826, Mingxin Liu)
  • mon/OSDMonitor: fix process osd failure (pr#12938, Mingxin Liu)
  • mon: post-jewel cleanups (pr#13150, Kefu Chai)
  • msg/async: Fixed compilation error when enable -DWITH_DPDK (pr#12660, Pan Liu)
  • msg/async: fixed coredump when enable dpdk. (pr#12854, Pan Liu)
  • msg/async: fixed the error “Cause: Cannot create lock on ‘/var/run/.rte_c… (pr#12860, Pan Liu)
  • msg/async: fix file description leak in NetHandler (pr#13271, liuchang0812)
  • msg/async: NVMEDevice.cc: cleanup the logic in data_buf_next_sge (pr#13056, optimistyzy)
  • msg/async/rdma: Fix memory leak of OSD (pr#13101, Sarit Zubakov)
  • msg/async/rdma: fix RoCE v2 deafult value (pr#12648, Adir Lev, Oren Duer)
  • msg/RDMA: Fix broken compilation due to new argument in net.connect() (pr#13096, Amir Vadai)
  • os/bluestore: NVMEDevice: optimize sector_size usage (pr#12780, optimistyzy)
  • osd: add asock command to dump the scrub queue (issue#17861, pr#12728, liuchang0812)
  • osd: allow client throttler to be adjusted on-fly, without restart (issue#18791, pr#13213, Piotr Dałek)
  • osd: Calculate degraded and misplaced more accurately (issue#18619, pr#13031, David Zafman)
  • osd: cleanup: use string & to avoid unnecessary copy (pr#12336, Yunchuan Wen)
  • osd: condition object_info_t encoding on required (not up) features (issue#18644, pr#13114, Sage Weil)
  • osd: correct comment of perfcounter cached_crc in code (pr#13256, lvshuhua)
  • osd: do not send ENXIO on misdirected op by default (issue#18751, pr#13206, Sage Weil)
  • osd: _exit() intead of exit() for failure injection (issue#18372, pr#12726, Sage Weil)
  • osd: extend OMAP_GETKEYS and GETVALS to include a ‘more’ output field (pr#12950, Sage Weil)
  • osd: fix coverity warning for uninitialized members (pr#12724, Li Wang)
  • osd: Fix useless MAX(0, unsigned) to prevent out of wack misplaced (issue#18718, pr#13164, David Zafman)
  • osd: improve error message when FileStore op fails due to EPERM (issue#18037, pr#12181, Nathan Cutler)
  • osd: never send rados ack (only commit) (pr#12451, Sage Weil)
  • osd: osd/OSDMap: require OSD features only of OSDs (issue#18831, pr#13275, Ilya Dryomov)
  • osd: Return correct osd_objectstore in OSD metadata (issue#18638, pr#13072, Wido den Hollander)
  • osd: use separate waitlist for scrub (pr#13136, Sage Weil)
  • performance,bluestore: os/bluestore/bluestore_types: drop std::bitset for blob unused (pr#12569, Sage Weil)
  • performance,bluestore: os/bluestore: do not cache shard keys (pr#12634, Sage Weil)
  • performance,bluestore: os/bluestore: generate same onode extent-shard keys in a more efficient way (pr#12681, xie xingguo)
  • performance,bluestore: os/bluestore: kvdb histogram (pr#12620, Varada Kari)
  • performance,bluestore: os/bluestore: prevent lock for almost “flush” calls (pr#12524, Haomai Wang)
  • performance,bluestore: os/bluestore: replace Blob ref_map with reference counting (pr#12904, Igor Fedotov)
  • performance,bluestore: os/bluestore: set cache meta ratio to .9 (pr#12635, Sage Weil)
  • performance,bluestore: os/bluestore: use aio for reads (pr#13066, Sage Weil)
  • performance,bluestore: os/bluestore: use Best-Effort policy when evicting onode from cache (pr#12876, xie xingguo)
  • performance,bluestore: os/bluestore: various onode changes to reduce its in-memory footprint. (pr#12700, Igor Fedotov)
  • performance,bluestore: Tested-by: Chagam, Anjaneya <anjaneya.chagam@intel.com> (pr#13032, Sage Weil)
  • performance,cephfs: mds/server: skip unwanted dn in handle_client_readdir (pr#12870, Xiaoxi Chen)
  • performance,common,bluestore: common/Finisher: Using queue(list<context*>) instead queue(context*). (pr#8942, Jianpeng Ma)
  • performance: osd, messenger, librados: lttng oid tracing (pr#12492, Anjaneya Chagam)
  • performance: osd/ReplicatedBackend: do not set omap header if it is empty (pr#12612, fang yuxiang)
  • pybind: conditional compile the linux specific constant (pr#12198, Kefu Chai)
  • qa: Add openstack requirements to smoke suite (pr#12913, Zack Cerza)
  • qa: src/test/test_denc.cc: Fix errors in buffer overflow (pr#12653, Willem Jan Withagen)
  • rbd: add error prompt when input command ‘snap set limit’ is incomplete (pr#12945, Tang Jin)
  • rbd: additional validation for ‘bench’ optional parameters (pr#12697, Yunchuan Wen)
  • rbd: bench-write should return error if io-size >= 4G (issue#18422, pr#12864, Gaurav Kumar Garg)
  • rbd: cleanup: fix the typo in namespace comment (pr#12858, Dongsheng Yang)
  • rbd: correct coverity warnings (pr#12954, Jason Dillaman)
  • rbd: destination pool should be source pool if it is not specified (issue#18326, pr#13189, Gaurav Kumar Garg)
  • rbd: enable rbd on FreeBSD (without KRBD) (pr#12798, Willem Jan Withagen)
  • rbd: journal: don’t hold future lock during assignment (issue#18618, pr#13033, Jason Dillaman)
  • rbd: journal: stop processing removal after error (issue#18738, pr#13193, Jason Dillaman)
  • rbd: rbd-mirror: add support for active/passive daemon instances (issue#17018, issue#17019, issue#17020, pr#12948, Mykola Golub)
  • rbd: rbd-mirror: avoid processing new events after stop requested (issue#18441, pr#12837, Jason Dillaman)
  • rbd: rbd-mirror: check remote image mirroring state when bootstrapping (issue#18447, pr#12820, Mykola Golub)
  • rbd: rbd-mirror: delayed replication support (issue#15371, pr#11879, Mykola Golub)
  • rbd: remove direct linking to static boost libraries (pr#12962, Jason Dillaman)
  • rbd: remove unused condition within group action handler (pr#12723, Gaurav Kumar Garg)
  • rgw: Added a globbing method for AWS Policies. (pr#12445, Pritha Srivastava)
  • rgw: Added code for REST APIs for AWS Roles. (pr#12104, Pritha Srivastava)
  • rgw: add lifecycle validation according to S3. (issue#18394, pr#12750, Zhang Shaowen)
  • rgw: be aware abount tenants on cls_user_bucket -> rgw_bucket conversion (issue#18364, issue#16355, pr#13220, Radoslaw Zarzynski)
  • rgw: clear master_zonegroup when reseting RGWPeriodMap (issue#17239, pr#12658, Orit Wasserman)
  • rgw: complete versioning enablement after sending it to meta master (issue#18003, pr#12444, Orit Wasserman)
  • rgw: fix handling RGWUserInfo::system in RGWHandler_REST_SWIFT. (issue#18476, pr#12865, Radoslaw Zarzynski)
  • rgw: fix off-by-one in RGWDataChangesLog::get_info (issue#18488, pr#12884, Casey Bodley)
  • rgw: fix period update crash (issue#18631, pr#13054, Orit Wasserman)
  • rgw: fix use of marker in List::list_objects() (issue#18331, pr#13147, Yehuda Sadeh)
  • rgw: fix versioned bucket data sync fail when upload is busy (issue#18208, pr#12357, lvshuhua)
  • rgw: ldap: simple_bind() should set ldap version option on tldap (pr#12616, Weibing Zhang)
  • rgw: librgw shut (issue#18585, pr#12972, Matt Benjamin)
  • rgw: orphan: fix error messages (pr#12782, Weibing Zhang)
  • rgw: remove invalid read size4 (issue#18071, pr#12767, Matt Benjamin)
  • rgw: rgw_file: add timed namespace invalidation (issue#18651, pr#13038, Matt Benjamin)
  • rgw: rgw_file: fix RGWLibFS::setattr for directory objects (issue#18808, pr#13252, Matt Benjamin)
  • rgw: rgw_file: interned RGWFileHandle objects need parent refs (issue#18650, pr#13084, Matt Benjamin)
  • rgw: rgw_file: split last argv on ws, if provided (pr#12965, Matt Benjamin)
  • rgw: RGWMetaSyncShardCR drops stack refs on destruction (issue#18412, issue#18300, pr#12605, Casey Bodley)
  • rgw: rgw multisite: fix ref counting of completions (issue#18414, issue#18407, pr#12841, Casey Bodley)
  • rgw: rgw realm set fixes (issue#18333, pr#12731, Orit Wasserman)
  • rgw: swift: fix anonymous user’s error code of getting object (issue#18806, pr#13242, Jing Wenjun)
  • rgw: swift: the http referer acl in swift API should be shown (issue#18665, pr#13003, Jing Wenjun)
  • rgw: swift: The http referer should be parsed to compare in swift API (issue#18685, pr#13005, Jing Wenjun)
  • rgw: sync status compares the current master period (issue#18064, pr#12907, Abhishek Lekshmanan)
  • rgw: the swift container acl should support field .ref (issue#18484, pr#12874, Jing Wenjun)
  • rgw: Use decoded URI when verifying TempURL (issue#18590, pr#13007, Michal Koutný)
  • rgw: Wip rgw openssl 7 (issue#11239, issue#16535, pr#11776, Yehuda Sadeh, Marcus Watts)
  • tests,bluestore: ceph_test_objectstore: match clone_range src and dst offset (pr#13211, Sage Weil)
  • tests,cephfs: Improve vstart_runner to (optionally) create its own cluster (pr#12800, John Spray)
  • tests: ceph-helpers.sh reduce get_timeout_delays() verbosity (pr#13257, Kefu Chai)
  • tests: ceph_test_rados_api_watch_notify: move global variables into test class (issue#18395, pr#12751, Kefu Chai)
  • tests,cleanup,rbd: test: correct language mode in file headers (pr#12924, Jason Dillaman)
  • tests,cleanup: test: clean up unused variable (pr#12873, liuchang0812)
  • tests,cleanup: test: update test_rados_tool.sh, use POOL and OBJ var (pr#12706, liuchang0812)
  • tests: drop rbd_cli_tests.pl and RbdLib.pm (issue#14825, pr#12821, Nathan Cutler)
  • tests: drop unused rbd_functional_tests.pl script (issue#14825, pr#12818, Nathan Cutler)
  • tests: fix NULL references to be acceptable by Clang (pr#12880, Willem Jan Withagen)
  • tests: fix template specialization of PromoteRequest class (pr#12815, Ricardo Dias)
  • tests: ignore bogus ceph-objectstore-tool error in ceph_manager (issue#16263, pr#13194, Nathan Cutler)
  • tests: nosetests: use /usr/bin/env to find nosetests (pr#12091, Willem Jan Withagen)
  • tests: qa: Cleaned up distros to use latest versions (pr#12804, Yuri Weinstein)
  • tests: qa/distros: make centos_latest 7.3 (pr#12944, Sage Weil)
  • tests: qa: do not mention ceph branch explicitly (pr#13225, Tamil Muthamizhan)
  • tests: qa: fixed distros links (pr#12770, Yuri Weinstein)
  • tests: qa: specify client for fs workunit (pr#12914, Tamil Muthamizhan)
  • tests: qa/suite: Added a smoke suite for ceph-ansible (pr#12610, Tamil Muthamizhan)
  • tests: qa/suites/ceph-ansible: removing fs workunit (pr#12928, Tamil Muthamizhan)
  • tests: qa/tasks/ceph-deploy: create-keys explicitly (pr#12867, Vasu Kulkarni)
  • tests: qa/tasks/ceph-deploy: use the new create option during instantiation (pr#12892, Vasu Kulkarni)
  • tests: qa/test_rados_tool.sh: POSIX dd only accepts ‘k’ as multiplier (pr#12699, Willem Jan Withagen)
  • tests: qa: Using centos 7.2 for latest version (pr#12806, Yuri Weinstein)
  • tests: qa/workunits/ceph-helpers: wait_for_clean() races with pg creation (pr#12866, David Zafman)
  • tests,rbd: qa: integrate OpenStack ‘gate-tempest-dsvm-full-devstack-plugin-ceph’ (issue#18594, pr#13158, Jason Dillaman)
  • tests,rbd: qa/tasks/qemu: update default image url after ceph.com redesign (issue#18542, pr#12953, Jason Dillaman)
  • tests,rbd: test/librbd: add break_lock test (pr#12842, Mykola Golub)
  • tests: rbd/test_lock_fence.sh: fix rbdrw.py relative path (issue#18388, pr#12747, Nathan Cutler)
  • tests,rbd: test: use librados API to retrieve config params (issue#18617, pr#13076, Jason Dillaman)
  • tests: remove temporary file (pr#12919, Kefu Chai)
  • tests,rgw: test/rgw: add test for versioned object sync (pr#12474, Casey Bodley)
  • tests: subst repo and branch in git.ceph.com URL in qa/tasks/cram.py and qa/tasks/qemu.py (issue#18440, pr#12816, Nathan Cutler)
  • tests: test: librados_test_stub: tmap_update: return -ENOENT when removing nonexisent key (pr#12667, Mykola Golub)
  • tests: test: replace hard-code binary names with varibles (pr#12675, liuchang0812)
  • tests: Thrasher: eliminate a race between kill_osd and __init__ (issue#18799, pr#13237, Nathan Cutler)
  • tools: ceph-disk: convert none str to str before printing it (issue#18371, pr#12760, Kefu Chai)
  • tools: ceph-objectstore-tool: Handle object names that are also valid json (pr#12848, David Zafman)
  • tools: ceph-release-notes: ignore low-numbered PRs (issue#18695, pr#13151, Nathan Cutler)
  • tools,common: osdmaptool: show all the pg map to osds info (pr#9419, song baisen)
  • tools: script: ceph-release-notes check orig. issue only for backports (pr#12979, Abhishek Lekshmanan)
  • tools: support hammer in rbd_recover_tool (pr#12413, Bartłomiej Święcki)
  • tools: tools/rados: add a parameter “–offset” to rados put command (pr#12674, liuchang0812)

v11.2.0 Kraken

This is the first release of the Kraken series. It is a stable release that will be maintained with bugfixes and backports until the next stable release, Luminous, is completed in the Spring of 2017.

Major Changes from Jewel

  • RADOS:
    • The new BlueStore backend now has a stable disk format and is passing our failure and stress testing. Although the backend is still flagged as experimental, we encourage users to try it out for non-production clusters and non-critical data sets.
    • RADOS now has experimental support for overwrites on erasure-coded pools. Because the disk format and implementation are not yet finalized, there is a special pool option that must be enabled to test the new feature.  Enabling this option on a cluster will permanently bar that cluster from being upgraded to future versions.
    • We now default to the AsyncMessenger (ms type = async) instead of the legacy SimpleMessenger.  The most noticeable difference is that we now use a fixed sized thread pool for network connections (instead of two threads per socket with SimpleMessenger).
    • Some OSD failures are now detected almost immediately, whereas previously the heartbeat timeout (which defaults to 20 seconds) had to expire.  This prevents IO from blocking for an extended period for failures where the host remains up but the ceph-osd process is no longer running.
    • There is a new ceph-mgr daemon.  It is currently collocated with the monitors by default, and is not yet used for much, but the basic infrastructure is now in place.
    • The size of encoded OSDMaps has been reduced.
    • The OSDs now quiesce scrubbing when recovery or rebalancing is in progress.
  • RGW:
    • RGW now supports a new zone type that can be used for metadata indexing via ElasticSearch.
    • RGW now supports the S3 multipart object copy-part API.
    • It is possible now to reshard an existing bucket. Note that bucket resharding currently requires that all IO (especially writes) to the specific bucket is quiesced.
    • RGW now supports data compression for objects.
    • Civetweb version has been upgraded to 1.8
    • The Swift static website API is now supported (S3 support has been added previously).
    • S3 bucket lifecycle API has been added. Note that currently it only supports object expiration.
    • Support for custom search filters has been added to the LDAP auth implementation.
    • Support for NFS version 3 has been added to the RGW NFS gateway.
    • A Python binding has been created for librgw.
  • RBD:
    • RBD now supports images stored in an erasure-coded RADOS pool using the new (experimental) overwrite support. Images must be created using the new rbd CLI “–data-pool <ec pool>” option to specify the EC pool where the backing data objects are stored. Attempting to create an image directly on an EC pool will not be successful since the image’s backing metadata is only supported on a replicated pool.
    • The rbd-mirror daemon now supports replicating dynamic image feature updates and image metadata key/value pairs from the primary image to the non-primary image.
    • The number of image snapshots can be optionally restricted to a configurable maximum.
    • The rbd Python API now supports asynchronous IO operations.
  • CephFS:
    • libcephfs function definitions have been changed to enable proper uid/gid control. The library version has been increased to reflect the interface change.
    • Standby replay MDS daemons now consume less memory on workloads doing deletions.
    • Scrub now repairs backtrace, and populates damage ls with discovered errors.
    • A new pg_files subcommand to cephfs-data-scan can identify files affected by a damaged or lost RADOS PG.
    • The false-positive “failing to respond to cache pressure” warnings have been fixed.

Upgrading from Kraken release candidate 11.1.0

  • The new BlueStore backend had an on-disk format change after 11.1.0. Any BlueStore OSDs created with 11.1.0 will need to be destroyed and recreated.

Upgrading from Jewel

  • All clusters must first be upgraded to Jewel 10.2.z before upgrading to Kraken 11.2.z (or, eventually, Luminous 12.2.z).
  • The sortbitwise flag must be set on the Jewel cluster before upgrading to Kraken. The latest Jewel (10.2.4+) releases issue a health warning if the flag is not set, so this is probably already set. If it is not, Kraken OSDs will refuse to start and will print and error message in their log.
  • You may upgrade OSDs, Monitors, and MDSs in any order. RGW daemons should be upgraded last.
  • When upgrading, new ceph-mgr daemon instances will be created automatically alongside any monitors. This will be true for Jewel to Kraken and Jewel to Luminous upgrades, but likely not be true for future upgrades beyond Luminous. You are, of course, free to create new ceph-mgr daemon instances and destroy the auto-created ones if you do not with them to be colocated with the ceph-mon daemons.

BlueStore

BlueStore is a new backend for managing data stored by each OSD on the directly hard disk or SSD. Unlike the existing FileStore implementation, which makes use of an XFS file system to store objects as files, BlueStore manages the underlying block device directly. Implements its own file system-like on-disk structure the is designed specifically for Ceph OSD workloads. Key features of BlueStore include:

  • Checksums on all data written to disk, with checksum verifications on all reads, enabled by default.
  • Inline compression support, which can be enabled on a per-pool or per-object basis via pool properties or client hints, respectively.
  • Efficient journaling. Unlike FileStore, which writes all data to its journal device, BlueStore only journals metadata and (in some cases) small writes, reducing the size and throughput requirements for its journal. As with FileStore, the journal can be colocated on the same device as other data or allocated on a smaller, high-performance device (e.g., an SSD or NVMe device). BlueStore journals are only 512 MB by default.

The BlueStore on-disk format is expected to continue to evolve. However, we will provide support in the OSD to migrate to the new format on upgrade.

In order to enable BlueStore, add the following to ceph.conf:

enable experimental unrecoverable data corrupting features = bluestore

To create a BlueStore OSD, pass the –bluestore option to ceph-disk or ceph-deploy during OSD creation.

Upgrade notes

  • The OSDs now avoid starting new scrubs while recovery is in progress. To revert to the old behavior (and do not let recovery activity affect the scrub scheduling) you can set the following option:

    osd scrub during recovery = true
  • The list of monitor hosts/addresses for building the monmap can now be obtained from DNS SRV records. The service name used in when querying the DNS is defined in the “mon_dns_srv_name” config option, which defaults to “ceph-mon”.

  • The ‘osd class load list’ config option is a list of object class names that the OSD is permitted to load (or ‘*’ for all classes). By default it contains all existing in-tree classes for backwards compatibility.

  • The ‘osd class default list’ config option is a list of object class names (or ‘*’ for all classes) that clients may invoke having only the ‘*’, ‘x’, ‘class-read’, or ‘class-write’ capabilities. By default it contains all existing in-tree classes for backwards compatibility. Invoking classes not listed in ‘osd class default list’ requires a capability naming the class (e.g. ‘allow class foo’).

  • The ‘rgw rest getusage op compat’ config option allows you to dump (or not dump) the description of user stats in the S3 GetUsage API. This option defaults to false. If the value is true, the reponse data for GetUsage looks like:

    "stats": {
                "TotalBytes": 516,
                "TotalBytesRounded": 1024,
                "TotalEntries": 1
             }

    If the value is false, the reponse for GetUsage looks as it did before:

    {
         516,
         1024,
         1
    }
    
  • The ‘osd out ...’ and ‘osd in ...’ commands now preserve the OSD weight. That is, after marking an OSD out and then in, the weight will be the same as before (instead of being reset to 1.0). Previously the mons would only preserve the weight if the mon automatically marked and OSD out and then in, but not when an admin did so explicitly.

  • The ‘ceph osd perf’ command will display ‘commit_latency(ms)’ and ‘apply_latency(ms)’. Previously, the names of these two columns are ‘fs_commit_latency(ms)’ and ‘fs_apply_latency(ms)’. We remove the prefix ‘fs_‘, because they are not filestore specific.

  • Monitors will no longer allow pools to be removed by default. The setting mon_allow_pool_delete has to be set to true (defaults to false) before they allow pools to be removed. This is a additional safeguard against pools being removed by accident.

  • If you have manually specified the monitor user rocksdb via the mon keyvaluedb = rocksdb option, you will need to manually add a file to the mon data directory to preserve this option:

    echo rocksdb > /var/lib/ceph/mon/ceph-`hostname`/kv_backend

    New monitors will now use rocksdb by default, but if that file is not present, existing monitors will use leveldb. The mon keyvaluedb option now only affects the backend chosen when a monitor is created.

  • The ‘osd crush initial weight’ option allows you to specify a CRUSH weight for a newly added OSD. Previously a value of 0 (the default) meant that we should use the size of the OSD’s store to weight the new OSD. Now, a value of 0 means it should have a weight of 0, and a negative value (the new default) means we should automatically weight the OSD based on its size. If your configuration file explicitly specifies a value of 0 for this option you will need to change it to a negative value (e.g., -1) to preserve the current behavior.

  • The osd crush location config option is no longer supported. Please update your ceph.conf to use the crush location option instead.

  • The static libraries are no longer included by the debian development packages (lib*-dev) as it is not required per debian packaging policy. The shared (.so) versions are packaged as before.

  • The libtool pseudo-libraries (.la files) are no longer included by the debian development packages (lib*-dev) as they are not required per https://wiki.debian.org/ReleaseGoals/LAFileRemoval and https://www.debian.org/doc/manuals/maint-guide/advanced.en.html.

  • The jerasure and shec plugins can now detect SIMD instruction at runtime and no longer need to be explicitly configured for different processors. The following plugins are now deprecated: jerasure_generic, jerasure_sse3, jerasure_sse4, jerasure_neon, shec_generic, shec_sse3, shec_sse4, and shec_neon. If you use any of these plugins directly you will see a warning in the mon log file. Please switch to using just ‘jerasure’ or ‘shec’.

  • The librados omap get_keys and get_vals operations include a start key and a limit on the number of keys to return. The OSD now imposes a configurable limit on the number of keys and number of total bytes it will respond with, which means that a librados user might get fewer keys than they asked for. This is necessary to prevent careless users from requesting an unreasonable amount of data from the cluster in a single operation. The new limits are configured with osd_max_omap_entries_per_request, defaulting to 131,072, and ‘osd_max_omap_bytes_per_request’, defaulting to 4MB.

  • Calculation of recovery priorities has been updated. This could lead to unintuitive recovery prioritization during cluster upgrade. In case of such recovery, OSDs in old version would operate on different priority ranges than new ones. Once upgraded, cluster will operate on consistent values.

Notable Changes

  • bluestore: add counter to trace blob splitting (pr#11718, xie xingguo)
  • bluestore: a few more cleanups (pr#11780, xie xingguo)
  • bluestore: avoid polluting shard info if need resharding (pr#11439, xie xingguo)
  • bluestore: avoid unnecessary call to init_csum() (pr#12015, xie xingguo)
  • bluestore: ceph-disk: adjust bluestore default device sizes (pr#12530, Sage Weil)
  • bluestore: ceph_test_objectstore: smaller device (pr#11591, Sage Weil)
  • bluestore: clean up Allocator::dump (issue#18054, pr#12282, Sage Weil)
  • bluestore: clear extent map on object removal (pr#11603, Sage Weil)
  • bluestore: compressor/ZLibCompressor: fix broken isal-l (pr#11445, Igor Fedotov)
  • bluestore: dedup if space overlap truly exists (pr#11986, xie xingguo)
  • bluestore: dedup omap_head, reuse nid instead (pr#12275, xie xingguo)
  • bluestore: deep fsck (pr#11724, Sage Weil)
  • bluestore: default bluestore_clone_cow=true (pr#11540, Sage Weil)
  • bluestore: drop inline_dirty from struct ExtentMap (pr#11377, xie xingguo)
  • bluestore: drop member “space” from Onode (pr#12185, xie xingguo)
  • bluestore: fix alloc release timing on sync submits (pr#11983, Sage Weil)
  • bluestore: fix bufferspace stats leak due to blob splitting (pr#12039, xie xingguo)
  • bluestore: fix collection_list end bound off-by-one (pr#11771, Sage Weil)
  • bluestore: fix compiler warnings (pr#11905, xie xingguo)
  • bluestore: fixes and cleanups (pr#11761, xie xingguo)
  • bluestore: fix escaping of chars > 0x80 (pr#11502, Sage Weil)
  • bluestore: fix extent shard span check (pr#11725, Sage Weil)
  • bluestore: fix has_aios (pr#11317, Sage Weil)
  • bluestore: Fix invalid compression statfs caused by clone op (pr#11351, Igor Fedotov)
  • bluestore: fix lack of resharding (pr#11597, Igor Fedotov)
  • bluestore: fix latency calculation (pr#12040, Pan Liu)
  • bluestore: fix onode vs extent key suffix (pr#11452, Sage Weil)
  • bluestore: fix potential memory leak (pr#11893, xie xingguo)
  • bluestore: fix race condtion during blob spliting (pr#11422, xiexingguo, xie xingguo)
  • bluestore: fix remove_collection to properly detect collection e… (pr#11398, Igor Fedotov)
  • bluestore: fix _split_collections race with osr_reap (pr#11748, Sage Weil)
  • bluestore: fix up compression tests and debug output (pr#11350, Sage Weil)
  • bluestore: fix writes that span existing shard boundaries (pr#11451, Sage Weil)
  • bluestore: flush before enumerating omap values (issue#18140, pr#12328, Sage Weil)
  • bluestore: formatting nits (pr#11514, xie xingguo)
  • bluestore: fsck: fix omap_head check (pr#11726, Sage Weil)
  • bluestore: GC infra refactor, more UTs and GC range calculation fixes (pr#11482, Igor Fedotov)
  • bluestore: KernelDevice: fix race in aio_thread vs aio_wait (issue#17824, pr#12204, Sage Weil)
  • bluestore: kv: dump rocksdb stats (pr#12287, Varada Kari, Jianpeng Ma, Sage Weil)
  • bluestore: kv/rocksdb: enable rocksdb write path breakdown (pr#11696, Haodong Tang)
  • bluestore: kv/RocksDBStore: rename option (pr#11769, Sage Weil)
  • bluestore: less code redundancy (pr#11740, xie xingguo)
  • bluestore: make 2q cache kin/kout size tunable (pr#11599, Haodong Tang)
  • bluestore: mark ops that can’t tolerate ENOENT (pr#12114, Sage Weil)
  • bluestore: mempool: changes for bitmap allocator (pr#11922, Ramesh Chander)
  • bluestore: misc. fixes and cleanups (pr#11964, xie xingguo)
  • bluestore: move bluefs into its own mempool (pr#11834, Sage Weil)
  • bluestore: no garbage collection for uncompressed blobs (pr#11539, Roushan Ali, Sage Weil)
  • bluestore: optional debug mode to identify aio stalls (pr#11818, Sage Weil)
  • bluestore: os/bluestore: a few cleanups (pr#11483, Sage Weil)
  • bluestore: os/bluestore: avoid resharding if the last shard size fall below shar… (pr#12447, Igor Fedotov)
  • bluestore: os/bluestore: bitmap allocator dump functionality (pr#12298, Ramesh Chander)
  • bluestore: os/bluestore: bluestore_sync_submit_transaction = false (pr#12367, Sage Weil)
  • bluestore: os/bluestore: cleanup around Blob::ref_map (pr#11896, Igor Fedotov)
  • bluestore: os/bluestore: clear omap flag if parent has none (pr#12351, xie xingguo)
  • bluestore: os/bluestore: don’t implicitly create the source object for clone (pr#12353, xie xingguo)
  • bluestore: os/bluestore: drop old bluestore preconditioning; replace with wal preextension of file size (pr#12265, Sage Weil)
  • bluestore: os/bluestore: fix global commit latency (pr#12356, xie xingguo)
  • bluestore: os/bluestore: fix ondisk encoding for blobs (pr#12488, Varada Kari, Sage Weil)
  • bluestore: os/bluestore: fix potential csum_order overflow (pr#12333, xie xingguo)
  • bluestore: os/bluestore: fix target_buffer value overflow in Cache::trim() (pr#12507, Igor Fedotov)
  • bluestore: os/bluestore: include modified objects in flush list even if onode unchanged (pr#12541, Sage Weil)
  • bluestore: os/bluestore: kill dead gc-related counters (pr#12065, xie xingguo)
  • bluestore: os/bluestore: kill overlay related options (pr#11557, xie xingguo)
  • bluestore: os/bluestore: misc coverity fixes/cleanups (pr#12202, Sage Weil)
  • bluestore: os/bluestore: preserve source collection cache during split (pr#12574, Sage Weil)
  • bluestore: os/bluestore: remove ‘extents’ from shard_info (pr#12629, Sage Weil)
  • bluestore: os/bluestore: simplified allocator interfaces to single apis (pr#12355, Ramesh Chander)
  • bluestore: os/bluestore: simplify allocator release flow (pr#12343, Sage Weil)
  • bluestore: os/bluestore: simplify can_split_at() (pr#11607, xie xingguo)
  • bluestore: os/bluestore: use iterator for erase() method directly (pr#11490, xie xingguo)
  • bluestore: os/kstore: rmcoll fix to satisfy store_test (pr#11533, Igor Fedotov)
  • bluestore: os: make filestore_blackhole -> objectstore_blackhole (pr#11788, Sage Weil)
  • bluestore: os: move_ranges_destroy_src (pr#11237, Manali Kulkarni, Sage Weil)
  • bluestore: readability improvements and doxygen fix (pr#11895, xie xingguo)
  • bluestore: reap collection after all pending ios done (pr#11797, Haomai Wang)
  • bluestore: reap ioc when stopping aio_thread. (pr#11811, Haodong Tang)
  • bluestore: refactor _do_write(); move initializaiton of csum out of loop (pr#11823, xie xingguo)
  • bluestore: remove duplicated namespace of tx state (pr#11845, xie xingguo)
  • bluestore: remove garbage collector staff (pr#12042, Igor Fedotov)
  • bluestore: set next object as ghobject_t::get_max() when start.hobj.i… (pr#11495, Xinze Chi, Haomai Wang)
  • bluestore: simplify blob status checking for small writes (pr#11366, xie xingguo)
  • bluestore: some more cleanups (pr#11910, xie xingguo)
  • bluestore: spdk: a few fixes (pr#11882, Yehuda Sadeh)
  • bluestore: speed up omap-key generation for same onode (pr#11807, xie xingguo)
  • bluestore: traverse buffer_map in reverse order when spliting BufferSpace (pr#11468, xie xingguo)
  • bluestore: update cache logger after ‘trim_cache’ operation (pr#11695, Haodong Tang)
  • bluestore: use bitmap allocator for bluefs (pr#12285, Sage Weil)
  • bluestore: use std::unordered_map for SharedBlob lookup (pr#11394, Sage Weil)
  • build/ops: AArch64: Detect crc32 extension support from assembler (issue#17516, pr#11391, Alexander Graf)
  • build/ops: boost: embedded (pr#11817, Sage Weil, Matt Benjamin)
  • build/ops: build: dump env during build (issue#18084, pr#12284, Sage Weil)
  • build/ops: ceph-detect-init: FreeBSD introduction of bsdrc (pr#11906, Willem Jan Withagen, Kefu Chai)
  • build/ops: ceph-disk: enable –runtime ceph-osd systemd units (issue#17889, pr#12241, Loic Dachary)
  • build/ops: ceph.spec: add pybind rgwfile (pr#11847, Haomai Wang)
  • build/ops,cleanup,bluestore: os/bluestore: remove build warning in a better way (pr#11920, Igor Fedotov)
  • build/ops: CMakeLists: add vstart-base target (pr#12476, Sage Weil)
  • build/ops: CMakeLists.txt: enable LTTNG by default (pr#11500, Sage Weil)
  • build/ops: common/buffer.cc: raw_pipe depends on splice(2) (pr#11967, Willem Jan Withagen)
  • build/ops,common: common/str_list.h: fix clang warning about std::move (pr#12570, Willem Jan Withagen)
  • build/ops,core: xio: fix build (pr#11768, Matt Benjamin)
  • build/ops: deb: add python dependencies where needed (issue#17579, pr#11507, Nathan Cutler, Kefu Chai)
  • build/ops: deb: add python-rgw packages (pr#11832, Sage Weil)
  • build/ops: debian: apply dh_python to python-rgw also (pr#12260, Kefu Chai)
  • build/ops: deb: update python-rgw dependencies to librgw2 (pr#11885, Casey Bodley)
  • build/ops: do_freebsd.sh: Build with SYSTEM Boost on FreeBSD (pr#11942, Willem Jan Withagen)
  • build/ops: do_freebsd.sh: Do not use LTTNG on FreeBSD (pr#11551, Willem Jan Withagen)
  • build/ops: do_freebsd.sh: Set options for debug building. (pr#11443, Willem Jan Withagen)
  • build/ops: FreeBSD: do_freebsd.sh (pr#12090, Willem Jan Withagen)
  • build/ops: FreeBSD:test/encoding/readable.sh”: fix nproc and ls -v calls (pr#11522, Willem Jan Withagen)
  • build/ops: FreeBSD: update require packages (pr#11512, Willem Jan Withagen)
  • build/ops: git-archive-all.sh: use an actually unique tmp dir (pr#12011, Dan Mick)
  • build/ops: include/enc: make clang happy (pr#11638, Kefu Chai, Sage Weil)
  • build/ops: install-deps.sh: allow building on SLES systems (pr#11708, Nitin A Kamble)
  • build/ops: install-deps.sh: JQ is needed in one script (pr#12080, Willem Jan Withagen)
  • build/ops: Log: Replace namespace log with logging (pr#11650, Willem Jan Withagen)
  • build/ops: Merging before make check because it clearly breaks the build and the build part is done (pr#11924, Sage Weil)
  • build/ops: ok, w/upstream acks, merging–jenkins build did succeed (this is a build-only change) (pr#12008, Matt Benjamin)
  • build/ops: qa: Add ceph-ansible installer. (issue#16770, pr#10402, Warren Usui)
  • build/ops: rocksdb: do not build with –march=native (pr#11677, Kefu Chai)
  • build/ops: rocksdb: update to latest (pr#12100, Kefu Chai)
  • build/ops: rpm: Remove trailing whitespace in usermod command (SUSE) (pr#10707, Tim Serong)
  • build/ops: scripts/release-notes: allow title guesses from gh tags & description update (pr#11399, Abhishek Lekshmanan)
  • build/ops: systemd: Fix startup of ceph-mgr on Debian 8 (pr#12555, Mark Korenberg)
  • build/ops: tracing/objectstore.tp: add missing move_ranges_... tp (pr#11484, Sage Weil)
  • build/ops: upstart: fix ceph-crush-location default (issue#6698, pr#803, Jason Dillaman)
  • build/ops: upstart: start ceph-all after static-network-up (issue#17689, pr#11631, Billy Olsen)
  • cephfs: add gid to asok status (pr#11487, Patrick Donnelly)
  • cephfs: API cleanup for libcephfs interfaces (issue#17911, pr#12106, Jeff Layton)
  • cephfs: ceph-fuse: start up log on parent process before shutdown (issue#18157, pr#12347, Greg Farnum)
  • cephfs: ceph_fuse: use sizeof get the buf length (pr#11176, LeoZhang)
  • cephfs,cleanup: ceph-fuse: start up log on parent process before shutdown (issue#18157, pr#12358, Kefu Chai)
  • cephfs: client: add pid to metadata (issue#17276, pr#11359, Patrick Donnelly)
  • cephfs: client: Client.cc: remove duplicated op type checking against CEPH_MD… (pr#11608, Weibing Zhang)
  • cephfs: client: don’t take extra target inode reference in ll_link (pr#11440, Jeff Layton)
  • cephfs: client: fix mutex name typos (pr#12401, Yunchuan Wen)
  • cephfs: client: get caller’s uid/gid on every libcephfs operation (issue#17591, pr#11526, Yan, Zheng)
  • cephfs: client: get gid from MonClient (pr#11486, Patrick Donnelly)
  • cephfs: client: improve failure messages/debugging (pr#12110, Patrick Donnelly)
  • cephfs: client/mds: Clear setuid bits when writing or truncating (issue#18131, pr#12412, Jeff Layton)
  • cephfs: client: put CapSnap not ptr in cap_snaps map (pr#12111, Patrick Donnelly)
  • cephfs: client: remove redundant initialization (pr#12028, Patrick Donnelly)
  • cephfs: client: remove unnecessary bufferptr[] for writev (pr#11836, Patrick Donnelly)
  • cephfs: client: remove unneeded layout on MClientCaps (pr#11790, John Spray)
  • cephfs: client: set metadata[“root”] from mount method when it’s called with … (pr#12505, Jeff Layton)
  • cephfs: client: trim_caps() do not dereference cap if it’s removed (pr#12145, Kefu Chai)
  • cephfs: client: use unique_ptr (pr#11837, Patrick Donnelly)
  • cephfs: common/ceph_string: add ceph string constants for CEPH_SESSION_FORCE_RO (pr#11516, Zhi Zhang)
  • cephfs: Fix #17562 (backtrace check fails when scrubbing directory created by fsstress) (issue#17562, pr#11517, Yan, Zheng)
  • cephfs: fix missing ll_get for ll_walk (issue#18086, pr#12061, Gui Hecheng)
  • cephfs: get new fsmap after marking clusters down (issue#7271, issue#17894, pr#1262, Patrick Donnelly)
  • cephfs: Have ceph clear setuid/setgid bits on chown (issue#18131, pr#12331, Jeff Layton)
  • cephfs: libcephfs: add ceph_fsetattr&&ceph_lchmod&&ceph_lutime (pr#11191, huanwen ren)
  • cephfs: libcephfs: add readlink function in cephfs.pyx (pr#12384, huanwen ren)
  • cephfs: libcephfs and test suite fixes (issue#18013, issue#17982, pr#12228, Jeff Layton)
  • cephfs: libcephfs client API overhaul and update (pr#11647, Jeff Layton)
  • cephfs: lua: use simpler lua_next traversal structure (pr#11958, Patrick Donnelly)
  • cephfs: mds/Beacon: move C_MDS_BeaconSender class to .cc (pr#10940, Michal Jarzabek)
  • cephfs: mds/CDir.cc: remove unneeded use of count (pr#11613, Michal Jarzabek)
  • cephfs: mds/CInode.h: remove unneeded use of count (pr#11371, Michal Jarzabek)
  • cephfs: mds/DamageTable.cc: move shared ptrs (pr#11435, Michal Jarzabek)
  • cephfs: mds/DamageTable.cc: remove unneeded use of count (pr#11625, Michal Jarzabek)
  • cephfs: mds/DamageTable: move classes to .cc file (pr#11450, Michal Jarzabek)
  • cephfs: mds/flock: add const to member functions (pr#11692, Michal Jarzabek)
  • cephfs: mds/FSMap.cc: remove unneeded use of count (pr#11402, Michal Jarzabek)
  • cephfs: mds/FSMapUser.h: remove copy ctr and assign op (pr#11509, Michal Jarzabek)
  • cephfs: mds/InfoTable.h: add override to virtual functs (pr#11496, Michal Jarzabek)
  • cephfs: mds/InoTable.h: add override to virtual functs (pr#11604, Michal Jarzabek)
  • cephfs: mds/Mantle.h: include correct header files (pr#11886, Michal Jarzabek)
  • cephfs: mds/Mantle: pass parameters by const ref (pr#11713, Michal Jarzabek)
  • cephfs: mds/MDCache.h: remove unneeded call to clear func (pr#11954, Michal Jarzabek)
  • cephfs: mds/MDCache.h: remove unused functions (pr#11908, Michal Jarzabek)
  • cephfs: mds/MDLog: add const to member functions (pr#11663, Michal Jarzabek)
  • cephfs: mds/MDSMap.h: add const to member functions (pr#11511, Michal Jarzabek)
  • cephfs: mds/MDSRank: add const to member functions (pr#11752, Michal Jarzabek)
  • cephfs: mds/MDSRank.h: add override to virtual function (pr#11727, Michal Jarzabek)
  • cephfs: mds/MDSRank.h: make destructor protected (pr#11651, Michal Jarzabek)
  • cephfs: mds/MDSTableClient.h: add const to member funct (pr#11681, Michal Jarzabek)
  • cephfs: mds/Migrator.cc: remove unneeded use of count (pr#11523, Michal Jarzabek)
  • cephfs: mds/Migrator.h: add const to member functions (pr#11819, Michal Jarzabek)
  • cephfs: mds/Migrator.h: remove unneeded use of count (pr#11833, Michal Jarzabek)
  • cephfs: mds/Mutation.h: add const to member functions (pr#11670, Michal Jarzabek)
  • cephfs: mds/Mutation.h: simplify constructors (pr#11455, Michal Jarzabek)
  • cephfs: MDS: reduce usage of context wrapper (pr#11560, Yan, Zheng)
  • cephfs: mds/ScrubHeader.h: pass string by const reference (pr#11904, Michal Jarzabek)
  • cephfs: mds/server: merge the snapshot request judgment (pr#11150, huanwen ren)
  • cephfs: mds/SessionMap: add const to member functions (pr#11541, Michal Jarzabek)
  • cephfs: mds/SessionMap.cc: avoid copying and add const (pr#11297, Michal Jarzabek)
  • cephfs: mds/SessionMap.cc:put classes in unnamed namespace (pr#11316, Michal Jarzabek)
  • cephfs: mds/SessionMap.cc: remove unneeded use of count (pr#11338, Michal Jarzabek)
  • cephfs: mds/SessionMap.h: remove unneeded function (pr#11565, Michal Jarzabek)
  • cephfs: mds/SessionMap.h: remove unneeded use of count (pr#11358, Michal Jarzabek)
  • cephfs: mds/SnapRealm: remove unneeded use of count (pr#11609, Michal Jarzabek)
  • cephfs: mds/SnapServer.h: add override to virtual functs (pr#11380, Michal Jarzabek)
  • cephfs: mds/SnapServer.h: add override to virtual functs (pr#11583, Michal Jarzabek)
  • cephfs: mon/MDSMonitor: fix iterating over mutated map (issue#18166, pr#12395, John Spray)
  • cephfs: multimds: fix state check in Migrator::find_stale_export_freeze() (pr#12098, Yan, Zheng)
  • cephfs: osdc: After write try merge bh. (issue#17270, pr#11545, Jianpeng Ma)
  • cephfs: Partial organization of mds/ header sections (pr#11959, Patrick Donnelly)
  • cephfs: Port/bootstrap (pr#827, Yan, Zheng)
  • cephfs: Revert “osdc: After write try merge bh.” (issue#17270, pr#11262, John Spray)
  • cephfs: Small pile of random cephfs fixes and cleanup (pr#11421, Jeff Layton)
  • cephfs: src/mds: fix MDSMap upgrade decoding (issue#17837, pr#12097, John Spray)
  • cephfs: systemd: add ceph-fuse service file (pr#11542, Patrick Donnelly)
  • cephfs: test fragment size limit (issue#16164, pr#1069, Patrick Donnelly)
  • cephfs: test readahead is working (issue#16024, pr#1046, Patrick Donnelly)
  • cephfs: test: temporarily remove fork()ing flock tests (issue#16556, pr#11211, John Spray)
  • cephfs: tool/cephfs: displaying “list” in journal event mode (pr#11236, huanwen ren)
  • cephfs: tools/cephfs: add pg_files command (issue#17249, pr#11026, John Spray)
  • cephfs: tools/cephfs: add scan_links command which fixes linkages errors (pr#11446, Yan, Zheng)
  • cephfs: update tests to enable multimds when needed (pr#933, Greg Farnum)
  • cleanup: build: The Light Clangtastic (pr#11921, Adam C. Emerson)
  • cleanup,common: common/blkdev: use realpath instead of readlink to resolve the recurs… (pr#12462, Xinze Chi)
  • cleanup,common: common/throttle: simplify Throttle::_wait() (pr#11165, xie xingguo)
  • cleanup,common: src/common: remove nonused config option (pr#12311, Wei Jin)
  • cleanup: coverity fix: fixing few coverity issue (pr#9624, Gaurav Kumar Garg)
  • cleanup: deprecate readdir_r() with readdir() (pr#11805, Kefu Chai)
  • cleanup: erasure-code: fix gf-complete warning (pr#12150, Kefu Chai)
  • cleanup: fix typos (pr#12502, xianxiaxiao)
  • cleanup: mds/FSMap.cc: prevent unneeded copy of map entry (pr#11798, Michal Jarzabek)
  • cleanup: mds/FSMap.h: add const and reference (pr#11802, Michal Jarzabek)
  • cleanup: mds/FSMap: pass shared_ptr by const ref (pr#11383, Michal Jarzabek)
  • cleanup: mds/SnapServer: add const to member function (pr#11688, Michal Jarzabek)
  • cleanup: mon/MonCap.h: add std::move for std::string (pr#10722, Michal Jarzabek)
  • cleanup: mon/OSDMonitor: only show interesting flags in health warning (issue#18175, pr#12365, Sage Weil)
  • cleanup: msg/async: assert(0) -> ceph_abort() (pr#12339, Li Wang)
  • cleanup: msg/AsyncMessenger: remove unneeded include (pr#9846, Michal Jarzabek)
  • cleanup: msg/async/rdma: fix disconnect log line (pr#12254, Adir Lev)
  • cleanup: msg/async: remove unused member variable (pr#12387, Kefu Chai)
  • cleanup: msg: fix format specifier for unsigned value id (pr#11145, Weibing Zhang)
  • cleanup: msg/Pipe: move DelayedDelivery class to cc file (pr#10447, Michal Jarzabek)
  • cleanup: msg/test: fix the guided compile-command to ceph_test_msgr (pr#10490, Yan Jun)
  • cleanup: osd/PGBackend: build_push_op segment fault (pr#9357, Zengran Zhang)
  • cleanup: osd/PG.h: change PGRecoveryStats struct to class (pr#11178, Michal Jarzabek)
  • cleanup: osd/PG.h: remove unneeded forward declaration (pr#12135, Li Wang)
  • cleanup: osd/ReplicatedPG: remove unneeded use of count (pr#11251, Michal Jarzabek)
  • cleanup: os/filestore: clean filestore perfcounters (pr#11524, Wei Jin)
  • cleanup: os/fs/FS.cc: condition on WITH_AIO for FreeBSD (pr#11913, Willem Jan Withagen)
  • cleanup,rbd: cls_rbd: silence compiler warnings (pr#11363, xiexingguo)
  • cleanup,rbd: journal: avoid logging an error when a watch is blacklisted (issue#18243, pr#12473, Jason Dillaman)
  • cleanup,rbd: journal: prevent repetitive error messages after being blacklisted (issue#18243, pr#12497, Jason Dillaman)
  • cleanup,rbd: librbd/ImageCtx: no need for virtual dtor (pr#12220, Sage Weil)
  • cleanup,rbd: rbd-mirror: configuration overrides for hard coded timers (pr#11840, Dongsheng Yang)
  • cleanup,rbd: rbd-mirror: set SEQUENTIAL and NOCACHE advise flags on image sync (issue#17127, pr#12280, Mykola Golub)
  • cleanup: remove unneeded forward declaration (pr#12257, Li Wang, Yunchuan Wen)
  • cleanup: remove unused declaration (pr#12466, Li Wang, Yunchuan Wen)
  • cleanup,rgw: rgw multisite: move lease up to RunBucketSync instead of child crs (pr#11598, Casey Bodley)
  • cleanup,rgw: rgw/rest: don’t print empty x-amz-request-id (pr#10674, Marcus Watts)
  • cleanup,rgw: verified: f23 (pr#12103, Radoslaw Zarzynski)
  • cleanup: src/common/perf_counters.h: fix wrong word (pr#11690, zhang.zezhu)
  • cleanup: Wip ctypos (pr#12495, xianxiaxiao)
  • cleanup: xio: provide dout_prefix for XioConnection (pr#9444, Avner BenHanoch)
  • cleanup: yasm-wrapper: translate “-isystem $1” to “-i $1” (pr#12093, Kefu Chai)
  • cmake: add -Wno-unknown-pragmas to CMAKE_CXX_FLAGS (pr#12128, Kefu Chai)
  • cmake: check WITH_RADOSGW for fcgi and expat dependencies (pr#11481, David Disseldorp)
  • cmake: compile C code with c99 (pr#12369, Kefu Chai)
  • cmake: detect keyutils if WITH_LIBCEPHFS OR WITH_RBD (pr#12359, Kefu Chai)
  • cmake: do not link erasure tests again libosd (pr#11738, Kefu Chai)
  • cmake: find gperftools package for tcmalloc_minimal too (pr#11403, Bassam Tabbara)
  • cmake: fix boost build on ubuntu 16.10 yakkety (pr#12143, Bassam Tabbara)
  • cmake: Fix for cross compiling (pr#11404, Bassam Tabbara)
  • cmake: fix git version string, cleanup (pr#11661, Sage Weil)
  • cmake: librbd cleanup (pr#11842, Kefu Chai)
  • cmake: link tests against static librados (issue#17260, pr#11575, Kefu Chai)
  • cmake: pass CMAKE_BUILD_TYPE down to rocksdb (pr#11767, Kefu Chai)
  • cmake: remove include/Makefile.am (pr#11666, Kefu Chai)
  • cmake: replace civetweb symlink w/file copy (pr#11900, Matt Benjamin)
  • cmake: should link against ${ALLOC_LIBS} (pr#11978, Kefu Chai)
  • cmake: src/test/CMakeLists.txt: Exclude test on HAVE_BLKID (pr#12301, Willem Jan Withagen)
  • cmake: Support for embedding Ceph Daemons (pr#11764, Bassam Tabbara)
  • cmake: use external project for rocksdb (pr#11385, Bassam Tabbara)
  • common: Add throttle_get_started perf counter (pr#12163, Bartłomiej Święcki)
  • common: assert(0) -> ceph_abort() (pr#12031, Sage Weil)
  • common: auth: fix NULL pointer access when trying to delete CryptoAESKeyHandler instance (pr#11614, runsisi)
  • common,bluestore: compressor: fixes and tests; disable zlib isal (it’s broken) (pr#11349, Sage Weil)
  • common,bluestore: mempool: mempool infrastructure, bluestore changes to use it (pr#11331, Allen Samuels, Sage Weil)
  • common: buffer: add advance(unsigned) back (issue#17809, pr#11993, Kefu Chai)
  • common: buffer: add copy(unsigned, ptr) back (issue#17809, pr#12246, Kefu Chai)
  • common: client/Client.cc: fix/silence “logically dead code” CID-Error (pr#291, Yehuda Sadeh)
  • common: common/strtol.cc: Get error testing also to work on FreeBSD (pr#12034, Willem Jan Withagen)
  • common: fix clang compilation error (pr#12565, Mykola Golub)
  • common: FreeBSD/EventKqueue.{h,cc} Added code to restore events on (thread)fork (pr#11430, Willem Jan Withagen)
  • common: log/LogClient: fill seq & who for syslog and graylog (issue#16609, pr#10196, Xiaoxi Chen)
  • common: make l_finisher_complete_lat more accurate (pr#11637, Pan Liu)
  • common: msg/simple/Accepter.cc: replace shutdown() with selfpipe event in poll() (FreeBSD) (pr#10720, Willem Jan Withagen)
  • common: osdc/Objecter: fix relock race (issue#17942, pr#12234, Sage Weil)
  • common: osdc/Objecter: handle race between calc_target and handle_osd_map (issue#17942, pr#12055, Sage Weil)
  • common: osd/osdmap: fix divide by zero error (pr#12521, Yunchuan Wen)
  • common: release g_ceph_context before returns (issue#17762, pr#11733, Kefu Chai)
  • common: Remove the runtime dependency on lsb_release (issue#17425, pr#11365, Brad Hubbard)
  • common: test/fio: fix global CephContext life cycle (pr#12245, Igor Fedotov)
  • core: auth: tolerate missing MGR keys during upgrade (pr#11401, Sage Weil)
  • core,bluestore: os/bluestore: fix warning and uninit variable (pr#12032, Sage Weil)
  • core,bluestore: os: fix offsets for move_ranges operation (pr#11595, Sage Weil)
  • core,bluestore: os: remove move_ranges_destroy_src (pr#11791, Sage Weil)
  • core: ceph-disk: allow using a regular file as a journal (issue#17662, pr#11619, Jayashree Candadai, Loic Dachary)
  • core: ceph-disk: resolve race conditions (issue#17889, issue#17813, pr#12136, Loic Dachary)
  • core,cephfs: osdc/ObjectCacher: wake up dirty stat waiters after removing buffers (issue#17275, pr#11593, Yan, Zheng)
  • core: ceph.in: allow ‘flags’ to not be present in cmddescs (issue#18297, pr#12540, Dan Mick)
  • core,cleanup: ceph-disk: do not create bluestore wal/db partitions by default (issue#18291, pr#12531, Loic Dachary)
  • core,cleanup,common: common/TrackedOp: remove unused ‘now’ in _dump() (pr#12007, John Spray)
  • core,cleanup: FileStore: Only verify split when it has been really done and done correctly (pr#11731, Li Wang)
  • core,cleanup: kv: remove snapshot iterator (pr#12049, Sage Weil)
  • core,cleanup: mon/MonClient.h: remove repeated searching of map (pr#10601, Michal Jarzabek)
  • core,cleanup: msg: Fix typos in socket creation error message (pr#11907, Brad Hubbard)
  • core,cleanup: osd/command tell: check pgid at the right time (pr#11547, Javeme)
  • core,cleanup: osd/OSDMap.cc: fix duplicated assignment for new_blacklist_entries (pr#11799, Ker Liu)
  • core,cleanup: osd/PG.cc: prevent repeated searching of map/set (pr#11203, Michal Jarzabek)
  • core,cleanup: osd/ReplicatedPG: remove redundant check for balance/localize read (pr#10209, runsisi)
  • core,cleanup: osd/ReplicatedPG: remove unneeded use of count (pr#11242, Michal Jarzabek)
  • core,cleanup: os/filestore: handle EINTR returned by io_getevents() (pr#11890, Pan Liu)
  • core,cleanup: os/ObjectStore: remove legacy tbl support (pr#11770, Jianpeng Ma)
  • core,cleanup: scan build fixes (pr#12148, Kefu Chai)
  • core,cleanup: src: rename ReplicatedPG to PrimaryLogPG (pr#12487, Samuel Just)
  • core,cleanup: Wip scrub misc (pr#11397, David Zafman)
  • core,common: buffer: put buffers in buffer_{data,meta} mempools (pr#11839, Sage Weil)
  • core,common: msg: add entity_addr_t types; add new entity_addrvec_t type (pr#9825, Zhao Junwang, Sage Weil)
  • core,common: msg/simple/Pipe: handle addr decode error (issue#18072, pr#12221, Sage Weil)
  • core: compress: Fix compilation failure from missing header (pr#12108, Adam C. Emerson)
  • core: denc: don’t pass null instances into encoder fns (issue#17636, pr#11577, John Spray)
  • core: erasure-code: synchronize with upstream gf-complete (issue#18092, pr#12382, Loic Dachary)
  • core: FreeBSD/OSD.cc: add client_messenger to the avoid_ports set. (pr#12463, Willem Jan Withagen)
  • core: include/object: pass “snapid_t&” to bound_encode() (pr#11552, Kefu Chai)
  • core: kv/RocksDBStore: Don’t update rocksdb perf_context if rocksdb_perf di… (pr#12064, Jianpeng Ma)
  • core: librados-dev: install inline_memory.h (issue#17654, pr#11730, Josh Durgin)
  • core: messages/MForward: reencode forwarded message if target has differing features (pr#11610, Sage Weil)
  • core,mgr: messages: fix out of range assertion (pr#11345, John Spray)
  • core: mon,ceph-disk: add lockbox permissions to bootstrap-osd (issue#17849, pr#11996, Loic Dachary)
  • core: mon: make it more clearly to debug for paxos state (pr#12438, song baisen)
  • core: mon/OSDMonitor: encode full osdmaps with features all OSDs can understand (pr#11284, Sage Weil)
  • core: mon/OSDMonitor: encode OSDMap::Incremental with same features as OSDMap (pr#11596, Sage Weil)
  • core: mon/OSDMonitor: newly created osd should not be wrongly marked in (pr#11795, runsisi)
  • core: mon/OSDMonitor: remove duplicate jewel/kraken flag warning (pr#11775, Josh Durgin)
  • core: mon/PGMap: PGs can be stuck more than one thing (issue#17515, pr#11339, Sage Weil)
  • core: mon: print the num_pools and num_objects in ‘ceph -s -f json/json-p… (issue#17703, pr#11654, huangjun)
  • core: msg/async/AsyncConnection: dispatch write handler on keepalive2 (issue#17664, pr#11601, Ilya Dryomov)
  • core: msg/async: DPDKStack as AsyncMessenger backend (pr#10748, Haomai Wang)
  • core: msg/async/rdma: change log level: 0 -> 1 (pr#12334, Avner BenHanoch)
  • core: msg/async/rdma: don’t use more buffers than what device capabilities … (pr#12263, Avner BenHanoch)
  • core: msg/async/rdma: ensure CephContext existed (pr#12068, Haomai Wang)
  • core: msg/async/rdma: event polling thread can block on event (pr#12270, Haomai Wang)
  • core: msg/async/rdma: fixup memory free (pr#12236, gongchuang)
  • core: msg/async/rdma: set correct value to memory manager (pr#12299, Adir Lev)
  • core: msg/async: set nonce before starting the workers (pr#12390, Kefu Chai)
  • core: msg: make loopback Connection feature accurate all the time (pr#11183, Sage Weil)
  • core: msg: seed random engine used for ms_type=”random” (pr#11880, Casey Bodley)
  • core: msg/simple/Pipe: avoid returning 0 on poll timeout (issue#18184, pr#12375, Sage Weil)
  • core: msg/simple/Pipe::stop_and_wait: unlock pipe_lock for stop_fast_dispatching() (issue#18042, pr#12307, Samuel Just)
  • core: msg/simple: save the errno in case being changed by subsequent codes (pr#10297, Yan Jun)
  • core: osd/ECTransaction: only write out the hinfo if not delete (issue#17983, pr#12141, Samuel Just)
  • core: OSDMonitor: only reject MOSDBoot based on up_from if inst matches (issue#17899, pr#12003, Samuel Just)
  • core: osd,mon: require sortbitwise flag to upgrade beyond jewel (pr#11772, Sage Weil)
  • core: osd/osd_types: fix the osd_stat_t::decode() (pr#12235, Kefu Chai)
  • core: osd/PG: add “down” pg state (distinct from down+peering) (pr#12289, Sage Weil)
  • core: osd/PGLog::proc_replica_log,merge_log: fix bound for last_update (issue#18127, pr#12340, Samuel Just)
  • core: osd/ReplicatedPG: do_update_log_missing: take the pg lock in the callback (issue#17789, pr#11754, Samuel Just)
  • core: osd/ReplicatedPG::record_write_error: don’t leak orig_reply on cancel (issue#18180, pr#12450, Samuel Just)
  • core: os/filestore: avoid to get the wrong hardlink number. (pr#11841, huangjun)
  • core: os/filestore/chain_xattr.h:uses ENODATA, so include compat.h (pr#12279, Willem Jan Withagen)
  • core: os/filestore: Fix erroneous WARNING: max attr too small (issue#17420, pr#11246, Brad Hubbard)
  • core: os/FileStore: fix fiemap issue in xfs when #extents > 1364 (pr#11554, Ning Yao)
  • core: os/filestore: fix journal logger (pr#12099, Wei Jin)
  • core: os/filestore: fix potential result code overwriting (pr#11491, xie xingguo)
  • core: os/filestore/HashIndex: fix list_by_hash_* termination on reaching end (issue#17859, pr#11898, Sage Weil)
  • core: os/ObjectStore: properly clear object map when replaying OP_REMOVE (issue#17177, pr#11388, Yan, Zheng)
  • core,performance: msg/async: ibverbs/rdma support (pr#11531, Haomai Wang, Zhi Wang)
  • core,performance: osd/OSDMap.cc: remove unneeded use of count (pr#11221, Michal Jarzabek)
  • core,performance: osd/PrimaryLogPG: don’t truncate if we don’t have to for WRITEFULL (pr#12534, Samuel Just)
  • core,performance: os/fs/FS: optimize aio::pwritev which make caller provide length. (pr#9062, Jianpeng Ma)
  • core,pybind,common: python-rados: implement new aio_execute (pr#12140, Iain Buclaw)
  • core,rbd,bluestore,rgw,performance,cephfs: fast denc encoding (pr#11027, Sage Weil)
  • core: remove spurious executable permissions on source code files (pr#1061, Samuel Just)
  • core: ReplicatedPG::failed_push: release read lock on failure (issue#17857, pr#11914, Kefu Chai)
  • core: rocksdb: update to latest, and make it the default for the mons (pr#11354, Sage Weil)
  • core: set dumpable flag after setuid (issue#17650, pr#11582, Patrick Donnelly)
  • core: systemd/ceph-disk: reduce ceph-disk flock contention (issue#18049, issue#13160, pr#12200, David Disseldorp)
  • core: tchaikov (issue#17713, pr#11382, Haomai Wang)
  • core,tests: ceph_test_rados_api_tier: dump hitset that we fail to decode (issue#17945, pr#12057, Sage Weil)
  • core,tests: common osd: Improve scrub analysis, list-inconsistent-obj output and osd-scrub-repair test (issue#18114, pr#9613, Kefu Chai, David Zafman)
  • core,tests: test,cmake: turn unit.h into unit.cc to speed up compilation (pr#12194, Kefu Chai)
  • core,tests: test/rados/list.cc: Memory leak in ceph_test_rados_api_list (issue#18250, pr#12479, Brad Hubbard)
  • core,tests: workunits/ceph-helpers.sh: Fixes for FreeBSD (pr#12085, Willem Jan Withagen)
  • core,tools: Added append functionality to rados tool. (pr#11036, Tomy Cheru)
  • core,tools: Tested-by: Huawen Ren <ren.huanwen@zte.com.cn> (issue#17400, pr#11276, Kefu Chai)
  • core,tools: vstart: decrease pool size if <3 OSDs (pr#11528, John Spray)
  • crush: make counting of choose_tries consistent (issue#17229, pr#10993, Vicente Cheng)
  • crush: remove the crush_lock (pr#11830, Adam C. Emerson)
  • crush: Silence coverity warnings for test/crush/crush.cc (pr#12436, Brad Hubbard)
  • doc: Add doc about osd scrub {during recovery|chunk {min|max}| sleep} (pr#12176, Paweł Sadowski)
  • doc: Add docs about looking up Monitors through DNS (issue#14527, pr#10852, Wido den Hollander)
  • doc: add docs for raw compression (pr#12244, Casey Bodley)
  • doc: Add documentation about mon_allow_pool_delete before pool remove (pr#11943, Wido den Hollander)
  • doc: add infernalis EOL date (pr#11925, Ken Dreyer)
  • doc: adding changelog for v10.2.4 (pr#12346, Abhishek Lekshmanan)
  • doc: Add MON docs about pool flags and pool removal config settings (pr#10853, Wido den Hollander)
  • doc: add python-rgw doc (pr#11859, Kefu Chai)
  • doc: change the osd_max_backfills default to 1 (issue#17701, pr#11658, huangjun)
  • doc: clarify file deletion from OSD restricted pool behaviour (issue#17937, pr#12054, David Disseldorp)
  • doc: clarify mds deactivate purpose (pr#11957, Patrick Donnelly)
  • doc: common/Throttle: fix typo for BackoffThrottle (pr#12129, Wei Jin)
  • doc: correcting the object name (pr#12354, Uday Mullangi)
  • doc: Correcting the sample python tempurl generation script. (issue#15258, pr#8712, Diwakar Goel)
  • doc: Coverity and SCA fixes (pr#7784, Danny Al-Gaaf)
  • doc: doc/dev/osd_internals: add pgpool.rst (pr#12500, Brad Hubbard)
  • doc: doc/dev/perf: a few notes on perf (pr#12168, Sage Weil)
  • doc: doc/dev/perf: fix dittography (pr#12317, xie xingguo)
  • doc: doc/man: avoid file builtin to solve build error (pr#11984, Patrick Donnelly)
  • doc: doc/rados/configuration/ms-ref.rst: document a few async msgr options (pr#12126, Piotr Dałek)
  • doc: doc/rados/configuration/osd-config-ref.rst: document the fast mark down (pr#12124, Piotr Dałek)
  • doc: doc/release-notes: kraken release notes (draft) (pr#12338, Sage Weil)
  • doc: doc/releases: add links to kraken and v10.2.4 (pr#12409, Kefu Chai)
  • doc: doc/start/hardware-recommentdations: cosmetic (pr#10585, Zhao Junwang)
  • doc: Documentation syntax cleanup (pr#11784, John Spray)
  • doc: document osd tell bench (issue#5431, pr#16, Sage Weil)
  • doc: drop –journal-check from ceph-mds man page (issue#17747, pr#11912, Nathan Cutler)
  • doc: explain rgw_fcgi_socket_backlog in rgw/config-ref.rst (pr#12548, liuchang0812)
  • doc: final additions to 11.1.0-rc release notes (pr#12448, Abhishek Lekshmanan)
  • doc: Fix broken link for caps (issue#17587, pr#11546, Uday Mullangi)
  • doc: fix broken links (issue#17587, pr#11518, Uday Mullangi)
  • doc: fix dead link “Hardware Recommendations” (pr#11379, Leo Zhang)
  • doc: fix dead link of “os-recommendations” in troubleshooting-osd (pr#11454, Leo Zhang)
  • doc: Fixed mapping error in legacy mds command (pr#11668, Malte Fiala)
  • doc: Fix for worker arguments to cephfs-data-scan tool (pr#12360, Wido den Hollander)
  • doc: fix grammar/spelling in RGW sections (pr#12329, Ken Dreyer)
  • doc: Fixing the broken hyperlinks by pointing to correct documentation. (pr#11617, Uday Mullangi)
  • doc: fix librados example programs (pr#11302, Alexey Sheplyakov)
  • doc: fix mgr literal block rST syntax (pr#11652, Ken Dreyer)
  • doc: fix start development cluster operation in index.rst (pr#11233, Leo Zhang)
  • doc: fix the script for rebuild monitor db (pr#11962, Kefu Chai)
  • doc: fix typos (pr#8751, Li Peng)
  • doc: Flag deprecated mds commands and omit deprecated mon commands in help output (pr#11434, Patrick Donnelly)
  • doc: mailmap: change personal info (pr#12310, Wei Jin)
  • doc: mailmap updates sept (pr#10955, Yann Dupont)
  • doc: mds: fixup “mds bal mode” Description (pr#12127, huanwen ren)
  • doc: mention corresponding libvirt section in nova.conf (pr#12584, Marc Koderer)
  • doc: Modify documentation for mon_osd_down_out_interval (pr#12408, Brad Hubbard)
  • doc: network-protocol typos (pr#9837, Zhao Junwang)
  • doc: openstack glance mitaka uses show_multiple_locations (pr#12020, Sébastien Han)
  • doc: README.FreeBSD: update to match the bimonthly FreeBSD status report (pr#11442, Willem Jan Withagen)
  • doc: README: hint at where to look to diagnose test failures (pr#11903, Dan Mick)
  • doc: reformat SubmittingPatches with more rst syntax (pr#11570, Kefu Chai)
  • doc: release notes for 10.2.4 (pr#12053, Abhishek Lekshmanan)
  • doc: release notes for 10.2.5 (issue#18207, pr#12410, Loic Dachary)
  • doc: release notes for 11.0.2 (pr#11369, Abhishek Lekshmanan)
  • doc: Remove duplicate command for Ubuntu (pr#12186, chrone)
  • doc: reviewed-by: John Wilkins <jowilkin@redhat.com> (issue#17526, pr#11352, Loic Dachary)
  • doc: reviewed-by: John Wilkins <jowilkin@redhat.com> (issue#17665, pr#11602, Jason Dillaman)
  • doc: rgw: fix a typo in S3 java api example (pr#11762, Weibing Zhang)
  • doc: rm “type=rpm-md” from yum repositories (pr#10248, Ken Dreyer)
  • doc: Small styling fix to mirror documentation (pr#9714, Wido den Hollander)
  • doc: src/doc: fix class names in exports.txt (pr#12000, John Spray)
  • doc: standardize EPEL instructions (pr#11653, Ken Dreyer)
  • doc: update cinder key permissions for mitaka (pr#12211, Sébastien Han)
  • doc: Update crush-map.rst, fix a typo mistake (pr#11785, whu_liuchang)
  • doc: Update filestore xattr config documentation. (pr#11826, Bartłomiej Święcki)
  • doc: Update install-ceph-gateway.rst (pr#11432, Hans van den Bogert)
  • doc: Update keystone doc about v3 options (pr#11392, Proskurin Kirill)
  • doc: Update layout.rst, move commands to CODE block (pr#11987, liuchang0812)
  • doc: we can now run multiple MDS, so qualify warning (issue#18040, pr#12184, Nathan Cutler)
  • fs: add snapshot tests to mds thrashing (pr#1073, Yan, Zheng)
  • fs: enable ceph-fuse permission checking for all pjd suites (pr#1187, Greg Farnum)
  • fs: fix two frag_enable fragments (issue#6143, pr#656, Sage Weil)
  • fs: fix up dd testing again (issue#10861, pr#373, Greg Farnum)
  • fs: fuse_default_permissions = 0 for kernel build test (pr#1109, Patrick Donnelly)
  • fs: Mantle: A Programmable Metadata Load Balancer (pr#10887, Michael Sevilla)
  • fs: unify common parts of sub-suites (issue#1737, pr#1282, Patrick Donnelly)
  • librados: Add rados_aio_exec to the C API (pr#11709, Iain Buclaw)
  • librados: add timeout to watch/notify (pr#11378, Ryne Li)
  • librados: do not request osd ack if no completed completion is set (pr#11204, Sage Weil)
  • librados: For C-API, expose LIBRADOS_OPERATION_FULL_FORCE flag (pr#9172, Jianpeng Ma)
  • librados: improvements async IO in librados and libradosstriper (pr#10049, Sebastien Ponce)
  • librados: Memory leaks in object_list_begin and object_list_end (issue#18252, pr#12482, Brad Hubbard)
  • librados: postpone cct deletion (pr#11659, Kefu Chai)
  • librados: remove new setxattr overload to avoid breaking the C++ ABI (issue#18058, pr#12206, Josh Durgin)
  • librados: remove unused bufferlist from rados_write_op_rmxattr (pr#12030, Piotr Dałek)
  • librbd: add support for snapshot namespaces (pr#11160, Victor Denisov)
  • librbd: API changes to support separate data pool (pr#11353, Jason Dillaman)
  • librbd: batch object map updates during trim (issue#17356, pr#11510, Venky Shankar)
  • librbd: bug fixes for optional data pool support (pr#11960, Venky Shankar)
  • librbd: cannot access non-primary image when mirroring force disabled (issue#16740, issue#17588, pr#11568, Jason Dillaman)
  • librbd: cls_rbd updates for separate data pool (issue#17422, pr#11327, Jason Dillaman)
  • librbd: default features should be negotiated with the OSD (issue#17010, pr#11808, Mykola Golub)
  • librbd: diffs to clone’s first snapshot should include parent diffs (issue#18068, pr#12218, Jason Dillaman)
  • librbd: do not create empty object map object on image creation (issue#17752, pr#11704, Jason Dillaman)
  • librbd: enabling/disabling rbd feature should report missing dependency (issue#16985, pr#12238, Gaurav Kumar Garg)
  • librbd: ensure consistency groups will gracefully fail on older OSDs (pr#11623, Jason Dillaman)
  • librbd: exclusive lock incorrectly initialized when switching to head revision (issue#17618, pr#11559, Jason Dillaman)
  • librbd: fix rollback if failed to disable mirroring for image (pr#11260, runsisi)
  • librbd: ignore error when object map is already locked by current client (issue#16179, pr#12484, runsisi)
  • librbd: ignore notify errors on missing image header (issue#17549, pr#11395, Jason Dillaman)
  • librbd: keep rbd_default_features setting as bitmask (issue#18247, pr#12486, Jason Dillaman)
  • librbd: mark request as finished after failed refresh (issue#17973, pr#12160, Venky Shankar)
  • librbd: minor cleanup (pr#12078, Dongsheng Yang)
  • librbd: new API method to force break a peer’s exclusive lock (issue#18429, issue#16988, issue#18327, pr#12889, Jason Dillaman)
  • librbd: parse rbd_default_features config option as a string (pr#11175, Alyona Kiseleva, Alexey Sheplyakov)
  • librbd: possible assert failure creating image when using data pool (pr#11641, Venky Shankar)
  • librbd: proper check for get_data_pool compatibility (issue#17791, pr#11755, Mykola Golub)
  • librbd: properly order concurrent updates to the object map (issue#16176, pr#12420, Jason Dillaman)
  • librbd: release lock after demote (issue#17880, pr#11940, Mykola Golub)
  • librbd: remove consistency group rbd cli and API support (issue#18231, pr#12475, Jason Dillaman)
  • librbd: remove image header lock assertions (issue#18244, pr#12472, Jason Dillaman)
  • librbd: remove unused local variable (pr#12388, Yunchuan Wen)
  • librbd: silence the unused variable warning (pr#11678, Kefu Chai)
  • librbd: snap_get_limit compatibility check (pr#11766, Mykola Golub)
  • librbd: update internals to use optional separate data pool (pr#11356, Jason Dillaman)
  • librbd: use proper snapshot when computing diff parent overlap (issue#18200, pr#12396, Xiaoxi Chen)
  • log: optimize header file dependency (pr#9768, Xiaowei Chen)
  • mds: add debug assertion for issue #17636 (pr#11576, Yan, Zheng)
  • mds: add tests for mantle (programmable balancer) (pr#1145, Michael Sevilla)
  • mds: check if down mds is known (issue#17670, pr#11611, Patrick Donnelly)
  • mds: don’t access mdsmap from log submit thread (issue#18047, pr#12208, Yan, Zheng)
  • mds: don’t maintain bloom filters in standby replay (issue#16924, pr#12133, John Spray)
  • mds: enable rmxattr on pool_namespace attrs (issue#17797, pr#11783, John Spray)
  • mds: fix dropping events in standby replay (issue#17954, pr#12077, John Spray)
  • mds: fix EMetaBlob::fullbit xattr dump (pr#11536, Sage Weil)
  • mds: fix false “failing to respond to cache pressure” warning (pr#11373, Yan, Zheng)
  • mds: force client flush snap data before truncating objects (issue#17193, pr#11994, Yan, Zheng)
  • mds: handle bad standby_for_fscids in fsmap (issue#17466, pr#11281, John Spray)
  • mds: ignore ‘session evict’ when mds is replaying log (issue#17801, pr#11813, Yan, Zheng)
  • mds: include legacy client fsid in FSMap print (pr#11283, John Spray)
  • mds: more deterministic timing on frag split/join (issue#17853, pr#12022, John Spray)
  • mds: more unique_pointer changes (pr#11635, Patrick Donnelly)
  • mds: properly commit new dirfrag before splitting it (issue#17990, pr#12125, Yan, Zheng)
  • mds: release pool allocator memory after exceeding size limit (issue#18225, pr#12443, John Spray)
  • mds: remove duplicated log in handle_client_readdir (pr#11806, Zhi Zhang)
  • mds: remove “–journal-check” help text (issue#17747, pr#11739, Nathan Cutler)
  • mds: remove unused EFragment::OP_ONESHOT (pr#11887, John Spray)
  • mds: repair backtraces during scrub (issue#17639, pr#11578, John Spray)
  • mds: require MAY_SET_POOL to set pool_ns (issue#17798, pr#11789, John Spray)
  • mds: respawn using /proc/self/exe (issue#17531, pr#11362, Patrick Donnelly)
  • mds: revert “mds/Mutation: remove redundant _dump method” (issue#17906, pr#11985, Patrick Donnelly)
  • mds: use parse_filesystem in parse_role to handle exceptions and reuse parsing code (issue#17518, pr#11357, Patrick Donnelly)
  • mds: use projected path construction for access (issue#17858, pr#12063, Patrick Donnelly)
  • mds: use unique_ptr to simplify resource mgmt (pr#11543, Patrick Donnelly)
  • mgr: doc/mgr: fix mgr how long to wait to failover (pr#11550, huanwen ren)
  • mgr: init() return when connection daemons failed && add some err info (pr#11424, huanwen ren)
  • mgr: misc minor changes (issue#17455, pr#11386, xie xingguo)
  • mgr: PyModules.cc: remove duplicated if condition for fs_map (pr#11639, Weibing Zhang)
  • mgr: remove unnecessary C_StdFunction (pr#11883, John Spray)
  • mon: add missing space in warning message (pr#11361, Patrick Donnelly)
  • mon: clean legacy code (pr#9643, Wei Jin)
  • mon: clear duplicated logic in MDSMonitor (pr#11209, Zhi Zhang)
  • mon: Do not allow pools to be deleted by default (pr#11665, Wido den Hollander)
  • mon: fix “OSDs marked OUT wrongly after monitor failover” (issue#17719, pr#11664, Dong Wu)
  • mon: Forbidden copy and assignment function in monoprequest (pr#9513, song baisen)
  • mon: have mon-specific features & rework internal monmap structures (pr#10907, Joao Eduardo Luis)
  • mon: if crushtool config is empty use internal crush test (pr#11765, Bassam Tabbara)
  • mon: make MDSMonitor tolerant of slow mon elections (issue#17308, pr#11167, John Spray)
  • mon: MonmapMonitor: return success when monitor will be removed (issue#17725, pr#11747, Joao Eduardo Luis)
  • mon: move case CEPH_MSG_POOLOP to OSDs group (pr#11848, Javeme)
  • mon: osdmap’s epoch should be more than 0 (pr#9859, Na Xie)
  • mon: OSDMonitor: fix the check error of pg creating (issue#17169, pr#10916, DesmondS)
  • mon: paxos add the timeout function when peon recovery (pr#10359, song baisen)
  • mon: preserve osd weight when marking osd out, then in (pr#11293, Sage Weil)
  • mon: prevent post-jewel OSDs from booting if require_jewel_osds is not set (pr#11498, Sage Weil)
  • mon: remove ceph-create-keys from mon startup (issue#16036, pr#9345, Owen Synge)
  • mon: remove the redudant jugement in LogMonitor tick function (pr#10474, song baisen)
  • mon: remove utime_t param in _dump (pr#12029, Patrick Donnelly)
  • mon: send updated monmap to its subscribers (issue#17558, pr#11456, Kefu Chai)
  • mon: small change on the HealthMonitor start_epoch function (pr#10296, songbaisen)
  • mon: support for building without leveldb + mon mkfs bug fix (pr#11800, Bassam Tabbara)
  • osd: add a pg _fastinfo attribute to reduce per-io metadata updates (pr#11213, Sage Weil)
  • osd: Add config option to disable new scrubs during recovery (issue#17866, pr#11874, Wido den Hollander)
  • osd: a few fast dispatch optimizations (pr#12052, Sage Weil)
  • osd: cleanup C_CompleteSplits::finish() (pr#12094, Jie Wang)
  • osd: clean up PeeringWQ::_dequeue(), remove unnecessary variable (pr#12117, Jie Wang)
  • osd: clean up process_peering_events (pr#12009, Jie Wang)
  • osdc/Objecter: resend pg commands on interval change (issue#18358, pr#12910, Samuel Just)
  • osd: condition OSDMap encoding on features (pr#12166, Sage Weil)
  • osd: default osd_scrub_during_recovery=false (pr#12402, Sage Weil)
  • osd: do not open pgs when the pg is not in pg_map (issue#17806, pr#11803, Xinze Chi)
  • osd: drop stray debug message (pr#11296, Sage Weil)
  • osd: EC Overwrites (issue#17668, pr#11701, Tomy Cheru, Samuel Just)
  • osd: enhance logging for osd network error (pr#12458, liuchang0812)
  • osd: fix CEPH_OSD_FLAG_RWORDERED (pr#12603, Sage Weil)
  • osd: fix duplicated id of incompat feature “fastinfo” (pr#11588, xie xingguo)
  • osd: fix ec scrub errors (issue#17999, pr#12306, Samuel Just)
  • osd: fixes to make rbd on ec work (pr#12305, Samuel Just)
  • osd: Fix map gaps again (bug 15943) (issue#15943, pr#12571, Samuel Just)
  • osd: fix memory leak from EC write workload (issue#18093, pr#12256, Sage Weil)
  • osd: fix rados write op hang (pr#11143, Yunchuan Wen)
  • osd: Fix read error propogation in ECBackend (issue#17966, pr#12142, Samuel Just)
  • osd: fix scrub boundary to not include a SnapSet (pr#11255, Samuel Just)
  • osd: fix signed/unsigned comparison warning (pr#12400, Greg Farnum)
  • osd: fix typo in PG::clear_primary_state (pr#11513, Brad Hubbard)
  • osd: Fix typos in PG::find_best_info (pr#11515, Brad Hubbard)
  • osd: fix typos in “struct OSDOp” comments (pr#12350, Chanyoung Park)
  • osd: Flush Journal on shutdown (pr#11249, Wido den Hollander)
  • osd: force watch PING to be write ordered (issue#18310, pr#12590, Samuel Just)
  • osd: handle EC recovery read errors (issue#13937, pr#9304, David Zafman)
  • osd: heartbeat peers need to be updated when a new OSD added into an existed cluster (issue#18004, pr#12069, Pan Liu)
  • osd: Increase priority for inactive PGs backfill (pr#12389, Bartłomiej Święcki)
  • osd: kill PG_STATE_SPLITTING (pr#11824, xie xingguo)
  • osd: mark queued flag for op (pr#12352, Yunchuan Wen)
  • osd: osdc: pass a string reference type to “osdmap->lookup_pg_pool_name” (pr#12219, Leo Zhang)
  • osd: osd/OSDMonitor: accept ‘osd pool set ...’ value as string (pr#911, David Zafman)
  • osd: PGLog: initialize writeout_from in PGLog constructor (issue#12973, pr#558, Sage Weil)
  • osd/PrimaryLogPG: don’t update digests for objects with mismatched names (issue#18409, pr#12803, Samuel Just)
  • osd/PrimaryLogPG::failed_push: update missing as well (issue#18165, pr#12911, Samuel Just)
  • osd: print log when osd want to kill self (pr#9288, Haomai Wang)
  • osd: Remove extra call to reg_next_scrub() during splits (issue#16474, pr#11206, David Zafman)
  • osd: remove redudant call of heartbeat_check (pr#12130, Pan Liu)
  • osd: remove the lock heartbeat_update_lock, and change heatbeat_need_… (pr#12461, Pan Liu)
  • osd: remove the redundant clear method in consume_map function (pr#10553, song baisen)
  • osd: Remove unused ‘_lsb_release_’ declarations (pr#11364, Brad Hubbard)
  • osd: replace hb_out and hb_in with a single hb_peers (issue#18057, pr#12178, Pan Liu)
  • osd: ReplicatedPG: don’t bless C_OSD_SendMessageOnConn (issue#13304, pr#669, Jason Dillaman)
  • osd: set server-side limits on omap get operations (pr#12059, Sage Weil)
  • osd: When deep-scrub errors present upgrade regular scrubs (pr#12268, David Zafman)
  • performance,bluestore: kv/MemDB: making memdb code adapt to generic maps (pr#11436, Ramesh Chander)
  • performance,bluestore: os/bluestore: allow default to buffered write (pr#11301, Sage Weil)
  • performance,bluestore: os/bluestore: bluestore_cache_meta_ratio = .5 (pr#11919, Sage Weil)
  • performance,bluestore: os/bluestore: reduce Onode in-memory footprint (pr#12568, Igor Fedotov)
  • performance,bluestore: os/bluestore: refactor bluestore_sync_submit_transaction (pr#11537, Sage Weil)
  • performance,bluestore: os/bluestore: speed up omap-key generation for same onode(the read paths) (pr#11894, xie xingguo)
  • performance,bluestore: os/bluestore: speedup the performance of multi-replication flow by switc… (pr#11844, Pan Liu)
  • performance,cephfs: Fix long stalls when calling ceph_fsync() (issue#17563, pr#11710, Jeff Layton)
  • performance,cleanup: Context: std::move the callback param in FunctionContext’s ctor (pr#11892, Kefu Chai)
  • performance,cleanup: osd/PG.h: move shared ptr instead of copying it (pr#11154, Michal Jarzabek)
  • performance,common: common/config_opts.h: Optimized RocksDB WAL settings. (pr#11530, Mark Nelson)
  • performance,common: osd/OSDMap: improve the performance of pg_to_acting_osds (pr#12190, Pan Liu)
  • performance: msg/async: set ms_async_send_inline to false to improve small randread iops (pr#11521, Mark Nelson)
  • performance,tools: rados: add hints to rados bench (pr#12169, Sage Weil)
  • pybind: avoid “exception ‘int’ object is not iterable” (pr#11532, Javeme)
  • pybind,cephfs: ceph_volume_client: fix recovery from partial auth update (issue#17216, pr#11304, Ramana Raja)
  • pybind,cephfs: ceph_volume_client: set an existing auth ID’s default mon caps (issue#17800, pr#11917, Ramana Raja)
  • pybind: ceph-rest-api: understand the new style entity_addr_t representation (issue#17742, pr#11686, Kefu Chai)
  • pybind: clean up mgr stuff for flake8 (pr#11314, John Spray)
  • pybind: fix build failure of rgwfile binding (pr#11825, Kefu Chai)
  • pybind: pybind/rados: add missing “length” requires for aio_execute() (pr#12439, Kefu Chai)
  • pybind: pybind/rados: Add @requires for all aio methods (pr#12327, Iain Buclaw)
  • qa: fixed distros links (pr#12773, Yuri Weinstein)
  • qa: Fixed link to centos distro (pr#12768, Yuri Weinstein)
  • qa/suites: switch from centos 7.2 to 7.x (pr#12632, Sage Weil)
  • qa/tasks/peer: update task based on current peering behavior (issue#18330, pr#12614, Sage Weil)
  • qa/tasks/workunit: clear clone dir before retrying checkout (issue#18336, pr#12630, Sage Weil)
  • qa: update Ubuntu image url after ceph.com refactor (issue#18542, pr#12960, Jason Dillaman)
  • qa/workunits/rbd/test_lock_fence.sh fails (issue#18388, pr#12752, Nathan Cutler)
  • rbd: added rbd-nbd fsx test case (pr#1049, Jason Dillaman)
  • rbd: add fsx journal replay test case (pr#821, Jason Dillaman)
  • rbd: add singleton to assert no rbdmap regression (issue#14984, pr#902, Nathan Cutler)
  • rbd: add some missing workunits (pr#870, Josh Durgin)
  • rbd: add support for separate image data pool (issue#17424, pr#11355, Jason Dillaman)
  • rbd: expose rbd unmap options (issue#17554, pr#11370, Ilya Dryomov)
  • rbd: fix json formatting for image and journal status output (issue#18261, pr#12525, Mykola Golub)
  • rbd: fix parsing of group and image specific pools (pr#11632, Victor Denisov)
  • rbd: journal: do not prematurely flag object recorder as closed (issue#17590, pr#11520, Jason Dillaman)
  • rbd: krbd: kernel client expects ip[:port], not an entity_addr_t (pr#11902, Ilya Dryomov)
  • rbd: –max_part and –nbds_max options for nbd map (issue#18186, pr#12379, Pan Liu)
  • rbd: move nbd test workload to separate client host from OSDs (pr#1170, Jason Dillaman)
  • rbd: provision volumes to format as XFS (issue#6693, pr#1028, Loic Dachary)
  • rbd: rbd-mirror: fix sparse read optimization in image sync (issue#18146, pr#12368, Mykola Golub)
  • rbd: rbd-mirror HA: move librbd::image_watcher::Notifier to librbd::object_watcher (issue#17017, pr#11290, Mykola Golub)
  • rbd: rbd-mirror: recovering after split-brain (issue#16991, issue#18051, pr#12212, Mykola Golub)
  • rbd: rbd-mirror: snap protect of non-layered image results in split-brain (issue#16962, pr#11744, Mykola Golub)
  • rbd: rbd-nbd: disallow mapping images >2TB in size (issue#17219, pr#11741, Mykola Golub)
  • rbd: rbd-nbd: invalid error code for “failed to read nbd request” messages (issue#18242, pr#12483, Mykola Golub)
  • rbd: rbd-nbd: restart parent process logger after forking (issue#18070, pr#12222, Jason Dillaman)
  • rbd: rbd-nbd: support disabling auto-exclusive lock transition logic (issue#17488, pr#11438, Mykola Golub)
  • rbd: rbd-nbd: support partition for rbd-nbd mapped raw block device (issue#18115, pr#12259, Pan Liu)
  • rbd: tests with rbd_skip_partial_discard option enabled (pr#1077, Mykola Golub)
  • rbd,tools: rbd : make option –stripe-unit w/ B/K/M work (pr#12407, Jianpeng Ma)
  • rbd: updated tests to use new rbd default feature set (pr#842, Jason Dillaman)
  • rbd: use snap_remove implementation from internal (pr#12035, Victor Denisov)
  • rgw: add default zone name (issue#7009, pr#954, Orit Wasserman)
  • rgw: add documentation for upgrading with rgw_region_root_pool (pr#12138, Orit Wasserman)
  • rgw: add option to log custom HTTP headers (rgw_log_http_headers) (pr#7639, Matt Benjamin)
  • rgw: add recovery procedure for upgrade to older version of jewel (issue#17820, pr#11827, Orit Wasserman)
  • rgw: add rgw_compression_type=random for teuthology testing (pr#11901, Casey Bodley)
  • rgw: add sleep to let the sync agent init (pr#1136, Orit Wasserman)
  • rgw: add suport for creating S3 type subuser of admin rest api (issue#16682, pr#10325, snakeAngel2015)
  • rgw: add support for the prefix parameter in account listing of Swift API (issue#17931, pr#12047, Radoslaw Zarzynski)
  • rgw: allow fastcgi idle timeout to be adjusted (pr#230, Sage Weil)
  • rgw: also approve, passed teuthology (many false positives in several classes) (issue#17985, pr#12224, Yehuda Sadeh, Sage Weil)
  • rgw: Anonymous users shouldn’t be able to access requester pays buckets. (issue#17175, pr#11719, Zhang Shaowen)
  • rgw: aws4: add presigned url bugfix in runtime (issue#16463, pr#10160, Javier M. Mellid)
  • rgw: bucket resharding (issue#17550, pr#11230, Yehuda Sadeh)
  • rgw:bugfix for deleting objects name beginning and ending with underscores of one bucket using POST method of AWS’s js sdk. (issue#17888, pr#11982, root)
  • rgw: Class member cookie is not initialized correctly in some coroutine’s constructor. (pr#11673, Zhang Shaowen)
  • rgw: clean up RGWShardedOmapCRManager on early return (issue#17571, pr#11505, Casey Bodley)
  • rgw: clear data_sync_cr if RGWDataSyncControlCR fails (issue#17569, pr#11506, Casey Bodley)
  • rgw: compilation of the ASIO front-end is enabled by default. (pr#12073, Radoslaw Zarzynski)
  • rgw: compression uses optional::emplace instead of in-place factories (pr#12021, Radoslaw Zarzynski)
  • rgw: conform to the standard usage of string::find (pr#10086, Yan Jun)
  • rgw: data_extra_pool is unique per zone (issue#17025, pr#1119, Orit Wasserman)
  • rgw: delete entries_index in RGWFetchAllMetaCR (issue#17812, pr#11816, Casey Bodley)
  • rgw: do not abort when accept a CORS request with short origin (pr#12381, LiuYang)
  • rgw: do not enable both tcp and uds for fastcgi (issue#5797, pr#479, Andrew Schoen)
  • rgw: don’t error out on empty owner when setting acls (issue#6892, pr#877, Loic Dachary, Nathan Cutler)
  • rgw: Don’t loop forever when reading data from 0 sized segment. (issue#17692, pr#11567, Marcus Watts)
  • rgw: dont set CURLOPT_UPLOAD for GET requests (issue#17822, pr#12105, Casey Bodley)
  • rgw: don’t store empty chains in gc (issue#17897, pr#11969, Yehuda Sadeh)
  • rgw: do quota tests on ubuntu (issue#6382, pr#635, Sage Weil)
  • rgw: dump objects in RGWBucket::check_object_index() (issue#14589, pr#11324, Yehuda Sadeh)
  • rgw: dump remaining coroutines when cr deadlock is detected (pr#11580, Casey Bodley)
  • rgw: extract host name from host:port string (issue#17788, pr#11751, Yehuda Sadeh)
  • rgw: Fixed problem with PUT with x-amz-copy-source when source object is compressed. (pr#12253, Adam Kupczyk)
  • rgw: fixes for virtual hosting of buckets (issue#17440, issue#15975, issue#17136, pr#11280, Casey Bodley, Robin H. Johnson)
  • rgw: fix etag in multipart complete (issue#17794, issue#6830, issue#16129, issue#17872, pr#1269, Casey Bodley, Orit Wasserman)
  • rgw: fix for bucket delete racing with mdlog sync (issue#17698, pr#11648, Casey Bodley)
  • rgw: fix for passing temporary in InitBucketSyncStatus (issue#17661, pr#11594, Casey Bodley)
  • rgw: fix for unsafe change of rgw_zonegroup (issue#17962, pr#12075, Casey Bodley)
  • rgw: fix indentation for cache_pools (issue#8295, pr#251, Sage Weil)
  • rgw: fix missing master zone for a single zone zonegroup (issue#17364, pr#11965, Orit Wasserman)
  • rgw: fix osd crashes when execute “radosgw-admin bi list –max-entries=1” command (issue#17745, pr#11697, weiqiaomiao)
  • rgw: fix put_acls for objects starting and ending with underscore (issue#17625, pr#11566, Orit Wasserman)
  • rgw: fix RGWSimpleRadosLockCR set_description() (pr#11961, Tianshan Qu)
  • rgw: fix the field ‘total_time’ of log entry in log show opt (issue#17598, pr#11425, weiqiaomiao)
  • rgw: fix uncompressed object size deduction in RGWRados::copy_obj_data. (issue#17803, pr#11794, Radoslaw Zarzynski)
  • rgw: frontend subsystem rework (pr#10767, Radoslaw Zarzynski, Casey Bodley, Matt Benjamin)
  • rgw: ftw (issue#17888, pr#12262, Casey Bodley)
  • rgw: get_system_obj does not use result of get_system_obj_state (issue#17580, pr#11444, Casey Bodley)
  • rgw: get_zonegroup() uses “default” zonegroup if empty (issue#17372, pr#11207, Yehuda Sadeh)
  • rgw: handle empty POST condition (issue#17635, pr#11581, Yehuda Sadeh)
  • rgw: handle Swift auth errors in a way compatible with new Tempests. (issue#16590, pr#10021, Radoslaw Zarzynski)
  • rgw: json encode/decode index_type, allow modification (issue#17755, pr#11707, Yehuda Sadeh)
  • rgw: loses realm/period/zonegroup/zone data: period overwritten if somewhere in the cluster is still running Hammer (issue#17371, pr#11426, Orit Wasserman)
  • rgw: make RGWLocalAuthApplier::is_admin_of() aware about system users. (issue#18106, pr#12283, Radoslaw Zarzynski)
  • rgw: metadata sync info should be shown at master zone of slave zoneg… (issue#18091, pr#12187, Jing Wenjun)
  • rgw: minor cleanup (pr#10057, Yan Jun)
  • rgw: move compression config into zone placement (pr#12113, Casey Bodley)
  • rgw: move xfs to a seperate directory (pr#969, Orit Wasserman)
  • rgw: multipart upload copy (issue#12790, pr#11269, Yehuda Sadeh, Javier M. Mellid)
  • rgw: need to close_section in lc list op (pr#12232, weiqiaomiao)
  • rgw: policy acl format should be xml (pr#946, Orit Wasserman)
  • rgw: radosgw-admin: more on placement configuration (issue#18078, pr#12242, Casey Bodley)
  • rgw: region conversion respects pre-existing rgw_region_root_pool (issue#17963, pr#12076, Casey Bodley)
  • rgw: remove a redundant judgement when listng objects. (pr#10849, zhangshaowen)
  • rgw: remove circular reference in RGWAsyncRadosRequest (issue#17793, issue#17792, pr#11815, Casey Bodley)
  • rgw: remove suggestion to upgrade libcurl (pr#11630, Casey Bodley)
  • rgw: remove unused variable “ostr” in rgw_b64.h and fix the comment (pr#11329, Weibing Zhang)
  • rgw: Replacing ‘+’ with “%20” in canonical uri for s3 v4 auth. (issue#17076, pr#10919, Pritha Srivastava)
  • rgw: revert unintentional change to civetweb (pr#12004, Bassam Tabbara)
  • rgw: rgw-admin: new commands to control placement (issue#18078, pr#12230, Yehuda Sadeh)
  • rgw: RGWBucketSyncStatusManager uses existing async_rados (issue#18083, pr#12229, Casey Bodley)
  • rgw: rgw_file: apply missed base64 try-catch (issue#17663, pr#11671, Matt Benjamin)
  • rgw: RGWHTTPArgs::get_str() - return argument string that was set. (pr#10672, Marcus Watts)
  • rgw: rgw multisite: fix the increamtal bucket sync init (issue#17624, pr#11553, Zengran Zhang)
  • rgw: rgw multisite: use a rados lock to coordinate data log trimming (pr#10546, Casey Bodley)
  • rgw: RGW Python bindings - use explicit array (pr#11831, Daniel Gryniewicz)
  • rgw: rgw_rados.cc fix shard_num format for snprintf (pr#11493, Weibing Zhang)
  • rgw: rgw/rgw_file.cc: Add compat.h to allow CLOCK_MONOTONE (pr#12309, Willem Jan Withagen)
  • rgw: RGWSimpleRadosReadCR tolerates empty reads (issue#17568, pr#11504, Casey Bodley)
  • rgw: [RGW] Wip rgw compression (pr#11494, Alyona Kiseleva, Adam Kupczyk, Casey Bodley)
  • rgw: set duration for lifecycle lease (issue#17965, pr#12231, Yehuda Sadeh)
  • rgw: should assign ‘olh_bl” to state.attrset[RGW_ATTR_OLH_ID_TAG] instead of ‘bl’ (pr#10239, weiqiaomiao)
  • rgw: skip empty http args in method parse() to avoid extra effort (pr#11989, Guo Zhandong)
  • rgw: split osd’s in 2 nodes (issue#15612, pr#1019, Vasu Kulkarni)
  • rgw: support for x-robots-tag header (issue#17790, pr#11753, Yehuda Sadeh)
  • rgw: sync modules, metadata search (pr#10731, Yehuda Sadeh)
  • rgw: Update version of civetweb to 1.8 (pr#11343, Marcus Watts)
  • rgw: use civetweb if no frontend was configured (pr#958, Orit Wasserman)
  • rgw: use explicit flag to cancel RGWCoroutinesManager::run() (issue#17465, pr#12452, Casey Bodley)
  • rgw: valgrind fixes for kraken (issue#18414, issue#18407, issue#18412, issue#18300, pr#12949, Casey Bodley)
  • rgw: verified that failed check is in osd-scrub-repair.sh (issue#17850, pr#11881, Matt Benjamin)
  • rgw: we don’t support btrfs any more (pr#1132, Orit Wasserman)
  • rgw: Wip rgwfile pybind (pr#11624, Haomai Wang)
  • tests,bluestore: os/bluestore: add UT for an estimation of Onode in-memory size (pr#12532, Igor Fedotov)
  • tests,bluestore: os/test/store_test: fix legacy bluestore cache settings application (pr#11915, Igor Fedotov)
  • tests: ceph-disk: force debug monc = 0 (issue#17607, pr#11534, Loic Dachary)
  • tests: ceph_objectstore_tool.py: Don’t use btrfs on FreeBSD (pr#10507, Willem Jan Withagen)
  • tests: ceph_test_objectstore: fix Rename test (pr#12261, Sage Weil)
  • tests: check hostname –fqdn sanity before running make check (issue#18134, pr#12297, Nathan Cutler)
  • tests,cleanup,rbd: test/librbd: in test_notify set object-map and fast-diff features by default (pr#11821, Mykola Golub)
  • tests,cleanup: test_bloom_filter.cc: Fix a mismatch for the random_seed parameter (pr#11774, Willem Jan Withagen)
  • tests,cleanup: test/osd/osd-fast-mark-down.sh: remove unnecessary teardown() calls (pr#12101, Kefu Chai)
  • tests,cleanup: test/osd-scrub-repair.sh: use repair() instead of “ceph pg repair” (pr#12036, Kefu Chai)
  • tests,cleanup: test/rados: remove unused bufferlist variable (pr#10221, Yan Jun)
  • tests,common: test: add perf-reset test in test/perf_counters.cc (pr#8948, wangsongbo)
  • tests: disable failing tests (issue#17561, issue#17757, pr#11714, Loic Dachary)
  • tests: disable the echo when running get_timeout_delays() (pr#12180, Kefu Chai)
  • tests: do not use memstore.test_temp_dir in two tests (issue#17743, pr#12281, Loic Dachary)
  • tests: erasure-code: add k=2, m=2 for isa & jerasure (issue#18188, pr#12383, Loic Dachary)
  • tests: facilitate background process debug in ceph-helpers.sh (issue#17830, pr#12183, Loic Dachary)
  • tests: fix ceph-helpers.sh wait_for_clean delays (issue#17830, pr#12095, Loic Dachary)
  • tests: fix osd-scrub-repair.sh (pr#12072, David Zafman)
  • tests: Fix racey test by setting noout flag (tracker 17757) (issue#17757, pr#11715, David Zafman)
  • tests: merge ceph-qa-suite
  • tests: Minor clean-ups (pr#12048, David Zafman)
  • tests: minor make check cleanup (pr#12146, David Zafman)
  • tests: no python3 tests for ceph-disk (issue#17923, pr#12025, Loic Dachary)
  • tests: osd-crush.sh must retry crush dump (issue#17919, pr#12016, Loic Dachary)
  • tests: osd-scrub-repair.sh abort if add_something fails (pr#12172, Loic Dachary)
  • tests: os/memstore: fix a mem leak in MemStore::Collection::create_object() (pr#12201, Kefu Chai)
  • tests: os/memstore, os/filestore: fix store_test’s to satisfy rm_coll behavi… (pr#11558, Igor Fedotov)
  • tests: paxos fixes (issue#11913, pr#457, John Spray)
  • tests: pin flake8 to avoid behavior changes (issue#17898, pr#11971, Loic Dachary)
  • tests: qa: fixed script to schedule rados and other suites with –subset option (pr#12587, Yuri Weinstein)
  • tests: qa/tasks/admin_socket: subst in repo name (pr#12508, Sage Weil)
  • tests: qa/tasks/ceph_deploy: use dev option instead of dev-commit (pr#12514, Vasu Kulkarni)
  • tests: qa/tasks/osd_backfill.py: wait for osd.[12] to start (issue#18303, pr#12577, Sage Weil)
  • tests: qa/workunits/cephtool/test.sh: FreeBSD has no distro. (pr#11702, Willem Jan Withagen)
  • tests: qa/workunits: include extension for nose tests (pr#12572, Sage Weil)
  • tests: qa/workunits/rados/test_envlibrados_for_rocksdb: force librados-dev install (pr#11941, Sage Weil)
  • tests,rbd: qa/workunits/rbd: fix (issue#18271, pr#12511, Sage Weil)
  • tests,rbd: qa/workunits/rbd: removed qemu-iotest case 077 (issue#10773, pr#12366, Jason Dillaman)
  • tests,rbd: qa/workunits/rbd: simplify running nbd test under build env (pr#11781, Mykola Golub)
  • tests,rbd: qa/workunits/rbd: use image id when probing for image presence (issue#18048, pr#12195, Mykola Golub)
  • tests,rbd: qa/workunits/rbd: use more recent qemu-iotests that support Xenial (issue#18149, pr#12371, Jason Dillaman)
  • tests,rbd: rbd-mirror: fix gmock warnings in bootstrap request unit tests (issue#18156, pr#12344, Mykola Golub)
  • tests,rbd: rbd-mirror: improve resiliency of stress test case (issue#17416, pr#11326, Jason Dillaman)
  • tests,rbd: test: new librbd discard after write test case (pr#11645, Jason Dillaman)
  • tests,rbd: test: skip TestLibRBD.DiscardAfterWrite if skip partial discard enabled (issue#17750, pr#11703, Jason Dillaman)
  • tests,rbd: test: TestJournalReplay test cases need to wait for event commit (issue#17566, pr#11480, Jason Dillaman)
  • tests: remove TestPGLog EXPECT_DEATH tests (issue#18030, pr#12361, Loic Dachary)
  • tests: save 9 characters for asok paths (issue#16014, pr#12066, Loic Dachary)
  • tests: sync ceph-erasure-code-corpus for using ‘arch’ not ‘uname -p’ (pr#12024, Kefu Chai)
  • tests: test/ceph_crypto: do not read ceph.conf in global_init() (issue#18128, pr#12318, Kefu Chai)
  • tests: test: ceph-objectstore-tool: should import platform before using it (pr#12038, Kefu Chai)
  • tests: test/ceph_test_msgr: do not use Message::middle for holding transient… (issue#17728, pr#11680, Kefu Chai)
  • tests: test: disable osd-scrub-repair and test-erasure-eio (issue#17830, pr#12058, Loic Dachary, Dan Mick)
  • tests: test: disable osd-scrub-repair and test-erasure-eio (pr#11979, Dan Mick)
  • tests: test: Don’t write to a poolid that this test might not have created (pr#12378, David Zafman)
  • tests: test: enable unittest_dns_resolve (pr#12209, Kefu Chai)
  • tests: test/encoding/readable.sh: fix shell script warning (pr#11527, Willem Jan Withagen)
  • tests: TestErasureCodePluginJerasure must stop the log thread (issue#17561, pr#11721, Loic Dachary)
  • tests: test: fix test-erasure-eio and osd-scrub-repair races (17830) (pr#11926, David Zafman)
  • tests: test/osd-fast-mark-down.sh: wrong assumption on first subtest (pr#12123, Piotr Dałek)
  • tests: test/osd/osd-fast-mark-down.sh: introduce large timeout (issue#17918, pr#12019, Piotr Dałek)
  • tests: test/osd-scrub-repair.sh: Use test case specific object names to help… (pr#11449, David Zafman)
  • tests: test/store_test: fix errors on the whole test suite run caused by the… (pr#11427, Igor Fedotov)
  • tests: test_subman.sh: Don’t use –tmpdir (pr#11384, Willem Jan Withagen)
  • tests: test: test-erasure-eio.sh fix recovery testing and enable it (pr#12170, David Zafman)
  • tests: The default changed to disallow pool delete as of #11665; the tests assume it’s allowed. (pr#11897, Sage Weil)
  • tests: Turn off tests again due to Jenkins failures (pr#12217, David Zafman)
  • tests: unittest_throttle avoid ASSERT_DEATH (issue#18036, pr#12393, Loic Dachary)
  • tests: update rbd/singleton/all/formatted-output.yaml to support ceph-ci (issue#18440, pr#12823, Nathan Cutler)
  • tests: use shorter directories for tests (issue#16014, pr#12046, Loic Dachary)
  • tests: vstart.sh: fix bashism in the script (pr#11889, Mykola Golub)
  • tests: workunits/ceph-helpers.sh: FreeBSD returns a different errorstring. (pr#12005, Willem Jan Withagen)
  • tools: Adding ceph-lazy tool (pr#11055, gcharot)
  • tools: ceph-create-keys should not try forever to do things (issue#17753, issue#12649, issue#16255, pr#11749, Alfredo Deza)
  • tools: ceph_detect_init: add support for Alpine (pr#8316, John Coyle)
  • tools: ceph-disk: fix flake8 errors (issue#17898, pr#11973, Ken Dreyer)
  • tools: ceph-disk: prevent unnecessary tracebacks from subprocess.check_call (issue#16125, pr#12414, Alfredo Deza)
  • tools: ceph-post-file: single command to upload a file to cephdrop (pr#505, Dan Mick, Travis Rhoden)
  • tools: cleanup phase of cephfs-data-scan (pr#12337, Vishal Kanaujia)
  • tools: osdmaptool: additional tests (pr#1196, Sage Weil)
  • tools: osdmaptool: fix divide by zero error (pr#12561, Yunchuan Wen)
  • tools: rados: fix segfaults when run without –pool (issue#17684, pr#11633, David Disseldorp)
  • tools: rados: optionally support reading omap key from file (issue#18123, pr#12286, Jason Dillaman)
  • tools: script/run-coverity: update (pr#12162, Sage Weil)
  • tools: script/sepia_bt.sh: a script to prepare for debugging on teuthology@sepia (pr#12012, Kefu Chai)
  • tools: src/vstart.sh: Only execute btrfs if it is available (pr#11683, Willem Jan Withagen)
  • tools: tools/ceph-monstore-update-crush.sh: FreeBSD getopt is not compatible… (pr#11525, Willem Jan Withagen)

v11.0.2 Kraken

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.

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/Makefile-client.am: 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/net_handler.cc: 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 run-tox.sh (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 autogen.sh from run-cmake-check.sh 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: ceph-osd-prestart.sh: check existence of OSD data directory (issue#17091, pr#10809, Nathan Cutler)
  • build/ops: ceph-osd-prestart.sh: 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: ceph.spec.in: don’t try to package __pycache__ for SUSE (issue#17106, pr#10805, Tim Serong)
  • build/ops: ceph.spec.in: 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: configure.ac: Use uname instead of arch. (pr#9766, John Coyle)
  • build/ops: configure.ac: add _LIBS variables for boost_system and boost_iostreams (pr#9848, John Coyle)
  • build/ops: configure.ac: 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: do_cmake.sh: set up initial plugin dir (pr#10067, Sage Weil)
  • build/ops: fix /etc/os-release parsing in install-deps.sh (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: install-deps.sh 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: make-srpm.sh: 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: run-cmake-check.sh: 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/pidfile.cc: 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/test_util.cc: 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, mstart.sh, mstop.sh: 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/ceph.spec.in: 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 do_freebsd-cmake.sh to do_freebsd.sh (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 libcephfs_jni.cc (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 README.cmake.md, edited README.md (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 ceph_dencoder.cc (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)
  • cmake: find GIT_VER variables if there is no .git dir (pr#11499, Ali Maredia)
  • 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/Monitor.cc:replce lock/unlock with Mutex:Lockr (pr#9792, Michal Jarzabek)
  • common: msg/AsyncMessenger.cc: 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/buffer.cc fix judgment for lseek (pr#10130, zhang.zezhu)
  • common: unknown hash type of judgment modification (pr#9510, huanwen ren)
  • common: Timer.cc: 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/dns_resolve.cc: 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/OSD.cc: 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/test_python.sh: 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: OSD.cc: 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: ceph.in: 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: https://github.com/ceph/ceph/pull/11052 (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/OSDMonitor.cc: 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/OSD.cc: remove repeated searching of map (pr#10986, Michal Jarzabek)
  • core: osd/OSD.cc: 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/test_fuse.sh: make test_fuse.sh 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/Throttle.cc: 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/MemDB.cc: 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: CrushCompiler.cc:884 (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 download.ceph.com (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: README.md: 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: OSDMonitor.cc: 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: AsyncMessenger.cc: 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: osd-fast-mark-down.sh: fix typo in variable assignments (pr#11224, Willem Jan Withagen)
  • osd: OSD.cc: initialise variable at definition (pr#11099, Michal Jarzabek)
  • osd: OSD.cc: remove unneeded searching of map (pr#11000, Michal Jarzabek)
  • osd: OSD.h: make some members private (pr#11085, Michal Jarzabek)
  • osd: PG.cc: 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/setup.py for PyPI (pr#10315, Anirudha Bose)
  • pybind: Rework rbd/setup.py 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 <idryomov@gmail.com> (issue#16171, pr#10481, Jason Dillaman)
  • rbd: Reviewed-off-by: Ilya Dryomov <idryomov@gmail.com> (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 <prsrivas@redhat.com> (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/rgw_common.cc: modify the end check in RGWHTTPArgs::sys_get (pr#9136, zhao kun)
  • rgw: rgw/rgw_lc.cc: 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/multi.py add a destructive attr to tests (pr#10401, Abhishek Lekshmanan)
  • rgw: test/rgw: add –gateways-per-zone to test_multi.py (pr#10742, Casey Bodley)
  • rgw: test_multi.py 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-check.sh: Make DRY_RUN actually mean a dry run (pr#11074, Brad Hubbard)
  • tests: run-cmake-check.sh: Actually run the tests (pr#11075, Brad Hubbard)
  • tests: run-cmake-check.sh: Init submodules (pr#11091, Brad Hubbard)
  • tests: run-make-check.sh: Make DRY_RUN actually do a dry run (pr#11092, Brad Hubbard)
  • tests: run-make-check.sh: pass args to do_cmake.sh (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 test_ceph_argparse.py (pr#10347, huanwen ren)
  • test: simple_dispatcher.cc: 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: ceph-disk.sh do not kill all daemons (issue#16729, pr#10346, Kefu Chai)
  • test: cephtool/test.sh: 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: test_rados_tool.sh: Make script work under ctest (pr#10166, Willem Jan Withagen)
  • test: qa/workunits/cephtool/test.sh: fix omission of ceph-command (pr#10979, Willem Jan Withagen)
  • test: qa/workunits/cephtool/test.sh: s/TMPDIR/TEMP_DIR/ (pr#10306, Kefu Chai)
  • test: qa/workunits/cephtool/test.sh: 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)

v10.2.7 Jewel

This point release fixes several important bugs in RBD mirroring, librbd & RGW.

We recommend that all v10.2.x users upgrade.

For more detailed information, see the complete changelog.

Notable Changes

v10.2.6 Jewel

This point release fixes several important bugs in RBD mirroring, RGW multi-site, CephFS, and RADOS.

We recommend that all v10.2.x users upgrade.

For more detailed information, see the complete changelog.

OSDs No Longer Send ENXIO by Default

In previous versions, if a client sent an op to the wrong OSD, the OSD would reply with ENXIO. The rationale here is that the client or OSD is clearly buggy and we want to surface the error as clearly as possible. We now only send the ENXIO reply if the osd_enxio_on_misdirected_op option is enabled (it’s off by default). This means that a VM using librbd that previously would have gotten an EIO and gone read-only will now see a blocked/hung IO instead.

Other Notable Changes

v10.2.5 Jewel

This point release fixes an important regression introduced in v10.2.4.

We recommend that all v10.2.x users upgrade.

Notable Changes

For more detailed information, see the complete changelog.

v10.2.4 Jewel

This point release fixes several important bugs in RBD mirroring, RGW multi-site, CephFS, and RADOS.

We recommend that all v10.2.x users upgrade. Also note the following when upgrading from hammer

Upgrading from hammer

When the last hammer OSD in a cluster containing jewel MONs is upgraded to jewel, as of 10.2.4 the jewel MONs will issue this warning: “all OSDs are running jewel or later but the ‘require_jewel_osds’ osdmap flag is not set” and change the cluster health status to HEALTH_WARN.

This is a signal for the admin to do “ceph osd set require_jewel_osds” - by doing this, the upgrade path is complete and no more pre-Jewel OSDs may be added to the cluster.

Notable Changes

For more detailed information, see the complete changelog.

v10.2.3 Jewel

This point release fixes several important bugs in RBD mirroring, RGW multi-site, CephFS, and RADOS.

We recommend that all v10.2.x users upgrade.

For more detailed information, see the complete changelog.

Notable Changes

v10.2.2 Jewel

This point release fixes several important bugs in RBD mirroring, RGW multi-site, CephFS, and RADOS.

We recommend that all v10.2.x users upgrade.

For more detailed information, see the complete changelog.

Notable Changes

v10.2.1 Jewel

This is the first bugfix release for Jewel. It contains several annoying packaging and init system fixes and a range of important bugfixes across RBD, RGW, and CephFS.

We recommend that all v10.2.x users upgrade.

For more detailed information, see the complete changelog.

Notable Changes

  • cephfs: CephFSVolumeClient should isolate volumes by RADOS namespace (issue#15400, pr#8787, Xiaoxi Chen)
  • cephfs: handle standby-replay nodes properly in upgrades (issue#15591, pr#8971, John Spray)
  • ceph-{mds,mon,osd} packages need scriptlets with systemd code (issue#14941, pr#8801, Boris Ranto, Nathan Cutler)
  • ceph_test_keyvaluedb: fix (issue#15435, pr#9051, Allen Samuels, Sage Weil)
  • cmake: add missing source file to rbd_mirror/image_replayer (pr#9052, Casey Bodley)
  • cmake: fix rbd compile errors (pr#9076, runsisi, Jason Dillaman)
  • journal: incorrectly computed object offset within set (issue#15765, pr#9038, Jason Dillaman)
  • librbd: client-side handling for incompatible object map sizes (issue#15642, pr#9039, Jason Dillaman)
  • librbd: constrain size of AioWriteEvent journal entries (issue#15750, pr#9048, Jason Dillaman)
  • librbd: does not crash if image header is too short (pr#9044, Kefu Chai)
  • librbd: Errors encountered disabling object-map while flatten is in-progress (issue#15572, pr#8869, Jason Dillaman)
  • librbd: fix get/list mirror image status API (issue#15771, pr#9036, Mykola Golub)
  • librbd: Parent image is closed twice if error encountered while opening (issue#15574, pr#8867, Jason Dillaman)
  • librbd: possible double-free of object map invalidation request upon error (issue#15643, pr#8865, runsisi)
  • librbd: possible race condition leads to use-after-free (issue#15690, pr#9009, Jason Dillaman)
  • librbd: potential concurrent event processing during journal replay (issue#15755, pr#9040, Jason Dillaman)
  • librbd: Potential double free of SetSnapRequest instance (issue#15571, pr#8803, runsisi)
  • librbd: put the validation of image snap context earlier (pr#9046, runsisi)
  • librbd: reduce log level for image format 1 warning (issue#15577, pr#9003, Jason Dillaman)
  • mds/MDSAuthCap parse no longer fails on paths with hyphens (issue#15465, pr#8969, John Spray)
  • mds: MDS incarnation no longer gets lost after remove filesystem (issue#15399, pr#8970, John Spray)
  • mon/OSDMonitor: avoid underflow in reweight-by-utilization if max_change=1 (issue#15655, pr#9006, Samuel Just)
  • python: clone operation will fail if config overridden with “rbd default format = 1” (issue#15685, pr#8972, Jason Dillaman)
  • radosgw-admin: add missing –zonegroup-id to usage (issue#15650, pr#9019, Casey Bodley)
  • radosgw-admin: update usage for zone[group] modify (issue#15651, pr#9016, Casey Bodley)
  • radosgw-admin: zonegroup remove command (issue#15684, pr#9015, Casey Bodley)
  • rbd CLI to retrieve rbd mirror state for a pool / specific image (issue#15144, issue#14420, pr#8868, Mykola Golub)
  • rbd disk-usage CLI command should support calculating full image usage (issue#14540, pr#8870, Jason Dillaman)
  • rbd: helpful error message on map failure (issue#15721, pr#9041, Venky Shankar)
  • rbd: help message distinction between commands and aliases (issue#15521, pr#9004, Yongqiang He)
  • rbd-mirror: admin socket commands to start/stop/restart mirroring (issue#15718, pr#9010, Mykola Golub, Josh Durgin)
  • rbd-mirror can crash if start up is interrupted (issue#15630, pr#8866, Jason Dillaman)
  • rbd-mirror: image sync needs to handle snapshot size and protection status (issue#15110, pr#9050, Jason Dillaman)
  • rbd-mirror: lockdep error during bootstrap (issue#15664, pr#9008, Jason Dillaman)
  • rbd-nbd: fix rbd-nbd aio callback error handling (issue#15604, pr#9005, Chang-Yi Lee)
  • rgw: add AWS4 completion support for RGW_OP_SET_BUCKET_WEBSITE (issue#15626, pr#9018, Javier M. Mellid)
  • rgw admin output (issue#15747, pr#9054, Casey Bodley)
  • rgw: fix issue #15597 (issue#15597, pr#9020, Yehuda Sadeh)
  • rgw: fix printing wrong X-Storage-Url in Swift’s TempAuth. (issue#15667, pr#9021, Radoslaw Zarzynski)
  • rgw: handle stripe transition when flushing final pending_data_bl (issue#15745, pr#9053, Yehuda Sadeh)
  • rgw: leak fixes (issue#15792, pr#9022, Yehuda Sadeh)
  • rgw: multisite: Issues with Deleting Buckets (issue#15540, pr#8930, Abhishek Lekshmanan)
  • rgw: period commit fix (issue#15828, pr#9081, Casey Bodley)
  • rgw: period delete fixes (issue#15469, pr#9047, Casey Bodley)
  • rgw: radosgw-admin zone set cuts pool names short if name starts with a period (issue#15598, pr#9029, Yehuda Sadeh)
  • rgw: segfault at RGWAsyncGetSystemObj (issue#15565, issue#15625, pr#9017, Yehuda Sadeh)
  • several backports (issue#15588, issue#15655, pr#8853, Alexandre Derumier, xie xingguo, Alfredo Deza)
  • systemd: fix typo in preset file (pr#8843, Nathan Cutler)
  • tests: make check fails on ext4 (issue#15837, pr#9063, Loic Dachary, Sage Weil)

v10.2.0 Jewel

This major release of Ceph is the foundation for the next long-term stable release series. There have been many major changes since the Infernalis (9.2.x) and Hammer (0.94.x) releases, and the upgrade process is non-trivial. Please read these release notes carefully.

Major Changes from Infernalis

  • CephFS:
    • This is the first release in which CephFS is declared stable! Several features are disabled by default, including snapshots and multiple active MDS servers.
    • The repair and disaster recovery tools are now feature-complete.
    • A new cephfs-volume-manager module is included that provides a high-level interface for creating “shares” for OpenStack Manila and similar projects.
    • There is now experimental support for multiple CephFS file systems within a single cluster.
  • RGW:
    • The multisite feature has been almost completely rearchitected and rewritten to support any number of clusters/sites, bidirectional fail-over, and active/active configurations.
    • You can now access radosgw buckets via NFS (experimental).
    • The AWS4 authentication protocol is now supported.
    • There is now support for S3 request payer buckets.
    • The new multitenancy infrastructure improves compatibility with Swift, which provides a separate container namespace for each user/tenant.
    • The OpenStack Keystone v3 API is now supported. There are a range of other small Swift API features and compatibility improvements as well, including bulk delete and SLO (static large objects).
  • RBD:
    • There is new support for mirroring (asynchronous replication) of RBD images across clusters. This is implemented as a per-RBD image journal that can be streamed across a WAN to another site, and a new rbd-mirror daemon that performs the cross-cluster replication.
    • The exclusive-lock, object-map, fast-diff, and journaling features can be enabled or disabled dynamically. The deep-flatten features can be disabled dynamically but not re-enabled.
    • The RBD CLI has been rewritten to provide command-specific help and full bash completion support.
    • RBD snapshots can now be renamed.
  • RADOS:
    • BlueStore, a new OSD backend, is included as an experimental feature. The plan is for it to become the default backend in the K or L release.
    • The OSD now persists scrub results and provides a librados API to query results in detail.
    • We have revised our documentation to recommend against using ext4 as the underlying filesystem for Ceph OSD daemons due to problems supporting our long object name handling.

Major Changes from Hammer

  • 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 of ‘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 BlueStore.
  • 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.
    • The 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 allow flattening of a clone and all of its snapshots. (Previously snapshots could not be flattened.)
    • The export-diff 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.

Distro compatibility

Starting with Infernalis, we have dropped 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 ceph.com.

We now build packages for the following distributions and architectures:

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

Upgrading from Infernalis or Hammer

  • We now recommend against using ext4 as the underlying file system for Ceph OSDs, especially when RGW or other users of long RADOS object names are used. For more information about why, please see Filesystem Recommendations.

    If you have an existing cluster that uses ext4 for the OSDs but uses only RBD and/or CephFS, then the ext4 limitations will not affect you. Before upgrading, be sure add the following to ceph.conf to allow the OSDs to start:

    osd max object name len = 256
    osd max object namespace len = 64

    Keep in mind that if you set these lower object name limits and later decide to use RGW on this cluster, it will have problems storing S3/Swift objects with long names. This startup check can also be disabled via the below option, although this is not recommended:

    osd check max object name len on startup = false
  • There are no major compatibility changes since Infernalis. Simply upgrading the daemons on each host and restarting all daemons is sufficient.

  • The rbd CLI no longer accepts the deprecated ‘–image-features’ option during create, import, and clone operations. The ‘–image-feature’ option should be used instead.

  • The rbd legacy image format (version 1) is deprecated with the Jewel release. Attempting to create a new version 1 RBD image will result in a warning. Future releases of Ceph will remove support for version 1 RBD images.

  • The ‘send_pg_creates’ and ‘map_pg_creates’ mon CLI commands are obsolete and no longer supported.

  • A new configure option ‘mon_election_timeout’ is added to specifically limit max waiting time of monitor election process, which was previously restricted by ‘mon_lease’.

  • CephFS filesystems created using versions older than Firefly (0.80) must use the new ‘cephfs-data-scan tmap_upgrade’ command after upgrading to Jewel. See ‘Upgrading’ in the CephFS documentation for more information.

  • The ‘ceph mds setmap’ command has been removed.

  • The default RBD image features for new images have been updated to enable the following: exclusive lock, object map, fast-diff, and deep-flatten. These features are not currently supported by the RBD kernel driver nor older RBD clients. They can be disabled on a per-image basis via the RBD CLI, or the default features can be updated to the pre-Jewel setting by adding the following to the client section of the Ceph configuration file:

    rbd default features = 1
  • The rbd legacy image format (version 1) is deprecated with the Jewel release.

  • After upgrading, users should set the ‘sortbitwise’ flag to enable the new internal object sort order:

    ceph osd set sortbitwise

    This flag is important for the new object enumeration API and for new backends like BlueStore.

  • The rbd CLI no longer permits creating images and snapshots with potentially ambiguous names (e.g. the ‘/’ and ‘@’ characters are disallowed). The validation can be temporarily disabled by adding “–rbd-validate-names=false” to the rbd CLI when creating an image or snapshot. It can also be disabled by adding the following to the client section of the Ceph configuration file:

    rbd validate names = false

Upgrading from Hammer

  • All cluster nodes must first upgrade to Hammer v0.94.4 or a later v0.94.z release; only then is it possible to upgrade to Jewel 10.2.z.

  • 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 ceph.target       # 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 same UID/GID as in Fedora and Debian will be used, provided it is not already assigned. In the unlikely event the preferred UID or GID is assigned to a different user/group, ceph will get a dynamically assigned UID/GID.

    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 and ‘ceph’ group 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 it is more work and can be very time consuming. The process for each host is to:

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

        ceph-deploy install --stable jewel 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
        chown -R ceph:ceph /var/log/ceph
      4. Restart the daemon(s).:

        start ceph-all                # ubuntu
        systemctl start ceph.target   # debian, centos, fedora, rhel

      Alternatively, the same process can be done with a single daemon type, for example by stopping only monitors and chowning only /var/lib/ceph/mon.

  • 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.

  • The return code for librbd’s rbd_aio_read and Image::aio_read API methods no longer returns the number of bytes read upon success. Instead, it returns 0 upon success and a negative value upon failure.

  • ‘ceph scrub’, ‘ceph compact’ and ‘ceph sync force’ are now DEPRECATED. Users should instead use ‘ceph mon scrub’, ‘ceph mon compact’ and ‘ceph mon sync force’.

  • ‘ceph mon_metadata’ should now be used as ‘ceph mon metadata’. There is no need to deprecate this command (same major release since it was first introduced).

  • The –dump-json option of “osdmaptool” is replaced by –dump json.

  • The commands of “pg ls-by-{pool,primary,osd}” and “pg ls” now take “recovering” instead of “recovery”, to include the recovering pgs in the listed pgs.

Upgrading from Firefly

Upgrading directly from Firefly v0.80.z is not recommended. It is possible to do a direct upgrade, but not without downtime, as all OSDs must be stopped, upgraded, and then restarted. We recommend that clusters be first upgraded to Hammer v0.94.6 or a later v0.94.z release; only then is it possible to upgrade to Jewel 10.2.z for an online upgrade (see below).

To do an offline upgrade directly from Firefly, all Firefly OSDs must be stopped and marked down before any Jewel OSDs will be allowed to start up. This fencing is enforced by the Jewel monitor, so you should use an upgrade procedure like:

  1. Upgrade Ceph on monitor hosts
  2. Restart all ceph-mon daemons
  3. Set noout::
    ceph osd set noout
  4. Upgrade Ceph on all OSD hosts
  5. Stop all ceph-osd daemons
  6. Mark all OSDs down with something like::
    ceph osd down seq 0 1000
  7. Start all ceph-osd daemons
  8. Let the cluster settle and then unset noout::
    ceph osd unset noout
  9. Upgrade and restart any remaining daemons (ceph-mds, radosgw)

Notable Changes since Infernalis

  • admin/build-doc: depend on zlib1g-dev and graphviz (pr#7522, Ken Dreyer)
  • auth: fail if rotating key is missing (do not spam log) (pr#6473, Qiankun Zheng)
  • auth: fix crash when bad keyring is passed (pr#6698, Dunrong Huang)
  • auth: make keyring without mon entity type return -EACCES (pr#5734, Xiaowei Chen)
  • AUTHORS: update email (pr#7854, Yehuda Sadeh)
  • authtool: update –help and manpage to match code. (pr#8456, Robin H. Johnson)
  • bluestore: latest and greatest (issue#14210, issue#13801, pr#6896, xie.xingguo, Jianpeng Ma, YiQiang Chen, Sage Weil, Ning Yao)
  • buffer: add symmetry operator==() and operator!=() (pr#7974, Kefu Chai)
  • buffer: fix internal iterator invalidation on rebuild, get_contiguous (pr#6962, Sage Weil)
  • buffer: hide iterator_impl symbols (issue#14788, pr#7688, Kefu Chai)
  • buffer: increment history alloc as well in raw_combined (issue#14955, pr#7910, Samuel Just)
  • buffer: make usable outside of ceph source again (pr#6863, Josh Durgin)
  • buffer: raw_combined allocations buffer and ref count together (pr#7612, Sage Weil)
  • buffer: use move construct to append/push_back/push_front (pr#7455, Haomai Wang)
  • build: Adding build requires (pr#7742, Erwan Velu)
  • build: a few armhf (32-bit build) fixes (pr#7999, Eric Lee, Sage Weil)
  • build: allow jemalloc with rocksdb-static (pr#7368, Somnath Roy)
  • build: build internal plugins and classes as modules (pr#6462, James Page)
  • build: cmake check fixes (pr#6787, Orit Wasserman)
  • build: cmake tweaks (pr#6254, John Spray)
  • build: fix a few warnings (pr#6847, Orit Wasserman)
  • build: fix bz2-dev dependency (pr#6948, Samuel Just)
  • build: fix compiling warnings (pr#8366, Dongsheng Yang)
  • build: Fixing BTRFS issue at ‘make check’ (pr#7805, Erwan Velu)
  • build: fix Jenkins make check errors due to deep-scrub randomization (pr#6671, David Zafman)
  • build: fix the autotools and cmake build (the new fusestore needs libfuse) (pr#7393, Kefu Chai)
  • build: fix warnings (pr#7197, Kefu Chai, xie xingguo)
  • build: fix warnings (pr#7315, Kefu Chai)
  • build: FreeBSD related fixes (pr#7170, Mykola Golub)
  • build: Gentoo: _FORTIFY_SOURCE fix. (issue#13920, pr#6739, Robin H. Johnson)
  • build: kill warnings (pr#7397, Kefu Chai)
  • build: misc make check fixes (pr#7153, Sage Weil)
  • build: more CMake package check fixes (pr#6108, Daniel Gryniewicz)
  • build: move libexec scripts to standardize across distros (issue#14687, issue#14705, issue#14723, pr#7636, Nathan Cutler, Kefu Chai)
  • build/ops: enable CR in CentOS 7 (issue#13997, pr#6844, Loic Dachary)
  • build/ops: rbd-replay moved from ceph-test-dbg to ceph-common-dbg (issue#13785, pr#6578, Loic Dachary)
  • build/ops: systemd ceph-disk unit must not assume /bin/flock (issue#13975, pr#6803, Loic Dachary)
  • build: Refrain from versioning and packaging EC testing plugins (issue#14756, issue#14723, pr#7637, Nathan Cutler, Kefu Chai)
  • build: Respect TMPDIR for virtualenv. (pr#8457, Robin H. Johnson)
  • build: spdk submodule; cmake (pr#7503, Kefu Chai)
  • build: workaround an automake bug for “make check” (issue#14723, pr#7626, Kefu Chai)
  • ceph: bash auto complete for CLI based on mon command descriptions (pr#7693, Adam Kupczyk)
  • ceph_daemon.py: Resolved ImportError to work with python3 (pr#7937, Sarthak Munshi)
  • ceph-detect-init: add debian/jessie test (pr#8074, Kefu Chai)
  • ceph-detect-init: add missing test case (pr#8105, Nathan Cutler)
  • ceph-detect-init: fix py3 test (pr#7025, Kefu Chai)
  • ceph-detect-init: fix py3 test (pr#7243, Kefu Chai)
  • ceph_detect_init/__init__.py: remove shebang (pr#7731, Nathan Cutler)
  • ceph-detect-init: return correct value on recent SUSE distros (issue#14770, pr#7909, Nathan Cutler)
  • ceph-detect-init/run-tox.sh: FreeBSD: No init detect (pr#8373, Willem Jan Withagen)
  • ceph-detect-init: Ubuntu >= 15.04 uses systemd (pr#6873, James Page)
  • ceph-disk: Add destroy and deactivate option (issue#7454, pr#5867, Vicente Cheng)
  • ceph-disk: add -f flag for btrfs mkfs (pr#7222, Darrell Enns)
  • ceph-disk: Add –setuser and –setgroup options for ceph-disk (pr#7351, Mike Shuey)
  • ceph-disk: ceph-disk list fails on /dev/cciss!c0d0 (issue#13970, issue#14233, issue#14230, pr#6879, Loic Dachary)
  • ceph-disk: compare parted output with the dereferenced path (issue#13438, pr#6219, Joe Julian)
  • ceph-disk: deactivate / destroy PATH arg are optional (pr#7756, Loic Dachary)
  • ceph-disk: do not always fail when re-using a partition (pr#8508, You Ji)
  • ceph-disk: fix failures when preparing disks with udev > 214 (issue#14080, issue#14094, pr#6926, Loic Dachary, Ilya Dryomov)
  • ceph-disk: fix prepare –help (pr#7758, Loic Dachary)
  • ceph-disk: Fix trivial typo (pr#7472, Brad Hubbard)
  • ceph-disk: flake8 fixes (pr#7646, Loic Dachary)
  • ceph-disk: get Nonetype when ceph-disk list with –format plain on single device. (pr#6410, Vicente Cheng)
  • ceph-disk: Improving ‘make check’ for ceph-disk (pr#7762, Erwan Velu)
  • ceph-disk: key management support (issue#14669, pr#7552, Loic Dachary)
  • ceph-disk: make some arguments as required if necessary (pr#7687, Dongsheng Yang)
  • ceph-disk: s/dmcrpyt/dmcrypt/ (issue#14838, pr#7744, Loic Dachary, Frode Sandholtbraaten)
  • ceph-disk: support bluestore (issue#13422, pr#7218, Loic Dachary, Sage Weil)
  • ceph-disk/test: fix test_prepare.py::TestPrepare tests (pr#7549, Kefu Chai)
  • ceph-disk: warn for prepare partitions with bad GUIDs (issue#13943, pr#6760, David Disseldorp)
  • ceph: fix tell behavior (pr#6329, David Zafman)
  • cephfs-data-scan: scan_frags (pr#5941, John Spray)
  • cephfs-data-scan: scrub tag filtering (#12133 and #12145) (issue#12133, issue#12145, pr#5685, John Spray)
  • ceph-fuse: add process to ceph-fuse –help (pr#6821, Wei Feng)
  • ceph-fuse: fix double decreasing the count to trim caps (issue#14319, pr#7229, Zhi Zhang)
  • ceph-fuse: fix double free of args (pr#7015, Ilya Shipitsin)
  • ceph-fuse: fix fsync() (pr#6388, Yan, Zheng)
  • ceph-fuse: Fix potential filehandle ref leak at umount (issue#14800, pr#7686, Zhi Zhang)
  • ceph-fuse,libcephfs: Fix client handling of “lost” open directories on shutdown (issue#14996, pr#7994, Yan, Zheng)
  • ceph-fuse,libcephfs: fix free fds being exhausted eventually because freed fds are never put back (issue#14798, pr#7685, Zhi Zhang)
  • ceph-fuse:print usage information when no parameter specified (pr#6868, Bo Cai)
  • ceph-fuse: rotate log file (pr#8485, Sage Weil)
  • ceph-fuse: While starting ceph-fuse, start the log thread first (issue#13443, pr#6224, Wenjun Huang)
  • ceph: improve the error message (issue#11101, pr#7106, Kefu Chai)
  • ceph.in: avoid a broken pipe error when use ceph command (issue#14354, pr#7212, Bo Cai)
  • ceph.in: correct dev python path for automake builds (pr#8360, Josh Durgin)
  • ceph.in: fix python libpath for automake as well (pr#8362, Josh Durgin)
  • ceph.in: Minor python3 specific changes (pr#7947, Sarthak Munshi)
  • ceph-kvstore-tool: handle bad out file on command line (pr#6093, Kefu Chai)
  • ceph-mds:add –help/-h (pr#6850, Cilang Zhao)
  • ceph_objectstore_bench: fix race condition, bugs (issue#13516, pr#6681, Igor Fedotov)
  • ceph-objectstore-tool: fix –dry-run for many ceph-objectstore-tool operations (pr#6545, David Zafman)
  • ceph-rest-api: fix fs/flag/set (pr#8428, Sage Weil)
  • ceph.spec.in: add BuildRequires: systemd (issue#13860, pr#6692, Nathan Cutler)
  • ceph.spec.in: add copyright notice (issue#14694, pr#7569, Nathan Cutler)
  • ceph.spec.in: add license declaration (pr#7574, Nathan Cutler)
  • ceph.spec.in: disable lttng and babeltrace explicitly (issue#14844, pr#7857, Kefu Chai)
  • ceph.spec.in: do not install Ceph RA on systemd platforms (issue#14828, pr#7894, Nathan Cutler)
  • ceph.spec.in: fix openldap and openssl build dependencies for SUSE (issue#15138, pr#8120, Nathan Cutler)
  • ceph.spec.in: limit _smp_mflags when lowmem_builder is set in SUSE’s OBS (issue#13858, pr#6691, Nathan Cutler)
  • ceph.spec.in: terminate if statement in %pre scriptlet (pr#8628, Nathan Cutler)
  • ceph_test_libcephfs: tolerate duplicated entries in readdir (issue#14377, pr#7246, Yan, Zheng)
  • ceph_test_msgr: reduce test size to fix memory size (pr#8127, Haomai Wang)
  • ceph_test_msgr: Use send_message instead of keepalive to wakeup connection (pr#6605, Haomai Wang)
  • ceph_test_rados: make long name ~300 chars, (not ~800) (pr#8600, Sage Weil)
  • ceph_test_rados_misc: shorten mount timeout (pr#8209, Sage Weil)
  • check-generated.sh: can’t source bash from sh (pr#8521, Michal Jarzabek)
  • cleanup (pr#8058, Yehuda Sadeh, Orit Wasserman)
  • cleanup: remove misc dead code (pr#7201, Erwan Velu)
  • client: a better check for MDS availability (pr#6253, John Spray)
  • client: add option to control how directory size is calculated (pr#7323, Yan, Zheng)
  • client: avoid creating orphan object in Client::check_pool_perm() (issue#13782, pr#6603, Yan, Zheng)
  • client: check if Fh is readable when processing a read (issue#11517, pr#7209, Yan, Zheng)
  • client: close mds sessions in shutdown() (pr#6269, John Spray)
  • client: don’t invalidate page cache when inode is no longer used (pr#6380, Yan, Zheng)
  • client: don’t mark_down on command reply (pr#6204, John Spray)
  • client: drop prefix from ints (pr#6275, John Coyle)
  • client: flush kernel pagecache before creating snapshot (issue#10436, pr#7495, Yan, Zheng)
  • client: modify a word in log (pr#6906, YongQiang He)
  • client: properly trim unlinked inode (issue#13903, pr#7297, Yan, Zheng)
  • client: removed unused Mutex from MetaRequest (pr#7655, Greg Farnum)
  • client: sys/file.h includes for flock operations (pr#6282, John Coyle)
  • client: use null snapc to check pool permission (issue#13714, pr#6497, Yan, Zheng)
  • cls/cls_rbd.cc: fix misused metadata_name_from_key (issue#13922, pr#6661, Xiaoxi Chen)
  • cls/cls_rbd: pass string by reference (pr#7232, Jeffrey Lu)
  • cls_hello: Fix grammatical error in description comment (pr#7951, Brad Hubbard)
  • cls_journal: fix -EEXIST checking (pr#8413, runsisi)
  • cls_rbd: add guards for error cases (issue#14316, issue#14317, pr#7165, xie xingguo)
  • cls_rbd: change object_map_update to return 0 on success, add logging (pr#6467, Douglas Fuller)
  • cls_rbd: enable object map checksums for object_map_save (issue#14280, pr#7149, Douglas Fuller)
  • cls_rbd: fix -EEXIST checking in cls::rbd::image_set (pr#8371, runsisi)
  • cls_rbd: fix the test for ceph-dencoder (pr#7793, Kefu Chai)
  • cls_rbd: mirror_image_list should return global image id (pr#8297, Jason Dillaman)
  • cls_rbd: mirroring directory (issue#14419, pr#7620, Josh Durgin)
  • cls_rbd: pass WILLNEED fadvise flags during object map update (issue#15332, pr#8380, Jason Dillaman)
  • cls_rbd: protect against excessively large object maps (issue#15121, pr#8099, Jason Dillaman)
  • cls_rbd: read_peers: update last_read on next cls_cxx_map_get_vals (pr#8374, Mykola Golub)
  • cls/rgw: fix FTBFS (pr#8142, Kefu Chai)
  • cls/rgw: fix use of timespan (issue#15181, pr#8212, Yehuda Sadeh)
  • cmake: add common/fs_types.cc to libcommon (pr#7898, Orit Wasserman)
  • cmake: Add common/PluginRegistry.cc to CMakeLists.txt (pr#6805, Pete Zaitcev)
  • cmake: Added new unittests to make check (pr#7572, Ali Maredia)
  • cmake: Add ENABLE_GIT_VERSION to avoid rebuilding (pr#7171, Kefu Chai)
  • cmake: add ErasureCode.cc to jerasure plugins (pr#7808, Casey Bodley)
  • cmake: add FindOpenSSL.cmake (pr#8106, Marcus Watts, Matt Benjamin)
  • cmake: add KernelDevice.cc to libos_srcs (pr#7507, Kefu Chai)
  • cmake: add missing check for HAVE_EXECINFO_H (pr#7270, Casey Bodley)
  • cmake: add missing librbd image_watcher sources (issue#14823, pr#7717, Casey Bodley)
  • cmake: add missing librbd/MirrorWatcher.cc and librd/ObjectWatcher.cc (pr#8399, Orit Wasserman)
  • cmake: add nss as a suffix for pk11pub.h (pr#6556, Samuel Just)
  • cmake: add rgw_basic_types.cc to librgw.a (pr#6786, Orit Wasserman)
  • cmake: add StandardPolicy.cc to librbd (pr#8368, Kefu Chai)
  • cmake: add TracepointProvider.cc to libcommon (pr#6823, Orit Wasserman)
  • cmake: avoid false-positive LDAP header detect (pr#8100, Matt Benjamin)
  • cmake: Build cython modules and change paths to bin/, lib/ (pr#8351, John Spray, Ali Maredia)
  • cmake: check for libsnappy in default path also (pr#7366, Kefu Chai)
  • cmake: cleanups and more features from automake (pr#7103, Casey Bodley, Ali Maredia)
  • cmake: define STRERROR_R_CHAR_P for GNU-specific strerror_r (pr#6751, Ilya Dryomov)
  • cmake: detect bzip2 and lz4 (pr#7126, Kefu Chai)
  • cmake: feb5 (pr#7541, Matt Benjamin)
  • cmake: fix build with bluestore (pr#7099, John Spray)
  • cmake: fix files list (pr#6539, Yehuda Sadeh)
  • cmake: fix mrun to handle cmake build structure (pr#8237, Orit Wasserman)
  • cmake: fix paths to various EC source files (pr#7748, Ali Maredia, Matt Benjamin)
  • cmake: fix the build of test_rados_api_list (pr#8438, Kefu Chai)
  • cmake: fix the build of tests (pr#7523, Kefu Chai)
  • cmake: fix the build on trusty (pr#7249, Kefu Chai)
  • cmake: For CMake version <= 2.8.11, use LINK_PRIVATE and LINK_PUBLIC (pr#7474, Tao Chang)
  • cmake: For CMake version <= 2.8.11, use LINK_PRIVATE (pr#8422, Haomai Wang)
  • cmake: let ceph-client-debug link with tcmalloc (pr#7314, Kefu Chai)
  • cmake: librbd and libjournal build fixes (pr#6557, Ilya Dryomov)
  • cmake: made rocksdb an imported library (pr#7131, Ali Maredia)
  • cmake: make check (pr#7912, Kefu Chai, Ali Maredia)
  • cmake: no need to run configure from run-cmake-check.sh (pr#6959, Orit Wasserman)
  • cmake (pr#7849, Ali Maredia)
  • cmake/pybind: fix include paths for cephfs (pr#8381, Josh Durgin)
  • cmake: Remove duplicate find_package libcurl line. (pr#7972, Brad Hubbard)
  • cmake: support ccache via a WITH_CCACHE build option (pr#6875, John Coyle)
  • cmake: test_build_libcephfs needs ${ALLOC_LIBS} (pr#7300, Ali Maredia)
  • cmake: update for recent librbd changes (pr#6715, John Spray)
  • cmake: update for recent rbd changes (pr#6818, Mykola Golub)
  • cmake: Use uname instead of arch. (pr#6358, John Coyle)
  • coc: fix typo in the apt-get command (pr#6659, Chris Holcombe)
  • common: add generic plugin infrastructure (pr#6696, Sage Weil)
  • common: add latency perf counter for finisher (pr#6175, Xinze Chi)
  • common/address_help.cc: fix the leak in entity_addr_from_url() (issue#14132, pr#6987, Qiankun Zheng)
  • common: add thread names (pr#5882, Igor Podoski)
  • common: add zlib compression plugin (pr#7437, Alyona Kiseleva, Kiseleva Alyona)
  • common: admin socket commands for tcmalloc heap get/set operations (pr#7512, Samuel Just)
  • common: ake ceph_time clocks work under BSD (pr#7340, Adam C. Emerson)
  • common: allow enable/disable of optracker at runtime (pr#5168, Jianpeng Ma)
  • common: Allow OPT_INT settings with negative values (issue#13829, pr#7390, Brad Hubbard, Kefu Chai)
  • common: assert: abort() rather than throw (pr#6804, Adam C. Emerson)
  • common: assert: __STRING macro is not defined by musl libc. (pr#6210, John Coyle)
  • common/bit_vector: use hard-coded value for block size (issue#14747, pr#7610, Jason Dillaman)
  • common: buffer: add cached_crc and cached_crc_adjust counts to perf dump (pr#6535, Ning Yao)
  • common: buffer/assert minor fixes (pr#6990, Matt Benjamin)
  • common: buffer: put a guard for stat() syscall during read_file (pr#7956, xie xingguo)
  • common: buffer: remove unneeded list destructor (pr#6456, Michal Jarzabek)
  • common/buffer: replace RWLock with spinlocks (pr#7294, Piotr Dałek)
  • common/ceph_context.cc:fix order of initialisers (pr#6838, Michal Jarzabek)
  • common: change the type of counter total/unhealthy_workers (pr#7254, Guang Yang)
  • common: default cluster name to config file prefix (pr#7364, Javen Wu)
  • common: Deprecate or free up a bunch of feature bits (pr#8214, Samuel Just)
  • common: Do not use non-portable constants in mutex_debug (pr#7766, Adam C. Emerson)
  • common: don’t reverse hobject_t hash bits when zero (pr#6653, Piotr Dałek)
  • common: fix OpTracker age histogram calculation (pr#5065, Zhiqiang Wang)
  • common: fix race during optracker switches between enabled/disabled mode (pr#8330, xie xingguo)
  • common: fix reset max in Throttle using perf reset command (issue#13517, pr#6300, Xinze Chi)
  • common: fix time_t cast in decode (issue#15330, pr#8419, Adam C. Emerson)
  • common/Formatter: avoid newline if there is no output (pr#5351, Aran85)
  • common: improve shared_cache and simple_cache efficiency with hash table (pr#6909, Ning Yao)
  • common/lockdep: increase max lock names (pr#6961, Sage Weil)
  • common: log: Assign LOG_DEBUG priority to syslog calls (issue#13993, pr#6815, Brad Hubbard)
  • common: log: predict log message buffer allocation size (pr#6641, Adam Kupczyk)
  • common/MemoryModel: Added explicit feature check for mallinfo(). (pr#6252, John Coyle)
  • common: new timekeeping common code, and Objecter conversion (pr#5782, Adam C. Emerson)
  • common/obj_bencher.cc: bump the precision of bandwidth field (pr#8021, Piotr Dałek)
  • common/obj_bencher.cc: faster object name generation (pr#7863, Piotr Dałek)
  • common/obj_bencher.cc: fix verification crashing when there’s no objects (pr#5853, Piotr Dałek)
  • common/obj_bencher.cc: make verify error fatal (issue#14971, pr#7897, Piotr Dałek)
  • common: optimize debug logging code (pr#6441, Adam Kupczyk)
  • common: optimize debug logging (pr#6307, Adam Kupczyk)
  • common/page.cc: _page_mask has too many bits (pr#7588, Dan Mick)
  • common: perf counter for bufferlist history total alloc (pr#6198, Xinze Chi)
  • common: reduce CPU usage by making stringstream in stringify function thread local (pr#6543, Evgeniy Firsov)
  • common: re-enable backtrace support (pr#6771, Jason Dillaman)
  • common: set thread name from correct thread (pr#7845, Igor Podoski)
  • common: signal_handler: added support for using reentrant strsignal() implementations vs. sys_siglist[] (pr#6796, John Coyle)
  • common: snappy decompressor may assert when handling segmented input bufferlist (issue#14400, pr#7268, Igor Fedotov)
  • common: string.h: return type from str_len(...) need not be const (pr#7679, Matt Benjamin)
  • common/str_map: cleanup: replaced get_str_map() function overloading by using default parameters for delimiters (pr#7266, Sahithi R V)
  • common/strtol.cc: fix the coverity warnings (pr#7967, Kefu Chai)
  • common: SubProcess: Avoid buffer corruption when calling err() (issue#15011, pr#8054, Erwan Velu)
  • common: SubProcess: fix multiple definition bug (pr#6790, Yunchuan Wen)
  • common: Thread: move copy constructor and assignment op (pr#5133, Michal Jarzabek)
  • common: time: have skewing-now call non-skewing now (pr#7466, Adam C. Emerson)
  • common/TrackedOp: fix inaccurate counting for slow requests (issue#14804, pr#7690, xie xingguo)
  • common: unit test for interval_set implementations (pr#6, Igor Fedotov)
  • common: use namespace instead of subclasses for buffer (pr#6686, Michal Jarzabek)
  • common: various fixes from SCA runs (pr#7680, Danny Al-Gaaf)
  • common: WeightedPriorityQueue Re-Add Round Robin for Classes (pr#7984, Robert LeBlanc)
  • common: WorkQueue: new PointerWQ base class for ContextWQ (issue#13636, pr#6525, Jason Dillaman)
  • compat: use prefixed typeof extension (pr#6216, John Coyle)
  • config: add $data_dir/config to config search path (pr#7377, Sage Weil)
  • config: complains when a setting is not tracked (issue#11692, pr#7085, Kefu Chai)
  • config: fix osd_crush_initial_weight (pr#7975, You Ji)
  • config: increase default async op threads (pr#7802, Piotr Dałek)
  • config_opts: disable filestore throttle soft backoff by default (pr#8265, Samuel Just)
  • configure.ac: boost_iostreams is required, not optional (pr#7816, Hector Martin)
  • configure.ac: macro fix (pr#6769, Igor Podoski)
  • configure.ac: make “–with-librocksdb-static” default to ‘check’ (issue#14463, pr#7317, Dan Mick)
  • configure.ac: update help strings for cython (pr#7856, Josh Durgin)
  • configure: Add -D_LARGEFILE64_SOURCE to Linux build. (pr#8402, Ira Cooper)
  • configure: detect bz2 and lz4 (issue#13850, issue#13981, pr#7030, Kefu Chai)
  • correct radosgw-admin command (pr#7006, YankunLi)
  • crush: add chooseleaf_stable tunable (pr#6572, Sangdi Xu, Sage Weil)
  • crush: add safety assert (issue#14496, pr#7344, songbaisen)
  • crush: clean up whitespace removal (issue#14302, pr#7157, songbaisen)
  • crush/CrushTester: check for overlapped rules (pr#7139, Kefu Chai)
  • crush/CrushTester: workaround a bug in boost::icl (pr#7560, Kefu Chai)
  • crush: fix cli tests for new crush tunables (pr#8107, Sage Weil)
  • crush: fix error log (pr#8430, Wei Jin)
  • crush: fix typo (pr#8518, Wei Jin)
  • crush: reply quickly from get_immediate_parent (issue#14334, pr#7181, song baisen)
  • crushtool: Don’t crash when called on a file that isn’t a crushmap (issue#8286, pr#8038, Brad Hubbard)
  • crushtool: improve usage/tip messages (pr#7142, xie xingguo)
  • crushtool: set type 0 name “device” for –build option (pr#6824, Sangdi Xu)
  • crush: update tunable docs. change default profile to jewel (pr#7964, Sage Weil)
  • crush: validate bucket id before indexing buckets array (issue#13477, pr#6246, Sage Weil)
  • debian/changelog: Remove stray ‘v’ in version (pr#7936, Dan Mick)
  • debian/changelog: Remove stray ‘v’ in version (pr#7938, Dan Mick)
  • debian: include cpio in build-requiers (pr#7533, Rémi BUISSON)
  • debian: package librgw_file* tests (pr#7930, Ken Dreyer)
  • debian: packaging fixes for jewel (pr#7807, Ken Dreyer, Ali Maredia)
  • debian/rpm split servers (issue#10587, pr#7746, Ken Dreyer)
  • debian/rules: put init-ceph in /etc/init.d/ceph, not ceph-base (issue#15329, pr#8406, Dan Mick)
  • debian: start ceph-mon-all and ceph-osd-all on package install (issue#15098, pr#8617, Sage Weil)
  • doc: add ceph-detect-init(8) source to dist tarball (pr#7933, Ken Dreyer)
  • doc: add cinder backend section to rbd-openstack.rst (pr#7923, RustShen)
  • doc: adding “–allow-shrink” in decreasing the size of the rbd block to distinguish from the increasing option (pr#7020, Yehua)
  • doc: Adding documentation on how to use new dynamic throttle scheme (pr#8069, Somnath Roy)
  • doc: add orphans commands to radosgw-admin(8) (issue#14637, pr#7518, Ken Dreyer)
  • doc: add v0.80.11 to the release timeline (pr#6658, Loic Dachary)
  • doc: admin/build-doc: add lxml dependencies on debian (pr#6610, Ken Dreyer)
  • doc: admin/build-doc: make paths absolute (pr#7119, Dan Mick)
  • doc: amend Fixes instructions in SubmittingPatches (pr#8312, Nathan Cutler)
  • doc: amend the rados.8 (pr#7251, Kefu Chai)
  • doc/architecture.rst: remove redundant word “across” (pr#8179, Zhao Junwang)
  • doc/cephfs/posix: update (pr#6922, Sage Weil)
  • doc: Clarify usage on starting single osd/mds/mon. (pr#7641, Patrick Donnelly)
  • doc: CodingStyle: fix broken URLs (pr#6733, Kefu Chai)
  • doc: correct typo ‘restared’ to ‘restarted’ (pr#6734, Yilong Zhao)
  • doc: detailed description of bugfixing workflow (pr#7941, Nathan Cutler)
  • doc/dev: add “Deploy a cluster for manual testing” section (issue#15218, pr#8228, Nathan Cutler)
  • doc/dev: add section on interrupting a running suite (pr#8116, Nathan Cutler)
  • doc/dev: continue writing Testing in the cloud chapter (pr#7960, Nathan Cutler)
  • doc: dev: document ceph-qa-suite (pr#6955, Loic Dachary)
  • doc/dev/index: refactor/reorg (pr#6792, Nathan Cutler)
  • doc/dev/index.rst: begin writing Contributing to Ceph (pr#6727, Nathan Cutler)
  • doc/dev/index.rst: fix headings (pr#6780, Nathan Cutler)
  • doc/dev: integrate testing into the narrative (pr#7946, Nathan Cutler)
  • doc: dev: introduction to tests (pr#6910, Loic Dachary)
  • doc/dev: various refinements (pr#7954, Nathan Cutler)
  • doc: document “readforward” and “readproxy” cache mode (pr#7023, Kefu Chai)
  • doc: download GPG key from download.ceph.com (issue#13603, pr#6384, Ken Dreyer)
  • doc: draft notes for jewel (pr#8211, Loic Dachary, Sage Weil)
  • doc: file must be empty when writing layout fields of file use “setfattr” (pr#6848, Cilang Zhao)
  • doc: fix 0.94.4 and 0.94.5 ordering (pr#7763, Loic Dachary)
  • doc: fix dependencies (pr#8587, Etienne Menguy)
  • doc: Fixed incorrect name of a “List Multipart Upload Parts” Response Entity (issue#14003, pr#6829, Lenz Grimmer)
  • doc: Fixes a CRUSH map step take argument (pr#7327, Ivan Grcic)
  • doc: Fixes a spelling error (pr#6705, Jeremy Qian)
  • doc: Fixes headline different font size and type (pr#8328, scienceluo)
  • doc: fixing image in section ERASURE CODING (pr#7298, Rachana Patel)
  • doc: fix misleading configuration guide on cache tiering (pr#7000, Yuan Zhou)
  • doc: fix “mon osd down out subtree limit” option name (pr#7164, François Lafont)
  • doc: fix outdated content in cache tier (pr#6272, Yuan Zhou)
  • doc: fix S3 C# example (pr#7027, Dunrong Huang)
  • doc: fix typo, duplicated content etc. for Jewel release notes (pr#8342, xie xingguo)
  • doc: fix typo in cephfs/quota (pr#6745, Drunkard Zhang)
  • doc: fix typo, indention etc. (pr#7829, xie xingguo)
  • doc: fix typo in developer guide (pr#6943, Nathan Cutler)
  • doc: fix typo (pr#7004, tianqing)
  • doc: fix wrong type of hyphen (pr#8252, xie xingguo)
  • doc: initial draft of RBD mirroring admin documentation (issue#15041, pr#8169, Jason Dillaman)
  • doc: INSTALL redirect to online documentation (pr#6749, Loic Dachary)
  • doc: little improvements for troubleshooting scrub issues (pr#6827, Mykola Golub)
  • doc: Modified a note section in rbd-snapshot doc. (pr#6908, Nilamdyuti Goswami)
  • doc: note that cephfs auth stuff is new in jewel (pr#6858, John Spray)
  • doc: osd-config Add Configuration Options for op queue. (pr#7837, Robert LeBlanc)
  • doc: osd: s/schedued/scheduled/ (pr#6872, Loic Dachary)
  • doc/rados/api/librados-intro.rst: fix typo (pr#7879, xie xingguo)
  • doc/rados/operations/crush: fix the formatting (pr#8306, Kefu Chai)
  • doc: recommend against ext4 (pr#8556, Sage Weil)
  • doc: reinstate accidentally removed section header (pr#8569, Josh Durgin)
  • doc: release-notes: draft v0.80.11 release notes (pr#6374, Loic Dachary)
  • doc: release-notes: draft v10.0.0 release notes (pr#6666, Loic Dachary)
  • doc/release-notes: fix indents (pr#8345, Kefu Chai)
  • doc/release-notes: jewel updates (pr#8590, Nathan Cutler, Sage Weil)
  • doc/release-notes: v9.1.0 (pr#6281, Loic Dachary)
  • doc/releases-notes: fix build error (pr#6483, Kefu Chai)
  • doc: Remove Ceph Monitors do lots of fsync() (issue#15288, pr#8327, Vikhyat Umrao)
  • doc: remove redundant space in ceph-authtool/monmaptool doc (pr#7244, Jiaying Ren)
  • doc: remove toctree items under Create CephFS (pr#6241, Jevon Qiao)
  • doc: remove unnecessary period in headline (pr#6775, Marc Koderer)
  • doc: rename the “Create a Ceph User” section and add verbage about… (issue#13502, pr#6297, ritz303)
  • doc: revise SubmittingPatches (pr#7292, Kefu Chai)
  • doc: rgw adding a very basic multisite doc (issue#15247, pr#8281, Abhishek Lekshmanan)
  • doc: rgw admin uses “region list” not “regions list” (pr#8517, Kris Jurka)
  • doc: rgw explain keystone’s verify ssl switch (pr#7862, Abhishek Lekshmanan)
  • doc: rgw multisite, add pools section & minor cosmetic improvements (pr#8653, Abhishek Lekshmanan)
  • doc: rgw: port changes from downstream to upstream (pr#7264, Bara Ancincova)
  • doc: rgw_region_root_pool option should be in [global] (issue#15244, pr#8271, Vikhyat Umrao)
  • doc: rst style fix for pools document (pr#6816, Drunkard Zhang)
  • doc: script and guidelines for mirroring Ceph (pr#7384, Wido den Hollander)
  • docs: Fix styling of newly added mirror docs (pr#6127, Wido den Hollander)
  • doc: small fixes (pr#7813, xiexingguo)
  • doc: standardize @param (not @parma, @parmam, @params) (pr#7714, Nathan Cutler)
  • doc: SubmittingPatches: there is no next; only jewel (pr#6811, Nathan Cutler)
  • doc, tests: update all http://ceph.com/ to download.ceph.com (pr#6435, Alfredo Deza)
  • doc: Update ceph-disk manual page with new feature deactivate/destroy. (pr#6637, Vicente Cheng)
  • doc: Updated CloudStack RBD documentation (pr#8308, Wido den Hollander)
  • doc: update doc for with new pool settings (pr#5951, Guang Yang)
  • doc: Updated the rados command man page to include the –run-name opt… (issue#12899, pr#5900, ritz303)
  • doc: update infernalis release notes (pr#6575, vasukulkarni)
  • doc: Update list of admin/build-doc dependencies (issue#14070, pr#6934, Nathan Cutler)
  • doc: update radosgw-admin example (pr#6256, YankunLi)
  • doc: update the OS recommendations for newer Ceph releases (pr#6355, ritz303)
  • doc: use ‘ceph auth get-or-create’ for creating RGW keyring (pr#6930, Wido den Hollander)
  • doc: very basic doc on mstart (pr#8207, Abhishek Lekshmanan)
  • drop envz.h includes (pr#6285, John Coyle)
  • fix FTBFS introduced by d0af316 (pr#7792, Kefu Chai)
  • fix: use right init_flags to finish CephContext (pr#6549, Yunchuan Wen)
  • fs: be more careful about the “mds setmap” command to prevent breakage (issue#14380, pr#7262, Yan, Zheng)
  • ghobject_t: use # instead of ! as a separator (pr#8055, Sage Weil)
  • global: do not start two daemons with a single pid-file (issue#13422, pr#7075, shun song)
  • global: do not start two daemons with a single pid-file (part 2) (issue#13422, pr#7463, Loic Dachary)
  • global/global_init: expand metavariables in setuser_match_path (issue#15365, pr#8433, Sage Weil)
  • global/signal_handler: print thread name in signal handler (pr#8177, Jianpeng Ma)
  • helgrind: additional race conditionslibrbd: journal replay should honor inter-event dependencies (pr#7274, Jason Dillaman)
  • helgrind: fix real (and imaginary) race conditions (issue#14163, pr#7208, Jason Dillaman)
  • include/encoding: do not try to be clever with list encoding (pr#7913, Sage Weil)
  • init-ceph: do umount when the path exists. (pr#6866, Xiaoxi Chen)
  • init-ceph.in: allow case-insensitive true in osd crush update on start’ (`pr#7943, Eric Cook)
  • init-ceph.in: skip ceph-disk if it is not present (issue#10587, pr#7286, Ken Dreyer)
  • init-ceph: use getopt to make option processing more flexible (issue#3015, pr#6089, Nathan Cutler)
  • journal: async methods to (un)register and update client (pr#7832, Mykola Golub)
  • journal: disconnect watch after watch error (issue#14168, pr#7113, Jason Dillaman)
  • journal: fire replay complete event after reading last object (issue#13924, pr#6762, Jason Dillaman)
  • journal: fix final result for JournalTrimmer::C_RemoveSet (pr#8516, runsisi)
  • journal: fix race condition between Future and journal shutdown (issue#15364, pr#8477, Jason Dillaman)
  • journal: flush commit position on metadata shutdown (pr#7385, Mykola Golub)
  • journal: improve commit position tracking (pr#7776, Jason Dillaman)
  • journal: incremental improvements and fixes (pr#6552, Mykola Golub)
  • journal: possible race condition during live replay (issue#15352, pr#8494, Jason Dillaman)
  • journal: prevent race injecting new records into overflowed object (issue#15202, pr#8220, Jason Dillaman)
  • journal: reset commit_position_task_ctx pointer after task complete (pr#7480, Mykola Golub)
  • journal: re-use common threads between journalers (pr#7906, Jason Dillaman)
  • journal: support replaying beyond skipped splay objects (pr#6687, Jason Dillaman)
  • krbd: remove deprecated –quiet param from udevadm (issue#13560, pr#6394, Jason Dillaman)
  • kv: fix bug in kv key optimization (pr#6511, Sage Weil)
  • kv: implement value_as_ptr() and use it in .get() (pr#7052, Piotr Dałek)
  • kv/KineticStore: fix broken split_key (pr#6574, Haomai Wang)
  • kv: optimize and clean up internal key/value interface (pr#6312, Piotr Dałek, Sage Weil)
  • libcephfs: fix python tests and fix getcwd on missing dir (pr#7901, John Spray)
  • libcephfs: Improve portability by replacing loff_t type usage with off_t (pr#6301, John Coyle)
  • libcephfs: only check file offset on glibc platforms (pr#6288, John Coyle)
  • libcephfs: update LIBCEPHFS_VERSION to indicate the interface was changed (pr#7551, Jevon Qiao)
  • librados: add c++ style osd/pg command interface (pr#6893, Yunchuan Wen)
  • librados: aix gcc librados port (pr#6675, Rohan Mars)
  • librados: avoid malloc(0) (which can return NULL on some platforms) (issue#13944, pr#6779, Dan Mick)
  • librados: cancel aio notification linger op upon completion (pr#8102, Jason Dillaman)
  • librados: check connection state in rados_monitor_log (issue#14499, pr#7350, David Disseldorp)
  • librados: clean up Objecter.h (pr#6731, Jie Wang)
  • librados: detect laggy ops with objecter_timeout, not osd_timeout (pr#7629, Greg Farnum)
  • librados: do cleanup (pr#6488, xie xingguo)
  • librados: do not clear handle for aio_watch() (pr#7771, xie xingguo)
  • librados: fix examples/librados/Makefile error. (pr#6320, You Ji)
  • librados: fix pool alignment API overflow issue (issue#13715, pr#6489, xie xingguo)
  • librados: fix potential null pointer access when do pool_snap_list (issue#13639, pr#6422, xie xingguo)
  • librados: fix PromoteOn2ndRead test for EC (pr#6373, Sage Weil)
  • librados: fix rare race where pool op callback may hang forever (issue#13642, pr#6426, xie xingguo)
  • librados: fix several flaws introduced by the enumeration_objects API (issue#14299, issue#14301, issue#14300, pr#7156, xie xingguo)
  • librados: fix test failure with new aio watch/unwatch API (pr#7824, Jason Dillaman)
  • librados: implement async watch/unwatch (pr#7649, Haomai Wang)
  • librados: include/rados/librados.h: fix typo (pr#6741, Nathan Cutler)
  • librados: init crush_location from config file. (issue#13473, pr#6243, Wei Luo)
  • librados: mix lock cycle (un)registering asok commands (pr#7581, John Spray)
  • librados: move to c++11 concurrency types (pr#5931, Adam C. Emerson)
  • librados: new style (sharded) object listing (pr#6405, John Spray, Sage Weil)
  • librados: potential null pointer access in list_(n)objects (issue#13822, pr#6639, xie xingguo)
  • librados: race condition on aio_notify completion handling (pr#7864, Jason Dillaman)
  • librados: remove duplicate definitions for rados pool_stat_t and cluster_stat_t (pr#7330, Igor Fedotov)
  • librados: Revert “rados: Add new field flags for ceph_osd_op.copy_get.” (pr#8486, Sage Weil)
  • librados: shutdown finisher in a more graceful way (pr#7519, xie xingguo)
  • librados: Solaris port (pr#6416, Rohan Mars)
  • librados: stat2 with higher time precision (pr#7915, Yehuda Sadeh, Matt Benjamin)
  • librados: Striper: Fix incorrect push_front -> append_zero change (pr#7578, Haomai Wang)
  • librados_test_stub: protect against notify/unwatch race (pr#7540, Jason Dillaman)
  • librados: wrongly passed in argument for stat command (issue#13703, pr#6476, xie xingguo)
  • librbd: allocate new journal tag after acquiring exclusive lock (pr#7884, Jason Dillaman)
  • librbd: API: async open and close (issue#14264, pr#7259, Mykola Golub)
  • librbd: automatically flush IO after blocking write operations (issue#13913, pr#6742, Jason Dillaman)
  • librbd: Avoid create two threads per image (pr#7400, Haomai Wang)
  • librbd: avoid throwing error if mirroring is unsupported (pr#8417, Jason Dillaman)
  • librbd: better handling of exclusive lock transition period (pr#7204, Jason Dillaman)
  • librbd: block maintenance ops until after journal is ready (issue#14510, pr#7382, Jason Dillaman)
  • librbd: block read requests until journal replayed (pr#7627, Jason Dillaman)
  • librbd: check for presence of journal before attempting to remove (issue#13912, pr#6737, Jason Dillaman)
  • librbd: clear error when older OSD doesn’t support image flags (issue#14122, pr#7035, Jason Dillaman)
  • librbd: correct include guard in RenameRequest.h (pr#7143, Jason Dillaman)
  • librbd: correct issues discovered during teuthology testing (issue#14108, issue#14107, pr#6974, Jason Dillaman)
  • librbd: correct issues discovered via valgrind memcheck (pr#8132, Jason Dillaman)
  • librbd: correct issues discovered when cache is disabled (issue#14123, pr#6979, Jason Dillaman)
  • librbd: correct race conditions discovered during unit testing (issue#14060, pr#6923, Jason Dillaman)
  • librbd: deadlock while attempting to flush AIO requests (issue#13726, pr#6508, Jason Dillaman)
  • librbd: differentiate journal replay flush vs shut down (pr#7698, Jason Dillaman)
  • librbd: disable copy-on-read when not exclusive lock owner (issue#14167, pr#7129, Jason Dillaman)
  • librbd: disable image mirroring when image is removed (issue#15265, pr#8375, Ricardo Dias)
  • librbd: disallow unsafe rbd_op_threads values (issue#15034, pr#8459, Josh Durgin)
  • librbd: do not ignore self-managed snapshot release result (issue#14170, pr#7043, Jason Dillaman)
  • librbd: enable/disable image mirroring automatically for pool mode (issue#15143, pr#8204, Ricardo Dias)
  • librbd: ensure copy-on-read requests are complete prior to closing parent image (pr#6740, Jason Dillaman)
  • librbd: ensure librados callbacks are flushed prior to destroying (issue#14092, pr#7040, Jason Dillaman)
  • librbd: exit if parent’s snap is gone during clone (issue#14118, pr#6968, xie xingguo)
  • librbd: fix enable objectmap feature issue (issue#13558, pr#6339, xinxin shu)
  • librbd: fix handling of proxied maintenance operations during shut down (issue#15471, issue#15456, pr#8565, Jason Dillaman)
  • librbd: fix internal handling of dynamic feature updates (pr#7299, Jason Dillaman)
  • librbd: fix journal iohint (pr#6917, Jianpeng Ma)
  • librbd: fix known test case race condition failures (issue#13969, pr#6800, Jason Dillaman)
  • librbd: fix merge-diff for >2GB diff-files (issue#14030, pr#6889, Yunchuan Wen)
  • librbd: fix potential memory leak (issue#14332, issue#14333, pr#7174, xie xingguo)
  • librbd: fix snap_exists API return code overflow (issue#14129, pr#6986, xie xingguo)
  • librbd: fix state machine race conditions during shut down (pr#7761, Jason Dillaman)
  • librbd: fix test case race condition for journaling ops (pr#6877, Jason Dillaman)
  • librbd: fix tracepoint parameter in diff_iterate (pr#6892, Yunchuan Wen)
  • librbd: flush and invalidate cache via admin socket (issue#2468, pr#6453, Mykola Golub)
  • librbd: handle unregistering the image watcher when disconnected (pr#8094, Jason Dillaman)
  • librbd: image refresh code paths converted to async state machines (pr#6859, Jason Dillaman)
  • librbd: include missing header for bool type (pr#6798, Mykola Golub)
  • librbd: initial collection of state machine unit tests (pr#6703, Jason Dillaman)
  • librbd: integrate journaling for maintenance operations (pr#6625, Jason Dillaman)
  • librbd: integrate journaling support for IO operations (pr#6541, Jason Dillaman)
  • librbd: integrate journal replay with fsx testing (pr#7583, Jason Dillaman)
  • librbd: IO deadlock when dynamically enabling/disabling features (issue#15102, pr#8511, Jason Dillaman)
  • librbd: journal framework for tracking exclusive lock transitions (issue#13298, pr#7529, Jason Dillaman)
  • librbd: journaling-related lock dependency cleanup (pr#6777, Jason Dillaman)
  • librbd: journal replay needs to support re-executing maintenance ops (issue#14822, pr#7785, Jason Dillaman)
  • librbd: journal replay should honor inter-event dependencies (pr#7019, Jason Dillaman)
  • librbd: journal shut down flush race condition (issue#14434, pr#7302, Jason Dillaman)
  • librbd: not necessary to hold owner_lock while releasing snap id (issue#13914, pr#6736, Jason Dillaman)
  • librbd: only send signal when AIO completions queue empty (pr#6729, Jianpeng Ma)
  • librbd: optionally validate new RBD pools for snapshot support (issue#13633, pr#6925, Jason Dillaman)
  • librbd: partial revert of commit 9b0e359 (issue#13969, pr#6789, Jason Dillaman)
  • librbd: perf counters might not be initialized on error (issue#13740, pr#6523, Jason Dillaman)
  • librbd: perf section name: use hyphen to separate components (issue#13719, pr#6516, Mykola Golub)
  • librbd: properly handle replay of snap remove RPC message (issue#14164, pr#7042, Jason Dillaman)
  • librbd: reduce mem copies to user-buffer during read (pr#7548, Jianpeng Ma)
  • librbd: reduce verbosity of common error condition logging (issue#14234, pr#7114, Jason Dillaman)
  • librbd: refresh image if required before replaying journal ops (issue#14908, pr#7978, Jason Dillaman)
  • librbd: remove canceled tasks from timer thread (issue#14476, pr#7329, Douglas Fuller)
  • librbd: remove duplicate read_only test in librbd::async_flatten (pr#5856, runsisi)
  • librbd: remove last synchronous librados calls from open/close state machine (pr#7839, Jason Dillaman)
  • librbd: replaying a journal op post-refresh requires locking (pr#8028, Jason Dillaman)
  • librbd: resize should only update image size within header (issue#13674, pr#6447, Jason Dillaman)
  • librbd: retrieve image name when opening by id (pr#7736, Mykola Golub)
  • librbd: return error if we fail to delete object_map head object (issue#14098, pr#6958, xie xingguo)
  • librbd: Revert “librbd: use task finisher per CephContext” (issue#14780, pr#7667, Josh Durgin)
  • librbd: send notifications for mirroring status updates (pr#8355, Jason Dillaman)
  • librbd: several race conditions discovered under single CPU environment (pr#7653, Jason Dillaman)
  • librbd: simplify IO method signatures for 32bit environments (pr#6700, Jason Dillaman)
  • librbd: small fixes for error messages and readahead counter (issue#14127, pr#6983, xie xingguo)
  • librbd: start perf counters after id is initialized (issue#13720, pr#6494, Mykola Golub)
  • librbd: support eventfd for AIO completion notifications (pr#5465, Haomai Wang)
  • librbd: truncate does not need to mark the object as existing in the object map (issue#14789, pr#7772, xinxin shu)
  • librbd: uninitialized state in snap remove state machine (pr#6982, Jason Dillaman)
  • librbd: update of mirror pool mode and mirror peer handling (pr#7718, Jason Dillaman)
  • librbd: use async librados notifications (pr#7668, Jason Dillaman)
  • log: do not repeat errors to stderr (issue#14616, pr#7983, Sage Weil)
  • log: fix stack overflow when flushing large log lines (issue#14707, pr#7599, Igor Fedotov)
  • log: segv in a portable way (issue#14856, pr#7790, Kefu Chai)
  • log: use delete[] (pr#7904, Sage Weil)
  • mailmap: Abhishek Lekshmanan affiliation (pr#8615, Abhishek Lekshmanan)
  • mailmap: add UMCloud affiliation (pr#6820, Jiaying Ren)
  • mailmap for 10.0.4 (pr#7932, Abhishek Lekshmanan)
  • mailmap: hange organization for Dongmao Zhang (pr#7173, Dongmao Zhang)
  • mailmap: Igor Podoski affiliation (pr#7219, Igor Podoski)
  • mailmap: Jewel updates (pr#6750, Abhishek Lekshmanan)
  • mailmap: modify member info (pr#6468, Xiaowei Chen)
  • mailmap: revise organization (pr#6519, Li Wang)
  • mailmap: Ubuntu Kylin name changed to Kylin Cloud (pr#6532, Loic Dachary)
  • mailmap: update .organizationmap (pr#6565, chenji-kael)
  • mailmap update (pr#7210, M Ranga Swami Reddy)
  • mailmap update (pr#8522, M Ranga Swami Reddy)
  • mailmap update (pr#8608, M Ranga Swami Reddy)
  • mailmap: updates for infernalis. (pr#6495, Yann Dupont)
  • mailmap: updates (pr#6258, M Ranga Swami Reddy)
  • mailmap: updates (pr#6594, chenji-kael)
  • mailmap updates (pr#6992, Loic Dachary)
  • mailmap updates (pr#7189, Loic Dachary)
  • mailmap updates (pr#7528, Yann Dupont)
  • mailmap updates (pr#8256, Loic Dachary)
  • mailmap: Xie Xingguo affiliation (pr#6409, Loic Dachary)
  • Makefile-env.am: set a default for CEPH_BUILD_VIRTUALENV (part 2) (pr#8320, Loic Dachary)
  • makefile: fix rbdmap manpage (pr#8310, Kefu Chai)
  • makefile: remove libedit from libclient.la (pr#7284, Kefu Chai)
  • makefiles: remove bz2-dev from dependencies (issue#13981, pr#6939, Piotr Dałek)
  • man/8/ceph-disk: fix formatting issue (pr#8003, Sage Weil)
  • man/8/ceph-disk: fix formatting issue (pr#8012, Sage Weil)
  • man: document listwatchers cmd in “rados” manpage (pr#7021, Kefu Chai)
  • mdsa: A few more snapshot fixes, mostly around snapshotted inode/dentry tracking (pr#7798, Yan, Zheng)
  • mds: Add cmapv to ESessions default constructor initializer list (pr#8403, John Coyle)
  • mds: add ‘p’ flag in auth caps to control setting pool in layout (pr#6567, John Spray)
  • mds: advance clientreplay when replying (issue#14357, pr#7216, John Spray)
  • mds: allow client to request caps when opening file (issue#14360, pr#7952, Yan, Zheng)
  • mds: Be more careful about directory fragmentation and scrubbing (issue#15167, pr#8180, Yan, Zheng)
  • mds, client: add namespace to file_layout_t (previously ceph_file_layout) (pr#7098, Yan, Zheng, Sage Weil)
  • mds, client: fix locking around handle_conf_change (issue#14365, issue#14374, pr#7312, John Spray)
  • mds: don’t double-shutdown the timer when suiciding (issue#14697, pr#7616, Greg Farnum)
  • mds: expose state of recovery to status ASOK command (issue#14146, pr#7068, Yan, Zheng)
  • mds: filelock deadlock (pr#7713, Yan, Zheng)
  • mds: fix client capabilities during reconnect (client.XXXX isn’t responding to mclientcaps(revoke)) (issue#11482, pr#6432, Yan, Zheng)
  • mds: fix client cap/message replay order on restart (issue#14254, issue#13546, pr#7199, Yan, Zheng)
  • mds: fix file_layout_t legacy encoding snafu (pr#8455, Sage Weil)
  • mds: fix fsmap decode (pr#8063, Greg Farnum)
  • mds: fix FSMap upgrade with daemons in the map (pr#8073, John Spray, Greg Farnum)
  • mds: fix inode_t::compare() (issue#15038, pr#8014, Yan, Zheng)
  • mds: fix scrub_path (pr#6684, John Spray)
  • mds: fix setvxattr (broken in a536d114) (issue#14029, pr#6941, John Spray)
  • mds: fix standby replay thread creation (issue#14144, pr#7132, John Spray)
  • mds: fix stray purging in ‘stripe_count > 1’ case (issue#15050, pr#8040, Yan, Zheng)
  • mds: FSmap decode fix (pr#8604, Greg Farnum)
  • mds/FSMap: use _ in key name (pr#8614, Sage Weil)
  • mds: function parameter ‘df’ should be passed by reference (pr#7490, Na Xie)
  • mds: implement snapshot rename (pr#5645, xinxin shu)
  • mds: judgment added to avoid the risk of visiting the NULL pointer (pr#7358, Kongming Wu)
  • mds: messages/MOSDOp: cast in assert to eliminate warnings (issue#13625, pr#6414, David Zafman)
  • mds: Minor fixes around data scan in some scenarios (pr#8115, Yan, Zheng)
  • mds: Multi-filesystem support (issue#14952, pr#6953, John Spray, Sage Weil)
  • mds: new filtered MDS tell commands for sessions (pr#6180, John Spray)
  • mds: properly set STATE_STRAY/STATE_ORPHAN for stray dentry/inode (issue#13777, pr#6553, Yan, Zheng)
  • mds: repair the command option “–hot-standby” (pr#6454, Wei Feng)
  • mds: ScrubStack and “tag path” command (pr#5662, Yan, Zheng, John Spray, Greg Farnum)
  • mds/Session: use projected parent for auth path check (issue#13364, pr#6200, Sage Weil)
  • mds: tear down connections from tell commands (issue#14048, pr#6933, John Spray)
  • mds: we should wait messenger when MDSDaemon suicide (pr#6996, Wei Feng)
  • messages/MOSDOp: clear reqid inc for v6 encoding (issue#15230, pr#8299, Sage Weil)
  • mirrors: Change contact e-mail address for se.ceph.com (pr#8007, Wido den Hollander)
  • mirrors: Updated scripts and documentation for mirrors (pr#7847, Wido den Hollander)
  • misc: use make_shared while creating shared_ptr (pr#7769, Somnath Roy)
  • mon: add an independent option for max election time (pr#7245, Sangdi Xu)
  • mon: add osd blacklist clear (pr#6945, John Spray)
  • mon: add RAW USED column to ceph df detail (pr#7087, Ruifeng Yang)
  • mon: block ‘ceph osd pg-temp ...’ if pg_temp update is already pending (pr#6704, Sage Weil)
  • mon: cleanup set-quota error msg (pr#7371, Abhishek Lekshmanan)
  • monclient: avoid key renew storm on clock skew (issue#12065, pr#8258, Alexey Sheplyakov)
  • mon: compact full epochs also (issue#14537, pr#7396, Kefu Chai)
  • mon: consider pool size when creating pool (issue#14509, pr#7359, songbaisen)
  • mon: consider the pool size when setting pool crush rule (issue#14495, pr#7341, song baisen)
  • mon: degrade a log message to level 2 (pr#6929, Kongming Wu)
  • mon: do not send useless pg_create messages for split pgs (pr#8247, Sage Weil)
  • mon: don’t require OSD W for MRemoveSnaps (issue#13777, pr#6601, John Spray)
  • mon: drop useless rank init assignment (issue#14508, pr#7321, huanwen ren)
  • mon: enable ‘mon osd prime pg temp’ by default (pr#7838, Robert LeBlanc)
  • mon: fix calculation of %USED (pr#7881, Adam Kupczyk)
  • mon: fix ceph df pool available calculation for 0-weighted OSDs (pr#6660, Chengyuan Li)
  • mon: fix coding-style on PG related Monitor files (pr#6881, Wido den Hollander)
  • mon: fixes related to mondbstore->get() changes (pr#6564, Piotr Dałek)
  • mon: fix keyring permissions (issue#14950, pr#7880, Owen Synge)
  • mon: fix locking in preinit error paths (issue#14473, pr#7353, huanwen ren)
  • mon: fix monmap creation stamp (pr#7459, duanweijun)
  • mon: fix reuse of osd ids (clear osd info on osd deletion) (issue#13988, pr#6900, Loic Dachary, Sage Weil)
  • mon: fix routed_request_tids leak (pr#6102, Ning Yao)
  • mon: fix sync of config-key data (pr#7363, Xiaowei Chen)
  • mon: fix the can’t change subscribe level bug in monitoring log (pr#7031, Zhiqiang Wang)
  • mon: go into ERR state if multiple PGs are stuck inactive (issue#13923, pr#7253, Wido den Hollander)
  • mon: initialize last_* timestamps on new pgs to creation time (issue#14952, pr#7980, Sage Weil)
  • mon: initialize recorded election epoch properly even when standalone (issue#13627, pr#6407, huanwen ren)
  • mon: make clock skew checks sane (issue#14175, pr#7141, Joao Eduardo Luis)
  • mon: mark_down_pgs in lockstep with pg_map’s osdmap epoch (pr#8208, Sage Weil)
  • mon/MDSMonitor: add confirmation to “ceph mds rmfailed” (issue#14379, pr#7248, Yan, Zheng)
  • mon/MDSMonitor.cc: properly note beacon when health metrics changes (issue#14684, pr#7757, Yan, Zheng)
  • mon: modify a dout level in OSDMonitor.cc (pr#6928, Yongqiang He)
  • mon/MonClient: avoid null pointer error when configured incorrectly (issue#14405, pr#7276, Bo Cai)
  • mon/MonClient: fix shutdown race (issue#13992, pr#8335, Sage Weil)
  • mon/monitor: some clean up (pr#7520, huanwen ren)
  • mon: MonmapMonitor: don’t expose uncommitted state to client (pr#6854, Joao Eduardo Luis)
  • mon/OSDMonitor: osdmap laggy set a maximum limit for interval (pr#7109, Zengran Zhang)
  • mon: osd [test-]reweight-by-{pg,utilization} command updates (pr#7890, Dan van der Ster, Sage Weil)
  • mon: paxos is_recovering calc error (pr#7227, Weijun Duan)
  • mon/PGMap: show rd/wr iops separately in status reports (pr#7072, Cilang Zhao)
  • mon: PGMonitor: acting primary diff with cur_stat, should not set pg to stale (pr#7083, Xiaowei Chen)
  • mon/PGMonitor: reliably mark PGs state (pr#8089, Sage Weil)
  • mon: PG Monitor should report waiting for backfill (issue#12744, pr#7398, Abhishek Lekshmanan)
  • mon/pgmonitor: use appropriate forced conversions in get_rule_avail (pr#7705, huanwen ren)
  • mon: reduce CPU and memory manager pressure of pg health check (pr#7482, Piotr Dałek)
  • mon: remove ‘mds setmap’ (issue#15136, pr#8121, Sage Weil)
  • mon: remove remove_legacy_versions() (pr#8324, Kefu Chai)
  • mon: remove unnecessary comment for update_from_paxos (pr#8400, Qinghua Jin)
  • mon: remove unused variable (issue#15292, pr#8337, Javier M. Mellid)
  • mon: revert MonitorDBStore’s WholeStoreIteratorImpl::get (issue#13742, pr#6522, Piotr Dałek)
  • mon: should not set isvalid = true when cephx_verify_authorizer return false (issue#13525, pr#6306, Ruifeng Yang)
  • mon: show the pool quota info on ceph df detail command (issue#14216, pr#7094, song baisen)
  • mon: some cleanup in MonmapMonitor.cc (pr#7418, huanwen ren)
  • mon: standardize Ceph removal commands (pr#7939, Dongsheng Yang)
  • mon: support min_down_reporter by subtree level (default by host) (pr#6709, Xiaoxi Chen)
  • mon: unconfuse object count skew message (pr#7882, Piotr Dałek)
  • mon: unregister command on shutdown (pr#7504, huanwen ren)
  • mon: warn if pg(s) not scrubbed (issue#13142, pr#6440, Michal Jarzabek)
  • mount.ceph: memory leaks (pr#6905, Qiankun Zheng)
  • mount.fuse.ceph: better parsing of arguments passed to mount.fuse.ceph by mount command (issue#14735, pr#7607, Florent Bautista)
  • mrun: update path to cmake binaries (pr#8447, Casey Bodley)
  • msg: add override to virutal methods (pr#6977, Michal Jarzabek)
  • msg: add thread safety for “random” Messenger + fix wrong usage of random functions (pr#7650, Avner BenHanoch)
  • msg/async: AsyncConnection: avoid debug log in cleanup_handler (pr#7547, Haomai Wang)
  • msg/async: AsyncConnection: avoid is_connected require connection’s lock (issue#15440, pr#8520, Haomai Wang)
  • msg/async: AsyncMessenger: fix several bugs (pr#7831, Haomai Wang)
  • msg/async: AsyncMessenger: fix valgrind leak (pr#7725, Haomai Wang)
  • msg/async: avoid log spam on throttle (issue#15031, pr#8263, Kefu Chai)
  • msg/async: bunch of fixes (pr#7379, Piotr Dałek)
  • msg/async: cleanup dead connection and misc things (pr#7158, Haomai Wang)
  • msg/async: don’t calculate msg header crc when not needed (pr#7815, Piotr Dałek)
  • msg/async: don’t use shared_ptr to manage EventCallback (pr#7028, Haomai Wang)
  • msg/async: Event: fix clock skew problem (pr#7949, Wei Jin)
  • msg/async: fix array boundary (pr#7451, Wei Jin)
  • msg: async: fix perf counter description and simplify _send_keepalive_or_ack (pr#8046, xie xingguo)
  • msg/async: fix potential race condition (pr#7453, Haomai Wang)
  • msg/async: fix send closed local_connection message problem (pr#7255, Haomai Wang)
  • msg/async: let receiver ack message ASAP (pr#6478, Haomai Wang)
  • msg/async: reduce extra tcp packet for message ack (pr#7380, Haomai Wang)
  • msg/async: remove experiment feature (pr#7820, Haomai Wang)
  • msg: async: small cleanups (pr#7871, xie xingguo)
  • msg/async: smarter MSG_MORE (pr#7625, Piotr Dałek)
  • msg: async: start over after failing to bind a port in specified range (issue#14928, issue#13002, pr#7852, xie xingguo)
  • msg/async: support of non-block connect in async messenger (issue#12802, pr#5848, Jianhui Yuan)
  • msg/async: _try_send trim already sent for outcoming_bl more efficient (pr#7970, Yan Jun)
  • msg/async: will crash if enabling async msg because of an assertion (pr#6640, Zhi Zhang)
  • msg: filter out lo addr when bind osd addr (pr#7012, Ji Chen)
  • msg: removed unneeded includes from Dispatcher (pr#6814, Michal Jarzabek)
  • msg: remove duplicated code - local_delivery will now call ‘enqueue’ (pr#7948, Avner BenHanoch)
  • msg: remove unneeded inline (pr#6989, Michal Jarzabek)
  • msgr: fix large message data content length causing overflow (pr#6809, Jun Huang, Haomai Wang)
  • msg: significantly reduce minimal memory usage of connections (pr#7567, Piotr Dałek)
  • msg/simple: pipe: memory leak when signature check failed (pr#7096, Ruifeng Yang)
  • msg/simple: remove unneeded friend declarations (pr#6924, Michal Jarzabek)
  • msg/xio: fix compilation (pr#7479, Roi Dayan)
  • msg/xio: fixes (pr#7603, Roi Dayan)
  • msg/xio: simple fixes (pr#8555, Avner BenHanoch)
  • mstart: start rgw on different ports as well (pr#8167, Abhishek Lekshmanan)
  • nfs for rgw (Matt Benjamin, Orit Wasserman) (pr#7634, Yehuda Sadeh, Matt Benjamin)
  • objecter: avoid recursive lock of Objecter::rwlock (pr#7343, Yan, Zheng)
  • organizationmap: modify org mail info. (pr#7240, Xiaowei Chen)
  • os/bluestore: a few fixes (pr#8193, Sage Weil)
  • os/bluestore/BlueFS: Before reap ioct, it should wait io complete (pr#8178, Jianpeng Ma)
  • os/bluestore/BlueStore: Don’t leak trim overlay data before write. (pr#7895, Jianpeng Ma)
  • os/bluestore: ceph-bluefs-tool fixes (issue#15261, pr#8292, Venky Shankar)
  • os/bluestore: clone overlay data (pr#7860, Jianpeng Ma)
  • os/bluestore: fix assert (issue#14436, pr#7293, xie xingguo)
  • os/bluestore: fix a typo in SPDK path parsing (pr#7601, Jianjian Huo)
  • os/bluestore: fix bluestore_wal_transaction_t encoding test (pr#7342, Kefu Chai)
  • os/bluestore: fix bluestore_wal_transaction_t encoding test (pr#7419, Kefu Chai, Brad Hubbard)
  • os/bluestore: fix shortened bluefs paths in env mirror case (pr#8498, Sage Weil)
  • os/bluestore: insert new onode to the front position of onode LRU (pr#7492, Jianjian Huo)
  • os/bluestore/KernelDevice: force block size (pr#8006, Sage Weil)
  • os/bluestore: make bluestore_sync_transaction = true can work. (pr#7674, Jianpeng Ma)
  • os/bluestore/NVMEDevice: make IO thread using dpdk launch (pr#8160, Haomai Wang)
  • os/bluestore/NVMEDevice: refactor probe/attach codes and support zero command (pr#7647, Haomai Wang)
  • os/bluestore: revamp BlueFS bdev management and add perfcounters (issue#15376, pr#8431, Sage Weil)
  • os/bluestore: small fixes in bluestore StupidAllocator (pr#8101, Jianjian Huo)
  • os/bluestore: use intrusive_ptr for Dir (pr#7247, Igor Fedotov)
  • osd: add cache hint when pushing raw clone during recovery (pr#7069, Zhiqiang Wang)
  • osd: Add config option osd_read_ec_check_for_errors for testing (pr#5865, David Zafman)
  • osd: add missing newline to usage message (pr#7613, Willem Jan Withagen)
  • osd: add osd op queue latency perfcounter (pr#5793, Haomai Wang)
  • osd: add pin/unpin support to cache tier (11066) (pr#6326, Zhiqiang Wang)
  • osd: add ‘proxy’ cache mode (issue#12814, pr#8210, Sage Weil)
  • osd: add scrub persist/query API (issue#13505, pr#6898, Kefu Chai, Samuel Just)
  • osd: add the support of per pool scrub priority (pr#7062, Zhiqiang Wang)
  • osd: a fix for HeartbeatDispatcher and cleanups (pr#7550, Kefu Chai)
  • osd: Allow repair of history.last_epoch_started using config (pr#6793, David Zafman)
  • osd: auto repair EC pool (issue#12754, pr#6196, Guang Yang)
  • osd: avoid calculating crush mapping for most ops (pr#6371, Sage Weil)
  • osd: avoid debug std::string initialization in PG::get/put (pr#7117, Evgeniy Firsov)
  • osd: avoid double-check for replaying and can_checkpoint() in FileStore::_check_replay_guard (pr#6471, Ning Yao)
  • osd: avoid duplicate op->mark_started in ReplicatedBackend (pr#6689, Jacek J. Łakis)
  • osd: avoid FORCE updating digest been overwritten by MAYBE when comparing scrub map (pr#7051, Zhiqiang Wang)
  • osd: avoid osd_op_thread suicide because osd_scrub_sleep (pr#7009, Jianpeng Ma)
  • osd: bail out of _committed_osd_maps if we are shutting down (pr#8267, Samuel Just)
  • osd: blockdevice: avoid implicit cast and add guard (pr#7460, xie xingguo)
  • osd: bluefs: fix alignment for odd page sizes (pr#7900, Dan Mick)
  • osd: bluestore: add ‘override’ to virtual functions (pr#7886, Michal Jarzabek)
  • osd: bluestore: allow _dump_onode dynamic accept log level (pr#7995, Jianpeng Ma)
  • osd: bluestore/blockdevice: use std::mutex et al (pr#7568, Sage Weil)
  • osd: bluestore: bluefs: fix several small bugs (issue#14344, issue#14343, pr#7200, xie xingguo)
  • osd: bluestore/BlueFS: initialize super block_size earlier in mkfs (pr#7535, Sage Weil)
  • osd: bluestore: don’t include when building without libaio (issue#14207, pr#7169, Mykola Golub)
  • osd: bluestore: fix bluestore onode_t attr leak (pr#7125, Ning Yao)
  • osd: bluestore: fix bluestore_wal_transaction_t encoding test (pr#7168, Kefu Chai)
  • osd: bluestore: fix check for write falling within the same extent (issue#14954, pr#7892, Jianpeng Ma)
  • osd: BlueStore: fix fsck and blockdevice read-relevant issue (pr#7362, xie xingguo)
  • osd: BlueStore: fix null pointer access (issue#14561, pr#7435, xie xingguo)
  • osd: bluestore: fix several bugs (issue#14259, issue#14353, issue#14260, issue#14261, pr#7122, xie xingguo)
  • osd: bluestore: fix space rebalancing, collection split, buffered reads (pr#7196, Sage Weil)
  • osd: bluestore: for overwrite a extent, allocate new extent on min_alloc_size write (pr#7996, Jianpeng Ma)
  • osd: bluestore: improve fs-type verification and tidy up (pr#7651, xie xingguo)
  • osd: bluestore, kstore: fix nid overwritten logic (issue#14407, issue#14433, pr#7283, xie xingguo)
  • osd: bluestore: misc fixes (pr#7658, Jianpeng Ma)
  • osd: bluestore: more fixes (pr#7130, Sage Weil)
  • osd: BlueStore/NVMEDevice: fix compiling and fd leak (pr#7496, xie xingguo)
  • osd: bluestore: NVMEDevice: fix error handling (pr#7799, xie xingguo)
  • osd: bluestore: remove unneeded includes (pr#7870, Michal Jarzabek)
  • osd: bluestore: Revert NVMEDevice task cstor and refresh interface changes (pr#7729, Haomai Wang)
  • osd: bluestore updates, scrub fixes (pr#8035, Sage Weil)
  • osd: bluestore: use btree_map for allocator (pr#7269, Igor Fedotov, Sage Weil)
  • osd: cache tier: add config option for eviction check list size (pr#6997, Yuan Zhou)
  • osd: call on_new_interval on newly split child PG (issue#13962, pr#6778, Sage Weil)
  • osd: cancel failure reports if we fail to rebind network (pr#6278, Xinze Chi)
  • osdc: Fix race condition with tick_event and shutdown (issue#14256, pr#7151, Adam C. Emerson)
  • osd: change mutex to spinlock to optimize thread context switch. (pr#6492, Xiaowei Chen)
  • osd: check do_shutdown before do_restart (pr#6547, Xiaoxi Chen)
  • osd: check health state before pre_booting (issue#14181, pr#7053, Xiaoxi Chen)
  • osd: clarify the scrub result report (pr#6534, Li Wang)
  • osd/ClassHandler: only dlclose() the classes not missing (pr#8354, Kefu Chai)
  • osd: clean up CMPXATTR checks (pr#5961, Jianpeng Ma)
  • osd: clean up temp object if copy-from fails (pr#8487, Sage Weil)
  • osd: clear pg_stat_queue after stopping pgs (issue#14212, pr#7091, Sage Weil)
  • osd: clear requeue_scrub_on_unblock flag after requeue scrub (pr#8570, xie xingguo)
  • osdc/Objecter: dout log after assign tid (pr#8202, Xinze Chi)
  • osdc/Objecter: fix narrow race with tid assignment (issue#14364, pr#7981, Sage Weil)
  • osdc/Objecter: use full pgid hash in PGNLS ops (pr#8378, Sage Weil)
  • osd: consider high/low mode when putting agent to sleep (issue#14752, pr#7631, Sage Weil)
  • osd: correctly handle small osd_scrub_interval_randomize_ratio (pr#7147, Samuel Just)
  • osdc/Striper: reduce assemble_result log level (pr#8426, Jason Dillaman)
  • osd: defer decoding of MOSDRepOp/MOSDRepOpReply (pr#6503, Xinze Chi)
  • osd: delay populating in-memory PG log hashmaps (pr#6425, Piotr Dałek)
  • osd: disable filestore_xfs_extsize by default (issue#14397, pr#7265, Ken Dreyer)
  • osd: do not keep ref of old osdmap in pg (issue#13990, pr#7007, Kefu Chai)
  • osd: don’t do random deep scrubs for user initiated scrubs (pr#6673, David Zafman)
  • osd: don’t update epoch and rollback_info objects attrs if there is no need (pr#6555, Ning Yao)
  • osd: drop deprecated removal pg type (pr#6970, Igor Podoski)
  • osd: drop fiemap len=0 logic (pr#7267, Sage Weil)
  • osd: drop the interim set from load_pgs() (pr#6277, Piotr Dałek)
  • osd: dump number of missing objects for each peer with pg query (pr#6058, Guang Yang)
  • osd: duplicated clear for peer_missing (pr#8315, Ning Yao)
  • osd: enable perfcounters on sharded work queue mutexes (pr#6455, Jacek J. Łakis)
  • osd: ensure new osdmaps commit before publishing them to pgs (issue#15073, pr#8096, Sage Weil)
  • osd: FileJournal: _fdump wrongly returns if journal is currently unreadable. (issue#13626, pr#6406, xie xingguo)
  • osd: FileJournal: fix return code of create method (issue#14134, pr#6988, xie xingguo)
  • osd: FileJournal: reduce locking scope in write_aio_bl (issue#12789, pr#5670, Zhi Zhang)
  • osd: filejournal: report journal entry count (pr#7643, tianqing)
  • osd: FileJournal: support batch peak and pop from writeq (pr#6701, Xinze Chi)
  • osd: FileStore: add a field indicate xattr only one chunk for set xattr. (pr#6244, Jianpeng Ma)
  • osd: FileStore: Added O_DSYNC write scheme (pr#7752, Somnath Roy)
  • osd: FileStore: add error check for object_map->sync() (pr#7281, Chendi Xue)
  • osd: FileStore: cleanup: remove obsolete option “filestore_xattr_use_omap” (issue#14356, pr#7217, Vikhyat Umrao)
  • osd: FileStore: conditional collection of drive metadata (pr#6956, Somnath Roy)
  • osd: filestore: FALLOC_FL_PUNCH_HOLE must be used with FALLOC_FL_KEEP_SIZE (pr#7768, xinxin shu)
  • osd: filestore: fast abort if statfs encounters ENOENT (pr#7703, xie xingguo)
  • osd: FileStore: fix initialization order for m_disable_wbthrottle (pr#8067, Samuel Just)
  • osd: filestore: fix race condition with split vs collection_move_rename and long object names (issue#14766, pr#8136, Samuel Just)
  • osd: filestore: fix result code overwritten for clone (issue#14817, issue#14827, pr#7711, xie xingguo)
  • osd: filestore: fix wrong scope of result code for error cases during mkfs (issue#14814, pr#7704, xie xingguo)
  • osd: filestore: fix wrong scope of result code for error cases during mount (issue#14815, pr#7707, xie xingguo)
  • osd: FileStore: LFNIndex: remove redundant local variable ‘obj’. (issue#13552, pr#6333, xiexingguo)
  • osd: FileStore: modify the format of colon (pr#7333, Donghai Xu)
  • osd: FileStore:: optimize lfn_unlink (pr#6649, Jianpeng Ma)
  • osd: FileStore: potential memory leak if _fgetattrs fails (issue#13597, pr#6377, xie xingguo)
  • osd: FileStore: print file name before osd assert if read file failed (pr#7111, Ji Chen)
  • osd: FileStore: remove __SWORD_TYPE dependency (pr#6263, John Coyle)
  • osd: FileStore: remove unused local variable ‘handle’ (pr#6381, xie xingguo)
  • osd: filestore: restructure journal and op queue throttling (pr#7767, Samuel Just)
  • osd: FileStore: support multiple ondisk finish and apply finishers (pr#6486, Xinze Chi, Haomai Wang)
  • osd: FileStore: use pwritev instead of lseek+writev (pr#7349, Haomai Wang, Tao Chang)
  • osd: fix bogus scrub results when missing a clone (issue#12738, issue#12740, pr#5783, David Zafman)
  • osd: fix broken balance / localized read handling (issue#13491, pr#6364, Jason Dillaman)
  • osd: fix bug in last_* PG state timestamps (pr#6517, Li Wang)
  • osd: fix bugs for omap ops (pr#8230, Jianpeng Ma)
  • osd: fix ClassHandler::ClassData::get_filter() (pr#6747, Yan, Zheng)
  • osd: fix/clean up full map request handling (pr#8446, Sage Weil)
  • osd: fix debug message in OSD::is_healthy (pr#6226, Xiaoxi Chen)
  • osd: fix dirtying info without correctly setting drity_info field (pr#8275, xie xingguo)
  • osd: fix dump_ops_in_flight races (issue#8885, pr#8044, David Zafman)
  • osd: fix epoch check in handle_pg_create (pr#8382, Samuel Just)
  • osd: fixes for several cases where op result code was not checked or set (issue#13566, pr#6347, xie xingguo)
  • osd: fix failure report handling during ms_handle_connect() (pr#8348, xie xingguo)
  • osd: fix FileStore::_destroy_collection error return code (pr#6612, Ruifeng Yang)
  • osd: fix forced prmootion for CALL ops (issue#14745, pr#7617, Sage Weil)
  • osd: fix fusestore hanging during stop/quit (issue#14786, pr#7677, xie xingguo)
  • osd: fix inaccurate counter and skip over queueing an empty transaction (pr#7754, xie xingguo)
  • osd: fix incorrect throttle in WBThrottle (pr#6713, Zhang Huan)
  • osd: fix invalid list traversal in process_copy_chunk (pr#7511, Samuel Just)
  • osd: fix lack of object unblock when flush fails (issue#14511, pr#7584, Igor Fedotov)
  • osd: fix log info (pr#8273, Wei Jin)
  • osd: fix MOSDOp encoding (pr#6174, Sage Weil)
  • osd: fix MOSDRepScrub reference counter in replica_scrub (pr#6730, Jie Wang)
  • osd: fix null pointer access and race condition (issue#14072, pr#6916, xie xingguo)
  • osd: fix overload of ‘==’ operator for pg_stat_t (issue#14921, pr#7842, xie xingguo)
  • osd: fix race condition for heartbeat_need_update (issue#14387, pr#7739, xie xingguo)
  • osd: fix reactivate (check OSDSuperblock in mkfs() when we already have the superblock) (issue#13586, pr#6385, Vicente Cheng)
  • osd: fix reference count, rare race condition etc. (pr#8254, xie xingguo)
  • osd: fix return value from maybe_handle_cache_detail() (pr#7593, Igor Fedotov)
  • osd: fix rollback_info_trimmed_to before index() (issue#13965, pr#6801, Samuel Just)
  • osd: fix scrub start hobject (pr#7467, Sage Weil)
  • osd: fix sparse-read result code checking logic (issue#14151, pr#7016, xie xingguo)
  • osd: fix temp object removal after upgrade (issue#13862, pr#6976, David Zafman)
  • osd: fix tick relevant issues (pr#8369, xie xingguo)
  • osd: fix trivial scrub bug (pr#6533, Li Wang)
  • osd: fix two scrub relevant issues (pr#8462, xie xingguo)
  • osd: fix unnecessary object promotion when deleting from cache pool (issue#13894, pr#7537, Igor Fedotov)
  • osd: fix watch reconnect race (issue#15441, pr#8586, Sage Weil)
  • osd: fix wip (l_osd_op_wip) perf counter and remove repop_map (pr#7077, Xinze Chi)
  • osd: fix wrongly placed assert and some cleanups (pr#6766, xiexingguo, xie xingguo)
  • osd: fix wrong return type of find_osd_on_ip() (issue#14872, pr#7812, xie xingguo)
  • osd: fix wrong use of right parenthesis in localized read logic (pr#6566, Jie Wang)
  • osd: ghobject_t: use ! instead of @ as a separator (pr#7595, Sage Weil)
  • osd: handle dup pg_create that races with pg deletion (pr#8033, Sage Weil)
  • osd: improve temperature calculation for cache tier agent (pr#4737, MingXin Liu)
  • osd: initialize last_recalibrate field at construction (pr#8071, xie xingguo)
  • osd: init started to 0 (issue#13206, pr#6107, Sage Weil)
  • osd: KeyValueStore: don’t queue NULL context (pr#6783, Haomai Wang)
  • osd: KeyValueStore: fix return code of mkfs (pr#7036, xie xingguo)
  • osd: KeyValueStore: fix the name’s typo of keyvaluestore_default_strip_size (pr#6375, Zhi Zhang)
  • osd: KeyValueStore: fix wrongly placed assert (issue#14176, issue#14178, pr#7047, xie xingguo)
  • osd: kstore: fix a race condition in _txc_finish() (pr#7804, Jianjian Huo)
  • osd: kstore: latency breakdown (pr#7850, James Liu)
  • osd: kstore: several small fixes (issue#14351, issue#14352, pr#7213, xie xingguo)
  • osd: kstore: small fixes to kstore (issue#14204, pr#7095, xie xingguo)
  • osd: kstore: sync up kstore with recent bluestore updates (pr#7681, Jianjian Huo)
  • osd: make backend and block device code a bit more generic (pr#6759, Sage Weil)
  • osd: make list_missing query missing_loc.needs_recovery_map (pr#6298, Guang Yang)
  • osdmap: remove unused local variables (pr#6864, luo kexue)
  • osdmap: rm nonused variable (pr#8423, Wei Jin)
  • osd: memstore: fix alignment of Page for test_pageset (pr#7587, Casey Bodley)
  • osd: memstore: fix two bugs (pr#6963, Casey Bodley, Sage Weil)
  • osd: merge local_t and op_t txn to single one (pr#6439, Xinze Chi)
  • osd: min_write_recency_for_promote & min_read_recency_for_promote are tiering only (pr#8081, huanwen ren)
  • osd: misc FileStore fixes (issue#14192, issue#14188, issue#14194, issue#14187, issue#14186, pr#7059, xie xingguo)
  • osd: misc optimization for map utilization (pr#6950, Ning Yao)
  • osd, mon: fix exit issue (