v13.2.7 mimic released

dgalloway

This is the seventh bugfix release of the Mimic v13.2.x long term stable release series. We recommend all Mimic users upgrade.

Notable Changes

MDS:

  • Cache trimming is now throttled. Dropping the MDS cache via the "ceph tell mds.cache drop" command or large reductions in the cache size will no longer cause service unavailability.
  • Behavior with recalling caps has been significantly improved to not attempt recalling too many caps at once, leading to instability. MDS with a large cache (64GB+) should be more stable.
  • MDS now provides a config option "mds_max_caps_per_client" (default: 1M) to limit the number of caps a client session may hold. Long running client sessions with a large number of caps have been a source of instability in the MDS when all of these caps need to be processed during certain session events. It is recommended to not unnecessarily increase this value.
  • The "mds_recall_state_timeout" config parameter has been removed. Late client recall warnings are now generated based on the number of caps the MDS has recalled which have not been released. The new config parameters "mds_recall_warning_threshold" (default: 32K) and "mds_recall_warning_decay_rate" (default: 60s) set the threshold for this warning.
  • The "cache drop" admin socket command has been removed. The "ceph tell mds.X cache drop" remains.

OSD:

  • A health warning is now generated if the average osd heartbeat ping time exceeds a configurable threshold for any of the intervals computed. The OSD computes 1 minute, 5 minute and 15 minute intervals with average, minimum and maximum values. New configuration option "mon_warn_on_slow_ping_ratio" specifies a percentage of "osd_heartbeat_grace" to determine the threshold. A value of zero disables the warning. A new configuration option "mon_warn_on_slow_ping_time", specified in milliseconds, overrides the computed value, causing a warning when OSD heartbeat pings take longer than the specified amount. A new admin command "ceph daemon mgr.# dump_osd_network [threshold]" lists all connections with a ping time longer than the specified threshold or value determined by the config options, for the average for any of the 3 intervals. A new admin command ceph daemon osd.# dump_osd_network [threshold]" does the same but only including heartbeats initiated by the specified OSD.
  • The default value of the "osd_deep_scrub_large_omap_object_key_threshold" parameter has been lowered to detect an object with large number of omap keys more easily.

RGW:

  • radosgw-admin introduces two subcommands that allow the managing of expire-stale objects that might be left behind after a bucket reshard in earlier versions of RGW. One subcommand lists such objects and the other deletes them. Read the troubleshooting section of the dynamic resharding docs for details.

Changelog

  • bluestore: 50-100% iops lost due to bluefs_preextend_wal_files = false (issue#40280, pr#28574, Vitaliy Filippov)
  • bluestore: Change default for bluestore_fsck_on_mount_deep as false (pr#29699, Neha Ojha)
  • bluestore: _txc_add_transaction error (39) Directory not empty not handled on operation 21 (op 1, counting from 0) (issue#39692, pr#29217, Sage Weil)
  • bluestore: apply shared_alloc_size to shared device with log level change (pr#30219, Vikhyat Umrao, Josh Durgin, Sage Weil, Igor Fedotov)
  • bluestore: avoid length overflow in extents returned by Stupid Allocator (issue#40758, issue#40703, pr#29024, Igor Fedotov)
  • bluestore: common/options: Set concurrent bluestore rocksdb compactions to 2 (pr#30150, Mark Nelson)
  • bluestore: default to bitmap allocator for bluestore/bluefs (pr#28970, Igor Fedotov)
  • bluestore: dump before "no-spanning blob id" abort (pr#28029, Igor Fedotov)
  • bluestore: fix >2GB bluefs writes (pr#28967, Sage Weil, kungf)
  • bluestore: fix duplicate allocations in bmap allocator (issue#40080, pr#28645, Igor Fedotov)
  • bluestore: load OSD all compression settings unconditionally (issue#40480, pr#28894, Igor Fedotov)
  • build/ops: Cython 0.29 removed support for subinterpreters: raises ImportError: Interpreter change detected (issue#39593, issue#39592, pr#27971, Kefu Chai, Tim Serong)
  • build/ops: admin/build-doc: use python3 (pr#30663, Kefu Chai)
  • build/ops: admin/build-doc: use python3 (follow-on fix) (pr#30687, Nathan Cutler)
  • build/ops: backport miscellaneous install-deps.sh and ceph.spec.in fixes from master (issue#37707, pr#30718, Jeff Layton, Kefu Chai, Nathan Cutler, Brad Hubbard, Changcheng Liu, Sebastian Wagner, Yunchuan Wen, Tomasz Setkowski, Zack Cerza)
  • build/ops: ceph.spec.in: reserve 2500MB per build job (pr#30355, Dan van der Ster)
  • build/ops: cmake,run-make-check.sh: disable SPDK by default (pr#30183, Kefu Chai)
  • build/ops: cmake: detect armv8 crc and crypto feature using CHECK_C_COMPILER_FLAG (issue#17516, pr#30713, Kefu Chai)
  • build/ops: do_cmake.sh: source not found (issue#39981, issue#40005, pr#28217, Nathan Cutler)
  • build/ops: fix build fail related to PYTHON_EXECUTABLE variable (pr#30260, Ilsoo Byun)
  • build/ops: install-deps.sh: Remove CR repo (issue#13997, pr#30128, Alfredo Deza, Brad Hubbard)
  • build/ops: install-deps.sh: install python*-devel for python*rpm-macros (pr#30244, Kefu Chai)
  • build/ops: make "patch" build dependency explicit (issue#40269, issue#40175, pr#29150, Nathan Cutler)
  • build/ops: python3-cephfs should provide python36-cephfs (pr#30982, Kefu Chai)
  • build/ops: rpm: always build ceph-test package (pr#30188, Nathan Cutler)
  • ceph-volume: PVolumes.filter shouldn't purge itself (pr#30806, Rishabh Dave)
  • ceph-volume: VolumeGroups.filter shouldn't purge itself (pr#30808, Rishabh Dave)
  • ceph-volume: add Ceph's device id to inventory (pr#31211, Sebastian Wagner)
  • ceph-volume: api/lvm: check if list of LVs is empty (pr#31229, Rishabh Dave)
  • ceph-volume: assume msgrV1 for all branches containing mimic (pr#31615, Jan Fajerski)
  • ceph-volume: batch functional idempotency test fails since message is now on stderr (pr#29688, Jan Fajerski)
  • ceph-volume: broken assertion errors after pytest changes (pr#28948, Alfredo Deza)
  • ceph-volume: do not fail when trying to remove crypt mapper (pr#30555, Guillaume Abrioux)
  • ceph-volume: does not recognize wal/db partitions created by ceph-disk (pr#29463, Jan Fajerski)
  • ceph-volume: ensure device lists are disjoint (pr#30334, Jan Fajerski)
  • ceph-volume: extend batch (issue#40919, pr#29243, Andrew Schoen, Jan Fajerski, Sébastien Han, Volker Theile)
  • ceph-volume: fix stderr failure to decode/encode when redirected (pr#30301, Alfredo Deza)
  • ceph-volume: fix warnings raised by pytest (pr#30678, Rishabh Dave)
  • ceph-volume: implement __format__ in Size to format sizes in py3 (pr#30333, Jan Fajerski)
  • ceph-volume: look for rotational data in lsblk (pr#26991, Andrew Schoen)
  • ceph-volume: lvm.activate: Return an error if WAL/DB devices absent (pr#29039, David Casier)
  • ceph-volume: lvm.zap fix cleanup for db partitions (issue#40664, pr#30303, Dominik Csapak)
  • ceph-volume: minor optimizations related to class Volumes's use (pr#30096, Rishabh Dave)
  • ceph-volume: miscellaneous backports (pr#31227, Mohamad Gebai, Andrew Schoen)
  • ceph-volume: missing string substitution when reporting mounts (issue#40977, pr#29350, Shyukri Shyukriev)
  • ceph-volume: more mimic backports (pr#29631, Andrew Schoen, Alfredo Deza)
  • ceph-volume: more missing mimic backports (pr#31362, Mohamad Gebai, Kefu Chai)
  • ceph-volume: pre-install python-apt and its variants before test runs (pr#30295, Alfredo Deza)
  • ceph-volume: prints errors to stdout with --format json (issue#38548, pr#29507, Jan Fajerski)
  • ceph-volume: prints log messages to stdout (pr#29602, Jan Fajerski, Alfredo Deza, Kefu Chai)
  • ceph-volume: replace testinfra command with py.test (pr#28930, Alfredo Deza)
  • ceph-volume: simple functional tests drop test for lvm zap (pr#29661, Jan Fajerski)
  • ceph-volume: simple: when 'type' file is not present activate fails (pr#29417, Jan Fajerski, Alfredo Deza)
  • ceph-volume: tests add a sleep in tox for slow OSDs after booting (pr#28947, Alfredo Deza)
  • ceph-volume: tests set the noninteractive flag for Debian (pr#29900, Alfredo Deza)
  • ceph-volume: update testing playbook 'deploy.yml' (pr#29074, Andrew Schoen, Guillaume Abrioux)
  • ceph-volume: use the OSD identifier when reporting success (pr#29770, Alfredo Deza)
  • ceph-volume: zap always skips block.db, leaves them around (issue#40664, pr#30306, Alfredo Deza)
  • ceph_detect_init: Add support for ALT Linux (pr#27028, Andrey Bychkov)
  • cephfs: MDSTableServer.cc: 83: FAILED assert(version == tid) (issue#39212, issue#38835, pr#29222, "Yan, Zheng")
  • cephfs: avoid map been inserted by mistake (pr#29833, XiaoGuoDong2019)
  • cephfs: ceph-fuse: client hang because its bad session PipeConnection to mds (issue#39305, issue#39685, pr#29200, Guan yunfei)
  • cephfs: client: EINVAL may be returned when offset is 0 (pr#30932, wenpengLi)
  • cephfs: client: _readdir_cache_cb() may use the readdir_cache already clear (issue#41148, pr#30933, huanwen ren)
  • cephfs: client: add procession of SEEK_HOLE and SEEK_DATA in lseek (pr#30918, Shen Hang)
  • cephfs: client: bump ll_ref from int32 to uint64_t (pr#29187, Xiaoxi CHEN)
  • cephfs: client: ceph.dir.rctime xattr value incorrectly prefixes 09 to the nanoseconds component (issue#40168, pr#28501, David Disseldorp)
  • cephfs: client: fix bad error handling in _lookup_parent (issue#40085, pr#29609, Jeff Layton)
  • cephfs: client: nfs-ganesha with cephfs client, removing dir reports not empty (issue#40746, pr#30443, Peng Xie)
  • cephfs: client: return -EIO when sync file which unsafe reqs have been dropped (issue#40877, pr#30241, simon gao)
  • cephfs: client: set snapdir's link count to 1 (pr#30108, "Yan, Zheng")
  • cephfs: client: support the fallocate() when fuse version >= 2.9 (issue#40615, pr#30228, huanwen ren)
  • cephfs: client: unlink dentry for inode with llref=0 (issue#40960, pr#29479, Xiaoxi CHEN)
  • cephfs: fix a memory leak (pr#29915, XiaoGuoDong2019)
  • cephfs: getattr on snap inode stuck (issue#40437, pr#29230, "Yan, Zheng")
  • cephfs: kcephfs TestClientLimits.test_client_pin fails with client caps fell below min (issue#38270, issue#38687, pr#29211, "Yan, Zheng")
  • cephfs: mds: Fix duplicate client entries in eviction list (pr#30950, Sidharth Anupkrishnan)
  • cephfs: mds: avoid sending too many osd requests at once after mds restarts (issue#40042, issue#40028, pr#28650, simon gao)
  • cephfs: mds: behind on trimming and [dentry] was purgeable but no longer is! (issue#39223, issue#38679, pr#29224, "Yan, Zheng")
  • cephfs: mds: cannot switch mds state from standby-replay to active (issue#40213, pr#29232, "Yan, Zheng", simon gao)
  • cephfs: mds: change how mds revoke stale caps (issue#38043, issue#17854, pr#28585, "Yan, Zheng", Rishabh Dave)
  • cephfs: mds: check dir fragment to split dir if mkdir makes it oversized (issue#39689, pr#28381, Erqi Chen)
  • cephfs: mds: cleanup unneeded client_snap_caps when splitting snap inode (issue#39987, pr#30234, "Yan, Zheng")
  • cephfs: mds: delay exporting directory whose pin value exceeds max rank id (issue#40603, pr#29940, Zhi Zhang)
  • cephfs: mds: destroy reconnect msg when it is from non-existent session to avoid memory leak (issue#40588, pr#28796, Shen Hang)
  • cephfs: mds: evict an unresponsive client only when another client wants its caps (pr#30239, Rishabh Dave)
  • cephfs: mds: fix SnapRealm::resolve_snapname for long name (issue#39472, pr#28186, "Yan, Zheng")
  • cephfs: mds: fix corner case of replaying open sessions (pr#28579, "Yan, Zheng")
  • cephfs: mds: high debug logging with many subtrees is slow (issue#38875, pr#29219, Rishabh Dave)
  • cephfs: mds: make MDSIOContextBase delete itself when shutting down (pr#30417, Xuehan Xu)
  • cephfs: mds: mds_cap_revoke_eviction_timeout is not used to initialize Server::cap_revoke_eviction_timeout (issue#38844, issue#39210, pr#29220, simon gao)
  • cephfs: mds: output lock state in format dump (issue#39669, issue#39645, pr#28274, Zhi Zhang)
  • cephfs: mds: remove cache drop admin socket command (issue#38020, issue#38099, pr#29210, Patrick Donnelly)
  • cephfs: mds: reset heartbeat during long-running loops in recovery (issue#40222, pr#28918, "Yan, Zheng")
  • cephfs: mds: stopping MDS with a large cache (40+GB) causes it to miss heartbeats (issue#38022, issue#38129, issue#37723, issue#38131, pr#28452, Patrick Donnelly)
  • cephfs: mds: there is an assertion when calling Beacon::shutdown() (issue#39215, issue#38822, pr#29223, huanwen ren)
  • cephfs: mount.ceph.c: do not pass nofail to the kernel (issue#39233, pr#28090, Kenneth Waegeman)
  • cephfs: mount.ceph: properly handle -o strictatime (pr#30240, Jeff Layton)
  • cephfs: mount: key parsing fail when doing a remount (issue#40165, pr#29225, Luis Henriques)
  • cephfs: pybind: added lseek() (issue#39679, pr#28337, Xiaowei Chu)
  • cephfs: test_volume_client: fix test_put_object_versioned() (issue#39405, issue#39510, pr#30236, Rishabh Dave)
  • common/ceph_context: avoid unnecessary wait during service thread shutdown (pr#31096, Jason Dillaman)
  • common/options.cc: Lower the default value of osd_deep_scrub_large_omap_object_key_threshold (pr#29174, Neha Ojha)
  • common/util: handle long lines in /proc/cpuinfo (issue#39475, issue#38296, pr#28206, Sage Weil)
  • common: Keyrings created by ceph auth get are not suitable for ceph auth import (issue#22227, issue#40547, pr#28741, Kefu Chai)
  • common: data race in OutputDataSocket (issue#40268, issue#40188, pr#29201, Casey Bodley)
  • common: parse ISO 8601 datetime format (issue#40088, pr#28326, Sage Weil)
  • core: .mgrstat failed to decode mgrstat state; luminous dev version? (issue#38852, issue#38839, pr#29249, Sage Weil)
  • core: Better default value for osd_snap_trim_sleep (pr#29732, Neha Ojha)
  • core: Health warnings on long network ping times (issue#40640, issue#40586, pr#30225, xie xingguo, David Zafman)
  • core: ceph daemon mon.a config set mon_health_to_clog false cause leader mon assert (issue#39625, pr#29741, huangjun)
  • core: crc cache should be invalidated when posting preallocated rx buffers (issue#38437, pr#29247, Ilya Dryomov)
  • core: lazy omap stat collection (pr#29189, Brad Hubbard)
  • core: mon, osd: parallel clean_pg_upmaps (issue#40104, issue#40230, pr#28619, xie xingguo)
  • core: mon,osd: limit MOSDMap messages by size as well as map count (issue#38277, issue#38040, pr#29242, Sage Weil)
  • core: mon/AuthMonitor: fix initial creation of rotating keys (issue#40634, pr#30181, Sage Weil)
  • core: mon/MDSMonitor: use stringstream instead of dout for mds repaired (issue#40472, pr#30235, Zhi Zhang)
  • core: mon/MgrMonitor: fix null deref when invalid formatter is specified (pr#29593, Sage Weil)
  • core: mon/OSDMonitor.cc: better error message about min_size (pr#29618, Neha Ojha)
  • core: mon/OSDMonitor: trim not-longer-exist failure reporters (pr#30903, NancySu05)
  • core: mon: C_AckMarkedDown has not handled the Callback Arguments (pr#30213, NancySu05)
  • core: mon: ensure prepare_failure() marks no_reply on op (pr#30481, Joao Eduardo Luis)
  • core: mon: paxos: introduce new reset_pending_committing_finishers for safety (issue#39744, issue#39484, pr#28540, Greg Farnum)
  • core: mon: show pool id in pool ls command (issue#40287, pr#30485, Chang Liu)
  • core: osd beacon sometimes has empty pg list (issue#40464, issue#40377, pr#29253, Sage Weil)
  • core: osd/OSD.cc: make osd bench description consistent with parameters (issue#39374, issue#39006, pr#28097, Neha Ojha)
  • core: osd/OSDCap: Check for empty namespace (issue#40835, pr#30214, Brad Hubbard)
  • core: osd/OSDMap: Replace get_out_osds with get_out_existing_osds (issue#39422, issue#39154, pr#28142, Brad Hubbard)
  • core: osd/OSDMap: do not trust partially simplified pg_upmap_item (pr#30898, xie xingguo)
  • core: osd/PG: Add PG to large omap log message (pr#30924, Brad Hubbard)
  • core: osd/PG: fix last_complete re-calculation on splitting (issue#39538, issue#26958, pr#28259, xie xingguo)
  • core: osd/PeeringState: do not complain about past_intervals constrained by oldest epoch (pr#30222, Sage Weil)
  • core: osd/PeeringState: recover_got - add special handler for empty log (pr#30895, xie xingguo)
  • core: osd/PrimaryLogPG: Avoid accessing destroyed references in finish_degr… (pr#30291, Tao Ning)
  • core: osd/PrimaryLogPG: skip obcs that don't exist during backfill scan_range (pr#31029, Sage Weil)
  • core: osd/PrimaryLogPG: update oi.size on write op implicitly truncating ob… (pr#30275, xie xingguo)
  • core: osd: Better error message when OSD count is less than osd_pool_default_size (issue#38617, pr#30180, Kefu Chai, Sage Weil, zjh)
  • core: osd: Don't evict after a flush if intersecting scrub range (issue#38840, issue#39518, pr#28232, David Zafman)
  • core: osd: Don't include user changeable flag in snaptrim related assert (issue#38124, issue#39698, pr#28202, David Zafman)
  • core: osd: Fix for compatibility of encode/decode of osd_stat_t (pr#31275, Kefu Chai, David Zafman)
  • core: osd: Include dups in copy_after() and copy_up_to() (issue#39304, pr#28089, David Zafman)
  • core: osd: Output Base64 encoding of CRC header if binary data present (issue#39737, pr#28503, David Zafman)
  • core: osd: Remove unused osdmap flags full, nearfull from output (pr#30901, David Zafman)
  • core: osd: clear PG_STATE_CLEAN when repair object (pr#30243, Zengran Zhang)
  • core: osd: fix build_incremental_map_msg (issue#38282, pr#31236, Sage Weil)
  • core: osd: make project_pg_history handle concurrent osdmap publish (issue#26970, pr#29976, Sage Weil)
  • core: osd: merge replica log on primary need according to replica log's crt (pr#30916, Zengran Zhang)
  • core: osd: pg stuck in backfill_wait with plenty of disk space (issue#38034, pr#28201, xie xingguo, David Zafman)
  • core: osd: report omap/data/metadata usage (issue#40639, pr#28852, Sage Weil)
  • core: osd: rollforward may need to mark pglog dirty (issue#40403, pr#31035, Zengran Zhang)
  • core: osd: scrub error on big objects; make bluestore refuse to start on big objects (pr#30784, David Zafman, Sage Weil)
  • core: osd: take heartbeat_lock when calling heartbeat() (issue#39513, issue#39439, pr#28220, Sage Weil)
  • core: osds allows to partially start more than N+2 (issue#38206, issue#38076, pr#29241, Sage Weil)
  • core: should report EINVAL in ErasureCode::parse() if m<=0 (issue#38682, issue#38751, pr#28995, Sage Weil)
  • core: should set EPOLLET flag on del_event() (issue#38856, pr#29250, Roman Penyaev)
  • doc/ceph-fuse: mention -k option in ceph-fuse man page (pr#30936, Rishabh Dave)
  • doc/rbd: s/guess/xml/ for codeblock lexer (pr#31090, Kefu Chai)
  • doc/rgw: document use of 'realm pull' instead of 'period pull' (issue#39655, pr#30131, Casey Bodley)
  • doc: Document behaviour of fsync-after-close (issue#24641, pr#29765, Jos Collin, Jeff Layton)
  • doc: Object Gateway multisite document read-only argument error (issue#40497, pr#29289, Chenjiong Deng)
  • doc: default values for mon_health_to_clog_* were flipped (pr#30227, James McClune)
  • doc: describe metadata_heap cleanup (issue#18174, pr#30070, Dan van der Ster)
  • doc: fix rgw_ldap_dnattr username token (pr#30099, Thomas Kriechbaumer)
  • doc: rgw: CreateBucketConfiguration for s3 PUT Bucket request (issue#39602, issue#39597, pr#29257, Casey Bodley)
  • doc: update bluestore cache settings and clarify data fraction (issue#39522, pr#31258, Jan Fajerski)
  • doc: wrong value of usage log default in logging section (issue#37891, issue#37856, pr#29014, Abhishek Lekshmanan)
  • filestore: assure sufficient leaves in pre-split (issue#39390, pr#30182, Jeegn Chen)
  • krbd: avoid udev netlink socket overrun and retry on transient errors from udev_enumerate_scan_devices() (pr#31322, Ilya Dryomov, Adam C. Emerson)
  • krbd: fix rbd map hang due to udev return subsystem unordered (issue#39089, pr#30176, Zhi Zhang)
  • mgr/balancer: fix fudge (pr#28399, xie xingguo)
  • mgr/balancer: python3 compatibility issue (pr#31013, Mykola Golub)
  • mgr/balancer: restrict automatic balancing to specific weekdays (pr#26499, xie xingguo)
  • mgr/crash: fix python3 invalid syntax problems (pr#29029, Ricardo Dias)
  • mgr/dashboard: Fix run-frontend-e2e-tests.sh (issue#40707, pr#28954, Kiefer Chang, Tiago Melo)
  • mgr/dashboard: Fix various RGW issues (pr#28210, Volker Theile)
  • mgr/dashboard: RGW proxy can't handle self-signed SSL certificates (pr#30543, Volker Theile)
  • mgr/dashboard: cephfs multimds graphs stack together (issue#40660, pr#28911, Kiefer Chang)
  • mgr/localpool: pg_num is an int arg to 'osd pool create' (pr#30447, Sage Weil)
  • mgr/prometheus: Cast collect_timeout (scrape_interval) to float (pr#31108, Ben Meekhof)
  • mgr/prometheus: replace whitespaces in metrics' names (issue#39458, pr#28165, Alfonso Martínez)
  • mgr/telemetry: Ignore crashes in report when module not enabled (pr#30846, Wido den Hollander)
  • mgr: DaemonServer::handle_conf_change - broken locking (issue#38899, issue#38963, pr#29197, xie xingguo)
  • mgr: deadlock (issue#39040, issue#39426, pr#28161, xie xingguo)
  • mgr: do not reset reported if a new metric is not collected (pr#30391, Ilsoo Byun)
  • radosgw-admin: bucket sync status not 'caught up' during full sync (issue#40806, pr#30170, Casey Bodley)
  • rbd-mirror: cannot restore deferred deletion mirrored images (pr#30828, Jason Dillaman, Mykola Golub)
  • rbd-mirror: clear out bufferlist prior to listing mirror images (issue#39461, issue#39407, pr#28123, Jason Dillaman)
  • rbd-mirror: don't overwrite status error returned by replay (pr#29872, Mykola Golub)
  • rbd-mirror: handle duplicates in image sync throttler queue (issue#40519, issue#40593, pr#28815, Mykola Golub)
  • rbd-mirror: ignore errors relating to parsing the cluster config file (pr#30117, Jason Dillaman)
  • rbd/action: fix error getting positional argument (issue#40095, pr#29294, songweibin)
  • rbd/tests: avoid hexdump skip and length options in krbd test (pr#30569, Ilya Dryomov)
  • rbd: Reduce log level for cls/journal and cls/rbd expected errors (issue#40865, pr#29565, Jason Dillaman)
  • rbd: filter out group/trash snapshots from snap_list (issue#38538, issue#39186, pr#28138, songweibin, Jason Dillaman)
  • rbd: journal: properly advance read offset after skipping invalid range (pr#28814, Mykola Golub)
  • rbd: librbd: add missing shutdown states to managed lock helper (issue#38387, issue#38509, pr#28151, Jason Dillaman)
  • rbd: librbd: async open/close should free ImageCtx before issuing callback (issue#39429, issue#39031, pr#28125, Jason Dillaman)
  • rbd: librbd: avoid dereferencing an empty container during deep-copy (issue#40368, pr#30177, Jason Dillaman)
  • rbd: librbd: disable image mirroring when moving to trash (pr#28150, Mykola Golub)
  • rbd: librbd: ensure compare-and-write doesn't skip compare after copyup (issue#38383, issue#38441, pr#28133, Ilya Dryomov)
  • rbd: librbd: properly handle potential object map failures (issue#39952, issue#36074, pr#30796, Jason Dillaman, Mykola Golub)
  • rbd: librbd: properly track in-flight flush requests (issue#40573, pr#28770, Jason Dillaman)
  • rbd: librbd: race condition possible when validating RBD pool (issue#38500, issue#38563, pr#28139, Jason Dillaman)
  • rbd: use the ordered throttle for the export action (issue#40435, pr#30178, Jason Dillaman)
  • restful: Query nodes_by_id for items (pr#31273, Boris Ranto)
  • rgw admin: disable stale instance delete in a multiste env (pr#30340, Abhishek Lekshmanan)
  • rgw/OutputDataSocket: append_output(buffer::list&) says it will (but does not) discard output at data_max_backlog (issue#40178, issue#40351, pr#29279, Matt Benjamin)
  • rgw/cls: keep issuing bilog trim ops after reset (issue#40187, pr#30074, Casey Bodley)
  • rgw/multisite: Don't allow certain radosgw-admin commands to run on non-master zone (issue#39548, pr#30133, Shilpa Jagannath)
  • rgw/rgw_op: Remove get_val from hotpath via legacy options (pr#30141, Mark Nelson)
  • rgw: Add support for --bypass-gc flag of radosgw-admin bucket rm command in RGW Multi-site (issue#39748, issue#24991, pr#29262, Casey Bodley)
  • rgw: Don't crash on copy when metadata directive not supplied (issue#40416, pr#29500, Adam C. Emerson)
  • rgw: Fix bucket versioning vs. swift metadata bug (pr#30140, Marcus Watts)
  • rgw: Fix rgw decompression log-print (pr#30156, Han Fengzhe)
  • rgw: Multisite sync corruption for large multipart obj (issue#40144, pr#29273, Casey Bodley, Tianshan Qu, Xiaoxi CHEN)
  • rgw: RGWCoroutine::call(nullptr) sets retcode=0 (pr#30159, Casey Bodley)
  • rgw: Return tenant field in bucket_stats function (issue#40038, pr#28209, Volker Theile)
  • rgw: S3 policy evaluated incorrectly (issue#38638, issue#39274, pr#29255, Pritha Srivastava)
  • rgw: Save an unnecessary copy of RGWEnv (pr#29483, Mark Kogan)
  • rgw: Swift interface: server side copy fails if object name contains '?' (issue#27217, issue#40128, pr#29267, Casey Bodley)
  • rgw: TempURL should not allow PUTs with the X-Object-Manifest (issue#40133, issue#20797, pr#28711, Radoslaw Zarzynski)
  • rgw: abort multipart fix (pr#29016, J. Eric Ivancich)
  • rgw: asio: check the remote endpoint before processing requests (pr#30977, Abhishek Lekshmanan)
  • rgw: conditionally allow builtin users with non-unique email addresses (issue#40089, issue#40507, pr#28716, Matt Benjamin)
  • rgw: data/bilogs are trimmed when no peers are reading them (issue#39487, pr#30130, Casey Bodley)
  • rgw: datalog/mdlog trim commands loop until done (pr#30868, Casey Bodley)
  • rgw: do necessary checking of website configuration (issue#40678, pr#30980, Enming Zhang)
  • rgw: don't throw when accept errors are happening on frontend (pr#30154, Yuval Lifshitz)
  • rgw: fix CreateBucket with BucketLocation parameter failed under default zonegroup (pr#30171, Enming Zhang)
  • rgw: fix bucket may redundantly list keys after BI_PREFIX_CHAR (issue#40147, issue#39984, pr#28409, Casey Bodley, Tianshan Qu)
  • rgw: fix cls_bucket_list_unordered() partial results (pr#30253, Mark Kogan)
  • rgw: fix data sync start delay if remote haven't init data_log (pr#30510, Tianshan Qu)
  • rgw: fix drain handles error when deleting bucket with bypass-gc option (pr#29984, dongdong tao)
  • rgw: fix list bucket with delimiter wrongly skip some special keys (issue#40905, pr#30168, Tianshan Qu)
  • rgw: fix list versions starts with version_id=null (pr#30775, Tianshan Qu)
  • rgw: fix potential realm watch lost (issue#40991, pr#30167, Tianshan Qu)
  • rgw: fix race b/w bucket reshard and ops waiting on reshard completion (pr#29139, J. Eric Ivancich)
  • rgw: fix refcount tags to match and update object's idtag (pr#30891, J. Eric Ivancich)
  • rgw: fixed "unrecognized arg" error when using "radosgw-admin zone rm" (pr#30172, Hongang Chen)
  • rgw: gc remove tag after all sub io finish (issue#40903, pr#30173, Tianshan Qu)
  • rgw: housekeeping of reset stats operation in radosgw-admin and cls back-end (pr#30165, J. Eric Ivancich)
  • rgw: increase beast parse buffer size to 64k (pr#30450, Casey Bodley)
  • rgw: ldap auth: S3 auth failure should return InvalidAccessKeyId (pr#30652, Matt Benjamin)
  • rgw: make dns hostnames matching case insensitive (issue#40995, pr#30166, Casey Bodley, Abhishek Lekshmanan)
  • rgw: mitigate bucket list with max-entries excessively high (pr#30134, J. Eric Ivancich)
  • rgw: multisite: 'radosgw-admin bucket sync status' should call syncs_from(source.name) instead of id (issue#40022, issue#40141, pr#29270, Casey Bodley)
  • rgw: multisite: RGWListBucketIndexesCR for data full sync needs pagination (issue#39551, issue#40354, pr#29284, Shilpa Jagannath)
  • rgw: multisite: data sync loops back to the start of the datalog after reaching the end (issue#39033, issue#39074, pr#29021, Casey Bodley)
  • rgw: multisite: mismatch of bucket creation times from List Buckets (issue#39635, issue#39734, pr#28483, Casey Bodley)
  • rgw: multisite: overwrites in versioning-suspended buckets fail to sync (issue#38080, issue#37792, pr#29017, Casey Bodley)
  • rgw: multisite: period pusher gets 403 Forbidden against other zonegroups (issue#39415, issue#39287, pr#29256, Casey Bodley)
  • rgw: non-existent mdlog failures logged at level 0 (issue#38747, issue#40033, pr#28757, Abhishek Lekshmanan)
  • rgw: perfcounters: add gc retire counter (pr#30073, Matt Benjamin)
  • rgw: permit rgw-admin to populate user info by access-key (pr#30105, Matt Benjamin, Marc Koderer)
  • rgw: provide admin-friendly reshard status output (issue#37615, issue#40357, pr#29285, Mark Kogan)
  • rgw: remove_olh_pending_entries() does not limit the number of xattrs to remove (issue#39179, issue#39118, pr#28348, Casey Bodley)
  • rgw: resharding of a versioned bucket causes a bucket stats discrepancy (issue#39532, pr#28249, J. Eric Ivancich)
  • rgw: return ERR_NO_SUCH_BUCKET early while evaluating bucket policy (issue#38420, issue#39697, pr#28422, Abhishek Lekshmanan)
  • rgw: rgw_file: all directories are virtual with respect to contents (issue#40262, issue#40204, pr#28887, Matt Benjamin)
  • rgw: set null version object issues (issue#36763, issue#40360, pr#29288, Tianshan Qu)
  • rgw: support delimiter longer then one symbol (issue#39989, issue#38776, pr#29018, Tianshan Qu, Matt Benjamin)
  • rgw: swift object expiry fails when a bucket reshards (issue#39741, pr#29258, Casey Bodley, Abhishek Lekshmanan, J. Eric Ivancich)
  • rgw: swift: refrain from corrupting static large objects when using nginx as a GET cache (pr#30135, Andrey Groshev)
  • rgw: the Multi-Object Delete operation of S3 API wrongly handles the Code response element (issue#18241, issue#40136, pr#29268, Radoslaw Zarzynski)
  • rgw: update resharding documentation (issue#39047, pr#29020, J. Eric Ivancich)
  • rgw_file: fix invalidation of top-level directories (issue#40215, pr#29276, Matt Benjamin)
  • rgw_file: advance_mtime() should consider namespace expiration (issue#40415, pr#30660, Matt Benjamin)
  • rgw_file: fix readdir eof() calc--caller stop implies !eof and introduce fast S3 Unix stats (immutable) (issue#40375, issue#40456, pr#30077, Matt Benjamin)
  • rgw_file: include tenant when hashing bucket names (issue#40225, issue#40118, pr#29277, Matt Benjamin)
  • rgw_file: readdir: do not construct markers w/leading '/' (pr#30157, Matt Benjamin)
  • rgw_file: save etag and acl info in setattr (issue#39229, pr#28073, Tao Chen)
  • rpm: missing dependency on python34-ceph-argparse from python34-cephfs (and others?) (issue#24918, issue#24919, issue#37613, pr#27949, Kefu Chai)
  • tests: cls_rbd: removed mirror peer pool test cases (pr#31485, Jason Dillaman)
  • tests: librbd: set nbd timeout due to newer kernels defaulting it on (pr#30424, Jason Dillaman)
  • tests: ceph-disk: use a Python2.7 compatible version of pytest (pr#31254, Alfredo Deza)
  • tests: rgw: don't use ceph-ansible in s3a-hadoop suite (issue#39706, pr#30069, Casey Bodley)
  • tests/workunits/rbd: wait for rbd-nbd unmap to complete (issue#39598, issue#39674, pr#28310, Jason Dillaman)
  • tests: fix issues in vstart runner (pr#28208, Volker Theile)
  • tests: limit loops waiting for force-backfill/force-recovery to happen (issue#38351, issue#38309, pr#29245, David Zafman)
  • tests: remove s3tests ! (pr#31640, Yuri Weinstein)
  • tests: cephfs: TestMisc.test_evict_client fails (issue#40219, pr#29228, "Yan, Zheng")
  • tests: do not take ceph.conf.template from ceph/teuthology.git (pr#30841, Sage Weil)
  • tests: ignore expected MDS_CLIENT_LATE_RELEASE warning (issue#40968, pr#29812, Patrick Donnelly)
  • tests: install python3-cephfs for fs suite (pr#31285, Kefu Chai)
  • tests: kclient unmount hangs after file system goes down (issue#38709, issue#38677, pr#29218, Patrick Donnelly)
  • tests: krbd_msgr_segments.t: filter lvcreate output (pr#31324, Ilya Dryomov)
  • tests: make get_mon_status use mon addr (pr#31461, Sage Weil, Nathan Cutler)
  • tests: make: *** [hello_world_cpp] Error 127 in rados (issue#40320, pr#29203, Kefu Chai)
  • tests: qa/standalone/scrub/osd-scrub-snaps.sh sometimes fails (issue#40179, issue#40078, pr#29251, David Zafman)
  • tests: qa/tasks/ceph.py: pass cluster_name to get_mons (pr#31424, Nathan Cutler)
  • tests: qa/workunits/rbd: stress test "rbd mirror pool status --verbose" (pr#29873, Mykola Golub)
  • tests: remove "1node" and "systemd" tests as ceph-deploy is not actively developed (pr#28457, Yuri Weinstein)
  • tests: sleep briefly after resetting kclient (pr#29751, Patrick Donnelly)
  • tests: test_volume_client: print python version correctly (issue#40317, issue#40184, pr#29208, Lianne)
  • tests: use curl in wait_for_radosgw() in util/rgw.py (pr#28668, Ali Maredia)
  • tests: use hard_reset to reboot kclient (issue#37681, pr#30233, Patrick Donnelly)
  • tests: whitelisted 'application not enabled' (pr#28389, Yuri Weinstein)
  • tools/rados: list objects in a pg (issue#36732, pr#30893, Vikhyat Umrao, Li Wang)
  • tools/rbd-ggate: close log before running postfork (pr#30121, Willem Jan Withagen)
  • tools: Add clear-data-digest command to objectstore tool (issue#37749, pr#29196, Li Yichao)
  • tools: ceph-objectstore-tool can't remove head with bad snapset (pr#30081, David Zafman)
  • tools: ceph-objectstore-tool: return 0 if incmap is sane (pr#31659, Kefu Chai)
  • tools: ceph-objectstore-tool: update-mon-db: do not fail if incmap is missing (pr#30979, Kefu Chai)
  • tools: crushtool crash on Fedora 28 and newer (issue#39174, issue#39311, pr#27986, Brad Hubbard)