注意
本文档适用于 Ceph 开发版本。
Luminous
Luminous 是 Ceph 的第 12 个稳定版本。它以发光鱿鱼(watasenia scintillans,又名萤火鱿)命名。
v12.2.13 Luminous
这是 Luminous v12.2.x 长期稳定版本系列的第 13 个错误修复版本。我们建议所有用户升级到此版本。
值得注意的变化
Ceph now packages python bindings for python3.6 instead of python3.4, because EPEL7 recently switched from python3.4 to python3.6 as the native python3. see the 通知 <https://lists.fedoraproject.org/archives/list/epel-announce@lists.fedoraproject.org/message/EGUMKAIMPK2UD5VSHXM53BH2MBDGDWMO/>_ for more details on the background of this change.
我们现在通过 ceph-mgr 模块提供了遥测支持。遥测模块完全是基于自愿的,旨在收集通用集群信息并将其推送到中央端点。默认情况下,我们将它推送到项目端点 https://telemetry.ceph.com/reporthttps://telemetry.ceph.com/report,但可以使用以下方式自定义:
ceph telemetry config-set url '<your url>'
您必须选择是否要共享您的信息:
ceph telemetry on
You can view exactly what information will be reported first with:
ceph telemetry show
如果您选择加入,您的信息将根据社区数据许可协议 - 分享 - 版本 1.0 进行许可,您可以在 https://cdla.io/sharing-1-0/ 阅读它。https://cdla.io/sharing-1-0/
遥测模块报告有关 CephFS 文件系统的信息,包括:
how many MDS daemons (in total and per file system)
which features are (or have been) enabled
how many data pools
approximate file system age (year + month of creation)
每个文件系统缓存多少元数据
以及:
whether IPv4 or IPv6 addresses are used for the monitors
whether RADOS cache tiering is enabled (and which mode)
whether pools are replicated or erasure coded, and
how many RGW daemons, zones, and zonegroups are present; which RGW frontends are in use
CRUSH 映射的聚合统计信息,例如使用哪些算法、桶有多大、定义了多少条规则以及使用了哪些可调参数
如果任何计算出的任何间隔的平均 osd 心跳 ping 时间超过可配置的阈值,现在会生成健康警告。OSD 计算 1 分钟、5 分钟和 15 分钟的间隔,并具有平均值、最小值和最大值。新的配置选项
mon_warn_on_slow_ping_ratio
specifies a percentage ofosd_heartbeat_grace
用于确定阈值。值为零将禁用警告。新的配置选项mon_warn_on_slow_ping_time
以毫秒为单位的指定值覆盖计算值,当 OSD 心跳 ping 时间超过指定时间量时将引发警告。新的管理员命令ceph daemon mgr.# dump_osd_network [threshold]
命令将列出所有 ping 时间长于指定阈值或由配置选项确定值的连接,对于任何 3 个间隔的平均值。ceph daemon osd.# dump_osd_network [threshold]
将执行相同的操作,但仅包括由指定 OSD 发起的心跳。The configuration value
osd_calc_pg_upmaps_max_stddev
used for upmap balancing has been removed. Instead use the mgr balancer configupmap_max_deviation
which now is an integer number of PGs of deviation from the target PGs per OSD. This can be set with a command likeceph config set mgr mgr/balancer/upmap_max_deviation 2
. The defaultupmap_max_deviation
是 1。在某些情况下,crush 规则将不允许池永远具有完全平衡的 PG。例如,如果 crush 要求每个机架都需要 1 个副本,但其中一个机架中的 OSD 更少。在这些情况下,可以增加配置值。
更改日志
bluestore: >2GB bluefs 写入 (pr#28965, kungf, Kefu Chai, Sage Weil)
bluestore: 检查分配 (pr#29539, Neha Ojha, Adam Kupczyk)
bluestore: [AFTER: #28644] luminous: os/bluestore: 默认使用位图分配器为 bluestore/bluefs (pr#28972, Igor Fedotov)
bluestore: 添加 bluestore_ignore_data_csum 选项 (pr#26247, Sage Weil)
bluestore: apply shared_alloc_size to shared device with log level change (pr#29910, Vikhyat Umrao, Josh Durgin, Igor Fedotov, Sage Weil)
bluestore: 避免返回的 extent 长度溢出 Stupid Alloc (issue#40703, pr#29025, Igor Fedotov)
bluestore: 在查找 blob 之前正确调用 fault_range (pr#27529, Igor Fedotov)
bluestore: common/options: 将并发 bluestore rocksdb 压缩设置为 2 (pr#30149, Mark Nelson)
bluestore: 在“no spanning blob id”中止之前转储 (pr#28030, Igor Fedotov)
bluestore: 修复 StupidAllocator::get_fragmentation 中的断言 (pr#32523, Lei Liu, Igor Fedotov)
bluestore: fix duplicate allocations in bmap allocator (issue#40080, pr#28644, Igor Fedotov)
bluestore: fix improper setting of STATE_KV_SUBMITTED (pr#31674, Igor Fedotov)
bluestore: 修复长度溢出 (issue#39247, pr#27365, Jianpeng Ma)
bluestore: fix out-of-bound access in bmap allocator (pr#27739, Igor Fedotov)
bluestore: load OSD all compression settings unconditionally (issue#40480, pr#28895, Igor Fedotov)
bluestore: os/bluestore/BitmapFreelistManager: 禁用 bluestore_debug_freelist (pr#27459, Sage Weil)
bluestore: os/bluestore_tool: bluefs-bdev-expand: 指示绕过主设备 (pr#27912, Igor Fedotov)
bluestore: test/store_test: 修复 BlobReuseOnOverwriteUT 和垃圾回收的解决方案 (pr#27056, Igor Fedotov)
build/ops: admin/build-doc: use python3 (pr#30665, Kefu Chai, Jason Dillaman)
build/ops: admin/build-doc: 使用 python3(后续修复) (pr#30690, Nathan Cutler)
build/ops: 从主版本回滚了 miscellaneous install-deps.sh 和 ceph.spec.in 修复 (issue#13997, issue#37707, issue#18163, issue#22998, pr#30722, Yao Guotao, Tomasz Setkowski, Andrey Parfenov, Alfredo Deza, Kefu Chai, Nathan Cutler, Yunchuan Wen, Zack Cerza, Brad Hubbard, Loic Dachary)
build/ops: ceph-test RPM 不会为 SUSE 构建 (pr#29736, Nathan Cutler)
build/ops: cmake: 传递 -march 以检测编译器对 arm64 crc/crypto 的支持 (issue#36080, issue#17516, pr#24169, Kefu Chai)
build/ops: do_cmake.sh: source not found (issue#40004, issue#39981, pr#28216, Nathan Cutler)
build/ops: install-deps.sh: Remove CR repo (issue#13997, pr#30129, Brad Hubbard, Alfredo Deza)
build/ops: python-cephfs 应该依赖于 python-rados (issue#37612, issue#24918, pr#27950, Kefu Chai)
build/ops: python3-cephfs should provide python36-cephfs (pr#30981, Kefu Chai)
build/ops: rpm: 在 openSUSE 上使用 lttng 构建 (issue#39332, pr#27618, Nathan Cutler)
build/ops: rpm: 明确声明 python-tox 构建依赖关系 (pr#31934, Nathan Cutler)
ceph-volume: 假设所有包含 mimic 的分支都是 msgrV1 (pr#32796, Jan Fajerski)
ceph-volume: batch functional idempotency test fails since message is now on stderr (pr#29791, Jan Fajerski)
ceph-volume: broken assertion errors after pytest changes (pr#28929, Alfredo Deza)
ceph-volume: do not fail when trying to remove crypt mapper (pr#30556, Guillaume Abrioux)
ceph-volume: does not recognize wal/db partitions created by ceph-disk (pr#29462, Jan Fajerski)
ceph-volume: fix stderr failure to decode/encode when redirected (pr#30299, Alfredo Deza)
ceph-volume: fix warnings raised by pytest (pr#30677, Rishabh Dave)
ceph-volume: lvm list is O(n^2) (pr#30094, Rishabh Dave)
ceph-volume: lvm.activate: Return an error if WAL/DB devices absent (pr#29038, David Casier)
ceph-volume: lvm.zap fix cleanup for db partitions (issue#40664, pr#30302, Dominik Csapak)
ceph-volume: missing string substitution when reporting mounts (issue#40978, pr#29351, Shyukri Shyukriev)
ceph-volume: pre-install python-apt and its variants before test runs (pr#30296, Alfredo Deza)
ceph-volume: prints errors to stdout with --format json (issue#38548, pr#29508, Jan Fajerski)
ceph-volume: prints log messages to stdout (pr#29603, Jan Fajerski, Kefu Chai, Alfredo Deza)
ceph-volume: 在 fakedevice 固定装置上设置 lvm_size 属性 (pr#30331, Andrew Schoen)
ceph-volume: simple: 当“type”文件不存在时,激活失败 (pr#29415, Alfredo Deza)
ceph-volume: tests add a sleep in tox for slow OSDs after booting (pr#28927, Alfredo Deza)
ceph-volume: tests set the noninteractive flag for Debian (pr#29901, Alfredo Deza)
ceph-volume: 更新测试用例“deploy.yml” (pr#29075, Andrew Schoen, Guillaume Abrioux)
ceph-volume: use the Device.rotational property instead of sys_api (pr#28519, Andrew Schoen)
ceph-volume: use the OSD identifier when reporting success (pr#29771, Alfredo Deza)
ceph-volume: zap always skips block.db, leaves them around (issue#40664, pr#30305, Alfredo Deza)
cephfs: 客户端: _readdir_cache_cb() 可能使用已经清除的 readdir_cache (issue#41148, pr#30934, huanwen ren)
cephfs: client: ceph.dir.rctime xattr value incorrectly prefixes 09 to the nanoseconds component (issue#40166, pr#28502, David Disseldorp)
cephfs: 客户端: 清理错误检查和 _lookup_parent 的返回 (issue#40085, pr#28437, Jeff Layton)
cephfs: client: return -EIO when sync file which unsafe reqs have been dropped (issue#40877, pr#30242, simon gao)
cephfs: client: unlink dentry for inode with llref=0 (issue#40960, pr#29830, Xiaoxi CHEN)
cephfs: kclient: nofail option not supported (pr#28436, Kenneth Waegeman)
cephfs: mds/server: 检查重命名后的目录拆分 (issue#39198, issue#38994, pr#27801, Shen Hang)
cephfs: mds: 添加配置单个客户端会话的命令 (issue#40811, pr#31573, “Yan, Zheng”)
cephfs: mds: 在设置 Connection::priv 时添加现有会话的引用 (pr#31049, “Yan, Zheng”)
cephfs: mds: 避免在 mds 故障转移后修剪过多的日志段 (issue#40028, pr#28543, simon gao)
cephfs: mds: 更好的“ceph health detail”输出 (issue#39266, pr#27848, Shen Hang)
cephfs: mds: check dir fragment to split dir if mkdir makes it oversized (pr#29829, Erqi Chen)
cephfs: mds: cleanup truncating inodes when standby replay mds trim log segments (pr#31286, “Yan, Zheng”)
cephfs: mds: 如果它们太大或太多,则不打印子树 (pr#27679, Rishabh Dave)
cephfs: mds: drop reconnect message from non-existent session (issue#39191, issue#39026, pr#27737, Shen Hang)
cephfs: mds: fix corner case of replaying open sessions (pr#28536, “Yan, Zheng”)
cephfs: mds: initialize cap_revoke_eviction_timeout with conf (issue#38844, issue#39208, pr#27840, simon gao)
cephfs: mds: 消息在 handle_client_reconnect 返回之前没有被销毁,如果重连消息来自不存在的会话 (issue#40588, issue#40807, pr#29097, Shen Hang)
cephfs: mds: StrayManager::advance_delayed() 中的多余错误被移除 (issue#38679, pr#28432, “Yan, Zheng”)
cephfs: mds: 在大循环中重置心跳 (pr#28544, “Yan, Zheng”)
cephfs: mds: there is an assertion when calling Beacon::shutdown() (issue#38822, pr#28438, huanwen ren)
cephfs: mount: key parsing fail when doing a remount (issue#40163, pr#29226, Luis Henriques)
cephfs: pybind/ceph_volume_client: 使用 ceph fs 调用而不是 ceph mds 调用 (issue#22038, issue#22524, pr#28445, Patrick Donnelly, Ramana Raja)
cephfs: qa/cephfs: 放宽 min_caps_per_client 检查 (issue#38270, issue#38686, pr#27040, “Yan, Zheng”)
cephfs: qa: misc 缓存丢弃修复 (issue#38340, issue#38445, pr#27342, Patrick Donnelly)
common/config: 在访问可变容器时持有锁 (pr#30345, Jason Dillaman)
common: Keyrings created by ceph auth get are not suitable for ceph auth import (issue#40548, issue#22227, pr#28742, Kefu Chai)
common: common/ceph_context: 在服务线程关闭期间避免不必要的等待 (pr#31020, Jason Dillaman)
common: common/options.cc: 将 osd_deep_scrub_large_omap_object_key_threshold 的默认值降低 (pr#29175, Neha Ojha)
common: common/util: 处理 /proc/cpuinfo 中的长行 (issue#38296, pr#32349, Sage Weil)
common: compressor/zstd: 改进 (pr#28647, Adam C. Emerson, Sage Weil)
common: data race in OutputDataSocket (issue#40188, issue#40266, pr#29202, Casey Bodley)
core: ENOENT 在 EC backfill 目标上的 collection_move_rename (issue#36739, issue#38880, pr#28110, Neha Ojha)
core: Health warnings on long network ping times (issue#40586, issue#40640, pr#30230, xie xingguo, David Zafman)
core: Revert “crush: remove invalid upmap items” (pr#32019, David Zafman)
core: backport 最近 messenger 修复 (issue#39243, issue#38242, issue#39448, pr#27583, xie xingguo, Jason Dillaman)
core: ceph tell osd.xx bench help : 给出错误的帮助 (issue#39006, issue#39373, pr#28112, Neha Ojha)
core: ceph-objectstore-tool: rename dump-import to dump-export (issue#39343, issue#39284, pr#27636, David Zafman)
core: crc 缓存应在发布预分配 rx 缓冲区时失效 (issue#38436, pr#29248, Ilya Dryomov)
core: crush/CrushWrapper: 确保 crush_choose_arg_map.size == max_buckets (issue#38664, issue#38719, pr#27085, Sage Weil)
core: crush: 移除无效的 upmap items (pr#31234, huangjun)
core: lazy omap stat collection (pr#29190, Brad Hubbard)
core: mds,osd,mon,msg: 使用 intrusive_ptr 来持有 Connection::priv (issue#20924, pr#29859, Shinobu Kinjo, Kefu Chai, Jianpeng Ma, Samuel Just)
core: mgr/localpool: pg_num 是“osd pool create”的 int 参数 (pr#30446, Sage Weil)
core: mgr/prometheus: 当 obj_store 不是 filestore 或 bluestore 时,为 osd_dev_node 赋值 (pr#31587, jiahuizeng)
core: mon, osd: parallel clean_pg_upmaps (issue#40229, issue#40104, pr#28594, xie xingguo)
core: mon,osd: 限制 MOSDMap 消息的大小以及映射计数 (issue#38276, pr#28640, Sage Weil)
core: mon/OSDMonitor: trim not-longer-exist failure reporters (pr#30905, NancySu05)
core: mon: 当 mon_osd_max_split_count 超出时显示的错误消息不如它本可以更用户友好 (issue#39353, issue#39563, pr#27908, Nathan Cutler, Brad Hubbard)
core: mon: ensure prepare_failure() marks no_reply on op (pr#30519, Joao Eduardo Luis)
core: mon: mon/AuthMonitor: 在 authorize 时不要验证 fs caps (pr#28666, Joao Eduardo Luis)
core: msg: 在检测到坏的 CRC 时输出对等地址 (issue#39367, pr#27858, Greg Farnum)
core: osd/OSDMap.cc: 不要将过载/不足消息输出到 lderr (pr#31598, Neha Ojha)
core: osd/OSDMap: Replace get_out_osds with get_out_existing_osds (issue#39154, issue#39420, pr#27728, Brad Hubbard)
core: osd/OSDMap: do not trust partially simplified pg_upmap_item (pr#30926, xie xingguo)
core: osd/PG: Add PG to large omap log message (pr#30922, Brad Hubbard)
core: osd/PG: discover missing objects when an OSD peers and PG is degraded (pr#27751, Jonas Jelten)
core: osd/PGLog: preserve original_crt to check rollbackability (issue#38894, issue#38905, issue#36739, issue#39042, pr#27715, Neha Ojha)
core: osd/PeeringState: recover_got - add special handler for empty log (pr#30896, xie xingguo)
core: osd/PrimaryLogPG: 跳过在回填扫描范围期间不存在的 obcs (pr#31030, Sage Weil)
core: osd/ReplicatedBackend.cc: 1321: FAILED assert(get_parent()->get_log().get_log().objects.count(soid) && (get_parent()->get_log().get_log().objects.find(soid)->second->op == pg_log_entry_t::LOST_REVERT) && (get_parent()->get_log().get_log().object (issue#39537, issue#26958, pr#28989, xie xingguo)
core: osd/ReplicatedBackend.cc: 1349: FAILED ceph_assert(peer_missing.count(fromshard)) (pr#31855, Neha Ojha, xie xingguo)
core: osd/bluestore: 实际上等待完成 write_sync (pr#29564, Vitaliy Filippov)
core: osd: Better error message when OSD count is less than osd_pool_default_size (issue#38617, issue#38585, pr#30298, Vikhyat Umrao, Kefu Chai, Sage Weil, zjh)
core: osd: 诊断日志记录 upmap 清理 (pr#32666, David Zafman)
core: osd: FAILED ceph_assert(attrs || !pg_log.get_missing().is_missing(soid) || (it_objects != pg_log.get_log().objects.end() && it_objects->second->op == pg_log_entry_t::LOST_REVERT)) in PrimaryLogPG::get_object_context() (issue#39218, issue#38931, issue#38784, pr#27878, xie xingguo)
core: osd: 修复 osd_stat_t 的编码/解码兼容性 (pr#31277, David Zafman)
core: osd: Include dups in copy_after() and copy_up_to() (issue#39304, pr#28185, David Zafman)
core: osd: Remove unused osdmap flags full, nearfull from output (issue#22350, pr#30902, Gu Zhongyan, David Zafman)
core: osd: 为 osd_snap_trim_sleep 添加 hdd、ssd 和混合变体 (pr#31857, Neha Ojha)
core: osd: clear PG_STATE_CLEAN when repair object (pr#30271, Zengran Zhang)
core: osd: 修复由允许旧 osd 消息被处理而导致的顺序错误 (pr#31293, Mingxin Liu)
core: osd: merge replica log on primary need according to replica log’s crt (pr#30917, Zengran Zhang)
core: osd: 如果我们处于 N+2 以上,则拒绝启动 (issue#38076, pr#31858, Sage Weil)
core: osd: 报告 omap/data/metadata 使用情况 (issue#40638, pr#28851, Sage Weil)
core: osd: rollforward may need to mark pglog dirty (issue#40403, pr#31036, Zengran Zhang)
core: osd: scrub error on big objects; make bluestore refuse to start on big objects (pr#30785, Sage Weil, David Zafman)
core: osd: shutdown recovery_request_timer earlier (issue#39204, pr#27810, Zengran Zhang)
core: pybind: Rados.get_fsid() 在 python3 中返回字节 (issue#38873, issue#38381, pr#27674, Jason Dillaman)
core: 如果 m<=0,ErasureCode::parse() 应报告 EINVAL (issue#38682, issue#38750, pr#28111, Sage Weil)
doc: 小型 rados 相关文档修复 (issue#38896, issue#38902, pr#27185, David Zafman)
doc: radosgw-admin reshard 命令(man 页面)缺少文档 (issue#40092, issue#21617, pr#28329, Orit Wasserman)
doc: 更新布局.rst (pr#26381, ypdai)
doc: describe metadata_heap cleanup (issue#18174, pr#30071, Dan van der Ster)
doc: doc/rbd: s/guess/xml/ for codeblock lexer (pr#31091, Kefu Chai)
doc: doc/rgw: document CreateBucketConfiguration for s3 PUT Bucket api (issue#39597, pr#31647, Casey Bodley)
doc: doc/rgw: 记录使用“realm pull”而不是“period pull” (issue#39655, pr#30132, Casey Bodley)
doc: fixed --read-only argument value in multisite doc (pr#31655, Chenjiong Deng)
doc: osd_recovery_priority 没有记录(但 osd_recovery_op_priority 有记录) (pr#27471, David Zafman)
doc: update bluestore cache settings and clarify data fraction (issue#39522, pr#31257, Jan Fajerski)
doc: wrong datatype describing crush_rule (pr#32267, Kefu Chai)
doc: 日志部分的使用情况默认值错误 (issue#37892, issue#37856, pr#29015, Abhishek Lekshmanan)
mgr: 更改默认 upmap_max_deviation 为 5 (pr#32586, David Zafman)
mgr: 释放 GIL 和 Balancer 修复 (pr#31992, Kefu Chai, Noah Watkins, David Zafman)
mgr: mgr/BaseMgrModule: 在 set_config 时删除 GIL (issue#39040, issue#36766, pr#27808, John Spray, xie xingguo, Sage Weil)
mgr: mgr/balancer: 如果 upmap 实际上无法工作,则归咎于 (issue#38781, pr#26498, xie xingguo)
mgr: mgr/balancer: python3 compatibility issue (pr#31104, Mykola Golub)
mgr: mgr/prometheus: Cast collect_timeout (scrape_interval) to float (pr#31107, Ben Meekhof)
mgr: telemetry 模块用于 mgr (pr#31105, Alfonso Martínez)
mgr: DaemonServer::handle_conf_change - broken locking (issue#38899, issue#38962, pr#29213, xie xingguo)
mgr: pybind/mgr: Cancel output color control (pr#31696, Zheng Yin)
mgr: restful: Query nodes_by_id for items (pr#31272, Boris Ranto)
mgr: telemetry module for mgr (issue#37976, pr#32135, Joao Eduardo Luis, Wido den Hollander, Kefu Chai, Sage Weil, Dan Mick)
rbd: Reduce log level for cls/journal and cls/rbd expected errors (issue#40865, pr#30857, Jason Dillaman)
rbd: journal: properly advance read offset after skipping invalid range (pr#28811, Mykola Golub)
rbd: krbd: avoid udev netlink socket overrun and retry on transient errors from udev_enumerate_scan_devices() (issue#39089, pr#31360, Zhi Zhang, Ilya Dryomov)
rbd: krbd: return -ETIMEDOUT in polling (issue#38792, issue#38975, pr#27536, Dongsheng Yang)
rbd: librbd: 向管理的锁帮助程序添加缺少的关闭状态 (issue#38387, issue#38508, pr#28158, Jason Dillaman)
rbd: librbd: async open/close should free ImageCtx before issuing callback (issue#39427, issue#39031, pr#28126, Jason Dillaman)
rbd: librbd: 在移动到垃圾箱时禁用镜像 (pr#28149, Mykola Golub)
rbd: librbd: 确保比较和写入在复制后不会跳过比较 (issue#38440, issue#38383, pr#28134, Ilya Dryomov)
rbd: librbd: 在高 IOPS 工作负载下提高对象映射性能 (issue#38674, issue#38538, pr#28137, Jason Dillaman)
rbd: librbd: 正确跟踪正在进行的刷新请求 (issue#40574, pr#28773, Jason Dillaman)
rbd: librbd: 在验证 RBD 池时可能存在竞争条件 (issue#38500, issue#38564, pr#28140, Jason Dillaman)
rbd: rbd-mirror: clear out bufferlist prior to listing mirror images (issue#39460, issue#39407, pr#28124, Jason Dillaman)
rbd: rbd-mirror: don’t overwrite status error returned by replay (pr#29874, Mykola Golub)
rbd: rbd-mirror: 处理图像同步限制器队列中的重复项 (issue#40592, issue#40519, pr#28812, Mykola Golub)
rbd: rbd-mirror: ignore errors relating to parsing the cluster config file (pr#30118, Jason Dillaman)
rbd: rbd-mirror: 使 logrotate 工作 (pr#32599, Mykola Golub)
rbd: rbd/action: fix error getting positional argument (issue#40095, pr#29295, songweibin)
rbd: tools/rbd-ggate: 在运行 postfork 之前关闭日志 (pr#30858, Willem Jan Withagen)
rbd: use the ordered throttle for the export action (issue#40435, pr#30856, Jason Dillaman)
rgw: Adding tcp_nodelay option to Beast (issue#38925, pr#27424, Or Friedmann)
rgw: GetBucketCORS API 在 CORS 配置不存在时返回 Not Found 错误代码 (issue#38887, issue#26964, pr#27123, yuliyang, ashitakasam)
rgw: LC: handle resharded buckets (pr#29122, Abhishek Lekshmanan)
rgw: RGWCoroutine::call(nullptr) sets retcode=0 (pr#30329, Casey Bodley)
rgw: TempURL should not allow PUTs with the X-Object-Manifest (issue#20797, pr#31652, Radoslaw Zarzynski)
rgw: add list user admin OP API (pr#30984, Oshyn Song)
rgw: allow radosgw-admin to list bucket w --allow-unordered (pr#31220, J. Eric Ivancich)
rgw: civetweb 前端:如果内容长度没有明确指定,则响应将在内存中缓冲 (issue#39615, issue#12713, pr#28069, Robin H. Johnson)
rgw: cls/rgw: raise debug level of bi_log_iterate_entries output (issue#40559, pr#27974, Casey Bodley)
rgw: cls/user: cls_user_set_buckets_info overwrites creation_time (issue#39635, pr#31648, Casey Bodley)
rgw: conditionally allow builtin users with non-unique email addresses (issue#40089, issue#40506, pr#28717, Matt Benjamin)
rgw: crypt: permit RGW-AUTO/default with SSE-S3 headers (pr#31860, Matt Benjamin)
rgw: datalog/mdlog trim commands loop until done (pr#29713, Casey Bodley)
rgw: delete_obj_index() takes mtime for bilog (issue#24991, pr#31649, Casey Bodley)
rgw: don’t crash on missing /etc/mime.types (issue#38920, issue#38328, pr#27332, Casey Bodley)
rgw: 当前端发生接受错误时不要引发错误 (pr#30147, Yuval Lifshitz)
rgw: 无法通过 s3test 测试_bucket_create_naming_bad_punctuation (issue#39360, issue#39358, issue#23587, issue#26965, pr#27668, yuliyang, Abhishek Lekshmanan)
rgw: fix bucket may redundantly list keys after BI_PREFIX_CHAR (issue#39984, issue#40149, pr#28408, Tianshan Qu, Casey Bodley)
rgw: fix cls_bucket_list_unordered() partial results (pr#30254, Mark Kogan)
rgw: fix drain handles error when deleting bucket with bypass-gc option (pr#30198, dongdong tao)
rgw: 修复 CreateBucket 具有 BucketLocation 参数的问题 (pr#29826, Enming Zhang, Matt Benjamin)
rgw: fix read not exists null version return wrong (issue#38811, issue#38908, pr#27330, Tianshan Qu)
rgw: fix refcount tags to match and update object’s idtag (pr#30323, J. Eric Ivancich)
rgw: gc 使用 aio (issue#24592, pr#28784, Yehuda Sadeh, Zhang Shaowen, Yao Zongyou, Jesse Williamson)
rgw: get or set realm zonegroup zone need check user’s caps (issue#37497, pr#28332, yuliyang, Casey Bodley)
rgw: housekeeping of reset stats operation in radosgw-admin and cls back-end (pr#30674, J. Eric Ivancich)
rgw: inefficient unordered bucket listing (issue#39409, issue#39393, pr#28350, Casey Bodley)
rgw: lc: 继续通过 get_obj_state() 失败 (pr#32194, Matt Benjamin)
rgw: make dns hostnames matching case insensitive (issue#40995, pr#30375, Casey Bodley, Abhishek Lekshmanan)
rgw: mitigate bucket list with max-entries excessively high (pr#30666, J. Eric Ivancich)
rgw: multisite: ‘radosgw-admin bucket sync status’ should call syncs_from(source.name) instead of id (issue#40022, issue#40143, pr#29271, Casey Bodley)
rgw: orphans 查找性能改进 (issue#39180, pr#28314, Abhishek Lekshmanan)
rgw: parse_copy_location defers url-decode (issue#27217, pr#31651, Casey Bodley)
rgw: 政策修复不存在对象 (issue#38638, pr#29153, Pritha Srivastava)
rgw: remove_olh_pending_entries() 不限制要删除的 xattr 的数量 (issue#39118, issue#39177, pr#28349, Casey Bodley)
rgw: resolve bugs and clean up garbage collection code (issue#38454, pr#31664, Dan Hill, J. Eric Ivancich)
rgw: return ERR_NO_SUCH_BUCKET early while evaluating bucket policy (issue#38420, pr#31218, Abhishek Lekshmanan)
rgw: rgw-admin: fix data sync report for master zone (issue#38958, pr#27453, cfanz)
rgw: rgw-admin: 对象状态命令输出中的 delete_at 不可读 (issue#39497, pr#27991, Abhishek Lekshmanan)
rgw: rgw/OutputDataSocket: 实际上丢弃满缓冲区中的数据 (issue#40178, pr#31654, Matt Benjamin)
rgw: rgw/multisite: 不要允许某些 radosgw-admin 命令在非主区域运行 (issue#39548, pr#30946, Danny Al-Gaaf, Shilpa Jagannath)
rgw: rgw_file: save etag and acl info in setattr (issue#39227, pr#27881, Tao Chen)
rgw: rgw_sync: drop ENOENT error logs from mdlog (issue#40032, issue#38748, pr#27110, Abhishek Lekshmanan)
rgw: set null version object acl issues (issue#36763, pr#31653, Tianshan Qu)
rgw: the Multi-Object Delete operation of S3 API wrongly handles the Code response element (issue#18241, issue#40135, pr#29269, Radoslaw Zarzynski)
rgw: 无法取消具有租户的桶的 reshard 操作 (issue#39016, pr#27992, Abhishek Lekshmanan)
rgw: 更新 civetweb 子模块以匹配 mimic 中的版本 (issue#24158, pr#27982, Abhishek Lekshmanan)
rgw: 更新 s3-test 下载代码以用于 s3-test 任务 (pr#32227, Ali Maredia)
rgw: when exclusive lock fails due existing lock, log add’l info (issue#38397, issue#38171, pr#26554, J. Eric Ivancich)
rgw: 在上传文件时发送 x-amz-version-id 标头 (issue#39572, pr#27935, Xinying Song)
工具:向对象存储工具添加 clear-data-digest 命令 (pr#29366, Li Yichao)
tools: platform.linux_distribution() 已弃用;停止使用它 (issue#39277, issue#18163, pr#27557, Nathan Cutler)
tools: rados 工具列出 pg 中的对象 (问题#36732, pr#30608, Li Wang, Vikhyat Umrao)
v12.2.12 Luminous
这是 Luminous v12.2.x 长期稳定版本系列的第 12 个错误修复版本。我们建议所有用户升级到此版本。
值得注意的变化
在 12.2.11 及更早版本中,keyring caps 没有检查有效性,因此 caps 字符串可以是任何内容。从 12.2.12 开始,caps 字符串会被验证,向例如 ceph auth add 提供一个具有无效 caps 字符串的 keyring 将导致错误。ceph auth add will result in an error.
更改日志
auth: ceph auth add 没有对 caps 进行合理性检查 (issue#22525, pr#24906, Jing Li, Nathan Cutler, Sage Weil)
build/ops: 允许在同一台机器上运行多个“make tests”实例 (问题#36737, pr#26186, Kefu Chai)
build/ops: rpm: 要求 ceph-base 而不是 ceph-common (issue#37620, pr#25810, Sébastien Han)
ceph-volume: 添加 --all 标志到 simple activate (pr#26656, Jan Fajerski)
ceph-volume: look for rotational data in lsblk (pr#26989, Andrew Schoen)
ceph-volume: 用 py.test 替换 testinfra 命令 (pr#26824, Alfredo Deza)
ceph-volume: 将分区作为磁盘还原 (issue#37506, pr#26295, Jan Fajerski)
ceph-volume:simple scan现在将扫描所有正在运行的 ceph-disk OSDs (pr#26857, Andrew Schoen)
ceph-volume: 使用自己的 testinfra套件进行功能测试 (pr#26703, Andrew Schoen)
CLI: 更改文件所有权的功能 (issue#38370, pr#26758, Sébastien Han)
客户端: 会话刷新不会导致 cap 释放消息刷新 (issue#38009, pr#26271, Patrick Donnelly)
common: ceph_timer: 当计时器挂起时停止计时器线程 (issue#37766, pr#26579, Peng Wang)
common: 修复 broken rbdmap 参数解析 (issue#36327, pr#26000, Marc Schoechlin)
core: Objecter::calc_op_budget: 修复对 extent 联合成员的无效访问 (issue#37932, pr#26064, Simon Ruggier)
core: os/filestore: 在 fsync(2) 或 fdatasync(2) 失败时调用 ceph_abort (issue#38258, pr#26871, Sage Weil)
crypto: 在 FIPS 模式下不要使用 PK11_ImportSymKey() (issue#38843, pr#27104, Radoslaw Zarzynski)
修复恢复和回填优先级处理 (issue#27985, issue#38041, pr#26793, Sage Weil, xie xingguo, David Zafman)
journal: 最大 journal 顺序错误设置为 64 (issue#37541, pr#25955, Mykola Golub)
librgw: 导出多租户支持 (issue#37928, pr#25986, Tao Chen)
mds: 当禁用配额时向客户端广播配额消息 (issue#38054, pr#26293, Junhui Tang)
mds: 修复 _unlink_local_finish 中可能重新评估 stray dentry (issue#38263, pr#26473, Zhi Zhang)
mds: 处理片段通知竞争 (issue#36035, pr#25990, “Yan, Zheng”)
mds: 处理状态变化竞争 (issue#37594, pr#26005, “Yan, Zheng”)
mds: 将被驱逐的客户记录到 clog/dbg (issue#37639, pr#25858, Patrick Donnelly)
mds: 记录具有各种元数据的新客户会话 (issue#37678, pr#26257, Patrick Donnelly)
mds: 消息无效访问 (issue#38488, pr#26661, Patrick Donnelly)
MDSMonitor: 当降级时不要分配 standby-replay (issue#36384, pr#26642, Patrick Donnelly)
MDSMonitor: 缺少 osdmon 写入检查 (issue#37929, pr#26065, Patrick Donnelly)
mds: 优化回收旧 caps (issue#38043, pr#26278, “Yan, Zheng”)
mds: 使用大型缓存(40+GB)停止 MDS 会导致它错过心跳 (issue#37723, issue#38022, pr#26232, Patrick Donnelly)
mds: 在 journal 刷新后修剪缓存 (issue#38010, pr#26215, Patrick Donnelly)
mds: 在重新获取 xlock 时等待客户端释放共享 cap (issue#38491, pr#27024, “Yan, Zheng”)
mds: 如果信标没有发送,则等待较短的间隔 (issue#36367, pr#25979, Patrick Donnelly)
mgr: “balancer execute” 仅需要读取权限 (issue#25345, pr#25768, John Spray)
mgr/balancer: 限制自动平衡到特定的星期几 (pr#26501, xie xingguo)
mgr/BaseMgrModule: 为 ceph_send_command 删除 GIL (issue#38537, pr#26830, Sage Weil)
mgr/DaemonServer: 将 pgmap 使用记录到集群日志 (issue#37886, pr#26207, Neha Ojha)
mgr/dashboard: 修复使用“::”的主机没有 ipv6 时表格错误 (issue#38575, pr#26751, Noah Watkins)
mgr: 死锁: _check_auth_rotating 可能存在时钟偏移,旋转密钥过早过期 (issue#23460, pr#26427, Yan Jun)
mgr: 在 StandbyPyModule::get_config 时删除 GIL (issue#35985, pr#26613, John Spray;pr#27639, wumingqiao)
mgr/restful: 修复 py 在获取 osd 信息时出现异常 (issue#38182, pr#26199, Boris Ranto, zouaiguo)
mon: A PG with PG_STATE_REPAIR doesn’t mean damaged data, PG_STATE_IN… (issue#38070, pr#26305, David Zafman)
mon/MgrStatMonitor: 确保仅有一个初始服务映射的副本 (issue#38839, pr#27207, Sage Weil)
mon: monstore 工具重建不会生成 creating_pgs (issue#36306, pr#25825, Sage Weil)
mon: 刮擦警告检查错误使用 mon 刮擦间隔 (issue#37264, issue#26557, Zhi Zhang, Sage Weil, David Zafman)
msg/async: 回滚最近 messenger 修复 (issue#36497, issue#37778, pr#25956, xie xingguo)
msg/msg_types: 修复 entity_addr_t 的 dencoder (issue#24676, pr#26042, Kefu Chai)
msgr: 应该在 del_event() 上设置 EPOLLET 标志 (issue#38828, pr#27226, Roman Penyaev)
msg: 应该在 del_event() 上设置 EPOLLET 标志 (issue#38857, pr#27226, Roman Penyaev)
multisite: es 同步空版本对象失败是因为 olh 信息 (issue#23842, issue#23841, pr#26358, Tianshan Qu, Shang Ding)
对象即使在 s3:DeleteObject 策略设置后也可以被删除 (issue#37403, pr#26310, Enming.Zhang)
objecter: avoid race when reset down osd’s session (issue#24601, pr#25853, Zengran Zhang)
os/bluestore: backport 新的位图分配器 (issue#24598, pr#26979, Radoslaw Zarzynski, Jianpeng Ma, Igor Fedotov, Sage Weil)
os/bluestore: 位图分配器可能无法返回连续的块,即使它有足够的空间 (issue#38761, pr#27312, Igor Fedotov)
os/bluestore: 在 compress() 调用返回非零 err 代码时不要断言 (issue#37839, pr#26544, Igor Fedotov)
os/bluestore: 修复删除期间缺少 onode 引用 (issue#38395, pr#26540, Sage Weil)
os/bluestore: 修复 bluefs 的 freespace 在 kv_sync_thread 睡眠时没有平衡的问题 (issue#38574, pr#26866, Adam Kupczyk)
os/bluestore: 修复访问销毁条件导致死锁或未定义的问题 (issue#37733, pr#26261, linbing)
os/bluestore: KernelDevice::read() 现在执行 EIO 映射 (issue#36455, pr#25855, Radoslaw Zarzynski)
osd: 回滚最近 upmap 修复 (issue#37968, issue#37940, issue#37881, pr#26127, huangjun, xie xingguo)
osd: 回滚最近 upmap 修复 (issue#38826, issue#38897, pr#27224, huangjun, xie xingguo)
osd/bluestore: 深 fsck 在检查非常大的 onodes 时失败 (issue#38065, pr#26387, Igor Fedotov)
OSD crashes in get_str_map while creating with ceph-volume (issue#38329, pr#26900, Sage Weil)
osd: keep using cache even if op will invalid cache (issue#37593, pr#26078, Zengran Zhang)
osd/PG.cc: 考虑到缺少 set,无论 last_complete 如何 (issue#37919, pr#26236, Neha Ojha)
osd/PrimaryLogPG: 修复同步读取的 extent 长度错误 (issue#37680, pr#25711, Xiaofei Cui)
osd/PrimaryLogPG: 在 handle_watch_timeout 中处理对象 !exists (issue#38432, pr#26706, Sage Weil)
rbd-mirror: update mirror status when stopping (issue#36659, pr#25720, Jason Dillaman)
rgw: bucket full sync handles delete markers (issue#38007, pr#26192, Casey Bodley)
rgw: 桶限制检查在 > max-entries 桶(通常为 1000)的情况下行为不当 (issue#35973, pr#26946, Matt Benjamin)
rgw: bug in versioning concurrent, list and get have consistency issue (issue#38060, pr#26548, Wang Hao)
rgw: check for non-existent bucket in RGWGetACLs (issue#38116, pr#26530, Matt Benjamin)
rgw: data sync drains lease stack on lease failure (issue#38479, pr#26761, Casey Bodley)
rgw: 在 Fedora 28 的默认配置下启动失败 (issue#24228, pr#26131, Matt Benjamin)
rgw: feature -- log successful bucket resharding events (issue#37647, pr#25738, J. Eric Ivancich)
rgw: fetch_remote_obj filters out olh attrs (issue#37792, pr#26191, Casey Bodley)
rgw: 修复 cls_bucket_head 结果顺序一致性 (issue#38410, pr#26546, Tianshan Qu)
rgw: 修复 radosgw 链接,WITH_RADOSGW_BEAST_FRONTEND=OFF (issue#23680, pr#26332, Nathan Cutler)
rgw: fix rgw_data_sync_info::json_decode() (issue#38373, pr#26549, Casey Bodley)
rgw: handle S3 version 2 pre-signed urls with meta-data (issue#23470, pr#25901, Matt Benjamin)
rgw: ldap: fix LDAPAuthEngine::init() when uri !empty() (issue#38699, pr#27173, Matt Benjamin)
rgw: multiple es related fixes and improvements (issue#22877, issue#23655, issue#38030, issue#38028, issue#36092, pr#26516, Yehuda Sadeh, Abhishek Lekshmanan)
rgw multisite: 数据同步检查空 next_marker 用于 datalog (issue#39033, pr#27299, Casey Bodley)
rgw: nfs: skip empty (non-POSIX) path segments (issue#38744, pr#27180, Matt Benjamin)
rgw: 仅在 ENODATA 时更新 last_trim 标记 (issue#38075, pr#26619, Casey Bodley)
rgw: “radosgw-admin bucket rm … --purge-objects” 可能挂起 (issue#38007, issue#38134, pr#26263, J. Eric Ivancich)
rgw: rgw_file: 仅第一个子用户可以被导出到 nfs (issue#37855, pr#26677, MinSheng Lin)
rgw: rgwgc: 在某些特殊情况下处理核心转储 (issue#23199, pr#25611, zhaokun)
rgw: sse-c-fixes (issue#38700, pr#27295, Adam Kupczyk, Casey Bodley, Abhishek Lekshmanan)
rgw: sync module: avoid printing attrs of objects in log (issue#37646, pr#27030, Abhishek Lekshmanan)
tools/ceph-objectstore-tool: 转储哈希信息 (问题#37597, pr#25722, David Zafman)
v12.2.11 Luminous
这是 Luminous v12.2.x 长期稳定版本系列的第 11 个错误修复版本。我们建议所有用户升级到此版本。请注意升级时的以下注意事项。
值得注意的变化
本版本修复了在 12.2.9 中引入的 pg 日志硬限制错误,https://tracker.ceph.com/issues/36686。引入了一个名为pglog_hardlimit 的标志,默认情况下关闭。启用此标志将限制 pg 日志的长度。为了启用它,必须在完全升级到 12.2.11 后运行 has been introduced, which is off by default. Enabling this flag will limit the length of the pg log. In order to enable that, the flag must be set by running ceph osd set pglog_hardlimit一旦集群设置了此标志,pg 日志的长度将被硬限制。一旦设置,此标志就不能再取消了。 be unset anymore.
对 RGW 动态和手动 resharding 进行了修复,不再留下要手动删除的旧桶实例。为了查找和清理 reshard 中的旧实例,应使用 radosgw-admin 命令reshard和reshard stale-instances rm应执行必要的清理。
cephfs-journal-tool使 rank 参数(--rank)成为强制参数。rank 的格式为文件系统:rank,其中文件系统是 CephFS 文件系统,rank是要在其上执行操作 MDS 的 rank。要针对所有 rank 执行操作,请使用all或*作为 rank 指定符。请注意,将 journal 信息转储到文件的操作现在将转储到每个 rank 后缀的转储文件。如果操作针对所有 rank,则不允许从转储文件导入 journal 信息。
CVE-2018-14662: mon: 限制允许访问配置存储的 caps (
issue#35994 <http://tracker.ceph.com/issues/35994>issue#35994 <http://tracker.ceph.com/issues/35994>)
CVE-2018-16889: rgw: 从日志输出中清理客户加密密钥(v4 认证) (issue#37847 <http://tracker.ceph.com/issues/37847>)
更改日志
build/ops: cmake: 将 unittest_compression 链接为 gtest (pr#24921, Willem Jan Withagen)
build/ops: run-make-check.sh ccache 调整 (issue#24826, issue#24817, issue#24777, pr#23902, Nathan Cutler, Erwan Velu)
ceph-bluestore-tool: 修复为特定键设置标签的功能 (pr#25187, Igor Fedotov)
ceph-create-keys: 修复 Python 3 的八进制表示法,同时保持与 Python 2 的兼容性 (issue#37643, pr#25532, James Page)
cephfs: ceph-volume-client: 允许设置 CephFS 卷的模式 (pr#25407, Tom Barron)
cephfs-journal-tool: 使 --rank 参数成为强制参数 (pr#24728, Venky Shankar)
cephfs: mgr/status: 修复 fs 状态子命令没有显示 standby-replay MDS 的性能信息 (issue#36575, issue#36399, pr#25032, Zhi Zhang)
cephfs: 更新 wanted caps 的竞争 (issue#37635, issue#37464, pr#25762, “Yan, Zheng”)
ceph-volume: 适应代码以支持 Python3 (pr#26030, Volker Theile)
ceph-volume 添加 device_id 到库存列表 (pr#25350, Jan Fajerski)
ceph-volume: enable device discards (issue#36532, pr#25748, Jonas Jelten)
ceph-volume: 修复 Batch 对象在 py3 环境中 (pr#25552, Jan Fajerski)
ceph-volume: 修复inventory (issue#37390, pr#25922, Sebastian Wagner)
ceph-volume: 修复 TypeError: join() 接收正好一个参数(2 给出) (issue#37595, pr#25772, Sebastian Wagner)
ceph-volume 修复使用 Python3 时 dmcrypt 的 TypeError (pr#26114, Alfredo Deza)
ceph-volume: 引入策略的类层次结构 (pr#25553, Jan Fajerski, Alfredo Deza)
ceph-volume: 如果设备属于 ceph-disk,则标记设备不可用 (pr#26117, Andrew Schoen)
ceph-volume: 将逗号规范化为点以进行字符串到整数的转换 (issue#37442, pr#25776, Alfredo Deza)
ceph-volume: 在 prime-osd-dir 之前设置权限正确 (issue#37486, pr#25778, Andrew Schoen, Alfredo Deza)
ceph-volume tests.functional 声明 ceph-ansible 角色,而不是导入它们 (issue#37805, pr#25838, Alfredo Deza)
ceph-volume zap 设备,这些设备与 OSD ID 和/或 OSD FSID 关联 (pr#26014, Alfredo Deza)
ceph-volume: zap: 改进 zapping 以删除所有分区和所有 LV,无论是否加密 (issue#37449, pr#25352, Alfredo Deza)
cli: 将 osd-fsid 作为 osd find <id> 的一部分导出 (issue#37966, pr#26036, Noah Watkins)
客户端: 在成功写入之前不要移动 f->pos (issue#37631, pr#25684, Junhui Tang)
客户端: 通过 asok 状态命令显式显示黑名单状态 (issue#36456, issue#36352, pr#24994, Jonathan Brielmaier, Zhi Zhang)
客户端: 修复 fuse 客户端挂起,因为它的管道到 mds 不正确 (issue#37829, issue#36079, pr#25904, Guan yunfei)
客户端: 请求下一个 osdmap 对于黑名单客户端 (issue#36668, issue#36691, pr#24986, Zhi Zhang)
common: auth/AuthSessionHandler: 如果没有会话密钥,则没有处理程序 (issue#37427, issue#36443, pr#25297, Sage Weil)
common/blkdev, ceph-volume: 改进 get_device_id (pr#25752, Sage Weil)
common: 修复 WeightedPriorityQueue 中的内存泄漏 (issue#37429, issue#36248, pr#25296, Radoslaw Zarzynski)
common: (mon) 命令清理接受浮点数,当 Int 类型定义时会导致 ceph-mon 中的异常错误 (issue#26919, pr#24374, Sage Weil)
common: 关闭一些警告 (pr#24648, Kefu Chai)
config: 调用 config 观察者时删除 config::lock (issue#37762, pr#25833, Kefu Chai, Venky Shankar)
core: bluestore: 重命名不会将旧 ref 设置为替换 onode 在旧名称处 (issue#36541, issue#36638, pr#24989, Jonathan Brielmaier, Sage Weil)
core: 启用 pg 删除过程以进行限制 (issue#36321, pr#24501, David Zafman)
core: mgr 在未连接的 osd 上刮擦时崩溃 (issue#36110, issue#36464, pr#25030, Sage Weil)
core: mon osdmap 缓存太小,在升级到 mimic 时 (issue#36506, pr#25021, Sage Weil)
core: Objecter: 如果得到重定向回复,则添加忽略缓存标志 (issue#36657, pr#25074, Iain Buclaw, Jonathan Brielmaier)
core: os/bluestore_tool: 修复 bluefs 扩展 (pr#25384, Igor Fedotov)
core: rados rm --force-full 在集群处于完全状态时被阻塞 (issue#36436, pr#25018, Yang Honggang)
crushtool: 添加 --reclassify 操作以将遗留 crush 映射转换为使用设备类 (pr#25307, Sage Weil)
debian: 修正 ceph-common 与旧 radosgw 软件包的关系 (pr#24997, Matthew Vernon)
doc: broken link on troubleshooting-mon page (pr#25500, James McClune)
doc: 修复 cephfs/fuse 中损坏的 fstab url (issue#36286, pr#24434, Jos Collin)
doc: 修复 cephfs/fuse 上的拼写错误 (issue#36180, issue#36309, pr#24752, Karun Josy)
doc: Put command template into literal block (pr#25001, Alexey Stupnikov)
doc/rados: 更新 bluestore 提供和自动调整文档 (issue#37341, pr#25284, Mark Nelson)
doc: 显示 github 链接的编辑和版本警告 (pr#25267, Neha Ojha, Noah Watkins)
doc/user-management: 删除过时的重置 caps 命令 (issue#37663, pr#25609, Brad Hubbard)
examples: 修复 librados 示例 Makefile 中的链接顺序 (issue#37795, pr#25829, Mahati Chamarthy)
扩展重新连接间隔,当 mds 忙碌时 (issue#37739, pr#25784, “Yan, Zheng”)
fsck: cid 不正确匹配到 oid (issue#36145, issue#32731, pr#24705, Sage Weil)
libcephfs: 暴露 CEPH_SETATTR_MTIME_NOW 和 CEPH_SETATTR_ATIME_NOW (issue#36206, issue#35961, pr#24465, Zhu Shangzhong)
librbd: 修复如果不允许缩减,则缺少 unblock_writes (issue#37363, issue#36778, pr#25253, runsisi)
librbd: 在 rbd_snap_list() 中重置快照 (issue#37535, issue#37508, pr#25458, Kefu Chai)
mds: 添加“丢弃缓存”命令 (issue#36695, issue#36281, pr#24468, Rishabh Dave, Patrick Donnelly, Venky Shankar)
mds: 清理 standby-replay 的日志消息 (pr#25804, Patrick Donnelly)
mds: 创建心跳宽限期配置选项 (issue#37674, issue#37820, pr#25889, Patrick Donnelly)
mds: 固定的目录在导出 mds 和导入 mds 之间来回复制 (issue#37368, issue#37606, pr#25522, Xuehan Xu)
mds: 禁止将巨大的缓存转储到格式化程序 (issue#37608, pr#25567, Venky Shankar)
mds: 不要调用 Journaler::_trim 两次 (issue#37566, issue#37629, pr#25562, Tang Junhui)
mds: 修复文件锁挂起在 LOCK_XSYN 导致客户端无法读取数据 (issue#37700, issue#37333, pr#25677, Guan yunfei)
mds: 修复在 purge 队列中遇到无效项时 incorrect l_pq_executing_ops 统计信息 (issue#37627, issue#37567, pr#25560, Junhui Tang)
mds: 修复 OpTracker::check_ops_in_flight 中的无限循环 (issue#37977, pr#26048, “Yan, Zheng”)
mds: 修复 OpTracker::check_ops_in_flight 中的无限循环 (issue#37977, pr#26088, “Yan, Zheng”)
mds: 修复由于意外 journal 长度导致损坏的 mds (issue#36200, pr#24440, Zhi Zhang)
mds: 在关闭 mds 时逐个迁移 strays 部分 (issue#26926, issue#32091, pr#23324, “Yan, Zheng”)
MDSMonitor: 允许来自停止的 MDS 的信标(如果它们落后) (issue#37737, pr#25686, Patrick Donnelly)
mds: 过时的 MDSMap 选项配置 (issue#37540, pr#25431, Patrick Donnelly)
mds: 回收队列在启动期间挂起,如果 PQ journal 损坏 (issue#37899, issue#37543, pr#25968, Patrick Donnelly)
mds: PurgeQueue 写入错误处理程序不会处理 EBLACKLISTED (issue#37604, pr#25524, Patrick Donnelly)
mds: rctime 在系统 inode(根)启动时未设置 (issue#36221, issue#36460, pr#25043, Patrick Donnelly)
mds: 移除重复的 l_mdc_num_strays 性能计数器设置 (issue#37633, issue#37516, pr#25682, Zhi Zhang)
mds: 解码 xattr_map 时出现严重内部片段 (issue#37399, issue#37602, pr#25520, “Yan, Zheng”)
mds: “src/mds/MDLog.cc: 281: FAILED ceph_assert(!capped)” 在 max_mds 混乱期间 (issue#36350, issue#37092, pr#25826, “Yan, Zheng”)
mgr/balancer: 添加列出所有计划的命令 (issue#37420, pr#25259, Yang Honggang)
mgr/balancer: 添加 crush_compat_metrics 参数 (issue#37413, pr#25257, Dan van der Ster)
mgr: balancer: python 3 兼容性修复 (issue#37416, pr#25258, Noah Watkins)
mgr: 修复由于来自具有相同名称的守护进程的多个会话而导致的崩溃 (pr#25867, Mykola Golub)
mgr: 在访问请求列表和提交请求时持有锁 (pr#25047, Jerry Lee)
mgr: 模块“influx”失败 (issue#25201, pr#25184, Nathan Cutler, Wido den Hollander)
mgr: prometheus: 将 bluestore db 和 wal 设备添加到 ceph_disk_occupation 指标。// (issue#37362, pr#25216, Konstantin Shalygin)
mgr: race between daemon state and service map in ‘service status’ (issue#37478, issue#36656, pr#25369, Mykola Golub)
mgr: [restful] 深刮不是有效的 OSD 命令 (issue#36720, issue#36750, pr#25041, Boris Ranto)
mon: 将 REMOVE_SNAPS 消息标记为 no_reply (issue#37568, issue#37694, pr#25779, “Yan, Zheng”)
mon/OSDMonitor: 不要将 void pg_temp 填充到 nextmap (issue#37811, pr#25845, Aleksei Zakharov)
mon: shutdown messenger early to avoid accessing deleted logger (issue#37780, issue#37813, pr#25847, ningtao)
os/bluestore: 避免在 bluefs 重平衡失败时频繁分配器转储 (pr#24543, Igor Fedotov)
os/bluestore/BlueStore.cc: 1025: FAILED assert(buffer_bytes >= b->length) from ObjectStore/StoreTest.ColSplitTest2/2 (issue#26943, issue#24439, pr#24992, Jonathan Brielmaier, Sage Weil)
os/bluestore: 处理虚假读取错误 (issue#22464, pr#24649, Paul Emmerich)
osd: 回滚最近 upmap 修复 (pr#25418, ningtao, xie xingguo)
osdc/Objecter: 在 _calc_target 中更新 op_target_t::paused (issue#37398, issue#37553, pr#25719, Song Shun, runsisi)
osdc: 减少 ObjectCacher 的内存片段 (issue#36642, issue#36192, pr#24872, “Yan, Zheng”)
osd: 当 osd_memory_target 选项不匹配时出现失败断言 (issue#37697, issue#37507, pr#25604, xie xingguo)
osd/mon: pg 日志硬限制在升级时已修复 (issue#37903, issue#21416, pr#25949, Neha Ojha, xie xingguo)
osd/OSDMap: 在目标 osd 处理完映射之前取消映射 (pr#25824, Neha Ojha)
osd/OSDMap: 取消映射,如果目标 osd 处理完 (issue#37501, pr#25698, ningtao, xie xingguo)
osd: 在修复 snap mapper 时 PG::_scan_snaps 中存在潜在的死锁 (issue#36630, pr#24833, Mykola Golub)
osd: 优先考虑用户指定的刮擦 (issue#37343, issue#37269, pr#25514, kungf, David Zafman)
osd: 打开心跳连接时可能存在竞争条件 (issue#36602, issue#36636, pr#25035, Sage Weil)
osd: RBD 客户端 IOPS 池统计信息不正确(2x 更高;包括 IO 提示作为操作) (issue#24909, issue#36556, pr#25025, Jason Dillaman)
pybind/mgr/status: 修复 py3 环境中的 ceph fs 状态 (issue#37573, issue#37625, pr#25695, Jan Fajerski)
rbd: pybind: 添加缺少的 RBD_FLAG_FAST_DIFF_INVALID 常量 (issue#36407, pr#25006, Jason Dillaman)
rbd: [rbd-mirror] 定期镜像状态计时器可能无法安排 (issue#36500, issue#36554, pr#24917, Nathan Cutler, Jason Dillaman)
rgw: 向 beast 前端添加 ssl 支持 (issue#22832, issue#24358, pr#24621, Casey Bodley)
rgw: apply quota config to users created via external auth (issue#24595, issue#36222, pr#24547, Casey Bodley, Matt Benjamin)
rgw: beast 前端无法解析 ipv6 端点 (issue#36733, issue#36662, pr#25512, Casey Bodley)
rgw: 桶 resharding 修复 (issue#37446, issue#36688, pr#25326, Orit Wasserman, Abhishek Lekshmanan, J. Eric Ivancich)
rgw: catch exceptions from librados::NObjectIterator (issue#37091, issue#37475, pr#25289, Casey Bodley)
rgw: 不要将冒号特殊处理为 ARN 的资源部分 (issue#37482, issue#23817, pr#25387, Adam C. Emerson)
rgw: es 修复与 nfs ganesha 一起使用的问题 (issue#37349, issue#36233, issue#22758, pr#25444, Abhishek Lekshmanan)
rgw_file: 用户信息从未同步,因为 librgw 初始化 (issue#37549, pr#25484, Tao Chen)
rgw: 修复区域删除问题 (issue#37328, issue#37466, pr#25320, Abhishek Lekshmanan)
rgw: fix max-size in radosgw-admin and REST Admin API (issue#37519, pr#25448, Nick Erdmann)
rgw: fix version bucket stats (issue#37563, issue#21429, pr#25644, Shasha Lu)
rgw: librgw: 在 multisite 配置中崩溃 (issue#36302, issue#36414, pr#24909, Casey Bodley)
rgw: multisite: 同步在重试具有 ERR_PRECONDITION_FAILED 的删除时卡住 (issue#37551, issue#37448, pr#25506, Casey Bodley)
rgw: radosgw-admin: translate reshard status codes (trivial) (issue#37284, issue#36486, pr#25195, Matt Benjamin)
rgw: rgw-admin: reshard add 可以添加不存在的桶 (issue#36449, issue#36757, pr#25088, Jonathan Brielmaier, Abhishek Lekshmanan)
rgw: SSE 加密无法检测代理中的 ssl 终止 (issue#36644, issue#27221, pr#24944, Jonathan Brielmaier, Casey Bodley)
rpm: 使用强化的 LDFLAGS (issue#36316, issue#36391, pr#25173, Boris Ranto)
v12.2.10 Luminous
这是 Luminous v12.2.x 长期稳定版本系列的第 10 个错误修复版本。之前的版本 v12.2.9 引入了 PG 硬限制补丁,这些补丁在某些升级场景中导致问题,因此本版本被加速以撤销这些补丁。如果您已经成功升级到 v12.2.9,则应该firefly 发布。Firefly 将延迟至少另一个冲刺,以便我们可以对新代码进行一些操作经验,并进行一些额外的测试,然后再承诺长期支持。升级到 v12.2.10,而不是等待一个修复了 http://tracker.ceph.com/issues/36686 问题的版本发布。所有其他用户都鼓励升级到此版本。 for a release in which http://tracker.ceph.com/issues/36686 is addressed. All other users are encouraged to upgrade to this release.
值得注意的变化
OSD
本版本回滚了 v12.2.9 中添加的 PG 硬限制补丁。
更改日志
ceph-volume: 添加一些 choose_disk 功能 (issue#36446, pr#24783, Erwan Velu)
ceph-volume: 从帮助菜单中删除版本报告 (issue#36386, pr#24754, Alfredo Deza)
ceph-volume: systemd 导入主,以便可执行文件的 console_scripts 工作正常 (issue#36648, pr#24853, Alfredo Deza)
ceph-volume: 测试安装 cissue#36672, pr#24960, Alfredo Deza)
ceph-volume: util.encryption don’t push stderr to terminal (issue#36246, pr#24827, Alfredo Deza)
ceph-volume: util.encryption robust blkid+lsblk detection of lockbox (pr#24981, Alfredo Deza)
ceph-volume: 使用 console_scripts (issue#36601, pr#24837, Mehdi Abaakouk)
OSDMapMapping does not handle active.size() > pool size (issue#26866, issue#35935, pr#24432, Sage Weil)
PG: add custom_reaction Backfilled and release reservations (issue#24333, pr#23493, Neha Ojha)
Revert “PG: add custom_reaction Backfilled and release reservations after backfill (pr#24902, Neha Ojha)
Revert pg log limit changes (issue#36686, pr#24903, Neha Ojha)
backport and other test fixes for osd-scrub-repair.sh (问题#35845, issue#36393, pr#24532, Xinying Song, David Zafman)
ceph-volume tests.systemd 更新导入以 systemd 模块 (issue#36704, pr#24958, Alfredo Deza)
ceph-volume: 为lvm batch (issue#36363, pr#24759, Andrew Schoen)
cls/user: cls_user_remove_bucket writes modified header (issue#36534, issue#36496, pr#24855, Casey Bodley)
core: by pass cache if performing deep scrub (issue#35067, pr#24802, Xiaoguang Wang)
crush/CrushWrapper: fix crush tree json dumper (issue#36149, pr#24482, Oshyn Song)
ec: src/common/interval_map.h: 161: FAILED assert(len > 0) (issue#21931, issue#22330, pr#24582, Neha Ojha)
gperftools-libs-2.6.1-1 or newer required for binaries linked against corresponding version at build time (issue#36552, issue#23657, issue#36558, issue#36508, pr#24706, Brad Hubbard)
osd: add creating to pg_string_state (issue#36174, issue#36297, pr#24602, Dan van der Ster)
osd: cast ‘whoami’ to unsigned so it can be used as the seed for RNG (issue#26890, pr#24659, Kefu Chai)
osd: get loadavg per cpu for scrub load threshold check (pr#24593, kungf)
osdc/Objecter: possible race condition with connection reset (issue#36183, issue#36295, pr#24574, Jason Dillaman)
qa: add test that builds example librados programs (issue#36229, issue#15100, pr#24538, Nathan Cutler)
qa/ceph-ansible: Specify stable-3.2 branch (issue#37331, pr#25170, Brad Hubbard)
rgw/beast: drop privileges after binding ports (issue#36041, pr#24454, Paul Emmerich)
rgw: RGWAsyncGetBucketInstanceInfo does not access coroutine memory (issue#35812, issue#36212, pr#24507, Casey Bodley)
rgw: fix leak of curl handle on shutdown (issue#35715, issue#36214, pr#24519, Casey Bodley)
rgw: list bucket can not show the object uploaded by RGWPostObj when enable bucket versioning (pr#24570, yuliyang)
rgw: multisite: enforce spawn_window for data full sync (issue#26897, pr#24857, Casey Bodley)
rgw: set default objecter_inflight_ops = 24576 (issue#36570, issue#25109, pr#24862, Matt Benjamin)
rgw: user stats account for resharded buckets (pr#24854, Casey Bodley)
segv in BlueStore::OldExtent::create (issue#36526, issue#36591, pr#24746, Sage Weil)
test/common: unittest_mclock_priority_queue builds with “make” command (pr#24808, J. Eric Ivancich)
v12.2.9 Luminous
This is the ninth bug fix release of the Luminous v12.2.x long term stable release series. Although this release contains several bugfixes across all the components, it also introduced the PG hard-limit patches which could cause problems during upgrade when not all PGs were active+clean. Therefore, users should not install this release. Instead, they should skip it and upgrade to 12.2.10 directly.
值得注意的变化
OSD
12.2.9 contains the pg hard limit patches (https://tracker.ceph.com/issues/23979). A partial upgrade during recovery/backfill, can cause the osds on the previous version, to fail with assert(trim_to <= info.last_complete). The workaround for users is to upgrade and restart all OSDs to a version with the pg hard limit, or only upgrade when all PGs are active+clean. This patch will be reverted in 12.2.10, until a clean upgrade path is added to the pg log hard limit patches.
See also: http://tracker.ceph.com/issues/36686
The bluestore_cache_* options are no longer needed. They are replaced by osd_memory_target, defaulting to 4GB. BlueStore will expand and contract its cache to attempt to stay within this limit. Users upgrading should note this is a higher default than the previous bluestore_cache_size of 1GB, so OSDs using BlueStore will use more memory by default.
更多详情,请参阅BlueStore docs <http://docs.ceph.com/docs/master/rados/configuration/bluestore-config-ref/#cache-size>_
更改日志
build/ops: add e2fsprogs runtime dependency (pr#24663, Guillaume Abrioux, Alfredo Deza)
build/ops: deb: fix ceph-mgr .pyc files left behind (issue#26883, pr#23832, Dan Mick)
build/ops: deb: require fuse for ceph-fuse (issue#21057, pr#23693, Thomas Serlin)
build/ops: rpm: selinux-policy fixes (pr#24136, Brad Hubbard)
build/ops: rpm: use updated gperftools (issue#36508, pr#24259, Kefu Chai)
ceph-volume: activate 选项 --auto-detect-objectstore 尊重 --no-systemd (issue#36249, pr#24358, Alfredo Deza)
ceph-volume: lsblk 可能无法找到 PARTLABEL,必须回退到 blkid (issue#36098, pr#24335, Alfredo Deza)
ceph-volume: add new ceph-handlers role from ceph-ansible (issue#36251, pr#24338, Alfredo Deza)
ceph-volume: batch carve out lvs for bluestore (issue#34535, pr#24075, Alfredo Deza)
ceph-volume: batch tests for mixed-type of devices (issue#35535, issue#27210, pr#23967, Alfredo Deza)
ceph-volume: batch: allow --osds-per-device, default it to 1 (issue#35913, pr#24080, Alfredo Deza)
ceph-volume: batch: allow journal+block.db sizing on the CLI (issue#36088, pr#24209, Alfredo Deza)
ceph-volume: custom cluster names fail on filestore trigger (issue#27210, pr#24280, Alfredo Deza)
ceph-volume: do not send (lvm) stderr/stdout to the terminal, use the logfile (issue#36492, pr#24741, Alfredo Deza)
ceph-volume: earlier detection for --journal and --filestore flag requirements (issue#24794, pr#24206, Alfredo Deza)
ceph-volume: 修复lvm batch --report 中的 journal 和文件存储数据大小 ( (issue#36242, pr#24307, Andrew Schoen)
ceph-volume: fix zap not working with LVs (issue#35970, pr#24082, Alfredo Deza)
ceph-volume: lvm.prepare update help to indicate partitions are needed, not devices (issue#24795, pr#24451, Jeffrey Zhang, Alfredo Deza)
ceph-volume: 使lvm batchidempotent (pr#24589, Andrew Schoen)
ceph-volume: 从帮助菜单中删除版本报告 (issue#36386, pr#24754, Alfredo Deza)
ceph-volume: 跳过扫描系统磁盘时不存在设备的处理 (issue#36247, pr#24382, Alfredo Deza)
cephfs: MDSMonitor: consider raising priority of MMDSBeacons from MDS so they are processed before other client messages (issue#26899, pr#23554, Patrick Donnelly)
cephfs: MDSMonitor: lookup of gid in prepare_beacon that has been removed will cause exception (issue#35848, pr#23990, Patrick Donnelly)
cephfs: ceph-fuse: add SELinux policy (issue#36103, pr#24313, Patrick Donnelly)
cephfs: ceph_volume_client: allow atomic update of RADOS objects (issue#24173, pr#24084, Rishabh Dave)
cephfs: ceph_volume_client: delay required after adding data pool to MDSMap (issue#25141, pr#23726, Patrick Donnelly)
cephfs: ceph_volume_client: py3 compatible (issue#17230, pr#24083, Rishabh Dave, Patrick Donnelly)
cephfs: cephfs-data-scan: print the max used ino (issue#26925, pr#23881, “Yan, Zheng”)
cephfs: cephfs-journal-tool: wrong layout info used (issue#24644, pr#24033, Gu Zhongyan)
cephfs: client: check for unmounted condition before printing debug output (issue#25213, pr#23617, Jeff Layton)
cephfs: client: drop null child dentries before try pruning inode’s alias (issue#22293, pr#24119, “Yan, Zheng”)
cephfs: client: fix choose_target_mds for requests that do name lookup (issue#26860, pr#23793, “Yan, Zheng”)
cephfs: client: retry remount on dcache invalidation failure (issue#27657, pr#24303, Venky Shankar)
cephfs: client: statfs inode count odd (issue#24849, pr#24376, Rishabh Dave)
cephfs: client: two ceph-fuse clients, one can not list out files created by another (issue#27051, pr#24282, Peng Xie)
cephfs: client: update ctime when modifying file content (issue#35945, pr#24323, “Yan, Zheng”)
common: get real hostname from container/pod environment (pr#23915, Sage Weil)
core: PGPool::update optimizations (pr#23969, Zac Medico)
core: ceph-disk: compatibility fix for python 3 (issue#35906, pr#24347, Tim Serong)
core: discover_all_missing() not always called during activating (issue#22837, pr#23817, Sage Weil, David Zafman)
core: kv/KeyValueDB: return const char* from MergeOperator::name() (issue#26875, pr#23566, Sage Weil)
core: librados application’s symbol could conflict with the libceph-common (issue#25154, pr#23483, Kefu Chai)
core: mgr/MgrClient: guard send_pgstats() with lock (issue#23370, pr#23791, Kefu Chai)
core: mgr/balancer: deepcopy best plan - otherwise we get latest (issue#27000, pr#23740, Stefan Priebe)
core: mgrc: enable disabling stats via mgr_stats_threshold (issue#25197, pr#23461, John Spray)
core: mon/OSDMonitor: invalidate max_failed_since on cancel_report (issue#35860, pr#24257, xie xingguo)
core: object errors found in be_select_auth_object() aren’t logged the same (issue#25108, pr#23871, David Zafman)
core: os/bluestore: bluestore_buffer_hit_bytes perf counter doesn’t reset (pr#23773, Igor Fedotov)
core: os/bluestore: cache autotuning and memory limit (pr#24065, Mark Nelson)
core: osd,mon: increase mon_max_pg_per_osd to 250 (issue#25112, pr#23862, Neha Ojha)
core: osd/PG: avoid choose_acting picking want with > pool size items (issue#35924, pr#24299, Sage Weil)
core: osdc/Objecter: fix split vs reconnect race (issue#22544, pr#24188, Sage Weil)
core: rados python bindings use prval from stack (issue#25175, pr#23864, Sage Weil)
doc: Fix broken urls (issue#25185, pr#23621, Jos Collin)
doc: remove deprecated ‘scrubq’ from ceph(8) (issue#35813, pr#24211, Ruben Kerkhof)
doc: rgw: ldap-auth: fixed option name ‘rgw_ldap_searchfilter’ (issue#23081, pr#23761, Konstantin Shalygin)
mds: MDBalancer::try_rebalance() may stop prematurely (issue#26973, pr#23884, “Yan, Zheng”)
mds: allows client to create .. and . dirents (issue#25113, pr#24329, Venky Shankar)
mds: avoid using g_conf->get_val<…>(…) in hot path (issue#24820, pr#23408, “Yan, Zheng”)
mds: calculate load by checking self CPU usage (issue#26834, pr#23505, “Yan, Zheng”)
mds: configurable timeout for client eviction (issue#25188, pr#24086, Patrick Donnelly, Venky Shankar)
mds: crash when dumping ops in flight (issue#26894, pr#23677, “Yan, Zheng”)
mds: curate priority of perf counters sent to mgr (issue#22097, issue#24004, pr#24089, Guan yunfei, Venky Shankar)
mds: explain delayed client_request due to subtree migration (issue#24840, pr#23678, Yan, Zheng, “Yan, Zheng”)
mds: health warning for slow metadata IO (issue#24879, pr#24171, “Yan, Zheng”)
mds: internal op missing events time ‘throttled’, ‘all_read’, ‘dispatched’ (issue#36114, pr#24410, Yanhu Cao)
mds: mds got laggy because of MDSBeacon stuck in mqueue (issue#23519, pr#23556, “Yan, Zheng”)
mds: optimize the way how max export size is enforced (issue#25131, pr#23789, “Yan, Zheng”)
mds: prevent MDSRank::evict_client from blocking finisher thread (issue#35720, pr#23946, “Yan, Zheng”)
mds: print is_laggy message once (issue#35250, pr#24138, Patrick Donnelly)
mds: rctime may go back (issue#35916, pr#24378, “Yan, Zheng”)
mds: reset heartbeat map at potential time-consuming places (issue#26858, pr#23507, Yan, Zheng, “Yan, Zheng”)
mds: runs out of file descriptors after several respawns (issue#35850, pr#24310, Patrick Donnelly)
mds: track average session uptime (issue#25013, pr#24421, Patrick Donnelly, Venky Shankar)
mds: use monotonic clock for beacon message timekeeping (issue#26959, pr#24311, Patrick Donnelly)
mgr: Sync the prometheus module (pr#23216, Boris Ranto)
mon: Automatically set expected_num_objects for new pools with >=100 PGs per OSD (issue#24687, pr#24395, Douglas Fuller)
msg: “challenging authorizer” messages appear at debug_ms=0 (issue#35251, pr#23943, Patrick Donnelly)
msg: async: clean up local buffers on dispatch (issue#35987, pr#24387, Greg Farnum)
msg: ceph_abort() when there are enough accepter errors in msg server (issue#23649, pr#24419, penglaiyxy@gmail.com)
osd: EC: slow/hung ops in multimds suite test (issue#23769, pr#24393, Sage Weil)
osd: ECBackend: don’t get result code of subchunk-read overwritten (issue#21769, pr#24342, songweibin)
osd: Limit pg log length during recovery/backfill so that we don’t run out of memory (issue#21416, pr#23211, Neha Ojha, xie xingguo)
osd: OSDMap: fix apply upmap segfault (issue#22056, pr#23579, Brad Hubbard)
osd: PG: add custom_reaction Backfilled and release reservations after bac… (issue#23614, pr#23493, Neha Ojha)
osd: PrimaryLogPG: fix potential pg-log overtrimming (pr#24308, xie xingguo)
osd: backport ‘bench’ and stdout changes (issue#24022, pr#23680, Коренберг Маркr, John Spray, Kefu Chai)
osd: read object attrs failed at EC recovery (issue#24406, pr#24327, xiaofei cui)
osd: scrub livelock (issue#26890, pr#24396, Sage Weil)
qa/suites/rados/upgrade/jewel-x-singleton: exclude python3-rados, python3-cephfs (pr#24479, Neha Ojha)
rbd: [rbd-mirror] failed assertion when updating mirror status (issue#36084, pr#24320, Jason Dillaman)
rbd: fix error import when the input is a pipe (issue#34536, pr#24003, songweibin)
rbd: librbd: blacklisted client might not notice it lost the lock (issue#34534, pr#24405, Song Shun, Mykola Golub, Jason Dillaman)
rbd: librbd: discard should wait for in-flight cache writeback to complete (issue#23548, pr#23594, Jason Dillaman)
rbd: librbd: ensure exclusive lock acquired when removing sync point snaps… (issue#24898, pr#24123, Mykola Golub, Jason Dillaman)
rbd: librbd: fix refuse to release lock when cookie is the same at rewatch (issue#27986, pr#23758, Song Shun)
rbd: librbd: fixed assert when flattening clone with zero overlap (issue#35702, pr#24285, Jason Dillaman)
rbd: librbd: image create request should validate data pool for self-managed snapshot support (issue#24675, pr#24390, Mykola Golub)
rbd: librbd: journaling unable request can not be sent to remote lock owner (issue#26939, pr#24100, Mykola Golub)
rbd: librbd: object map improperly flagged as invalidated (issue#24516, pr#24415, Jason Dillaman)
rbd: librbd: potential race on image create request complete (issue#24910, pr#23892, Mykola Golub)
rgw: ‘radosgw-admin sync error trim’ only trims partially (issue#24873, pr#24054, Casey Bodley)
rgw: Fix log level of gc_iterate_entries (issue#23801, pr#23665, iliul)
rgw: Limit the number of lifecycle rules on one bucket (issue#24572, pr#23522, Zhang Shaowen)
rgw: The delete markers generated by object expiration should have owner (issue#24568, pr#23545, Zhang Shaowen)
rgw: abort_bucket_multiparts() ignores individual NoSuchUpload errors (issue#35986, pr#24389, Casey Bodley)
rgw: change default rgw_thread_pool_size to 512 (issue#25214, issue#24544, pr#24034, Douglas Fuller, Casey Bodley)
rgw: cls/rgw: don’t assert in decode_list_index_key() (issue#24117, pr#24391, Yehuda Sadeh)
rgw: cls/rgw: ready rgw_usage_log_entry for extraction via ceph-dencoder (issue#34537, pr#23974, Vaibhav Bhembre)
rgw: fix chunked-encoding for chunks >1MiB (issue#35990, pr#24361, Robin H. Johnson)
rgw: fix deadlock on RGWIndexCompletionManager::stop (issue#26949, pr#24069, Yao Zongyou)
rgw: incremental data sync uses truncated flag to detect end of listing (issue#26952, pr#24242, Casey Bodley)
rgw: multisite: data sync error repo processing does not back off on empty (issue#26938, pr#24318, Casey Bodley)
rgw: multisite: intermittent failures in test_bucket_sync_disable_enable (issue#26895, pr#24316, Casey Bodley)
rgw: multisite: intermittent test_bucket_index_log_trim failures (issue#36034, pr#24398, Casey Bodley)
rgw: multisite: object metadata operations are skipped by sync (issue#24367, pr#24056, Casey Bodley)
rgw: multisite: object name should be urlencoded when we put it into ES (issue#23216, pr#24424, Chang Liu)
rgw: multisite: out of order updates to sync status markers (issue#35539, pr#24317, Yehuda Sadeh)
rgw: multisite: segfault on shutdown/realm reload (issue#35543, pr#24231, Casey Bodley)
rgw: multisite: update index segfault on shutdown/realm reload (issue#35905, pr#24397, Tianshan Qu)
rgw: raise debug level on redundant data sync error messages (issue#35830, issue#36037, pr#24135, Casey Bodley, Matt Benjamin)
rgw: raise default rgw_curl_low_speed_time to 300 seconds (issue#27989, pr#24046, Casey Bodley)
rgw: resharding produces invalid values of bucket stats (issue#36290, pr#24527, Abhishek Lekshmanan)
rgw: return x-amz-version-id: null when delete obj in versioning suspended bucket (issue#35814, pr#24190, yuliyang)
rgw: rgw_file: deep stat handling (issue#24915, pr#23499, Matt Benjamin)
tests: Excluded ‘python34-cephfs’ from the install tasks (pr#24650, Yuri Weinstein)
tests: Use pids instead of jobspecs which were wrong (问题#27056, pr#23901, David Zafman)
tests: cephfs: multifs requires 4 mds but gets only 2 (issue#24899, pr#24328, Patrick Donnelly)
tests: cls_rgw test is only run in rados suite: add it to rgw suite as well (issue#24815, pr#24070, Casey Bodley, Sage Weil)
tests: librbd: not valid to have different parents between image snapshots (issue#36097, pr#24245, Jason Dillaman)
tests: move mds/client config to qa from teuthology ceph.conf.template (issue#26900, issue#24839, pr#23877, Patrick Donnelly)
tests: qa/tasks: s3a fix mirror (pr#24039, Vasu Kulkarni)
tests: qa/workunits: replace ‘realpath’ with ‘readlink -f’ in fsstress.sh (issue#27211, issue#36409, pr#24620, Ilya Dryomov, Jason Dillaman)
tests: qa: add .qa helper link (pr#24134, Patrick Donnelly)
tests: qa: added v12.2.8 to the mix (issue#35541, pr#23913, Yuri Weinstein)
tests: remove knfs qa suite from future releases (issue#36075, pr#24268, Yuri Weinstein)
tools: ceph-objectstore-tool: Allow target level as first positional parameter (问题#35846, pr#24115, David Zafman)
v12.2.8 Luminous
This is the eighth bug fix release of the Luminous v12.2.x long term stable release series. This release contains several bugfixes across all the components and we recommend all users upgrade.
Upgrade Notes from previous luminous releases
When upgrading from v12.2.5 or v12.2.6 please note that upgrade caveats from 12.2.5 will apply to any _newer_ luminous version including 12.2.8. Please read the notes at luminous-12-2-5-upgrades .
For the cluster that installed the broken 12.2.6 release, 12.2.7 fixed the regression and introduced a workaround option osd distrust data digest = true, but 12.2.7 clusters still generated health warnings like
[ERR] 11.288 shard 207: soid 11:1155c332:::rbd_data.207dce238e1f29.0000000000000527:head data_digest 0xc8997a5b != data_digest 0x2ca15853
12.2.8 improves the deep scrub code to automatically repair these inconsistencies. Once the entire cluster has been upgraded and then fully deep scrubbed, and all such inconsistencies are resolved, it will be safe to disable the osd distrust data digest = true workaround option.
值得注意的变化
OSD
Scrub repair is enhanced to handle data digest mismatch info on replicas as long as all replicas’ digests match each other.
RGW
Options rgw curl low speed limit和rgw curl low speed time are added to control the lower speed limits and times below which the requests are considered too slow to be aborted and can help mitigate data sync getting blocked during network issues
Option rgw s3 auth order configurable added which takes a comma separated list of order to try for s3 authentication when external engines are involved.
更改日志
bluestore: set correctly shard for existed Collection (issue#24761, pr#22860, Jianpeng Ma)
build/ops: Boost system library is no longer required to compile and link example librados program (issue#25054, pr#23202, Nathan Cutler)
build/ops: Bring back diff -y for non-FreeBSD (issue#24396, issue#21664, pr#22848, Sage Weil, David Zafman)
build/ops: install-deps.sh fails on newest openSUSE Leap (issue#25064, pr#23179, Kyr Shatskyy)
build/ops: Mimic build fails with -DWITH_RADOSGW=0 (issue#24437, pr#22864, Dan Mick)
build/ops: order rbdmap.service before remote-fs-pre.target (issue#24713, pr#22844, Ilya Dryomov)
build/ops: rpm: silence osd block chown (issue#25152, pr#23313, Dan van der Ster)
cephfs-journal-tool: Fix purging when importing an zero-length journal (issue#24239, pr#22980, yupeng chen, zhongyan gu)
cephfs: MDSMonitor: uncommitted state exposed to clients/mdss (issue#23768, pr#23013, Patrick Donnelly)
ceph-fuse mount failed because no mds (issue#22205, pr#22895, liyan)
ceph-volume 添加一个 __release__ 字符串,以帮助版本条件调用 (issue#25170, pr#23331, Alfredo Deza)
ceph-volume: 为ceph-volume lvm list /dev/sda 添加测试 ( (issue#24784, issue#24957, pr#23350, Andrew Schoen)
ceph-volume: do not use stdin in luminous (issue#25173, issue#23260, pr#23367, Alfredo Deza)
ceph-volume enable the ceph-osd during lvm activation (issue#24152, pr#23394, Dan van der Ster, Alfredo Deza)
ceph-volume expand on the LVM API to create multiple LVs at different sizes (issue#24020, pr#23395, Alfredo Deza)
ceph-volume lvm.activate 条件 mon-config on prime-osd-dir (issue#25216, pr#23397, Alfredo Deza)
ceph-volume lvm.batch 移除不存在的 sys_api 属性 (issue#34310, pr#23811, Alfredo Deza)
ceph-volume lvm.listing 仅包括存在的设备 (issue#24952, pr#23150, Alfredo Deza)
ceph-volume: process.call with stdin in Python 3 fix (issue#24993, pr#23238, Alfredo Deza)
ceph-volume: PVolumes.get() 在使用名称或 uuid 时应返回一个 PV (issue#24784, pr#23329, Andrew Schoen)
ceph-volume: 拒绝zap 映射设备 (issue#24504, pr#23374, Andrew Schoen)
ceph-volume: 测试.functional 继承 SSH_ARGS 从 ansible (issue#34311, pr#23813, Alfredo Deza)
ceph-volume tests/functional 运行 lvm list 在 OSD 提供之后 (issue#24961, pr#23147, Alfredo Deza)
ceph-volume: 在 zap 之前正确卸载 lvs (issue#24796, pr#23128, Andrew Schoen)
ceph-volume: update batch documentation to explain filestore strategies (issue#34309, pr#23825, Alfredo Deza)
change default filestore_merge_threshold to -10 (issue#24686, pr#22814, Douglas Fuller)
client: add inst to asok status output (issue#24724, pr#23107, Patrick Donnelly)
client: fixup parallel calls to ceph_ll_lookup_inode() in NFS FASL (issue#22683, pr#23012, huanwen ren)
client: increase verbosity level for log messages in helper methods (issue#21014, pr#23014, Rishabh Dave)
client: update inode fields according to issued caps (issue#24269, pr#22783, “Yan, Zheng”)
common: Abort in OSDMap::decode() during qa/standalone/erasure-code/test-erasure-eio.sh (issue#23492, pr#23025, Sage Weil)
common/DecayCounter: set last_decay to current time when decoding decay counter (issue#24440, pr#22779, Zhi Zhang)
doc: ceph-bluestore-tool manpage not getting rendered correctly (issue#24800, pr#23177, Nathan Cutler)
filestore: add pgid in filestore pg dir split log message (issue#24878, pr#23454, Vikhyat Umrao)
let “ceph status” use base 10 when printing numbers not sizes (issue#22095, pr#22680, Jan Fajerski, Kefu Chai)
librados: fix buffer overflow for aio_exec python binding (issue#23964, pr#22708, Aleksei Gutikov)
librbd: 在磁盘更新时强制“无效对象映射”标志 (issue#24434, pr#22753, Mykola Golub)
librbd: 删除图像时利用禁用日志策略 (issue#23512, pr#23595, Jason Dillaman)
mds: don’t report slow request for blocked filelock request (issue#22428, pr#22782, “Yan, Zheng”)
mds: dump recent events on respawn (issue#24853, pr#23213, Patrick Donnelly)
mds: handle discontinuous mdsmap (issue#24856, pr#23169, “Yan, Zheng”)
mds: increase debug level for dropped client cap msg (issue#24855, pr#23214, Patrick Donnelly)
mds: low wrlock efficiency due to dirfrags traversal (issue#24467, pr#22885, Xuehan Xu)
mds: print mdsmap processed at low debug level (issue#24852, pr#23212, Patrick Donnelly)
mds: scrub doesn’t always return JSON results (issue#23958, pr#23222, Venky Shankar)
mds: unset deleted vars in shutdown_pass (issue#23766, pr#23015, Patrick Donnelly)
mgr: add units to performance counters (issue#22747, pr#23266, Ernesto Puerta, Rubab Syed)
mgr: ceph osd safe-to-destroy crashes the mgr (issue#23249, pr#22806, Sage Weil)
mgr/MgrClient: Protect daemon_health_metrics (issue#23352, pr#23459, Kjetil Joergensen, Brad Hubbard)
mon: Add option to view IP addresses of clients in output of ‘ceph features’ (issue#21315, pr#22773, Paul Emmerich)
mon/HealthMonitor: do not send MMonHealthChecks to pre-luminous mon (issue#24481, pr#22655, Sage Weil)
os/bluestore: fix flush_commit locking (issue#21480, pr#22904, Sage Weil)
os/bluestore: fix incomplete faulty range marking when doing compression (issue#21480, pr#22909, Igor Fedotov)
os/bluestore: fix races on SharedBlob::coll in ~SharedBlob (issue#24859, pr#23064, Radoslaw Zarzynski)
osdc: Fix the wrong BufferHead offset (issue#24484, pr#22865, dongdong tao)
osd: do_sparse_read(): Verify checksum earlier so we will try to repair and missed backport (issue#24875, pr#23379, xie xingguo, David Zafman)
osd: eternal stuck PG in ‘unfound_recovery’ (issue#24373, pr#22546, Sage Weil)
osd: may get empty info at recovery (issue#24588, pr#22862, Sage Weil)
osd/OSDMap: CRUSH_TUNABLES5 added in jewel, not kraken (issue#25057, pr#23227, Sage Weil)
osd/Session: fix invalid iterator dereference in Sessoin::have_backoff() (issue#24486, pr#22729, Sage Weil)
pjd: cd: too many arguments (issue#24307, pr#22883, Neha Ojha)
PurgeQueue sometimes ignores Journaler errors (issue#24533, pr#22811, John Spray)
pybind: pybind/mgr/mgr_module: make rados handle available to all modules (issue#24788, issue#25102, pr#23235, Ernesto Puerta, Sage Weil)
pybind: Python bindings use iteritems method which is not Python 3 compatible (issue#24779, pr#22918, Nathan Cutler, Kefu Chai)
pybind: rados.pyx: make all exceptions accept keyword arguments (issue#24033, pr#22979, Rishabh Dave)
rbd: fix issues in IEC unit handling (issue#26927, issue#26928, pr#23776, Jason Dillaman)
repeated eviction of idle client until some IO happens (issue#24052, pr#22780, “Yan, Zheng”)
rgw: add curl_low_speed_limit and curl_low_speed_time config to avoid the thread hangs in data sync (issue#25019, pr#23144, Mark Kogan, Zhang Shaowen)
rgw: add unit test for cls bi list command (issue#24483, pr#22846, Orit Wasserman, Xinying Song)
rgw: do not ignore EEXIST in RGWPutObj::execute (issue#22790, pr#23207, Matt Benjamin)
rgw: fail to recover index from crash luminous backport (issue#24640, issue#24280, pr#23130, Tianshan Qu)
rgw: fix gc may cause a large number of read traffic (issue#24767, pr#22984, Xin Liao)
rgw: fix the bug of radowgw-admin zonegroup set requires realm (issue#21583, pr#22767, lvshanchun)
rgw: have a configurable authentication order (issue#23089, pr#23501, Abhishek Lekshmanan)
rgw: index complete miss zones_trace set (issue#24590, pr#22820, Tianshan Qu)
rgw: Invalid Access-Control-Request-Request may bypass validate_cors_rule_method (issue#24223, pr#22934, Jeegn Chen)
rgw: meta and data notify thread miss stop cr manager (issue#24589, pr#22822, Tianshan Qu)
rgw-multisite: endless loop in RGWBucketShardIncrementalSyncCR (issue#24603, pr#22817, cfanz)
rgw performance regression for luminous 12.2.4 (issue#23379, pr#22930, Mark Kogan)
rgw: radogw-admin reshard status command should print text for reshar… (issue#23257, pr#23019, Orit Wasserman)
rgw: “radosgw-admin objects expire” always returns ok even if the pro… (issue#24592, pr#23000, Zhang Shaowen)
rgw: require --yes-i-really-mean-it to run radosgw-admin orphans find (issue#24146, pr#22985, Matt Benjamin)
rgw: REST admin metadata API paging failure bucket & bucket.instance: InvalidArgument (issue#23099, pr#22932, Matt Benjamin)
rgw: set cr state if aio_read err return in RGWCloneMetaLogCoroutine (issue#24566, pr#22942, Tianshan Qu)
spdk: fix ceph-osd crash when activate SPDK (issue#24371, pr#22686, tone-zhang)
tools/ceph-objectstore-tool: split filestore directories offline to target hash level (issue#21366, pr#23418, Zhi Zhang)
v12.2.7 Luminous
This is the seventh bugfix release of Luminous v12.2.x long term stable release series. This release contains several fixes for regressions in the v12.2.6 and v12.2.5 releases. We recommend that all users upgrade.
- note:
The v12.2.6 release has serious known regressions. If you installed this release, please see the upgrade procedure below.
- note:
The v12.2.5 release has a potential data corruption issue with erasure coded pools. If you ran v12.2.5 with erasure coding, please see below.
Upgrading from v12.2.6
v12.2.6 included an incomplete backport of an optimization for BlueStore OSDs that avoids maintaining both the per-object checksum and the internal BlueStore checksum. Due to the accidental omission of a critical follow-on patch, v12.2.6 corrupts (fails to update) the stored per-object checksum value for some objects. This can result in an EIO error when trying to read those objects.
If your cluster uses FileStore only, no special action is required. This problem only affects clusters with BlueStore.
If your cluster has only BlueStore OSDs (no FileStore), then you should enable the following OSD option:
osd skip data digest = true
This will avoid setting and start ignoring the full-object digests whenever the primary for a PG is BlueStore.
If you have a mix of BlueStore and FileStore OSDs, then you should enable the following OSD option:
osd distrust data digest = true
This will avoid setting and start ignoring the full-object digests in all cases. This weakens the data integrity checks for FileStore (although those checks were always only opportunistic).
If your cluster includes BlueStore OSDs and was affected, deep scrubs will generate errors about mismatched CRCs for affected objects. Currently the repair operation does not know how to correct them (since all replicas do not match the expected checksum it does not know how to proceed). These warnings are harmless in the sense that IO is not affected and the replicas are all still in sync. The number of affected objects is likely to drop (possibly to zero) on their own over time as those objects are modified. We expect to include a scrub improvement in v12.2.8 to clean up any remaining objects.
Additionally, see the notes below, which apply to both v12.2.5 and v12.2.6.
Upgrading from v12.2.5 or v12.2.6
If you used v12.2.5 or v12.2.6 in combination with erasure coded pools, there is a small risk of corruption under certain workloads. Specifically, when:
An erasure coded pool is in use
The pool is busy with successful writes
The pool is also busy with updates that result in an error result to the librados user. RGW garbage collection is the most common example of this (it sends delete operations on objects that don’t always exist.)
Some OSDs are reasonably busy. One known example of such load is FileStore splitting, although in principle any load on the cluster could also trigger the behavior.
One or more OSDs restarts.
This combination can trigger an OSD crash and possibly leave PGs in a state where they fail to peer.
Notably, upgrading a cluster involves OSD restarts and as such may increase the risk of encountering this bug. For this reason, for clusters with erasure coded pools, we recommend the following upgrade procedure to minimize risk:
Install the v12.2.7 packages.
Temporarily quiesce IO to cluster:
ceph osd pause
Restart all OSDs and wait for all PGs to become active.
Resume IO:
ceph osd unpause
This will cause an availability outage for the duration of the OSD restarts. If this in unacceptable, an more risky alternative is to disable RGW garbage collection (the primary known cause of these rados operations) for the duration of the upgrade:
#. Set ``rgw_enable_gc_threads = false`` in ceph.conf
#. Restart all radosgw daemons
#. Upgrade and restart all OSDs
#. Remove ``rgw_enable_gc_threads = false`` from ceph.conf
#. Restart all radosgw daemons
Upgrading from other versions
If your cluster did not run v12.2.5 or v12.2.6 then none of the above issues apply to you and you should upgrade normally.
值得注意的变化
mon/AuthMonitor: improve error message (issue#21765, pr#22963, Douglas Fuller)
osd/PG: do not blindly roll forward to log.head (issue#24597, pr#22976, Sage Weil)
osd/PrimaryLogPG: rebuild attrs from clients (issue#24768, pr#22962, Sage Weil)
osd: work around data digest problems in 12.2.6 (version 2) (issue#24922, pr#23055, Sage Weil)
rgw: objects in cache never refresh after rgw_cache_expiry_interval (issue#24346, pr#22369, Casey Bodley, Matt Benjamin)
v12.2.6 Luminous
- note:
This is a broken release with serious known regressions. Do not install it.
This is the sixth bugfix release of Luminous v12.2.x long term stable release series. This release contains a range of bug fixes across all components of Ceph and a few security fixes.
值得注意的变化
Auth:
In 12.2.4 and earlier releases, keyring caps were not checked for validity, so the caps string could be anything. As of 12.2.6, caps strings are validated and providing a keyring with an invalid caps string to, e.g., “ceph auth add” will result in an error.
CVE 2018-1128: auth: cephx authorizer subject to replay attack (issue#24836, Sage Weil)
CVE 2018-1129: auth: cephx signature check is weak (issue#24837, Sage Weil)
CVE 2018-10861: mon: auth checks not correct for pool ops (issue#24838, Jason Dillaman)
The config-key interface can store arbitrary binary blobs but JSON can only express printable strings. If binary blobs are present, the ‘ceph config-key dump’ command will show them as something like
<<< binary blob of length N >>>
.
其他值得注意的更改
build/ops: build-integration-branch script (issue#24003, pr#21919, Nathan Cutler, Kefu Chai, Sage Weil)
cephfs-journal-tool: wait prezero ops before destroying journal (issue#20549, pr#21874, “Yan, Zheng”)
cephfs: MDSMonitor: cleanup and protect fsmap access (issue#23762, pr#21732, Patrick Donnelly)
cephfs: MDSMonitor: crash after assigning standby-replay daemon in multifs setup (issue#23762, issue#23658, pr#22603, “Yan, Zheng”)
cephfs: MDSMonitor: fix mds health printed in bad format (issue#23582, pr#21447, Patrick Donnelly)
cephfs: MDSMonitor: initialize new Filesystem epoch from pending (issue#23764, pr#21512, Patrick Donnelly)
ceph-fuse: missing dentries in readdir result (issue#23894, pr#22119, “Yan, Zheng”)
ceph-fuse: return proper exit code (issue#23665, pr#21495, Patrick Donnelly)
ceph-fuse: trim ceph-fuse -V output (issue#23248, pr#21600, Jos Collin)
ceph_test_rados_api_aio: fix race with full pool and osdmap (issue#23917, issue#23876, pr#21778, Sage Weil)
ceph-volume: error on commands that need ceph.conf to operate (issue#23941, pr#22746, Andrew Schoen)
ceph-volume: failed ceph-osd --mkfs command doesn’t halt the OSD creation process (issue#23874, pr#21746, Alfredo Deza)
client: add ceph_ll_sync_inode (issue#23291, pr#21109, Jeff Layton)
client: add client option descriptions (issue#22933, pr#21589, Patrick Donnelly)
client: anchor dentries for trimming to make cap traversal safe (issue#24137, pr#22201, Patrick Donnelly)
client: avoid freeing inode when it contains TX buffer head (issue#23837, pr#22168, Guan yunfei, “Yan, Zheng”, Jason Dillaman)
client: dirty caps may never get the chance to flush (issue#22546, pr#21278, dongdong tao)
client: fix issue of revoking non-auth caps (issue#24172, pr#22221, “Yan, Zheng”)
client: fix request send_to_auth was never really used (issue#23541, pr#21354, Zhi Zhang)
client: Fix the gid_count check (issue#23652, pr#21596, Jos Collin)
client: flush the mdlog in _fsync before waiting on unstable reqs (issue#23714, pr#21542, Jeff Layton)
client: hangs on umount if it had an MDS session evicted (issue#10915, pr#22018, Rishabh Dave)
client: void sending mds request while holding cap reference (issue#24369, pr#22354, “Yan, Zheng”)
cmake: fix the cepfs java binding build on Bionic (issue#23458, issue#24012, pr#21872, Kefu Chai, Shengjing Zhu)
cmake/modules/BuildRocksDB.cmake: enable compressions for rocksdb (issue#24025, pr#22215, Kefu Chai)
common: ARMv8 feature detection broken, leading to illegal instruction crashes (issue#23464, pr#22567, Adam Kupczyk)
common: fix BoundedKeyCounter const_pointer_iterator (issue#22139, pr#21083, Casey Bodley)
common: 修复 rados bench 写 JSON 输出的拼写错误 (issue#24199, pr#22391, Sandor Zeestraten)
common: partially revert 95fc248 to make get_process_name work (issue#24123, pr#22290, Mykola Golub)
core: Deleting a pool with active notify linger ops can result in seg fault (issue#23966, pr#22143, Kefu Chai, Jason Dillaman)
core: mon/MgrMonitor: change ‘unresponsive’ message to info level (issue#24222, pr#22331, Sage Weil)
core: Wip scrub omap (issue#24366, pr#22375, xie xingguo, David Zafman)
crush: fix device_class_clone for unpopulated/empty weight-sets (issue#23386, pr#22381, Sage Weil)
crush, osd: handle multiple parents properly when applying pg upmaps (issue#23921, pr#22115, xiexingguo)
doc: Fix -d description in ceph-fuse (issue#23214, pr#21616, Jos Collin)
doc:Update ceph-fuse doc (issue#23084, pr#21603, Jos Collin)
fuse: wire up fuse_ll_access (issue#23509, pr#21475, Jeff Layton)
kceph: umount on evicted client blocks forever (issue#24053, issue#24054, pr#22208, Yan, Zheng, “Yan, Zheng”)
librbd: 如果禁用写回缓存且完成,则安全地提交 IO (issue#23516, pr#22370, Jason Dillaman)
librbd: prevent watcher from unregistering with in-flight actions (issue#23955, pr#21938, Jason Dillaman)
lvm: 当 osd 创建失败时记录异常 (issue#24456, pr#22641, Andrew Schoen)
mds: avoid calling rejoin_gather_finish() two times successively (issue#24047, pr#22171, “Yan, Zheng”)
mds: broadcast quota to relevant clients when quota is explicitly set (issue#24133, pr#22271, Zhi Zhang)
mds: crash when failover (issue#23518, pr#21900, “Yan, Zheng”)
mds: don’t discover inode/dirfrag when mds is in ‘starting’ state (issue#23812, pr#21990, “Yan, Zheng”)
mds: fix occasional dir rstat inconsistency between multi-MDSes (issue#23538, pr#21617, “Yan, Zheng”, Zhi Zhang)
mds: 修复一些内存泄漏 (issue#24289, pr#22310, “Yan, Zheng”)
mds: fix unhealth heartbeat during rejoin (issue#23530, pr#21366, dongdong tao)
mds: handle imported session race (issue#24072, issue#24087, pr#21989, Patrick Donnelly)
mds: include nfiles/nsubdirs of directory inode in MClientCaps (issue#23855, pr#22118, “Yan, Zheng”)
mds: kick rdlock if waiting for dirfragtreelock (issue#23919, pr#21901, Patrick Donnelly)
mds: make rstat.rctime follow inodes’ ctime (issue#23380, pr#21448, “Yan, Zheng”)
mds: mark damaged if sessions’ preallocated inos don’t match inotable (issue#23452, pr#21372, “Yan, Zheng”)
mds: mark new root inode dirty (issue#23960, pr#21922, Patrick Donnelly)
mds: mds shutdown fixes and optimization (issue#23602, pr#21346, “Yan, Zheng”)
mds: misc load balancer fixes (issue#21745, pr#21412, “Yan, Zheng”, Jianyu Li)
mds: properly check auth subtree count in MDCache::shutdown_pass() (issue#23813, pr#21844, “Yan, Zheng”)
mds: properly dirty sessions opened by journal replay (issue#23625, pr#21441, “Yan, Zheng”)
mds: properly trim log segments after scrub repairs something (issue#23880, pr#21840, “Yan, Zheng”)
mds: set could_consume to false when no purge queue item actually exe… (issue#24073, pr#22176, Xuehan Xu)
mds: trim log during shutdown to clean metadata (issue#23923, pr#21899, Patrick Donnelly)
mds: underwater dentry check in CDir::_omap_fetched is racy (issue#23032, pr#21187, Yan, Zheng)
mg_read() call has wrong arguments (issue#23596, pr#21382, Nathan Cutler)
mgr/influx: Only split string on first occurence of dot (.) (issue#23996, pr#21965, Wido den Hollander)
mgr: Module ‘balancer’ has failed: could not find bucket -14 (issue#24167, pr#22308, Sage Weil)
mon: add ‘ceph osd pool get erasure allow_ec_overwrites’ command (issue#23487, pr#21378, Mykola Golub)
mon: enable level_compaction_dynamic_level_bytes for rocksdb (issue#24361, pr#22360, Kefu Chai)
mon: handle bad snapshot removal reqs gracefully (issue#18746, pr#21717, Paul Emmerich)
mon: High MON cpu usage when cluster is changing (issue#23713, pr#21968, Sage Weil, Xiaoxi CHEN)
mon/MDSMonitor: do not send redundant MDS health messages to cluster log (issue#24308, pr#22558, Sage Weil)
msg/async/AsyncConnection: Fix FPE in process_connection (issue#23618, pr#21376, Brad Hubbard)
os/bluestore: alter the allow_eio policy regarding kernel’s error list (issue#23333, pr#21405, Radoslaw Zarzynski)
os/bluestore/bluefs_types: make block_mask 64-bit (issue#23840, pr#21740, Sage Weil)
os/bluestore: fix exceeding the max IO queue depth in KernelDevice (issue#23246, pr#21407, Radoslaw Zarzynski)
os/bluestore: fix SharedBlobSet refcounting race (issue#24319, pr#22650, Sage Weil)
os/bluestore: simplify and fix SharedBlob::put() (issue#24211, pr#22351, Sage Weil)
osdc/Objecter: fix recursive locking in _finish_command (issue#23940, pr#21939, Sage Weil)
osdc/Objecter: prevent double-invocation of linger op callback (issue#23872, pr#21752, Jason Dillaman)
osd: do not crash on empty snapset (issue#23851, pr#21638, Mykola Golub, Igor Fedotov)
osd: Don’t evict even when preemption has restarted with smaller chunk (issue#22881, issue#23909, issue#23646, pr#22044, Sage Weil, fang yuxiang, Jianpeng Ma, kungf, xie xingguo, David Zafman)
osd/ECBackend: only check required shards when finishing recovery reads (issue#23195, pr#21911, Josh Durgin, Kefu Chai)
osd: increase default hard pg limit (issue#24243, pr#22592, Josh Durgin)
osd/OSDMap: check against cluster topology changing before applying pg upmaps (issue#23878, pr#21818, xiexingguo)
osd/PG: fix DeferRecovery vs AllReplicasRecovered race (issue#23860, pr#21964, Sage Weil)
osd/PG: fix uninit read in Incomplete::react(AdvMap&) (issue#23980, pr#21993, Sage Weil)
osd/PrimaryLogPG: avoid infinite loop when flush collides with write … (issue#23664, pr#21764, Sage Weil)
osd: publish osdmap to OSDService before starting wq threads (issue#21977, pr#21737, Sage Weil)
osd: Warn about objects with too many omap entries (issue#23784, pr#21518, Brad Hubbard)
qa: disable -Werror when compiling env_librados_test (issue#23786, pr#21655, Kefu Chai)
qa: fix blacklisted check for test_lifecycle (issue#23975, pr#21921, Patrick Donnelly)
qa: remove racy/buggy test_purge_queue_op_rate (issue#23829, pr#21841, Patrick Donnelly)
qa/suites/rbd/basic/msgr-failures: remove many.yaml (issue#23789, pr#22128, Sage Weil)
qa: wait longer for osd to flush pg stats (问题#24321, pr#22296, Kefu Chai)
qa/workunits/mon/test_mon_config_key.py fails on master (issue#23622, pr#21368, Sage Weil)
qa/workunits/rbd: adapt import_export test to handle multiple units (issue#24733, pr#22911, Jason Dillaman)
qa/workunits/rbd: potential race in mirror disconnect test (issue#23938, pr#21869, Mykola Golub)
radosgw-admin sync status improvements (issue#20473, pr#21908, lvshanchun, Casey Bodley)
rbd: improve ‘import-diff’ corrupt input error messages (issue#18844, issue#23038, pr#21316, PCzhangPC, songweibin, Jason Dillaman)
rbd-mirror: ensure remote demotion is replayed locally (issue#24009, pr#22142, Jason Dillaman)
rbd-nbd can deadlock in logging thread (issue#23143, pr#21705, Sage Weil)
rbd: python bindings fixes and improvements (issue#23609, pr#21725, Ricardo Dias)
rbd: [rbd-mirror] asok hook for image replayer not re-registered after bootstrap (issue#23888, pr#21726, Jason Dillaman)
rbd: [rbd-mirror] local tag predecessor mirror uuid is incorrectly replaced with remote (issue#23876, pr#21741, Jason Dillaman)
rbd: [rbd-mirror] potential deadlock when running asok ‘flush’ command (issue#24141, pr#22180, Mykola Golub)
rbd: [rbd-mirror] potential races during PoolReplayer shut-down (issue#24008, pr#22172, Jason Dillaman)
rgw: add buffering filter to compression for fetch_remote_obj (issue#23547, pr#21758, Casey Bodley)
rgw: add configurable AWS-compat invalid range get behavior (issue#24317, pr#22302, Matt Benjamin)
rgw: admin rest api shouldn’t return error when getting user’s stats if (issue#23821, pr#21661, Zhang Shaowen)
rgw: Allow swift acls to be deleted (issue#22897, pr#22465, Marcus Watts)
rgw: aws4 auth supports PutBucketRequestPayment (issue#23803, pr#21660, Casey Bodley)
rgw: beast frontend can listen on multiple endpoints (issue#22779, pr#21568, Casey Bodley)
rgw: Bucket lifecycles stick around after buckets are deleted (issue#19632, pr#22551, Wei Qiaomiao)
rgw: Do not modify email if argument is not set (issue#24142, pr#22352, Volker Theile)
rgw: do not reflect period if not current (issue#22844, pr#21735, Tianshan Qu)
rgw: es module: set compression type correctly (issue#22758, pr#21736, Abhishek Lekshmanan)
rgw_file: conditionally unlink handles when direct deleted (issue#23299, pr#21438, Matt Benjamin)
rgw: fix bi_list to reset is_truncated flag if it skips entires (issue#22721, pr#21669, Orit Wasserman)
rgw: fix ‘copy part’ without ‘x-amz-copy-source-range’ when compressi… (issue#23196, pr#22438, fang yuxiang)
rgw: fix error handling for GET with ?torrent (issue#23506, pr#21674, Casey Bodley)
rgw: fix use of libcurl with empty header values (issue#23663, pr#21738, Casey Bodley)
rgw:lc: RGWPutLC return ERR_MALFORMED_XML when missing <Rule> tag in… (issue#21377, pr#19884, Shasha Lu)
rgw: making implicit_tenants backwards compatible (issue#24348, pr#22363, Marcus Watts)
rgw: Misnamed S3 operation (issue#24061, pr#21917, xiangxiang)
rgw: move all pool creation into rgw_init_ioctx (issue#23480, pr#21675, Casey Bodley)
rgw: radosgw-admin should not use metadata cache for readonly commands (issue#23468, pr#21437, Orit Wasserman)
rgw: raise log level on coroutine shutdown errors (issue#23974, pr#21792, Casey Bodley)
rgw: return EINVAL if max_keys can not convert correctly (issue#23586, pr#21435, yuliyang)
rgw: rgw_statfs should report the correct stats (issue#22202, pr#21724, Supriti Singh)
rgw: trim all spaces inside a metadata value (issue#23301, pr#22177, Orit Wasserman)
slow mon ops from osd_failure (issue#24322, pr#22568, Sage Weil)
table of contents doesn’t render for luminous/jewel docs (issue#23780, pr#21502, Alfredo Deza)
test/librados: increase pgp_num along with pg_num (issue#23763, pr#21556, Kefu Chai)
test/rgw: fix for bucket checkpoints (issue#24212, pr#22541, Casey Bodley)
tests: filestore journal replay does not guard omap operations (issue#22920, pr#21547, Sage Weil)
tools: ceph-disk: write log to /var/log/ceph not to /var/run/ceph (issue#24041, pr#21870, Kefu Chai)
tools: ceph-fuse: getgroups failure causes exception (issue#23446, pr#21687, Jeff Layton)
v12.2.5 Luminous
This is the fifth bugfix release of Luminous v12.2.x long term stable release series. This release contains a range of bug fixes across all components of Ceph. We recommend all the users of 12.2.x series to update.
值得注意的变化
MGR
The ceph-rest-api command-line tool included in the ceph-mon package has been obsoleted by the MGR “restful” module. The ceph-rest-api tool is hereby declared deprecated and will be dropped in Mimic.
The MGR “restful” module provides similar functionality via a “pass through” method. See http://docs.ceph.com/docs/luminous/mgr/restful for details.
CephFS
Upgrading an MDS cluster to 12.2.3+ will result in all active MDS exiting due to feature incompatibilities once an upgraded MDS comes online (even as standby). Operators may ignore the error messages and continue upgrading/restarting or follow this upgrade sequence:
Reduce the number of ranks to 1 (ceph fs set <fs_name> max_mds 1), wait for all other MDS to deactivate, leaving the one active MDS, upgrade the single active MDS, then upgrade/start standbys. Finally, restore the previous max_mds.
See also: https://tracker.ceph.com/issues/23172
其他值得注意的更改
add --add-bucket and --move options to crushtool (issue#23472, issue#23471, pr#21079, Kefu Chai)
BlueStore.cc: _balance_bluefs_freespace: assert(0 == “allocate failed, wtf”) (issue#23063, pr#21394, Igor Fedotov, xie xingguo, Sage Weil, Zac Medico)
bluestore: correctly check all block devices to decide if journal is_… (issue#23173, issue#23141, pr#20651, Greg Farnum)
bluestore: statfs available can go negative (issue#23074, pr#20554, Igor Fedotov, Sage Weil)
build Debian installation packages failure (issue#22856, issue#22828, pr#20250, Tone Zhang)
build/ops: deb: move python-jinja2 dependency to mgr (issue#22457, pr#20748, Nathan Cutler)
build/ops: deb: move python-jinja2 dependency to mgr (issue#22457, pr#21233, Nathan Cutler)
build/ops: run-make-check.sh: fix SUSE support (issue#22875, issue#23178, pr#20737, Nathan Cutler)
cephfs-journal-tool: Fix Dumper destroyed before shutdown (issue#22862, issue#22734, pr#20251, dongdong tao)
ceph.in: print all matched commands if arg missing (issue#22344, issue#23186, pr#20664, Luo Kexue, Kefu Chai)
ceph-objectstore-tool command to trim the pg log (issue#23242, pr#20803, Josh Durgin, David Zafman)
ceph osd force-create-pg cause all ceph-mon to crash and unable to come up again (issue#22942, pr#20399, Sage Weil)
ceph-volume: adds raw device support to ‘lvm list’ (issue#23140, pr#20647, Andrew Schoen)
ceph-volume: allow parallel creates (issue#23757, pr#21509, Theofilos Mouratidis)
ceph-volume: allow skipping systemd interactions on activate/create (issue#23678, pr#21538, Alfredo Deza)
ceph-volume: automatic VDO detection (issue#23581, pr#21505, Alfredo Deza)
ceph-volume be resilient to $PATH issues (pr#20716, Alfredo Deza)
ceph-volume: fix action plugins path in tox (pr#20923, Guillaume Abrioux)
ceph-volume Implement an ‘activate all’ to help with dense servers or migrating OSDs (pr#21533, Alfredo Deza)
ceph-volume improve robustness when reloading vms in tests (pr#21072, Alfredo Deza)
ceph-volume lvm.activate error if no bluestore OSDs are found (issue#23644, pr#21335, Alfredo Deza)
ceph-volume: Nits noticed while studying code (pr#21565, Dan Mick)
ceph-volume tests alleviate libvirt timeouts when reloading (issue#23163, pr#20754, Alfredo Deza)
ceph-volume update man page for prepare/activate flags (pr#21574, Alfredo Deza)
ceph-volume: Using --readonly for {vg|pv|lv}s commands (pr#21519, Erwan Velu)
client: allow client to use caps that are revoked but not yet returned (issue#23028, issue#23314, pr#20904, Jeff Layton)
: Client:Fix readdir bug (issue#22936, pr#20356, dongdong tao)
client: release revoking Fc after invalidate cache (issue#22652, pr#20342, “Yan, Zheng”)
Client: setattr should drop “Fs” rather than “As” for mtime and size (issue#22935, pr#20354, dongdong tao)
client: use either dentry_invalidate_cb or remount_cb to invalidate k… (issue#23355, pr#20960, Zhi Zhang)
cls/rbd: group_image_list incorrectly flagged as RW (issue#23407, issue#23388, pr#20967, Jason Dillaman)
cls/rgw: fix bi_log_iterate_entries return wrong truncated (issue#22737, issue#23225, pr#21054, Tianshan Qu)
cmake: rbd resource agent needs to be executable (issue#22980, pr#20617, Tim Bishop)
common/dns_resolv.cc: Query for AAAA-record if ms_bind_ipv6 is True (issue#23078, issue#23174, pr#20710, Wido den Hollander)
common/ipaddr: Do not select link-local IPv6 addresses (issue#21813, pr#21111, Willem Jan Withagen)
common: omit short option for id in help for clients (issue#23156, issue#23041, pr#20654, Patrick Donnelly)
common: should not check for VERSION_ID (issue#23477, issue#23478, pr#21090, Kefu Chai, Shengjing Zhu)
config: Change bluestore_cache_kv_max to type INT64 (pr#20334, Zhi Zhang)
Couldn’t init storage provider (RADOS) (issue#23349, issue#22351, pr#20896, Brad Hubbard)
doc: Add missing pg states from doc (issue#23113, pr#20584, David Zafman)
doc: outline upgrade procedure for mds cluster (issue#23634, issue#23568, pr#21352, Patrick Donnelly)
doc/rgw: add page for http frontend configuration (issue#13523, issue#22884, pr#20242, Casey Bodley)
doc: rgw: mention the civetweb support for binding to multiple ports (issue#20942, issue#23317, pr#20906, Abhishek Lekshmanan)
docs fix ceph-volume missing sub-commands (pr#20691, Katie Holly, Yao Zongyou, David Galloway, Sage Weil, Alfredo Deza)
doc: update man page to explain ceph-volume support bluestore (issue#23142, issue#22663, pr#20679, lijing)
Double free in rados_getxattrs_next (issue#22940, issue#22042, pr#20358, Gu Zhongyan)
fixes for openssl & libcurl (issue#23239, issue#23245, issue#22951, issue#23221, issue#23203, pr#20722, Marcus Watts, Abhishek Lekshmanan, Jesse Williamson)
invalid JSON returned when querying pool parameters (issue#23312, issue#23200, pr#20890, Chang Liu)
is_qemu_running in qemu_rebuild_object_map.sh and qemu_dynamic_features.sh may return false positive (issue#23524, pr#21192, Mykola Golub)
[journal] allocating a new tag after acquiring the lock should use on-disk committed position (issue#23011, issue#22945, pr#20454, Jason Dillaman)
journal: Message too long error when appending journal (issue#23545, issue#23526, pr#21216, Mykola Golub)
legal: remove doc license ambiguity (issue#23410, issue#23336, pr#20988, Nathan Cutler)
librados: make OPERATION_FULL_FORCE the default for rados_remove() (issue#23114, issue#22413, pr#20585, Kefu Chai)
librados/snap_set_diff: don’t assert on empty snapset (issue#23423, pr#20991, Mykola Golub)
librbd: potential crash if object map check encounters error (issue#22857, issue#22819, pr#20253, Jason Dillaman)
log: Fix AddressSanitizer: new-delete-type-mismatch (issue#23324, issue#23412, pr#20998, Brad Hubbard)
mds: add uptime to MDS status (issue#23150, pr#20626, Patrick Donnelly)
mds: FAILED assert (p != active_requests.end()) in MDRequestRef MDCache::request_get(metareqid_t) (issue#23154, issue#23059, pr#21176, “Yan, Zheng”)
mds: fix session reference leak (issue#22821, issue#22969, pr#20432, “Yan, Zheng”)
mds: optimize getattr file size (issue#23013, issue#22925, pr#20455, “Yan, Zheng”)
mgr: Backport recent prometheus exporter changes (pr#20642, Jan Fajerski, Boris Ranto)
mgr: Backport recent prometheus rgw changes (pr#21492, Jan Fajerski, John Spray, Boris Ranto, Rubab-Syed)
mgr/balancer: pool-specific optimization support and bug fixes (pr#20359, xie xingguo)
mgr: die on bind() failure (issue#23175, pr#20712, John Spray)
mgr: fix MSG_MGR_MAP handling (issue#23409, pr#20973, Gu Zhongyan)
mgr: prometheus: fix PG state names (pr#21365, John Spray)
mgr: prometheus: set metadata metrics value to ‘1’ (#22717) (pr#20254, Konstantin Shalygin)
mgr: quieten logging on missing OSD stats (issue#23224, pr#21053, John Spray)
mgr/zabbix: Backports to Luminous (pr#20781, Wido den Hollander)
mon: allow removal of tier of ec overwritable pool (issue#22971, issue#22754, pr#20433, Patrick Donnelly)
mon: ops get stuck in “resend forwarded message to leader” (issue#22114, issue#23077, pr#21016, Kefu Chai, Greg Farnum)
mon, osd: fix potential collided *Up Set* after PG remapping (issue#23118, pr#20829, xie xingguo)
mon/OSDMonitor.cc: fix expected_num_objects interpret error (issue#22530, issue#23315, pr#20907, Yang Honggang)
mon: update PaxosService::cached_first_committed in PaxosService::may… (issue#23626, issue#11332, pr#21328, Xuehan Xu, yupeng chen)
msg/async: size of EventCenter::file_events should be greater than fd (issue#23253, issue#23306, pr#20867, Yupeng Chen)
Objecter: add ignore overlay flag if got redirect reply (pr#20766, Ting Yi Lin)
os/bluestore: avoid overhead of std::function in blob_t (pr#20674, Radoslaw Zarzynski)
os/bluestore: avoid unneeded BlobRefing in _do_read() (pr#20675, Radoslaw Zarzynski)
os/bluestore: backport fixes around _reap_collection (pr#20964, Jianpeng Ma)
os/bluestore: change the type of aio_t:res to long (issue#23527, issue#23544, pr#21231, kungf)
os/bluestore: _dump_onode() don’t prolongate Onode anymore (pr#20676, Radoslaw Zarzynski)
os/bluestore: recalc_allocated() when decoding bluefs_fnode_t (issue#23256, issue#23212, pr#20771, Jianpeng Ma, Igor Fedotov, Kefu Chai)
os/bluestore: trim cache every 50ms (instead of 200ms) (issue#23226, pr#21059, Sage Weil)
osd: add numpg_removing metric (pr#20785, Sage Weil)
osdc/Journaler: make sure flush() writes enough data (issue#22967, issue#22824, pr#20431, “Yan, Zheng”)
osd: do not release_reserved_pushes when requeuing (pr#21229, Sage Weil)
osd: Fix assert when checking missing version (issue#21218, issue#23024, pr#20495, David Zafman)
osd: objecter sends out of sync with pg epochs for proxied ops (issue#22123, issue#23075, pr#20609, Sage Weil)
osd/OSDMap: skip out/crush-out osds (pr#20840, xie xingguo)
osd/osd_types: fix pg_pool_t encoding for hammer (pr#21283, Sage Weil)
osd: remove cost from mclock op queues; cost not handled well in dmcl… (pr#21426, J. Eric Ivancich)
osd: Remove partially created pg known as DNE (issue#23160, issue#21833, pr#20668, David Zafman)
osd: resend osd_pgtemp if it’s not acked (issue#23610, issue#23630, pr#21330, Kefu Chai)
osd: treat successful and erroroneous writes the same for log trimming (issue#23323, issue#22050, pr#20851, Josh Durgin)
os/filestore: fix do_copy_range replay bug (issue#23351, issue#23298, pr#20957, Sage Weil)
parent blocks are still seen after a whole-object discard (issue#23304, issue#23285, pr#20860, Ilya Dryomov, Jason Dillaman)
PendingReleaseNotes: add note about upgrading MDS (issue#23414, pr#21001, Patrick Donnelly)
: qa: adjust cephfs full test for kclient (issue#22966, issue#22886, pr#20417, “Yan, Zheng”)
qa: ignore io pause warnings in mds-full test (issue#23062, issue#22990, pr#20525, Patrick Donnelly)
qa: ignore MON_DOWN while thrashing mons (issue#23061, pr#20523, Patrick Donnelly)
qa/rgw: remove some civetweb overrides for beast testing (issue#23002, issue#23176, pr#20736, Casey Bodley)
qa: src/test/libcephfs/test.cc:376: Expected: (len) > (0), actual: -34 vs 0 (issue#22383, issue#22221, pr#21173, Patrick Donnelly)
qa: synchronize kcephfs suites with fs/multimds (issue#22891, issue#22627, pr#20302, Patrick Donnelly)
qa/tests - added tag: v12.2.2 to be used by client.1 (pr#21452, Yuri Weinstein)
qa/tests - Change machine type from ‘vps’ to ‘ovh’ as ‘vps’ does not … (pr#21031, Yuri Weinstein)
qa/workunits/rados/test-upgrade-to-mimic.sh: fix tee output (pr#21506, Sage Weil)
qa/workunits/rbd: switch devstack tempest to 17.2.0 tag (issue#23177, issue#22961, pr#20715, Jason Dillaman)
radosgw-admin data sync run crashes (issue#23180, pr#20762, lvshanchun)
rbd-mirror: fix potential infinite loop when formatting status message (issue#22964, issue#22932, pr#20416, Mykola Golub)
rbd-nbd: fix ebusy when do map (issue#23542, issue#23528, pr#21230, Li Wang)
rgw: add radosgw-admin sync error trim to trim sync error log (issue#23302, pr#20859, fang yuxiang)
rgw: add xml output header in RGWCopyObj_ObjStore_S3 response msg (issue#22416, issue#22635, pr#19883, Enming Zhang)
rgw: Admin API Support for bucket quota change (issue#23357, issue#21811, pr#20885, Jeegn Chen)
rgw: allow beast frontend to listen on specific IP address (issue#22858, issue#22778, pr#20252, Yuan Zhou)
rgw: can’t download object with range when compression enabled (issue#23146, issue#23179, issue#22852, pr#20741, fang yuxiang)
rgw: data sync of versioned objects, note updating bi marker (issue#23025, pr#21214, Yehuda Sadeh)
RGW doesn’t check time skew in auth v4 http header request (issue#23252, issue#22766, issue#22439, issue#22418, pr#20072, Bingyin Zhang, Casey Bodley)
rgw_file: avoid evaluating nullptr for readdir offset (issue#22889, pr#20345, Matt Benjamin)
rgw: fix crash with rgw_run_sync_thread false (issue#23318, issue#20448, pr#20932, Orit Wasserman)
rgw: fix memory fragmentation problem reading data from client (issue#23347, pr#20953, Marcus Watts)
rgw: fix mutlisite read-write issues (issue#23690, issue#22804, pr#21390, Niu Pengju)
rgw: fix the max-uploads parameter not work (issue#23020, issue#22825, pr#20476, Xin Liao)
rgw_log, rgw_file: account for new required envvars (issue#23192, issue#21942, pr#20672, Matt Benjamin)
rgw: log the right http status code in civetweb frontend’s access log (issue#22812, issue#22538, pr#20157, Yao Zongyou)
rgw: parse old rgw_obj with namespace correctly (issue#23102, issue#22982, pr#20586, Yehuda Sadeh)
rgw recalculate stats option added (issue#23691, issue#23720, issue#23335, issue#23322, pr#21393, Abhishek Lekshmanan)
rgw: reject encrypted object COPY before supported (issue#23232, issue#23346, pr#20937, Jeegn Chen)
rgw: rgw: reshard cancel command should clear bucket resharding flag (issue#21619, pr#21389, Orit Wasserman)
rgw: s3website error handler uses original object name (issue#23201, issue#23310, pr#20889, Casey Bodley)
rgw: upldate the max-buckets when the quota is uploaded (issue#23022, pr#20477, zhaokun)
rgw: usage log fixes (issue#23686, issue#23758, pr#21388, Yehuda Sadeh, Greg Farnum, Robin H. Johnson)
rocksdb: incorporate the fix in RocksDB for no fast CRC32 path (issue#22534, pr#20825, Radoslaw Zarzynski)
scrub errors not cleared on replicas can cause inconsistent pg state when replica takes over primary (issue#23267, pr#21103, David Zafman)
snapmapper inconsistency, crash on luminous (issue#23500, pr#21118, Sage Weil)
Special scrub handling of hinfo_key errors (issue#23654, issue#23428, issue#23364, pr#21397, David Zafman)
src: s/--use-wheel// (pr#21177, Kefu Chai)
systemd: Wait 10 seconds before restarting ceph-mgr (issue#23083, issue#23101, pr#20604, Wido den Hollander)
test_admin_socket.sh may fail on wait_for_clean (issue#23507, pr#21124, Mykola Golub)
test/ceph-disk: specify the python used for creating venv (issue#23281, pr#20817, Kefu Chai)
TestLibRBD.RenameViaLockOwner may still fail with -ENOENT (issue#23152, issue#23068, pr#20628, Mykola Golub)
test/librbd: utilize unique pool for cache tier testing (issue#23064, issue#11502, pr#20550, Jason Dillaman)
test/pybind/test_rbd: allow v1 images for testing (pr#21471, Sage Weil)
test: Replace bc command with printf command (pr#21015, David Zafman)
tests: drop upgrade/jewel-x/point-to-point-x in luminous and master (issue#23159, issue#22888, pr#20641, Nathan Cutler)
tests: ENGINE Error in ‘start’ listener <bound in rados (issue#23606, pr#21307, John Spray)
tests: rgw: swift tests target ceph-luminous branch (pr#21048, Nathan Cutler)
tests: unittest_pglog timeout (issue#23522, issue#23504, pr#21134, Nathan Cutler)
Update mgr/restful documentation (issue#23230, pr#20725, Boris Ranto)
v12.2.4 Luminous
This is the fourth bugfix release of Luminous v12.2.x long term stable release series. This was primarily intended to fix a few build, ceph-volume/ceph-disk and RGW issues. We recommend all the users of 12.2.x series to update.
值得注意的变化
ceph-volume: adds support to zap encrypted devices (issue#22878, pr#20545, Andrew Schoen)
ceph-volume: log the current running command for easier debugging (issue#23004, pr#20597, Andrew Schoen)
ceph-volume: warn on mix of filestore and bluestore flags (issue#23003, pr#20568, Alfredo Deza)
cmake: check bootstrap.sh instead before downloading boost (issue#23071, pr#20515, Kefu Chai)
core: Backport of cache manipulation: issues #22603 and #22604 (issue#22604, issue#22603, pr#20353, Adam C. Emerson)
core: last-stat-seq returns 0 because osd stats are cleared (issue#23093, pr#20548, Sage Weil, David Zafman)
core: Snapset inconsistency is detected with its own error (issue#22996, pr#20501, David Zafman)
rgw: make init env methods return an error (issue#23039, pr#20564, Abhishek Lekshmanan)
rgw: parse old rgw_obj with namespace correctly (issue#22982, pr#20566, Yehuda Sadeh)
rgw: return valid Location element, CompleteMultipartUpload (issue#22655, pr#20266, Matt Benjamin)
rgw: URL-decode S3 and Swift object-copy URLs (issue#22121, issue#22729, pr#20236, Malcolm Lee, Matt Benjamin)
rgw: use explicit index pool placement (issue#22928, pr#20565, Yehuda Sadeh)
tools: ceph-disk: v12.2.2 unable to create bluestore osd using ceph-disk (issue#22354, pr#20563, Kefu Chai)
tools: ceph-objectstore-tool: “$OBJ get-omaphdr” and “$OBJ list-omap” scan all pgs instead of using specific pg (issue#21327, pr#20283, David Zafman)
v12.2.3 Luminous
This is the third bugfix release of Luminous v12.2.x long term stable release series. It contains a range of bug fixes and a few features across Bluestore, CephFS, RBD & RGW. We recommend all the users of 12.2.x series update.
值得注意的变化
CephFS:
The CephFS client now checks for older kernels’ inability to reliably clear dentries from the kernel dentry cache. The new option client_die_on_failed_dentry_invalidate (default: true) may be turned off to allow the client to proceed (dangerous!).
其他值得注意的更改
bluestore: do not crash on over-large objects (issue#22161, pr#19630, Sage Weil)
bluestore: OSD crash on boot with assert caused by Bluefs on flush write (issue#21932, pr#19047, Jianpeng Ma)
build/ops: ceph-base symbols not stripped in debs (issue#22640, pr#19969, Sage Weil)
build/ops: ceph-conf: dump parsed config in plain text or as json (issue#21862, pr#18842, Piotr Dałek)
build/ops: ceph-mgr dashboard has dependency on python-jinja2 (issue#22457, pr#19865, John Spray)
build/ops: ceph-volume fails when centos7 image doesn’t have lvm2 installed (issue#22443, issue#22217, pr#20215, Nathan Cutler, Theofilos Mouratidis)
build/ops: Default kernel.pid_max is easily exceeded during recovery on high OSD-count system (issue#21929, pr#19133, David Disseldorp, Kefu Chai)
build/ops: install-deps.sh: revert gcc to the one shipped by distro (issue#22220, pr#19680, Kefu Chai)
build/ops: luminous build fails with --without-radosgw (issue#22321, pr#19483, Jason Dillaman)
build/ops: move ceph-*-tool binaries out of ceph-test subpackage (issue#22319, issue#21762, pr#19355, liuchang0812, Nathan Cutler, Kefu Chai, Sage Weil)
build.ops: rpm: adjust ceph-{osdomap,kvstore,monstore}-tool feature move (issue#22558, pr#19839, Kefu Chai)
ceph: cluster [ERR] Unhandled exception from module ‘balancer’ while running on mgr.x: ‘NoneType’ object has no attribute ‘iteritems’” in cluster log (issue#22090, pr#19023, Sage Weil)
cephfs: cephfs-journal-tool: add “set pool_id” option (issue#22631, pr#20085, dongdong tao)
cephfs: cephfs-journal-tool: 工具可能会遗漏报告一些无效的范围 (issue#22459, pr#19626, dongdong tao)
cephfs: cephfs: 在 lru_expire 中存在潜在的调整失败 (issue#22458, pr#19627, dongdong tao)
cephfs: “ceph tell mds” 命令在客户端管理员套接字上导致“文件已存在”错误 (issue#21406, issue#21967, pr#18831, Patrick Donnelly)
cephfs: 客户端:在修剪 caps 时锚定 Inode (issue#22157, pr#19105, Patrick Donnelly)
cephfs: 客户端:在 ll_get_vino 中避免递归锁定 (issue#22629, pr#20086, dongdong tao)
cephfs: 客户端:具有竞争的 ceph_shutdown 的双重客户端段错误 (issue#21512, issue#20988, pr#20082, Jeff Layton)
cephfs: 客户端:在用户空间 cephfs 中实现委托支持 (issue#18490, pr#19480, Jeff Layton)
cephfs: 客户端:在 dentry 无效测试期间失败的重新挂载时退出 (#19218 (issue#22269, pr#19370, Patrick Donnelly)
cephfs: 列出文件系统在文件系统删除后不会刷新 (issue#21599, pr#18730, John Spray)
cephfs: MDS :避免在从其他...的 caps 导出时出现断言失败 (issue#22610, pr#20300, Jianyu Li)
cephfs: MDSMonitor: 监控器不断给出“现在在文件系统 cephfs 中作为 rank 活跃”的集群日志信息 (issue#21959, pr#19055, Patrick Donnelly)
cephfs: 在 libcephfs 中存在竞争的 is_mounted() 检查 (issue#21025, pr#17875, Jeff Layton)
cephfs: src/mds/MDCache.cc: 7421: FAILED assert(CInode::count() == inode_map.size() + snap_inode_map.size()) (issue#21928, pr#18912, “Yan, Zheng”)
cephfs: vstart_runner: 修复最近的 cephfs 变更 (issue#22526, pr#19829, Patrick Donnelly)
ceph-volume: 为 ceph-volume lvm zap 添加了 --destroy 标志 (issue#22653, pr#20240, Andrew Schoen)
ceph-volume: 为 lvm prepare/activate/create 添加了成功消息 (issue#22307, pr#20238, Andrew Schoen)
ceph-volume: lvm 的 dmcrypt 支持 (issue#22619, pr#20241, Alfredo Deza)
ceph-volume dmcrypt 支持简单的 (issue#22620, pr#20350, Andrew Schoen, Alfredo Deza)
ceph-volume: 在 mkfs 期间不使用 --key (issue#22283, pr#20244, Kefu Chai, Sage Weil)
ceph-volume: 修复 --osd-id 标志的使用 (issue#22642, issue#22836, pr#20323, Andrew Schoen)
ceph-volume 正确格式化,当 vg/lv 无法使用时 (issue#22299, pr#19527, Alfredo Deza)
ceph-volume 处理 ceph.conf 文件中的内联注释 (issue#22297, pr#19532, Alfredo Deza)
ceph-volume: 处理 ceph.conf 中的前导空格/制表符 (issue#22280, pr#19526, Alfredo Deza)
ceph-volume: lvm zap 将卸载由被 zap 的设备使用的 osd 路径 (issue#22876, pr#20438, Andrew Schoen)
ceph-volume: 移除了显式的 sudo 使用 (issue#22282, pr#19525, Andrew Schoen)
ceph-volume 在失败的 OSD 准备/创建期间回滚 (issue#22281, pr#20237, Alfredo Deza)
ceph-volume 应该能够处理多个 LVM (VG/LV) 标签 (issue#22305, pr#19528, Alfredo Deza)
ceph-volume 在检查挂载时使用 realpath (issue#22988, pr#20429, Alfredo Deza)
ceph-volume: 在缺少 ceph.conf 文件时发出警告 (issue#22326, pr#19530, Alfredo Deza)
common: 使用 contents.size() 而不是 lru 计算 SimpleLRU 的大小 (issue#22613, pr#19977, Xuehan Xu)
config: 降低一次恢复的默认 omap 条目数 (issue#21897, pr#19928, Josh Durgin)
core: backoff 导致操作顺序错乱 (issue#21407, pr#18747, Sage Weil)
core: common/throttle: 开始使用 64 位值 (issue#22539, pr#19995, Igor Fedotov)
core: 修复 broken streamstream::rdbuf() 使用 (issue#22715, pr#20042, Sage Weil)
core: 在各种维护操作中可能存在死锁 (issue#22120, pr#19123, Jason Dillaman)
core: _read_bdev_label 无法在偏移处解码标签 (issue#22285, pr#20326, Sage Weil)
core: rocksdb:修复早期元数据溢出到慢速设备 (issue#22264, pr#19257, Igor Fedotov)
core: mons 存在各种奇怪的 clog 消息 (issue#22082, pr#19031, John Spray)
crush:平衡器 crush-compat 发送“foo”命令 (issue#22361, pr#19555, John Spray)
doc:crush_ruleset 是在 luminous 中无效的命令 (issue#20559, pr#19446, Nathan Cutler)
doc:doc/rbd:对 LIO iSCSI 网关进行微调 (issue#21763, pr#20213, Ashish Singh, Mike Christie, Jason Dillaman)
doc:mount.fuse.ceph 的 man 页 (issue#21539, issue#22595, pr#19449, Jos Collin)
doc:CephFS 最佳实践的一些杂项修复 (issue#22630, pr#19858, Jos Collin)
doc:从“安装 Ceph 对象网关”中删除区域 (issue#21610, pr#18865, Orit Wasserman)
doc:更新黑名单和 OSD 环境屏障 (issue#22542, pr#19741, Jos Collin)
librbd: 如果我们有超过 64 个键值对,则无法克隆所有 image-metas (issue#21814, pr#19503, PCzhangPC)
librbd: 如果我们有超过 64 个键值对,则无法复制所有 image-metas (issue#21815, pr#19504, PCzhangPC)
librbd: 与克隆进行比较和写入可能导致失败 (issue#20789, pr#20211, Mykola Golub, Jason Dillaman)
librbd: 任何超过 64K 的 IO 操作默认使用稀疏读取 (issue#21849, pr#20208, Jason Dillaman)
librbd: 快照创建/rm 可能需要很长时间 (issue#22716, pr#20153, Song Shun)
librbd: 强制删除快照无法忽略依赖的子快照 (issue#22791, pr#20135, Jason Dillaman)
librbd: Image-meta 应该动态刷新 (issue#21529, pr#19447, Dongsheng Yang, Jason Dillaman)
librbd: 日志应该忽略来自比较和写入的 -EILSEQ 错误 (issue#21628, pr#20206, Jason Dillaman)
librbd: 应用新/删除旧元数据后刷新图像 (issue#21711, pr#19485, Jason Dillaman)
librbd: 将已删除父指针设置为 null (issue#22158, pr#20210, Jason Dillaman)
luminous: ceph-fuse: ::rmdir() 使用 dentry 的已删除内存结构导致 ... (issue#22536, pr#19968, YunfeiGuan)
mds: 检查 CEPH_OSDMAP_FULL 现在是错误的;集群完整标志已过时 (issue#22483, pr#19830, Patrick Donnelly)
mds: 在 auth caps 中未指定时不要检查 gid (issue#22009, pr#18835, Douglas Fuller)
mds: 不要延迟处理重放队列中完成的请求 (issue#22163, pr#19157, “Yan, Zheng”)
mds: 不要在 damageabletable 中报告修复的回溯,修复后写回,清理 scrub 日志 (issue#18743, issue#22058, pr#20341, “Yan, Zheng”, John Spray)
mds: 修复 CDir::log_mark_dirty() (issue#21584, pr#18008, “Yan, Zheng”)
mds: 修复 dump last_sent (issue#22562, pr#19959, dongdong tao)
mds: 修复 MDS_FEATURE_INCOMPAT_FILE_LAYOUT_V2 定义 (issue#21985, pr#18782, “Yan, Zheng”)
mds: 修复 MDCache::dump_cache 的返回值 (issue#22798, pr#20121, “Yan, Zheng”)
mds: 修复 scrub崩溃 (issue#22730, pr#20249, dongdong tao)
mds: 修复 StrayManager::truncate() (issue#21091, pr#18019, “Yan, Zheng”)
mds: 处理客户端重新连接收集竞争 (issue#22263, pr#19326, “Yan, Zheng”)
mds: 处理 mds 停止时的客户端会话消息 (issue#22460, pr#19585, “Yan, Zheng”)
mds: 处理“inode 多次排队进行恢复” (issue#22647, pr#19982, “Yan, Zheng”)
mds: 忽略未链接目录的导出固定 (issue#22219, pr#19360, “Yan, Zheng”)
mds: 限制子树迁移的大小 (issue#21892, pr#20339, “Yan, Zheng”)
mds: 在 find_ino_peers() 中 inode 正在被清除时没有断言 (issue#21722, pr#18869, Zhi Zhang)
mds: 在多 MDS 集群恢复期间保留请求的顺序 (issue#21843, pr#18871, “Yan, Zheng”)
mds: 防止文件锁在 XSYN 状态下卡住 (issue#22008, pr#20340, “Yan, Zheng”)
mds: 在导入 inode 后正确评估锁 (issue#22357, pr#19646, “Yan, Zheng”)
mds: 为平衡器消息减少调试级别 (issue#21853, pr#19827, Patrick Donnelly)
mds: 尊重 mds_client_writeable_range_max_inc_objs 配置 (issue#22492, pr#19776, “Yan, Zheng”)
mds: 为某些性能计数器设置更高的优先级 (issue#22776, pr#20299, Shangzhong Zhu)
mds: 在 num_sessions 计数器上设置 PRIO_USEFUL (issue#21927, pr#18722, John Spray)
mds: 当 MDS 不活跃时,tell session ls 返回 vanila EINVAL (issue#21991, pr#19505, Jos Collin)
mds: 在单独的列表中跟踪脏 dentries (issue#19578, pr#19775, “Yan, Zheng”)
mds: 根据 log 段的数量如何修剪 ‘N’ log 段 (issue#21975, pr#18783, “Yan, Zheng”)
mgr: ceph-mgr 在 map 变化时错误地重新加载 OSD 元数据 (issue#21159, pr#18732, Yanhu Cao)
mgr: 当收到报告时断开未注册的服务守护程序 (issue#22286, pr#20089, Jason Dillaman)
mgr: KeyError: (‘name’,) 在 balancer rm 中 (issue#22470, pr#19624, Dan van der Ster)
mgr: 管理守护程序 x 无响应。没有备用守护程序可用 (issue#21147, pr#19501, Sage Weil)
mgr: mgr/balancer/upmap_max_iterations 必须转换为整数 (issue#22429, pr#19553, Dan van der Ster)
mgr: mgr/dashboard: 添加 iSCSI IOPS/throughput 指标 (issue#21391, pr#20209, Jason Dillaman)
mgr: mgr/dashboard: 修复 PG 状态着色 (issue#22615, pr#19844, Wido den Hollander)
mgr: mgr/prometheus: 在 ceph-mgr pro... 中 PG_STATES 中添加缺失的 ‘deep’ 状态 (issue#22116, pr#19929, Jan Fajerski, Peter Woodman)
mgr: mgr 测试在 serve() 抛出异常时不会指示失败 (issue#21999, pr#18832, John Spray)
mgr: mgr[zabbix] 浮点除以零 (osd[‘kb’] = 0) (issue#21904, pr#19048, Ilja Slepnev)
mgr: prometheus: 添加 osd 提交/应用延迟指标 (#22718) (issue#22718, pr#20084, Konstantin Shalygin)
mgr: pybind/mgr/dashboard: 修复 html href 中的重复斜杠 (issue#22851, pr#20325, Shengjing Zhu)
mgr: pybind/mgr/dashboard: 修复反向代理支持 (issue#22557, pr#20182, Nick Erdmann, Kefu Chai)
mgr: pybind/mgr/prometheus: 修复指标类型 undef -> untyped (issue#22313, pr#19834, Ilya Margolin)
mgr: 重启活跃的 ceph-mgr 导致 bps 和 iops 指标出现故障 (issue#21773, pr#18735, Aleksei Gutikov, Kefu Chai)
mgr: 报告的主机名空白 (issue#20887, issue#21687, pr#17869, liuchang0812, Chang Liu)
mon: 不要使用 per_pool_sum_delta 来显示恢复摘要 (issue#22727, pr#20150, Chang Liu)
mon: 修复 mgr 使用 auth_client_required 策略 (issue#22096, pr#20156, John Spray)
mon: MDSMonitor: 拒绝配置错误的 mds_blacklist_interval (issue#21821, pr#19871, John Spray)
mon/MgrMonitor: 限制 mgrmap 历史 (issue#22257, pr#19187, Sage Weil)
mon: 重新启用定时器以在 paxos 暂时非活动时发送摘要 (issue#22142, pr#19481, Jan Fajerski)
msg: msg/async/AsyncConnection.cc: 1835: FAILED assert(state == STATE_CLOSED) (issue#21883, pr#18746, Haomai Wang)
msg: msg/async: 在竞争发生时未注册连接失败 (issue#22437, pr#19552, Haomai Wang)
osdc: 在 powercycle-wip-yuri-master-1.19.18-distro-basic-smithi 中“FAILED assert(bh->last_write_tid > tid)” (issue#22741, pr#20256, “Yan, Zheng”)
osdc/Journaler: 在各种完成回调中添加 ‘stopping’ 检查 (issue#22360, pr#19610, “Yan, Zheng”)
osdc/Objecter: objecter op_send_bytes 性能计数器始终为 0 (issue#21982, pr#19046, Jianpeng Ma)
osd: 在启动时不要检查过时的 osdmap 以 DESTROYED 标志 (issue#22673, pr#20068, Sage Weil)
osd,mgr: 向 mgr 报告正在创建的 pgs (issue#22440, pr#20204, Kefu Chai)
osd: 误计算降级对象和卡在 recovery_unfound 中的 PG (issue#22145, pr#20055, Sage Weil, David Zafman)
osd: Objecter::C_ObjectOperation_sparse_read 在 -ENOENT 上抛出/捕获异常 (issue#21844, pr#18744, Jason Dillaman)
osd: Objecter::_send_op 不必要地构建了昂贵的 hobject_t (issue#21845, pr#18745, Jason Dillaman)
osd: 在 pg 修复期间,主要不是像预期的那样优先考虑 (issue#21907, pr#19083, David Zafman)
osd: 升级 12.2.1 -> 12.2.2 后,OSD 在第一次启动期间因 FAILED assert(used_blocks.size() > count) 而崩溃 (issue#22535, pr#19888, Igor Fedotov)
osd: OSDMap 缓存断言在关闭时 (issue#21737, pr#18749, Greg Farnum)
osd: OSDService::recovery_need_sleep 读取+更新而无需锁定 (issue#21566, pr#18753, Neha Ojha)
osd: “osd 状态”命令在 OSD 不在 pgmap 统计中时异常 (issue#21707, pr#19084, Yanhu Cao)
osd, pg, mgr: 使快照修剪队列问题可见 (issue#22448, pr#20098, Piotr Dałek)
osd: 池压缩类型选项不适用于新的 OSDs (issue#22419, pr#20106, Kefu Chai)
osd: 复制读取可以触发缓存提升 (issue#20919, pr#19499, Sage Weil)
osd/ReplicatedPG.cc: recover_replicas:对象添加到缺失的集合中进行回填,但不在恢复中,错误! (issue#21382, issue#14513, issue#18162, pr#20081, David Zafman)
osd: 如果有任何待处理的 pgs,则订阅 osdmaps (issue#22113, pr#19059, Kefu Chai)
osd: “sudo cp /var/lib/ceph/osd/ceph-0/fsid ...” 失败 (issue#20736, pr#19631, Patrick Donnelly)
os:修复 0 长度的零语义,测试 (issue#21712, pr#20049, Sage Weil)
qa/tests: 将 PR 20053 应用于压力测试 (issue#22665, pr#20451, Yuri Weinstein)
rbd: 在容器中运行时列出映射的 nbd 设备时中止 (issue#22012, issue#22011, pr#19051, Li Wang)
rbd: [api] 比较和写入方法没有正确宣传 (issue#22036, pr#18834, Jason Dillaman)
rbd: 类 rbd.Image 放弃----OSError: [errno 2147483648] 错误丢弃区域 (issue#21966, pr#19058, Jason Dillaman)
rbd: 集群资源代理 ocf:ceph:rbd - 错误权限 (issue#22362, pr#19554, Nathan Cutler)
rbd: 空池上的磁盘使用不再返回错误消息 (issue#22200, pr#19107, Jason Dillaman)
rbd: 在映射期间修复崩溃 (issue#21808, pr#18698, Peter Keresztes Schmidt)
rbd: [journal] 如果没有其他客户端注册,则标签不会被过期 (issue#21960, pr#18840, Jason Dillaman)
rbd: librbd: 过滤掉与图像重命名潜在的竞争 (issue#18435, pr#19853, Jason Dillaman)
rbd-mirror: 允许在次要集群上使用不同的数据池 (issue#21088, pr#19305, Adam Wolfe Gordon)
rbd-mirror: 主要图像应在远程非主要图像的日志中注册 (issue#21961, issue#21561, pr#20207, Jason Dillaman)
rbd-mirror: 在传输远程图像时同步图像元数据 (issue#21535, pr#19484, Jason Dillaman)
rbd: Python RBD 元数据_get 无法工作 (issue#22306, pr#19479, Mykola Golub)
rbd: rbd ls -l 导致 SIGABRT 崩溃 (issue#21558, pr#19800, Jason Dillaman)
rbd: [rbd-mirror] 新池可能无法检测到 (issue#22461, pr#19625, Jason Dillaman)
rbd: [rbd-nbd] Fedora 不注册调整事件 (issue#22131, pr#19066, Jason Dillaman)
rbd: [test] 更新 Features RPC 消息应包含在 test_notify.py 中 (issue#21936, pr#18838, Jason Dillaman)
撤销“ luminous: msg/async: 在竞争发生时未注册连接失败” (issue#22231, pr#20247, Sage Weil)
rgw: 使用 V4 签名和块编码的初始化 multipart 时返回 501 (issue#22129, pr#19506, Jeegn Chen)
rgw: 在 cors 选项请求中添加 cors 头规则检查 (issue#22002, pr#19053, yuliyang)
rgw: 回滚 beast 前端和 boost 1.66 更新 (issue#22101, issue#20935, issue#21831, issue#20048, issue#22600, issue#20971, pr#19848, Casey Bodley, Jiaying Ren)
rgw: 删除 radosgw-admin bucket rm --purge-objects --bypass-gc 后,桶索引对象未删除 (issue#22122, issue#19959, pr#19085, Aleksei Gutikov)
rgw: 桶策略评估逻辑错误 (issue#21901, issue#21896, pr#19810, Adam C. Emerson)
rgw: 桶重分片不应更新桶 ACL 或用户统计 (issue#22742, issue#22124, pr#20327, Orit Wasserman)
rgw: 检查生命周期处理期间 going_down() (issue#22099, pr#19088, Yao Zongyou)
rgw: 动态桶索引重分片、重分片和租户似乎已损坏 (issue#22046, pr#19050, Orit Wasserman)
rgw: lru 弹出时出现文件死锁 (issue#22736, pr#20075, Matt Benjamin)
rgw: 修复链接缓存失效以防止缓存大小增长 (issue#22410, pr#19785, Mark Kogan)
rgw: 修复 beast 前端中空查询字符串的错误代码 (issue#22797, pr#20338, Casey Bodley)
rgw: 修复 GET 网站响应错误代码 (issue#22272, pr#19489, Dmitry Plyakin)
rgw: 修复重写版本对象创建新对象时出现错误 (issue#21984, issue#22529, pr#19787, Enming Zhang, Matt Benjamin)
rgw: 修复 swift 对象过期未删除对象 (issue#22084, pr#18972, Pavan Rallabhandi)
rgw: 修复 swift 对象过期未删除对象 (issue#22084, pr#19090, Pavan Rallabhandi)
rgw: librgw: 修复关闭时资源未清理的错误 (issue#22296, pr#20073, Tao Chen)
rgw: 在更高级别记录 keystone 错误 (issue#22151, pr#19077, Abhishek Lekshmanan)
rgw: 使 HTTP dechunking 与 Amazon S3 兼容 (issue#21015, pr#19500, Radoslaw Zarzynski)
rgw: 修改 s3 类型子用户访问权限失败 (issue#21983, pr#18766, yuliyang)
rgw: 多站点:目标区域不会压缩同步的对象 (issue#21895, pr#18867, Casey Bodley)
rgw: 多站点:‘radosgw-admin sync error list’ 包含临时的 EBUSY 错误 (issue#22473, pr#19799, Casey Bodley)
rgw: 启用版本化时 mtime 不正确 (issue#21743, pr#18870, Shasha Lu)
rgw: 策略解析器有时会或不会解除引用未初始化的 boost::optional 有时 (issue#21962, pr#18868, Adam C. Emerson)
rgw: 在“list_children”需要刷新时可能出现死锁 (issue#21670, pr#18564, Jason Dillaman)
rgw: 桶策略导致 RGW 进程崩溃 (issue#22541, pr#19847, Bingyin Zhang)
rgw: radosgw-admin reshard 命令参数错误 (issue#21723, pr#19502, Yao Zongyou)
rgw: radosgw-admin zonegroup get 和 zone get 应在存在 realm 时返回默认值 (issue#21615, pr#19086, lvshanchun)
rgw: 在 Swift PutObject 中随机出现 500 错误(需要缓存修复) (issue#22517, issue#21560, pr#19788, Adam C. Emerson)
rgw: 拒绝在 POST 策略中缺少 Content-Type 时上传 (issue#20201, pr#19867, Matt Benjamin)
rgw: 撤销 PR #8765 (issue#22364, pr#19434, fang.yuxiang)
rgw: RGWCrashError: 如果在放置 lc 配置请求时请求 xml 中不包含 ID 标签,RGW 将崩溃 (issue#21980, issue#22006, pr#18765, Enming Zhang)
rgw: rgw multisite:对桶索引日志进行自动修剪 (issue#18229, pr#20062, Casey Bodley)
rgw: RGW: S3 POST 策略不应要求 Content-Type (issue#20201, pr#19784, Matt Benjamin)
rgw: rgw 在运行 radosgw-admin data sync init 后崩溃 (issue#22083, pr#19071, Casey Bodley, Abhishek Lekshmanan)
rgw: rgw 使用修剪仅修剪少量条目 (issue#22234, pr#19636, Abhishek Lekshmanan)
rgw: S3 API 策略条件 IpAddress 和 NotIpAddress 不起作用 (issue#20931, issue#20991, pr#19819, John Gibson, yuliyang, Casey Bodley, Abhishek Lekshmanan, Jiaying Ren)
rgw: 在 revert .rgw.root 后启动 radosgw 出现段错误 (issue#21996, pr#18764, Orit Wasserman, Casey Bodley)
rgw: 当没有值时,设置 sync_from_all 为 true (issue#22062, pr#19038, Abhishek Lekshmanan)
rgw: 从桶的所有者处删除已删除的桶 (issue#22248, pr#20357, Casey Bodley)
rgw: 桶重分片后用户统计增加 (issue#22124, pr#19538, Orit Wasserman)
rgw: 系统对象独占创建时,不要分发 (issue#22792, pr#20107, J. Eric Ivancich, Robin H. Johnson)
测试:与 cls_cxx_subop_version() 相关的 ceph_test_cls_log 失败 (issue#21964, pr#18715, Casey Bodley)
测试:ceph_test_objectstore 失败 ObjectStore/StoreTest.Synthetic/1 (filestore) 缓冲区内容不匹配 (issue#21712, issue#21818, pr#18742, Sage Weil)
测试:在自检之前正确配置 zabbix (issue#22514, pr#19831, John Spray)
测试:不要将 ec 数据池配置为 memstore (issue#22436, pr#19628, Patrick Donnelly)
测试:强制回填测试可能与池删除冲突 (issue#22614, pr#19966, Sage Weil)
测试:为任务.cephfs.test_full 的 osdmap 设置全标志 (issue#22475, pr#19962, Patrick Donnelly)
测试:为 ec 测试增加 osd 计数 (issue#22646, pr#19976, Patrick Donnelly)
测试 - 初始提交 luminous 指点对点升级 (issue#22048, pr#18771, Yuri Weinstein)
测试:简化 rbd: split-brain 测试以避免潜在的竞争 (issue#22485, pr#20205, Jason Dillaman)
tests: qa/workunits/rbd: switch devstack to pike release (issue#22786, pr#20136, Jason Dillaman)
测试:rbd_mirror_helpers.sh request_resync_image 函数将图像 id 保存到错误的变量 (issue#21663, pr#19802, Jason Dillaman)
工具/ceph_monstore_tool: 在初始 paxos 纪元中包含 mgrmap (issue#22266, pr#20116, Kefu Chai)
工具: ceph-monstore-tool --readable 模式不理解 FSMap, MgrMap (issue#21577, pr#18754, John Spray)
工具: ceph-objectstore-tool: 添加选项 dump-import 来检查导出 (issue#22086, pr#19487, David Zafman)
工具: ceph_objectstore_tool: 在 collection_empty() 调用之前没有刷新;ObjectStore/StoreTest.SimpleAttrTest/2 失败 (issue#22409, pr#19967, Igor Fedotov)
工具: ceph-objectstore-tool set-size 应该清除数据摘要 (issue#22112, pr#20069, David Zafman)
工具/crushtool: 如果没有名称存在,则跳过设备 id (issue#22117, pr#19039, Jan Fajerski)
v12.2.2 Luminous
这是 Luminous v12.2.x 长期稳定发布系列的第二个错误修复发布。它包含了一系列错误修复和一些跨 Bluestore、CephFS、RBD & RGW 的功能。我们建议所有 12.2.x 系列用户更新。
更多详细信息,请参阅the complete changelog
.
值得注意的变化
现在备用 ceph-mgr 守护程序会将请求重定向到活跃的消息传递者,从而简化了工具和访问 Web 仪表板、restful API 或其他 ceph-mgr 模块服务的配置。
prometheus 模块有几个重要的更新和改进。
新的平衡器模块启用了自动优化 CRUSH 权重以在集群中平衡数据。
ceph-volume 工具已更新以包含对 BlueStore 和 FileStore 的支持。ceph-volume 的唯一主要缺失功能是 dm-crypt 支持。
在多站点环境中,RGW 的动态桶索引重分片被禁用,因为它可能导致远程站点之间桶索引的复制不一致。
其他值得注意的更改
build/ops: 将 sphinx 提升到 1.6 (issue#21717, pr#18167, Kefu Chai, Alfredo Deza)
build/ops: spec 文件注释中的宏展开 (issue#22250, pr#19173, Ken Dreyer)
build/ops: python-numpy-devel 构建依赖项为 SUSE (issue#21176, pr#17692, Nathan Cutler)
build/ops: selinux: 允许在 lnk sysfs 文件上进行 getattr (issue#21492, pr#18650, Boris Ranto)
build/ops: Ubuntu amd64 客户端无法发现 ubuntu arm64 ceph 集群 (issue#19705, pr#18293, Kefu Chai)
core: buffer: 通过移除 list _mempool 成员修复 ABI 断裂 (issue#21573, pr#18491, Sage Weil)
core: 守护程序(OSD, Mon…) 在 injectargs 命令中异常退出 (issue#21365, pr#17864, Yan Jun)
core: 对于客户端,除非覆盖,否则禁用信使日志记录 (debug ms = 0/0) (issue#21860, pr#18529, Jason Dillaman)
core: 通过仅扫描一次 omap 损坏来提高 OSD 启动时间 (issue#21328, pr#17889, Luo Kexue, David Zafman)
core: upmap 不尊重 osd 重新权重 (issue#21538, pr#18699, Theofilos Mouratidis)
dashboard: barfs 在预期为数字的地方出现空值 (issue#21570, pr#18728, John Spray)
dashboard: OSD 列表具有服务器和 osds 在任意顺序中 (issue#21572, pr#18736, John Spray)
dashboard: 仪表板使用绝对链接来引用文件系统和客户端 (issue#20568, pr#18737, Nick Erdmann)
filestore: 为 rocksdb 设置默认的预读和压缩线程 (issue#21505, pr#18234, Josh Durgin, Mark Nelson)
librbd: 对象映射批量更新可能导致 OSD 自杀超时 (issue#21797, pr#18416, Jason Dillaman)
librbd: 快照应针对数据池创建/删除 (issue#21567, pr#18336, Jason Dillaman)
mds: 确保快照 inode 的最后与其父 dentry 的最后匹配 (issue#21337, pr#17994, “Yan, Zheng”)
mds: 清理已删除池的 mdsmap (issue#21945, issue#21568, pr#18628, Patrick Donnelly)
mgr: 批量回滚 ceph-mgr 改进 (issue#21594, issue#17460, issue#21197, issue#21158, issue#21593, pr#18675, Benjeman Meekhof, Sage Weil, Jan Fajerski, John Spray, Kefu Chai, My Do, Spandan Kumar Sahu)
mgr: ceph-mgr 在 respawn 后获取名为“exe”的进程 (issue#21404, pr#18738, John Spray)
mgr: 修复可崩溃的 DaemonStateIndex::get 调用 (issue#17737, pr#18412, John Spray)
mgr: 升级从 jewel 到 luminous(dev) 时 mgr 的键不匹配 (issue#20950, pr#18727, John Spray)
mgr: mgr 状态模块使用十进制单位 (issue#21189, issue#21752, pr#18257, John Spray, Yanhu Cao)
mgr: mgr[zabbix] 浮点除以零 (issue#21518, pr#18734, John Spray)
mgr: Prometheus 更新时崩溃 (issue#21253, pr#17867, John Spray)
mgr: prometheus 模块在计数器名称包含非字母数字字符时生成无效输出 (issue#20899, pr#17868, John Spray, Jeremy H Austin)
mgr: 在启动时抑制 restful 模块中令人恐惧的 RuntimeError (issue#21292, pr#17866, John Spray)
mgr: 在 mon 选举期间出现虚假的 ceph-mgr 故障切换 (issue#20629, pr#18726, John Spray)
mon: 客户端 client.admin 标记 osd.2 在它停止了 1504627577 秒后 (issue#21249, pr#17862, John Spray)
mon: DNS SRV 默认服务名称不再使用 (issue#21204, pr#17863, Kefu Chai)
mon/MgrMonitor: 处理磁盘空间不足时从磁盘发送的 cmd descs 到/from disk (issue#21300, pr#18038, Joao Eduardo Luis)
mon/mgr: 同步 “mgr_command_descs”、“osd_metadata” 和 “mgr_metadata” 前缀到新的 mons (issue#21527, pr#18620, huanwen ren)
mon: osd 特性检查与 0 up osds (issue#21471, issue#20751, pr#18364, Brad Hubbard, Sage Weil)
mon,osd: 修复“pg ls {forced_backfill, backfilling}” (issue#21609, pr#18236, Kefu Chai)
mon/OSDMonitor: 添加选项将规则集-* 修复为 crush-* 以适应 ec 配置文件 (issue#22128, pr#18945, Sage Weil)
mon, osd: 每个池空间满标志支持 (issue#21409, pr#17730, xie xingguo)
mon/PGMap: 修复 %USED 计算 (issue#22247, pr#19230, Xiaoxi Chen)
mon: 更新 get_store_prefixes 实现 (issue#21534, pr#18621, John Spray, huanwen ren)
msgr: messages/MOSDMap: 也对 crush 映射进行兼容重编码 (issue#21882, pr#18456, Sage Weil)
msgr: src/messages/MOSDMap: 为旧客户端重新编码 OSDMap (issue#21660, pr#18140, Sage Weil)
os/bluestore/BlueFS: 在异步日志压缩期间与日志刷新发生竞争时修复 (issue#21878, pr#18503, Sage Weil)
os/bluestore: 修复 SharedBlob 未注销 (issue#21470, pr#18127, Sage Weil)
os/bluestore: fix SharedBlob unregistration (issue#22039, pr#18983, Sage Weil)
os/bluestore: 处理压缩扩展检查 (issue#21766, pr#18501, Sage Weil)
os/bluestore: 用在线的“mkfs_done”替换 21089 修复 (issue#21089, pr#17734, Sage Weil)
os/bluestore: set bitmap freelist resolution to min_alloc_size (issue#21408, pr#18050, Sage Weil)
os/blueStore::umount will crash when the BlueStore is opened by start_kv_only() (issue#21624, pr#18750, Chang Liu)
osd: additional protection for out-of-bounds EC reads (issue#21629, pr#18413, Jason Dillaman)
osd: allow recovery preemption (issue#21613, pr#18025, Sage Weil)
osd: build_past_intervals_parallel: Ignore new partially created PGs (issue#21833, pr#18673, David Zafman)
osd: dump bluestore debug on shutdown if debug option is set (issue#21259, pr#18103, Sage Weil)
osd: make stat_bytes and stat_bytes_used counters PRIO_USEFUL (issue#21981, pr#18723, Yao Zongyou)
osd: make the PG’s SORTBITWISE assert a more generous shutdown (issue#20416, pr#18132, Greg Farnum)
osd: OSD metadata ‘backend_filestore_dev_node’ is unknown even for simple deployment (issue#20944, pr#17865, Sage Weil)
rbd: [cli] mirror getter commands will fail if mirroring has never been enabled (issue#21319, pr#17861, Jason Dillaman)
rbd: cls/journal: fixed possible infinite loop in expire_tags (issue#21956, pr#18626, Jason Dillaman)
rbd: cls/journal: possible infinite loop within tag_list class method (issue#21771, pr#18417, Jason Dillaman)
rbd: [rbd-mirror] asok hook names not updated when image is renamed (issue#20860, pr#17860, Mykola Golub)
rbd: [rbd-mirror] forced promotion can result in incorrect status (issue#21559, pr#18337, Jason Dillaman)
rbd: [rbd-mirror] peer cluster connections should filter out command line optionals (issue#21894, pr#18566, Jason Dillaman)
rgw: add support for Swift’s per storage policy statistics (issue#17932, issue#21506, pr#17835, Radoslaw Zarzynski, Casey Bodley)
rgw: add support for Swift’s reversed account listings (issue#21148, pr#17834, Radoslaw Zarzynski)
rgw: avoid logging keystone revocation failures when no keystone is configured (issue#21400, pr#18441, Abhishek Lekshmanan)
rgw: disable dynamic resharding in multisite enviorment (issue#21725, pr#18432, Orit Wasserman)
rgw: encryption: PutObj response does not include sse-kms headers (issue#21576, pr#18442, Casey Bodley)
rgw: encryption: reject requests that don’t provide all expected headers (issue#21581, pr#18429, Enming Zhang)
rgw: expose --sync-stats via admin api (issue#21301, pr#18439, Nathan Johnson)
rgw: failed CompleteMultipartUpload request does not release lock (issue#21596, pr#18430, Matt Benjamin)
rgw_file: set s->obj_size from bytes_written (issue#21940, pr#18599, Matt Benjamin)
rgw: fix a bug about inconsistent unit of comparison (issue#21590, pr#18438, gaosibei)
rgw: fix bilog entries on multipart complete (issue#21772, pr#18334, Casey Bodley)
rgw: fix error handling in ListBucketIndexesCR (issue#21735, pr#18591, Casey Bodley)
rgw: fix refcnt issues (issue#21819, pr#18539, baixueyu)
rgw: lc process only schdule the first item of lc objects (issue#21022, pr#17859, Shasha Lu)
rgw: list bucket which enable versioning get wrong result when user marker (issue#21500, pr#18569, yuliyang)
rgw: list_objects() honors end_marker regardless of namespace (issue#18977, pr#17832, Radoslaw Zarzynski)
rgw: Multipart upload may double the quota (issue#21586, pr#18435, Sibei Gao)
rgw: multisite: Get bucket location which is located in another zonegroup, will return 301 Moved Permanently (issue#21125, pr#17857, Shasha Lu)
rgw: multisite: race between sync of bucket and bucket instance metadata (issue#21990, pr#18767, Casey Bodley)
rgw: policy checks missing from Get/SetRequestPayment operations (issue#21389, pr#18440, Adam C. Emerson)
rgw: radosgw-admin usage show loops indefinitly (issue#21196, pr#18437, Mark Kogan)
rgw: rgw_file: explicit NFSv3 open() emulation (issue#21854, pr#18446, Matt Benjamin)
rgw: rgw_file: fix write error when the write offset overlaps (issue#21455, pr#18004, Yao Zongyou)
rgw: rgw file write error (issue#21455, pr#18433, Yao Zongyou)
rgw: s3:GetBucketCORS/s3:PutBucketCORS policy fails with 403 (issue#21578, pr#18444, Adam C. Emerson)
rgw: s3:GetBucketLocation bucket policy fails with 403 (issue#21582, pr#18443, Adam C. Emerson)
rgw: s3:GetBucketWebsite/PutBucketWebsite fails with 403 (issue#21597, pr#18445, Adam C. Emerson)
rgw: setxattrs call leads to different mtimes for bucket index and object (issue#21200, pr#17856, Abhishek Lekshmanan)
rgw: stop/join TokenCache revoke thread only if started (issue#21666, pr#18138, Karol Mroz)
rgw: string_view instance points to expired memory in PrefixableSignatureHelper (issue#21085, pr#17858, Radoslaw Zarzynski)
rgw: user creation can overwrite existing user even if different uid is given (issue#21685, pr#18436, Casey Bodley)
rgw: We cant’t get torrents if objects are encrypted using SSE-C (issue#21720, pr#18431, Zhang Shaowen)
rgw: wrong error message is returned when putting container with a name that is too long (issue#17938, issue#21169, issue#17935, issue#17934, issue#17936, pr#17811, Radoslaw Zarzynski)
rgw: zone compression type is not validated (issue#21775, pr#18434, Casey Bodley)
tools: ceph-disk create deprecation warnings (issue#22154, pr#18989, Alfredo Deza)
tools: ceph-disk: fix ‘--runtime’ omission for ceph-osd service (issue#21498, pr#17914, Carl Xiong)
tools: ceph-disk flake8 test fails on very old, and very new, versions of flake8 (issue#22207, pr#19152, Nathan Cutler)
tools: ceph-disk: retry on OSError (issue#21728, pr#18189, Kefu Chai)
tools: ceph-disk: unlocks dmcrypted partitions when activating them (issue#20488, pr#18625, Kefu Chai, Felix Winterhalter)
tools: ceph-kvstore-tool does not call bluestore’s umount when exit (issue#21625, pr#18751, Chang Liu)
tools: ceph_monstore_tool: rebuild initial mgrmap also (issue#22266, pr#19240, Kefu Chai)
tools: ceph-objectstore-tool and ceph-bluestore-tool: backports from master (issue#21272, pr#17896, Sage Weil, David Zafman)
tools: ceph_volume_client: add get, put, and delete object interfaces (issue#21601, pr#18037, Ramana Raja)
tools: cli/crushtools/build.t sometimes fails in jenkins’ make check run (issue#21758, pr#18398, Kefu Chai, Sage Weil)
v12.2.1 Luminous
This is the first bugfix release of Luminous v12.2.x long term stable release series. It contains a range of bug fixes and a few features across CephFS, RBD & RGW. We recommend all the users of 12.2.x series update.
更多详细信息,请参阅the complete changelog
.
值得注意的变化
Dynamic resharding is now enabled by default for RGW, RGW will now automatically reshard there bucket index once the index grows beyond rgw_max_objs_per_shard
Limiting MDS cache via a memory limit is now supported using the new mds_cache_memory_limit config option (1GB by default). A cache reservation can also be specified using mds_cache_reservation as a percentage of the limit (5% by default). Limits by inode count are still supported using mds_cache_size. Setting mds_cache_size to 0 (the default) disables the inode limit.
The maximum number of PGs per OSD before the monitor issues a warning has been reduced from 300 to 200 PGs. 200 is still twice the generally recommended target of 100 PGs per OSD. This limit can be adjusted via the
mon_max_pg_per_osd
option on the monitors. The oldermon_pg_warn_max_per_osd
option has been removed.Creating pools or adjusting pg_num will now fail if the change would make the number of PGs per OSD exceed the configured
mon_max_pg_per_osd
limit. The option can be adjusted if it is really necessary to create a pool with more PGs.There was a bug in the PG mapping behavior of the new upmap feature. If you made use of this feature (e.g., via the ceph osd pg-upmap-items command), we recommend that all mappings be removed (via the ceph osd rm-pg-upmap-items command) before upgrading to this point release.
A stall in BlueStore IO submission that was affecting many users has been resolved.
其他值得注意的更改
bluestore: asyn cdeferred_try_submit deadlock (issue#21207, pr#17494, Sage Weil)
bluestore: fix deferred write deadlock, aio short return handling (issue#21171, pr#17601, Sage Weil)
bluestore: osd crash when change option bluestore_csum_type from none to CRC32 (issue#21175, pr#17497, xie xingguo)
bluestore: os/bluestore/BlueFS.cc: 1255: FAILED assert(!log_file->fnode.extents.empty()) (issue#21250, pr#17562, Sage Weil)
build/ops: ceph-fuse RPM should require fusermount (issue#21057, pr#17470, Ken Dreyer)
build/ops: RHEL 7.3 Selinux denials at OSD start (issue#19200, pr#17468, Boris Ranto)
build/ops: rocksdb,cmake: build portable binaries (issue#20529, pr#17745, Kefu Chai)
cephfs: client/mds has wrong check to clear S_ISGID on chown (issue#21004, pr#17471, Patrick Donnelly)
cephfs: get_quota_root sends lookupname op for every buffered write (issue#20945, pr#17473, Dan van der Ster)
cephfs: MDCache::try_subtree_merge() may print N^2 lines of debug message (issue#21221, pr#17712, Patrick Donnelly)
cephfs: MDS rank add/remove log messages say wrong number of ranks (issue#21421, pr#17887, John Spray)
cephfs: MDS: standby-replay mds should avoid initiating subtree export (issue#21378, issue#21222, pr#17714, “Yan, Zheng”, Jianyu Li)
cephfs: the standbys are not updated via ceph tell mds.* command (issue#21230, pr#17565, Kefu Chai)
common: adding line break at end of some cli results (issue#21019, pr#17467, songweibin)
core: [cls] metadata_list API function does not honor max_return parameter (issue#21247, pr#17558, Jason Dillaman)
core: incorrect erasure-code space in command ceph df (issue#21243, pr#17724, liuchang0812)
core: interval_set: optimize intersect_of insert operations (issue#21229, pr#17487, Zac Medico)
core: osd crush rule rename not idempotent (issue#21162, pr#17481, xie xingguo)
core: osd/PGLog: write only changed dup entries (issue#21026, pr#17378, Josh Durgin)
doc: doc/rbd: iSCSI Gateway Documentation (issue#20437, pr#17381, Aron Gunn, Jason Dillaman)
mds: fix ‘dirfrag end’ check in Server::handle_client_readdir (issue#21070, pr#17686, “Yan, Zheng”)
mds: support limiting cache by memory (issue#20594, pr#17711, “Yan, Zheng”, Patrick Donnelly)
mgr: 500 error when attempting to view filesystem data (issue#20692, pr#17477, John Spray)
mgr: ceph mgr versions shows active mgr as Unknown (issue#21260, pr#17635, John Spray)
mgr: Crash in MonCommandCompletion (issue#21157, pr#17483, John Spray)
mon: mon/OSDMonitor: deleting pool while pgs are being created leads to assert(p != pools.end) in update_creating_pgs() (issue#21309, pr#17634, Joao Eduardo Luis)
mon: OSDMonitor: osd pool application get support (issue#20976, pr#17472, xie xingguo)
mon: rate limit on health check update logging (issue#20888, pr#17500, John Spray)
osd: build_initial_pg_history doesn’t update up/acting/etc (issue#21203, pr#17496, w11979, Sage Weil)
osd: osd/PG: discard msgs from down peers (issue#19605, pr#17501, Kefu Chai)
osd/PrimaryLogPG: request osdmap update in the right block (issue#21428, pr#17829, Josh Durgin)
osd: PrimaryLogPG: sparse read won’t trigger repair correctly (issue#21123, pr#17475, xie xingguo)
osd: request new map from PG when needed (issue#21428, pr#17796, Josh Durgin)
osd: Revert “osd/OSDMap: allow bidirectional swap of pg-upmap-items” (issue#21410, pr#17812, Sage Weil)
osd: subscribe to new osdmap while waiting_for_healthy (issue#21121, pr#17498, Sage Weil)
osd: update info only if new_interval (issue#21203, pr#17622, Kefu Chai)
pybind: dashboard usage graph getting bigger and bigger (issue#20746, pr#17486, Yixing Yan)
rbd: image-meta list does not return all entries (issue#21179, pr#17561, Jason Dillaman)
rbd: some generic options can not be passed by rbd-nbd (issue#20426, pr#17557, Pan Liu)
rbd: switch to new config option getter methods (issue#20737, pr#17464, Jason Dillaman)
rbd: TestMirroringWatcher.ModeUpdated: periodic failure due to injected message failures (issue#21029, pr#17465, Jason Dillaman)
rgw: bucket index sporadically reshards to 65521 shards (issue#20934, pr#17476, Aleksei Gutikov)
rgw: bytes_send and bytes_recv in the msg of usage show returning is 0 in master branch (issue#19870, pr#17444, Marcus Watts)
rgw: data encryption sometimes fails to follow AWS settings (issue#21349, pr#17642, hechuang)
rgw: memory leak in MetadataHandlers (issue#21214, pr#17570, Luo Kexue, Jos Collin)
rgw: multisite: objects encrypted with SSE-KMS are stored unencrypted in target zone (issue#20668, issue#20671, pr#17446, Casey Bodley)
rgw: need to stream metadata full sync init (issue#18079, pr#17448, Yehuda Sadeh)
rgw: object copied from remote src acl permission become full-control issue (issue#20658, pr#17478, Enming Zhang)
rgw: put lifecycle configuration fails if Prefix is not set (issue#19587, issue#20872, pr#17479, Shasha Lu, Abhishek Lekshmanan)
rgw: rgw_file: incorrect lane lock behavior in evict_block() (issue#21141, pr#17485, Matt Benjamin)
rgw: send data-log list infinitely (issue#20951, pr#17445, fang.yuxiang)
rgw: shadow objects are sometimes not removed (issue#20234, pr#17555, Yehuda Sadeh)
rgw: usage of --inconsistent-index should require user confirmation and print a warning (issue#20777, pr#17488, Orit Wasserman)
tools: [cli] rename of non-existent image results in seg fault (issue#21248, pr#17556, Jason Dillaman)
v12.2.0 Luminous
This is the first release of Luminous v12.2.x long term stable release series. There have been major changes since Kraken (v11.2.z) and Jewel (v10.2.z), and the upgrade process is non-trivial. Please read these release notes carefully.
Major Changes from Kraken
General:
Ceph now has a simple, built-in web-based dashboard for monitoring cluster status.
RADOS:
BlueStore:
The new BlueStore backend for ceph-osd is now stable and the new default for newly created OSDs. BlueStore manages data stored by each OSD by directly managing the physical HDDs or SSDs without the use of an intervening file system like XFS. This provides greater performance and features. See Storage Devices和BlueStore Configuration Reference.
BlueStore supports full data and metadata checksums of all data stored by Ceph.
BlueStore supports inline compression using zlib, snappy, or LZ4. (Ceph also supports zstd for RGW compression but zstd is not recommended for BlueStore for performance reasons.)
Erasure coded pools now have full support for overwrites, allowing them to be used with RBD and CephFS.
ceph-mgr:
There is a new daemon, ceph-mgr, which is a required part of any Ceph deployment. Although IO can continue when ceph-mgr is down, metrics will not refresh and some metrics-related calls (e.g.,
ceph df
) may block. We recommend deploying several instances of ceph-mgr for reliability. See the notes on 升级 below.The ceph-mgr daemon includes a REST-based management API. The API is still experimental and somewhat limited but will form the basis for API-based management of Ceph going forward.
ceph-mgr also includes a Prometheus exporter plugin, which can provide Ceph perfcounters to Prometheus.
ceph-mgr now has a Zabbix plugin. Using zabbix_sender it sends trapper events to a Zabbix server containing high-level information of the Ceph cluster. This makes it easy to monitor a Ceph cluster’s status and send out notifications in case of a malfunction.
The overall scalability of the cluster has improved. We have successfully tested clusters with up to 10,000 OSDs.
Each OSD can now have a device class associated with it (e.g., hdd或ssd), allowing CRUSH rules to trivially map data to a subset of devices in the system. Manually writing CRUSH rules or manual editing of the CRUSH is normally not required.
There is a new upmap exception mechanism that allows individual PGs to be moved around to achieve a perfect distribution (this requires luminous clients).
Each OSD now adjusts its default configuration based on whether the backing device is an HDD or SSD. Manual tuning generally not required.
The prototype mClock QoS queueing algorithm is now available.
There is now a backoff mechanism that prevents OSDs from being overloaded by requests to objects or PGs that are not currently able to process IO.
There is a simplified OSD replacement process that is more robust.
You can query the supported features and (apparent) releases of all connected daemons and clients with ceph features.
You can configure the oldest Ceph client version you wish to allow to connect to the cluster via
ceph osd set-require-min-compat-client
and Ceph will prevent you from enabling features that will break compatibility with those clients.Several sleep settings, include
osd_recovery_sleep
,osd_snap_trim_sleep
, andosd_scrub_sleep
have been reimplemented to work efficiently. (These are used in some cases to work around issues throttling background work.)Pools are now expected to be associated with the application using them. Upon completing the upgrade to Luminous, the cluster will attempt to associate existing pools to known applications (i.e. CephFS, RBD, and RGW). In-use pools that are not associated to an application will generate a health warning. Any unassociated pools can be manually associated using the new
ceph osd pool application enable
command. For more details see associate pool to application in the documentation.
RGW:
RGWmetadata search backed by ElasticSearch now supports end user requests service via RGW itself, and also supports custom metadata fields. A query language a set of RESTful APIs were created for users to be able to search objects by their metadata. New APIs that allow control of custom metadata fields were also added.
RGW now supports dynamic bucket index sharding. This has to be enabled via the rgw dynamic resharding configurable. As the number of objects in a bucket grows, RGW will automatically reshard the bucket index in response. No user intervention or bucket size capacity planning is required.
RGW introduces server side encryption of uploaded objects with three options for the management of encryption keys: automatic encryption (only recommended for test setups), customer provided keys similar to Amazon SSE-C specification, and through the use of an external key management service (Openstack Barbican) similar to Amazon SSE-KMS specification. Encryption
RGW now has preliminary AWS-like bucket policy API support. For now, policy is a means to express a range of new authorization concepts. In the future it will be the foundation for additional auth capabilities such as STS and group policy. Bucket Policies
RGW has consolidated the several metadata index pools via the use of rados namespaces. Pools
S3 Object Tagging API has been added; while APIs are supported for GET/PUT/DELETE object tags and in PUT object API, there is no support for tags on Policies & Lifecycle yet
RGW multisite now supports for enabling or disabling sync at a bucket level.
RBD:
RBD now has full, stable support for erasure coded pools via the new
--data-pool
option torbd create
.RBD mirroring’s rbd-mirror daemon is now highly available. We recommend deploying several instances of rbd-mirror for reliability.
RBD mirroring’s rbd-mirror daemon should utilize unique Ceph user IDs per instance to support the new mirroring dashboard.
The default ‘rbd’ pool is no longer created automatically during cluster creation. Additionally, the name of the default pool used by the rbd CLI when no pool is specified can be overridden via a new
rbd default pool = <pool name>
configuration option.Initial support for deferred image deletion via new
rbd trash
CLI commands. Images, even ones actively in-use by clones, can be moved to the trash and deleted at a later time.New pool-level
rbd mirror pool promote
和rbd mirror pool demote
commands to batch promote/demote all mirrored images within a pool.Mirroring now optionally supports a configurable replication delay via the
rbd mirroring replay delay = <seconds>
configuration option.Improved discard handling when the object map feature is enabled.
rbd CLI
import
和copy
commands now detect sparse and preserve sparse regions.Images and Snapshots will now include a creation timestamp.
Specifying user authorization capabilities for RBD clients has been simplified. The general syntax for using RBD capability profiles is “mon ‘profile rbd’ osd ‘profile rbd[-read-only][ pool={pool-name}[, …]]’”. For more details see User Management in the documentation.
CephFS:
Multiple active MDS daemons is now considered stable. The number of active MDS servers may be adjusted up or down on an active CephFS file system.
CephFS directory fragmentation is now stable and enabled by default on new filesystems. To enable it on existing filesystems use “ceph fs set <fs_name> allow_dirfrags”. Large or very busy directories are sharded and (potentially) distributed across multiple MDS daemons automatically.
Directory subtrees can be explicitly pinned to specific MDS daemons in cases where the automatic load balancing is not desired or effective.
Client keys can now be created using the new
ceph fs authorize
command to create keys with access to the given CephFS file system and all of its data pools.When running ‘df’ on a CephFS filesystem comprising exactly one data pool, the result now reflects the file storage space used and available in that data pool (fuse client only).
Miscellaneous:
Release packages are now being built for Debian Stretch. Note that QA is limited to CentOS and Ubuntu (xenial and trusty). The distributions we build for now include:
CentOS 7 (x86_64 and aarch64)
Debian 8 Jessie (x86_64)
Debian 9 Stretch (x86_64)
Ubuntu 16.04 Xenial (x86_64 and aarch64)
Ubuntu 14.04 Trusty (x86_64)
A first release of Ceph for FreeBSD is available which contains a full set of features, other than Bluestore. It will run everything needed to build a storage cluster. For clients, all access methods are available, albeit CephFS is only accessible through a Fuse implementation. RBD images can be mounted on FreeBSD systems through rbd-ggate Ceph versions are released through the regular FreeBSD ports and packages system. The most current version is available as: net/ceph-devel. Once Luminous goes into official release, this version will be available as net/ceph. Future development releases will be available via net/ceph-devel More details about this port are in: README.FreeBSD
CLI changes:
The
ceph -s
或ceph status
command has a fresh look.ceph mgr metadata
will dump metadata associated with each mgr daemon.ceph versions
或ceph {osd,mds,mon,mgr} versions
summarize versions of running daemons.ceph {osd,mds,mon,mgr} count-metadata <property>
similarly tabulates any other daemon metadata visible via theceph {osd,mds,mon,mgr} metadata
commands.ceph features
summarizes features and releases of connected clients and daemons.ceph osd require-osd-release <release>
replaces the oldrequire_RELEASE_osds
这些标志。ceph osd pg-upmap
,ceph osd rm-pg-upmap
,ceph osd pg-upmap-items
,ceph osd rm-pg-upmap-items
can explicitly manage upmap items (see Using pg-upmap).ceph osd getcrushmap
returns a crush map version number on stderr, andceph osd setcrushmap [version]
will only inject an updated crush map if the version matches. This allows crush maps to be updated offline and then reinjected into the cluster without fear of clobbering racing changes (e.g., by newly added osds or changes by other administrators).ceph osd create
has been replaced byceph osd new
. This should be hidden from most users by user-facing tools like ceph-disk.ceph osd destroy
will mark an OSD destroyed and remove its cephx and lockbox keys. However, the OSD id and CRUSH map entry will remain in place, allowing the id to be reused by a replacement device with minimal data rebalancing.ceph osd purge
will remove all traces of an OSD from the cluster, including its cephx encryption keys, dm-crypt lockbox keys, OSD id, and crush map entry.ceph osd ls-tree <name>
will output a list of OSD ids under the given CRUSH name (like a host or rack name). This is useful for applying changes to entire subtrees. For example,ceph osd down `ceph osd ls-tree rack1`
.ceph osd {add,rm}-{noout,noin,nodown,noup}
allow the noout, noin, nodown, and noup flags to be applied to specific OSDs.ceph osd safe-to-destroy <osd(s)>
will report whether it is safe to remove or destroy OSD(s) without reducing data durability or redundancy.ceph osd ok-to-stop <osd(s)>
will report whether it is okay to stop OSD(s) without immediately compromising availability (i.e., all PGs should remain active but may be degraded).ceph log last [n]
will output the last n lines of the cluster log.ceph mgr dump
will dump the MgrMap, including the currently active ceph-mgr daemon and any standbys.ceph mgr module ls
will list active ceph-mgr modules.ceph mgr module {enable,disable} <name>
will enable or disable the named mgr module. The module must be present in the configured mgr_module_path on the host(s) where ceph-mgr is running.ceph osd crush ls <node>
will list items (OSDs or other CRUSH nodes) directly beneath a given CRUSH node.ceph osd crush swap-bucket <src> <dest>
will swap the contents of two CRUSH buckets in the hierarchy while preserving the buckets’ ids. This allows an entire subtree of devices to be replaced (e.g., to replace an entire host of FileStore OSDs with newly-imaged BlueStore OSDs) without disrupting the distribution of data across neighboring devices.ceph osd set-require-min-compat-client <release>
configures the oldest client release the cluster is required to support. Other changes, like CRUSH tunables, will fail with an error if they would violate this setting. Changing this setting also fails if clients older than the specified release are currently connected to the cluster.ceph config-key dump
dumps config-key entries and their contents. (The existingceph config-key list
only dumps the key names, not the values.)ceph config-key list
is deprecated in favor ofceph config-key ls
.ceph config-key put
is deprecated in favor ofceph config-key set
.ceph auth list
is deprecated in favor ofceph auth ls
.ceph osd crush rule list
is deprecated in favor ofceph osd crush rule ls
.ceph osd set-{full,nearfull,backfillfull}-ratio
sets the cluster-wide ratio for various full thresholds (when the cluster refuses IO, when the cluster warns about being close to full, when an OSD will defer rebalancing a PG to itself, respectively).ceph osd reweightn
will specify the reweight values for multiple OSDs in a single command. This is equivalent to a series ofceph osd reweight
commands.ceph osd crush {set,rm}-device-class
manage the new CRUSH device class feature. Note that manually creating or deleting a device class name is generally not necessary as it will be smart enough to be self-managed.ceph osd crush class ls
和ceph osd crush class ls-osd
will output all existing device classes and a list of OSD ids under the given device class respectively.ceph osd crush rule create-replicated
replaces the oldceph osd crush rule create-simple
command to create a CRUSH rule for a replicated pool. Notably it takes a class argument for the device class the rule should target (e.g., ssd或hdd).ceph mon feature ls
will list monitor features recorded in the MonMap.ceph mon feature set
will set an optional feature (none of these exist yet).ceph tell <daemon> help
will now return a usage summary.ceph fs authorize
creates a new client key with caps automatically set to access the given CephFS file system.The
ceph health
structured output (JSON or XML) no longer contains ‘timechecks’ section describing the time sync status. This information is now available via the ‘ceph time-sync-status’ command.Certain extra fields in the
ceph health
structured output that used to appear if the mons were low on disk space (which duplicated the information in the normal health warning messages) are now gone.The
ceph -w
output no longer contains audit log entries by default. Add a--watch-channel=audit
或--watch-channel=*
to see them.New “ceph -w” behavior - the “ceph -w” output no longer contains I/O rates, available space, pg info, etc. because these are no longer logged to the central log (which is what
ceph -w
shows). The same information can be obtained by runningceph pg stat
; alternatively, I/O rates per pool can be determined usingceph osd pool stats
. Although these commands do not self-update likeceph -w
did, they do have the ability to return formatted output by providing a--format=<format>
option.Added new commands
pg force-recovery
和pg-force-backfill
. Use them to boost recovery or backfill priority of specified pgs, so they’re recovered/backfilled before any other. Note that these commands don’t interrupt ongoing recovery/backfill, but merely queue specified pgs before others so they’re recovered/backfilled as soon as possible. New commandspg cancel-force-recovery
和pg cancel-force-backfill
restore default recovery/backfill priority of previously forced pgs.
Major Changes from Jewel
RADOS:
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.
The size of encoded OSDMaps has been reduced.
The OSDs now quiesce scrubbing when recovery or rebalancing is in progress.
RGW:
RGW now supports the S3 multipart object copy-part API.
It is possible now to reshard an existing bucket offline. Offline bucket resharding currently requires that all IO (especially writes) to the specific bucket is quiesced. (For automatic online resharding, see the new feature in Luminous above.)
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:
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 损坏 ls with discovered errors.
一个新的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.
Upgrade from Jewel or Kraken
Ensure that the
sortbitwise
flag is enabled:# ceph osd set sortbitwise
确保你的集群是稳定和健康的(没有下线或正在恢复的 OSD)。 (可选,但推荐。)
Do not create any new erasure-code pools while upgrading the monitors.
You can monitor the progress of your upgrade at each stage with the
ceph versions
command, which will tell you what ceph version is running for each type of daemon.Set the
noout
flag for the duration of the upgrade. (Optional but recommended.):# ceph osd set noout
Verify that all RBD client users have sufficient caps to blacklist other client users. RBD client users with only
"allow r"
monitor caps should be updated as follows:# ceph auth caps client.<ID> mon 'allow r, allow command "osd blacklist"' osd '<existing OSD caps for user>'
Upgrade monitors by installing the new packages and restarting the monitor daemons. Note that, unlike prior releases, the ceph-mon daemons must be upgraded first:
# systemctl restart ceph-mon.target
Verify the monitor upgrade is complete once all monitors are up by looking for the
luminous
feature string in the mon map. For example:# ceph mon feature ls
should include luminous under persistent features:
on current monmap (epoch NNN) persistent: [kraken,luminous] required: [kraken,luminous]
Add or restart
ceph-mgr
daemons. If you are upgrading from kraken, upgrade packages and restart ceph-mgr daemons with:# systemctl restart ceph-mgr.target
If you are upgrading from kraken, you may already have ceph-mgr daemons deployed. If not, or if you are upgrading from jewel, you can deploy new daemons with tools like ceph-deploy or ceph-ansible. For example:
# ceph-deploy mgr create HOST
Verify the ceph-mgr daemons are running by checking
ceph -s
:# ceph -s ... services: mon: 3 daemons, quorum foo,bar,baz mgr: foo(active), standbys: bar, baz ...
Upgrade all OSDs by installing the new packages and restarting the ceph-osd daemons on all hosts:
# systemctl restart ceph-osd.target
You can monitor the progress of the OSD upgrades with the new
ceph versions
或ceph osd versions
command:# ceph osd versions { "ceph version 12.2.0 (...) luminous (stable)": 12, "ceph version 10.2.6 (...)": 3, }
Upgrade all CephFS daemons by upgrading packages and restarting daemons on all hosts:
# systemctl restart ceph-mds.target
Upgrade all radosgw daemons by upgrading packages and restarting
# systemctl restart radosgw.target
Complete the upgrade by disallowing pre-luminous OSDs and enabling all new Luminous-only functionality:
# ceph osd require-osd-release luminous
If you set
noout
at the beginning, be sure to clear it with:# ceph osd unset noout
Verify the cluster is healthy with
ceph health
.
Upgrading from pre-Jewel releases (like Hammer)
You must first upgrade to Jewel (10.2.z) before attempting an upgrade to Luminous.
Upgrade compatibility notes, Jewel to Kraken
These changes occurred between the Jewel and Kraken releases and will affect upgrades from Jewel to Luminous.
The
osd crush location
config option is no longer supported. Please update your ceph.conf to use thecrush location
option instead. Be sure to update your config file to avoid any movement of OSDs from your customized location back to the default one.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 response data for GetUsage looks like:
"stats": { "TotalBytes": 516, "TotalBytesRounded": 1024, "TotalEntries": 1 }
If the value is false, the response 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 an 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 were ‘fs_commit_latency(ms)’ and ‘fs_apply_latency(ms)’. We removed the prefix ‘fs_’ because the values 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 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和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, andosd_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.
Upgrade compatibility notes, Kraken to Luminous
The configuration option
osd pool erasure code stripe width
has been replaced byosd pool erasure code stripe unit
, and given the ability to be overridden by the erasure code profile settingstripe_unit
. For more details see Erasure code profiles.rbd and cephfs can use erasure coding with bluestore. This may be enabled by setting
allow_ec_overwrites
totrue
for a pool. Since this relies on bluestore’s checksumming to do deep scrubbing, enabling this on a pool stored on filestore is not allowed.The
rados df
JSON output now prints numeric values as numbers instead of strings.The
mon_osd_max_op_age
option has been renamed tomon_osd_warn_op_age
(default: 32 seconds), to indicate we generate a warning at this age. There is also a newmon_osd_err_op_age_ratio
that is a expressed as a multiple ofmon_osd_warn_op_age
(default: 128, for roughly 60 minutes) to control when an error is generated.The default maximum size for a single RADOS object has been reduced from 100GB to 128MB. The 100GB limit was completely impractical in practice while the 128MB limit is a bit high but not unreasonable. If you have an application written directly to librados that is using objects larger than 128MB you may need to adjust
osd_max_object_size
.The semantics of the
rados ls
and librados object listing operations have always been a bit confusing in that “whiteout” objects (which logically don’t exist and will return ENOENT if you try to access them) are included in the results. Previously whiteouts only occurred in cache tier pools. In luminous, logically deleted but snapshotted objects now result in a whiteout object, and as a result they will appear inrados ls
results, even though trying to read such an object will result in ENOENT. Therados listsnaps
operation can be used in such a case to enumerate which snapshots are present. This may seem a bit strange, but is less strange than having a deleted-but-snapshotted object not appear at all and be completely hidden from librados’s ability to enumerate objects. Future versions of Ceph will likely include an alternative object enumeration interface that makes it more natural and efficient to enumerate all objects along with their snapshot and clone metadata.The deprecated
crush_ruleset
property has finally been removed; please usecrush_rule
instead for theosd pool get ...
和osd pool set ...
commands.The
osd pool default crush replicated ruleset
option has been removed and replaced by theosd pool default crush rule
option. By default it is -1, which means the mon will pick the first type replicated rule in the CRUSH map for replicated pools. Erasure coded pools have rules that are automatically created for them if they are not specified at pool creation time.We no longer test the FileStore ceph-osd backend in combination with btrfs. We recommend against using btrfs. If you are using btrfs-based OSDs and want to upgrade to luminous you will need to add the following to your ceph.conf:
enable experimental unrecoverable data corrupting features = btrfs
The code is mature and unlikely to change, but we are only continuing to test the Jewel stable branch against btrfs. We recommend moving these OSDs to FileStore with XFS or BlueStore.
The
ruleset-*
properties for the erasure code profiles have been renamed tocrush-*
to move away from the obsolete ‘ruleset’ term and to be more clear about their purpose. There is also a new optionalcrush-device-class
property to specify a CRUSH device class to use for the erasure coded pool. Existing erasure code profiles will be converted automatically when upgrade completes (when theceph osd require-osd-release luminous
command is run) but any provisioning tools that create erasure coded pools may need to be updated.The structure of the XML output for
osd crush tree
has changed slightly to better match theosd tree
output. The top level structure is nownodes
instead ofcrush_map_roots
.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.
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.
The “journaler allow split entries” config setting has been removed.
The ‘mon_warn_osd_usage_min_max_delta’ config option has been removed and the associated health warning has been disabled because it does not address clusters undergoing recovery or CRUSH rules that do not target all devices in the cluster.
Added new configuration “public bind addr” to support dynamic environments like Kubernetes. When set the Ceph MON daemon could bind locally to an IP address and advertise a different IP address
public addr
on the network.The crush
choose_args
encoding has been changed to make it architecture-independent. If you deployed Luminous dev releases or 12.1.0 rc release and made use of the CRUSH choose_args feature, you need to remove all choose_args mappings from your CRUSH map before starting the upgrade.
librados:
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.
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:
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.
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 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 superseded by “ceph tell mds.<id> …”
The
apply
mode of cephfs-journal-tool has been removed
其他值得注意的更改
async: Fixed compilation error when enable -DWITH_DPDK (pr#12660, Pan Liu)
async: fixed coredump when enable dpdk (pr#12854, Pan Liu)
async: fixed the error “Cause: Cannot create lock on ‘/var/run/.rte_c… (pr#12860, Pan Liu)
bluestore: avoid unnecessary copy with coll_t (pr#12576, Yunchuan Wen)
bluestore: BitAllocator: delete useless codes (pr#13619, Jie Wang)
bluestore: bluestore/BlueFS: pass string as const ref (pr#16600, dingdangzhang)
bluestore: bluestore, NVMEDEVICE: Specify the max io completion in conf (pr#13799, optimistyzy)
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,build/ops,performance: os/bluestore: enable SSE-assisted CRC32 calculations in RocksDB (pr#13741, Radoslaw Zarzynski)
bluestore: ceph-disk: add --filestore argument, default to --bluestore (pr#15437, Loic Dachary, Sage Weil)
bluestore: common/config: set rocksdb_cache_size to OPT_U64 (pr#13995, liuhongtong)
bluestore: common/options: make “blue{fs,store}_allocator” LEVEL_DEV (issue#20660, pr#16645, Kefu Chai)
bluestore,common,performance: common/Finisher: Using queue(list<context*>) instead queue(context*) (pr#8942, Jianpeng Ma)
bluestore,common,performance: isa-l: update isa-l to v2.18 (pr#15895, Ganesh Mahalingam, Tushar Gohad)
bluestore,core: os/bluestore: fix statfs to not include DB partition in free space (issue#18599, pr#13140, Sage Weil)
bluestore,core: os/bluestore: fix warning (pr#15435, Sage Weil)
bluestore,core: os/bluestore: improve mempool usage (pr#15402, Sage Weil)
bluestore,core: os/bluestore: write “mkfs_done” into disk only if we pass fsck() tests (pr#15238, xie xingguo)
osd/OSDMap: 如果 osd 不存在,则应更新输入参数 (pr#14863, Kefu Chai)
osd: 移除 BlueStore 的实验状态 (pr#15177, Sage Weil)
osd/OSDMap: 在启用 spdk 时修复注册_ctrlr() 中的编译错误 (pr#12672, Pan Liu)
osd/BlueFS: include/intarith: 将 ctz/clz/cbits 帮助程序模板化 (pr#14862, Kefu Chai)
osd/BlueFS: 补偿 bad freelistmanager size/blocks 元数据 (issue#21089, pr#17273, Sage Weil)
osd/NVMEDevice: 添加 spdk 核心掩码检查 (pr#14068, optimistyzy)
osd/NVMEDevice: 清理 data_buf_next_sge 中的逻辑 (pr#13056, optimistyzy)
osd/NVMEDevice: 修复获取 slave 核心时的核心 id (pr#13896, optimistyzy)
bluestore: NVMEDevice: fix bug in data_buf_next_sge (pr#12812, optimistyzy)
bluestore: NVMEDevice: minor error for get slave core (pr#14012, Ziye Yang)
osd/NVMEDevice: 优化 sector_size 使用 (pr#12780, optimistyzy)
osd/NVMEDevice: 移除不必要的 dpdk 头文件 (pr#14650, optimistyzy)
osd/NVMEDevice.cc: 修复随机读取问题 (pr#13971, optimistyzy)
osd/NVMEDevice: 仅在有内容时才提交 deferred (pr#12464, Igor Fedotov)
bluestore: os/bluestore: Add bluestore pextent vector to mempool (pr#12946, Igor Fedotvo, Igor Fedotov)
bluestore: os/bluestore: add flush_store_cache cmd (pr#13428, xie xingguo)
bluestore: os/bluestore: add more perf_counters to BlueStore (pr#13274, Igor Fedotov)
bluestore: os/bluestore: add new garbage collector (pr#12144, Igor Fedotov)
bluestore: os/bluestore: add perf variable for throttle info in bluestore (pr#12583, Pan Liu)
osd/NVMEDevice: 移除中间键变量以避免字符串复制 (pr#13409, xie xingguo)
bluestore: os/bluestore: align reclaim size to bluefs_alloc_size (pr#14744, Haomai Wang)
bluestore: os/bluestore/Allocator: drop unused return value in release function (pr#13913, wangzhengyong)
bluestore: os/bluestore: allow multiple DeferredBatches in flight at once (issue#20295, pr#16769, Nathan Cutler, Sage Weil)
bluestore: os/bluestore: allow multiple SPDK BlueStore OSD instances (issue#16966, pr#12604, Orlando Moreno)
osd/NVMEDevice: 移除不必要的 dpdk 头文件 (pr#14473, shiqi)
bluestore: os/bluestore: avoid nullptr in bluestore_extent_ref_map_t::bound_encode (pr#14073, Sage Weil)
osd/NVMEDevice: 使用变量引用而不是内存复制在 BlockDevice::Open 中 (pr#12942, liuchang0812)
osd/NVMEDevice: 在未共享的 blob 上提供更好的调试输出 (issue#20227, pr#15746, Sage Weil)
osd/NVMEDevice: 修复 reclaim_blocks 和清理 Allocator 接口 (pr#13470, wangzhengyong)
osd/NVMEDevice: 移除未使用的变量 (pr#13599, Jie Wang)
bluestore: os/bluestore/BitmapFreelistManager: readability improvements (pr#12719, xie xingguo)
bluestore: os/bluestore/BlockDevice: support pmem device as bluestore backend (pr#15102, Jianpeng Ma)
bluestore: os/bluestore/BlueFS: clean up log_writer aios from compaction (issue#20454, pr#16017, Sage Weil)
bluestore: os/bluestore/BlueFS: clear current log entrys before dump all fnode (pr#15973, Jianpeng Ma)
bluestore: os/bluestore/BlueFS: fix reclaim_blocks (issue#18368, pr#12725, Sage Weil)
bluestore: os/bluestore/BlueFS: Rebuild memcopy for bufferlist::page_aligned_app… (pr#15728, Jianpeng Ma, Sage Weil)
bluestore: os/bluestore/BlueFS: .slow should be compared with dirname (pr#15595, zhanglei)
bluestore: os/bluestore/BlueStore: Avoid double counting state_kv_queued_lat (pr#16374, Jianpeng Ma)
bluestore: os/bluestore/BlueStore.cc:remove unuse code in _open_bdev() (pr#13553, yonghengdexin735)
bluestore: os/bluestore/BlueStore.cc: remove unused variable (pr#12703, Li Wang)
bluestore: os/bluestore/BlueStore: no device no symlink (pr#15721, Jianpeng Ma)
bluestore: os/bluestore/BlueStore: remove unused code (pr#16522, Jianpeng Ma)
bluestore: os/bluestore: cleanup BitAllocator (pr#12661, xie xingguo)
bluestore: os/bluestore: cleanup bluestore_types (pr#15680, xie xingguo)
bluestore: os/bluestore: clean up flush logic (pr#14162, Jianpeng Ma)
bluestore: os/bluestore: cleanup, got rid of table reference of 1<<x (pr#13718, Adam Kupczyk)
bluestore: os/bluestore: clean up Invalid return value judgment (pr#14219, shiqi)
bluestore: os/bluestore: cleanup min_alloc_size; some formatting nits (pr#15826, xie xingguo)
bluestore: os/bluestore: clear result in BlueRocksEnv::getChildren (issue#20857, pr#16683, liuchang0812)
bluestore: os/bluestore: clear up redundant size assignment in KerenelDevice (pr#16121, Shasha Lu)
bluestore: os/bluestore: conditionally load crr option (pr#12877, xie xingguo)
bluestore: os/bluestore: configure rocksdb cache via bluestore_cache_kv_ratio (pr#15580, Sage Weil)
osd/NVMEDevice: 默认日志媒体为存储媒体,如果 bluefs 被禁用 (pr#16844, xie xingguo)
osd/NVMEDevice: _do_remove:将每个 blob 单独标记为脏,因为每个 blob 都被未共享 (issue#20849, pr#16822, Sage Weil)
osd/NVMEDevice: 修复 small write 处理中的 typo 关于 bleustore (pr#16237, Yankun Li)
pr#13728pr#13728, Igor Fedotov)
bluestore: os/bluestore: fix Allocator::allocate() int truncation (issue#18595, pr#13010, Sage Weil)
bluestore: os/bluestore: fix a typo about bleustore (pr#15357, Dongsheng Yang)
bluestore: os/bluestore: fix BitMapAllocator assert on out-of-bound hint value (pr#15289, Igor Fedotov)
bluestore: os/bluestore: fix buffers pinned by indefinitely deferred writes (pr#15398, Sage Weil)
bluestore: os/bluestore: fix bug for calc extent_avg in reshard function (pr#13931, wangzhengyong)
bluestore: os/bluestore: fix bug in aio_read() (pr#13511, tangwenjun)
osd/NVMEDevice: 修复 _open_super_meta() 中的 bug (pr#13577, yonghengdexin735)
bluestore: os/bluestore: fix bug in _open_super_meta() (pr#13559, Taeksang Kim)
osd/NVMEDevice: 修复 bluefs 和 bdev flush 中的 bug (issue#19250, issue#19251, osd/NVMEDevice: 修复 register_ctrlr() 中的 coredump (, Sage Weil)
bluestore: os/bluestore: fix coredump in register_ctrlr() (pr#13556, tangwenjun)
osd/NVMEDevice: 修复 deferred_aio 死锁 (pr#16051, Sage Weil)
osd/NVMEDevice: 修复 deferred 写与 collection split 竞争 (issue#19880, pr#15004, Sage Weil)
bluestore: os/bluestore: fix deferred writes vs collection split race (issue#19379, pr#14157, Sage Weil)
osd/NVMEDevice: 修复 dirty_range 在 _do_clone_range (issue#20810, pr#16738, Sage Weil)
osd/NVMEDevice: 修复 IOContext::aio_wake 中的 false 断言 (pr#15268, Igor Fedotov)
osd/NVMEDevice: 修复 Cache::trim_all() 中的 false 断言 (pr#15470, xie xingguo)
osd/NVMEDevice: 修复 fsck deferred_replay (pr#15295, Sage Weil)
osd/NVMEDevice: 在 mkfs 时修复 min_alloc_size (pr#13192, Sage Weil)
osd/NVMEDevice: 修复 osr->flush() 竞争 (pr#14489, Sage Weil)
osd/NVMEDevice: 修复 NVMEDevice::open 失败如果序列号以 ... 结尾 (pr#12956, Hongtong Liu)
osd/NVMEDevice: 修复 OnodeSizeTracking 测试 (issue#20498, pr#12684, xie xingguo)
osdpr#13965, Sage Weil)
osd/NVMEDevice: 修复可能超出范围的 shard(offset == 0);添加合理性检查 (pr#15658, xie xingguo)
osd/NVMEDevice: 修复潜在的访问违规 (pr#15657, xie xingguo)
osd/NVMEDevice: 修复 cache _trim 方法中的潜在断言 (pr#13234, Igor Fedotov)
osd/NVMEDevice: 修复 reclaim_blocks 和清理 Allocator 接口 (issue#18573, pr#12963, Sage Weil)
osd/NVMEDevice: 修复 typo(s/trasnaction/transaction/) (pr#14890, xie xingguo)
osd/NVMEDevice: 修复 unsharing blob dirty_range 参数 (issue#20227, pr#15766, Sage Weil)
osd/NVMEDevice: 修复 aio_wait 与 use after free 竞争 (pr#14956, Sage Weil)
osd/NVMEDevice: 修复 wal-queue bytes-counter 以与其他保持一致 (pr#13382, xie xingguo)
osd/NVMEDevice: fsck: 验证 blob.unused 字段 (pr#14316, Sage Weil)
osd/NVMEDevice: 处理缓存比率中的舍入误差 (pr#15672, Sage Weil)
osd/NVMEDevice: 初始化 finishers 正确 (pr#14115, Sage Weil)
osd/NVMEDevice: 包括逻辑对象偏移量在 crc 错误中 (pr#13074, Sage Weil)
osd/NVMEDevice: 正确初始化 finishers (pr#15666, xie xingguo)
osd/NVMEDevice: 修复 comments (pr#15264, xie xingguo)
osd/NVMEDevice: 修复调试消息 (pr#13135, Sage Weil)
osd/NVMEDevice: 当 aio 限制用尽时提供有用的警告 (pr#15116, Sage Weil)
osd/NVMEDevice: 删除 zeros (pr#12856, xie xingguo)
osd/NVMEDevice: 删除 BufferSpace.empty() (pr#12871, xie xingguo)
osd/NVMEDevice: 删除孤儿声明 do_write_check_depth() (pr#12853, xie xingguo)
osd/NVMEDevice: 在 BitMapAreaLeaf 中利用类型知识 (pr#13736, Radoslaw Zarzynski)
osd/NVMEDevice: 使 BitmapFreelistManager kv 迭代器短暂存在 (pr#16243, Mark Nelson)
osd/NVMEDevice: 使 BlueStore throttle 配置工作像初始配置一样进行 live 更改 (pr#14225, J. Eric Ivancich)
osd/NVMEDevice: 对 BitAllocator 进行一些杂项修复 (pr#12696, xie xingguo)
osd/NVMEDevice: 杂项修复和清理 (pr#16315, Jianpeng Ma)
osd/NVMEDevice: 杂项修复 (pr#14333, Sage Weil)
osd/NVMEDevice: 将 aio.h/cc 从 fs 目录移动到 bluestore 目录 (pr#16409, Pan Liu)
osd/NVMEDevice: 移除存在 assign nid (pr#16117, Jianpeng Ma)
osd/NVMEDevice: 将 sharedblob 移动到同一 shard 中的新集合 (issue#20358, pr#15783, Sage Weil)
osd/NVMEDevice: 缩小缓存锁范围;确保 min_alloc_size p2 对齐 (pr#15911, xie xingguo)
osd/NVMEDevice: “noid” 在克隆操作中并不总是必要的 (pr#13769, wangzhengyong)
osd/NVMEDevice: 在 OmapIteratorImpl::valid 中出现 nullptr (pr#12900, Xinze Chi)
osd/NVMEDevice: 为 SPDK I/O 线程添加多线程支持 (pr#14420, Ziye Yang)
osd/NVMEDevice.cc: 修复随机读取问题 (pr#13055, optimistyzy)
osd/NVMEDevice: 修复 collect_metadata 中的编译问题 (pr#14455, optimistyzy)
osd/NVMEDevice: 修复未释放的 segs 问题 (pr#12862, optimistyzy)
osd/NVMEDevice: 仅在有内容时才提交 deferred (pr#16269, Sage Weil)
osd/NVMEDevice: 预分配对象[extent_shard] 键以避免重新分配 (pr#12644, xie xingguo)
osd/NVMEDevice: 预计算要驱逐的幽灵缓冲区数量 (pr#15029, xie xingguo)
osd/NVMEDevice: 将字符串放入 mempool (pr#12651, Allen Samuels, Sage Weil)
osd/NVMEDevice: 避免在 bluestoreExtentRefMap_t::bound_encode 中出现 nullptr (pr#14448, Jianpeng Ma)
bluestore: os/bluestore: reduce some overhead for _do_clone_range() and _do_remove() (pr#15944, xie xingguo)
bluestore: os/bluestore: refactor BlueStore::_do_write; kill dead ExtentMap::find_lextent() method (pr#15750, xie xingguo)
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 ExtentFreeListManager (pr#14772, Jianpeng Ma)
bluestore: os/bluestore: remove intermediate key var to avoid string copy (pr#12643, xie xingguo)
bluestore: os/bluestore: remove no use parameter in bluestore_blob_t::map_bl (pr#13013, wangzhengyong)
bluestore: os/bluestore: remove unneeded indirection in BitMapZone (pr#13743, Radoslaw Zarzynski)
bluestore: os/bluestore: remove unused condition variable (pr#14973, Igor Fedotov)
bluestore: os/bluestore: remove unused local variable “pos” (pr#13715, wangzhengyong)
bluestore: os/bluestore: remove unused variables (pr#15718, zhanglei)
osd/NVMEDevice: 重命名/修复 throttle 选项 (pr#14717, Sage Weil)
osd/NVMEDevice: 将 bluefs allocs 四舍五入到 bluefs_alloc_size (pr#14876, Ramesh Chander)
bluestore: os/bluestore: shrink buffer_map key into uint32_t (pr#12850, xie xingguo)
bluestore: os/bluestore: slightly refactor Blob::try_reuse_blob (pr#15836, xie xingguo)
bluestore: os/bluestore: some cleanup (pr#13390, liuchang0812)
bluestore: os/bluestore: space between func and contents (pr#16804, xie xingguo)
bluestore: os/bluestore: stop calculating bound if we must reshard; narrow shard combination condition (pr#15631, xie xingguo)
bluestore: os/bluestore/StupidAllocator: rounded down len to an align boundary (issue#20660, pr#16593, Zhu Shangzhong)
bluestore: os/bluestore: target_bytes should scale with meta/data ratios (pr#15708, Mark Nelson)
bluestore: os/bluestore: _txc_release_alloc when do wal cleaning (pr#12692, Xinze Chi)
bluestore: os/bluestore: use bufferlist functions whenever possible (pr#16158, Jianpeng Ma)
bluestore: os/bluestore: use correct bound encode size for unused (pr#14731, Haomai Wang)
bluestore: os/bluestore: use reference to avoid string copy (pr#16364, Pan Liu)
bluestore: os: extend ObjectStore interface to dump store’s performance counters (pr#13203, Igor Fedotov)
bluestore,performance: common/config_opts.h: compaction readahead for bluestore/rocksdb (pr#14932, Mark Nelson)
bluestore,performance: kv/RocksDBStore: implement rm_range_keys operator interface and test (pr#13855, Haomai Wang)
bluestore,performance: os/aio: remove the redundant memset(struct iocb) (pr#13662, Jianpeng Ma)
bluestore,performance: os/bluestore: add bluestore_prefer_wal_size option (pr#13217, Sage Weil)
bluestore,performance: os/bluestore: avoid overloading extents during reshard; atomic deferred_batch_ops (pr#15502, xie xingguo)
bluestore,performance: os/bluestore: avoid the VTABLE-related burden in BitMapAllocator’s hotspot (pr#14348, Radoslaw Zarzynski)
bluestore,performance: os/bluestore: batch throttle (pr#15284, Jianpeng Ma)
bluestore,performance: os/bluestore/BlueFS: add bluefs_sync_write option (pr#14510, Sage Weil)
bluestore,performance: os/bluestore/BlueFS: optimize get_allocated (pr#14121, Jianpeng Ma)
bluestore,performance: os/bluestore/BlueFS: tune flushing of writes (pr#13032, Sage Weil)
bluestore,performance: os/bluestore/bluestore_types: drop std::bitset for blob unused (pr#12569, Sage Weil)
bluestore,performance: os/bluestore: cap rocksdb cache size (pr#15786, Mark Nelson)
bluestore,performance: os/bluestore: default 16KB min_alloc_size on ssd (pr#14076, Sage Weil)
bluestore,performance: os/bluestore: default cache size of 3gb (pr#15976, Sage Weil)
bluestore,performance: os/bluestore: differ default cache size for hdd/ssd backends (pr#16157, xie xingguo)
bluestore,performance: os/bluestore: do not balance bluefs on every kv_sync_thread iteration (pr#14557, Sage Weil)
bluestore,performance: os/bluestore: do not cache shard keys (pr#12634, Sage Weil)
bluestore,performance: os/bluestore: eliminate some excessive stuff (pr#14675, Igor Fedotov)
bluestore,performance: os/bluestore: fix deferred writes; improve flush (pr#13888, Sage Weil)
bluestore,performance: os/bluestore: generate same onode extent-shard keys in a more efficient way (pr#12681, xie xingguo)
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: keep statfs replica in RAM to avoid expensive KV retrieval (pr#15309, Igor Fedotov)
bluestore,performance: os/bluestore/KernelDevice: batch aio submit (pr#16032, Haodong Tang)
bluestore,performance: os/bluestore/KernelDevice: fix sync write vs flush (pr#15034, Sage Weil)
bluestore,performance: os/bluestore: kvdb histogram (pr#12620, Varada Kari)
bluestore,performance: os/bluestore: make bluestore_max_blob_size parameter hdd/ssd case dependant (pr#14434, Igor Fedotov)
bluestore,performance: os/bluestore: memory and dereference clean-up in the BitAllocator (pr#13811, Radoslaw Zarzynski)
bluestore,performance: os/bluestore: move cache_trim into MempoolThread (pr#15380, xie xingguo)
bluestore,performance: os/bluestore: optimize blob usage when doing appends/overwrites (pr#13337, Igor Fedotov)
bluestore,performance: os/bluestore: optimized (encode|decode)_escaped (pr#15759, Piotr Dałek)
bluestore,performance: os/bluestore: partial reshard support (pr#13162, Sage Weil)
bluestore,performance: os/bluestore: prevent lock for almost “flush” calls (pr#12524, Haomai Wang)
bluestore,performance: os/bluestore: put bluefs in the middle of the shared device (pr#14873, Sage Weil)
bluestore,performance: os/bluestore: refactor small write handling to reuse blob more effect… (pr#14399, Igor Fedotov)
bluestore,performance: os/bluestore: remove CephContext* from BmapEntry (pr#13651, Radoslaw Zarzynski)
bluestore,performance: os/bluestore: replace Blob ref_map with reference counting (pr#12904, Igor Fedotov)
bluestore,performance: os/bluestore: rewrite deferred write handling (issue#16644, pr#14491, Sage Weil)
bluestore,performance: os/bluestore: separate kv_sync_thread into two parts (pr#14035, Jianpeng Ma, Igor Fedotov, Sage Weil)
bluestore,performance: os/bluestore: set cache meta ratio to .9 (pr#12635, Sage Weil)
bluestore,performance: os/bluestore: the exhausted check in BitMapZone can be lock-less (pr#13653, Radoslaw Zarzynski)
bluestore,performance: os/bluestore: try to unshare blobs for EC overwrite workload (pr#14239, Sage Weil)
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,performance: os/bluestore: use aio for reads (issue#19030, pr#13066, Sage Weil)
bluestore,performance: os/bluestore: use Best-Effort policy when evicting onode from cache (pr#12876, xie xingguo)
bluestore,performance: os/bluestore: use denc for varint encoding (pr#14911, Piotr Dałek)
bluestore,performance: os/bluestore: various onode changes to reduce its in-memory footprint (pr#12700, Igor Fedotov)
bluestore,performance: os/fs/aio: use small_vector for aio_t; clean up header location (pr#14853, Sage Weil)
bluestore: rocksdb: add option: writable_file_max_buffer_size = 0 (pr#12562, Jianpeng Ma)
bluestore,tests: ceph-dencoder: enable bluestore types (pr#13595, Willem Jan Withagen, Kefu Chai)
bluestore,tests: ceph_test_objectstore: match clone_range src and dst offset (pr#13211, Sage Weil)
bluestore,tests: qa/objectstore/bluestore*: fsck on mount (pr#15785, Sage Weil)
bluestore,tests: test/ceph-test-objectstore: Don’t always include BlueStore code (pr#13516, Willem Jan Withagen)
bluestore,tests: test/objectstore/store_test_fixture.cc: Exclude bluestore code if required (pr#14085, Willem Jan Withagen)
bluestore,tests: test/store_test: add deferred test case setup to support explicit min… (issue#18857, pr#13415, Igor Fedotov)
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,tests: test/unittest_bluefs: When fsync ret is less than 0, fsync can not be… (pr#15365, shiqi)
bluestore,tests: unittest_alloc: add test_alloc_big (issue#16662, pr#14844, Sage Weil)
bluestore,tools: ceph-bluestore-tool: rename from bluefs-tool; improve usage (pr#14258, Sage Weil)
bluestore,tools: ceph-kvstore-tool: allow ‘bluestore-kv’ as kvdb type; add escaping, compaction (pr#14718, Sage Weil)
bluestore: wrap blob id when it reaches maximum value of int16_t (issue#19555, pr#15654, Xiaoyan Li)
build/ops: 12.0.3 (pr#15600, Jenkins Build Slave User)
build/ops: add 12.0.1 release tag in master (pr#14690, Jenkins Build Slave User)
build/ops: add psmisc dependency to ceph-base (deb and rpm) (issue#19129, pr#13744, Nathan Cutler)
build/ops: add sanity checks to run-make-check.sh (pr#12683, Nathan Cutler)
build/ops: alpine: add alpine linux dev support (pr#9853, John Coyle)
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: arch: use __get_cpuid instead of do_cpuid (issue#7869, pr#14857, Jos Collin)
build/ops: auth: Let’s not use the deprecated cephx option (pr#12721, Dave Chen)
build/ops: build: Add Virtuozzo Linux support (pr#14301, Andrey Parfenov)
build/ops: build: build erasure-code isa lib without versions (pr#16205, James Page)
build/ops: build/cmake: provide asan, tsan, ubsan builds (pr#12615, Matt Benjamin)
build/ops: build: execute dh_systemd_{enable,start} after dh_install (issue#19585, pr#16218, James Page)
build/ops: build: move bash_completion.d/ceph to ceph-common (pr#15148, liuchang0812)
build/ops: build: remove ceph-disk-udev entirely (pr#15259, liuchang0812)
build/ops: build: remove ceph-qa-suite directory (pr#13880, Casey Bodley)
build/ops: build: revert -Wvla from #15342 (pr#15469, Willem Jan Withagen)
build/ops: builds with dpdk v16.07 (pr#12707, Kefu Chai)
build/ops: build: Use .S suffix for ppc64le assembly files (issue#20106, pr#15373, Andrew Solomon)
build/ops: ceph-disk: ability to use a different cluster name with dmcrypt (issue#17821, pr#11786, Sébastien Han, Erwan Velu)
build/ops: ceph-disk: don’t activate suppressed journal devices (issue#19489, pr#16123, David Disseldorp)
build/ops: ceph.in: allow developer mode from outside build tree (issue#20472, pr#16055, Dan Mick)
build/ops: ceph_release: we are in the ‘rc’ phase (12.1.z) (pr#15957, Sage Weil)
build/ops: ceph.spec.in, debian/control: Add bc to build dependencies (issue#18876, pr#13338, Kyr Shatskyy)
build/ops: Clean up make check for persistent test nodes (like arm64) (pr#16773, Dan Mick)
build/ops,mon: mon/ConfigKeyService: add ‘config-key dump’ to show keys and vals (pr#14289, Kefu Chai)
build/ops: CMakeLists.txt: boost_python.so requires libpython.*.so on FreeBSD (pr#12763, Willem Jan Withagen)
build/ops: CMakeLists.txt: don’t do crypto/isa-l if not Intel (pr#14721, Dan Mick)
build/ops: CMakeLists.txt: suppress unneeded warning about jemalloc (pr#13377, Willem Jan Withagen)
build/ops,common: build: Adds C++ warning flag for C Variable-Length Arrays (pr#15342, Jesse Williamson)
build/ops,common: common/blkdev.cc: propagate get_device_by_fd to different OSes (pr#15547, Willem Jan Withagen)
build/ops: common/module.c: do not use strerror_r the GNU way (pr#12363, Willem Jan Withagen)
build/ops: compressor/zstd: add zstd to embedded ceph (pr#13159, Bassam Tabbara)
build/ops: conditionalize rgw Beast frontend so it isn’t built on s390x architecture (issue#20048, pr#15225, Willem Jan Withagen, Nathan Cutler, Kefu Chai, Tim Serong, Casey Bodley)
build/ops,core: build: let FreeBSD build ceph-fuse (pr#14282, Willem Jan Withagen)
build/ops,core: ceph-disk: use correct user in check_journal_req (issue#18538, pr#12947, Samuel Matzek)
build/ops,core: common/freebsd_errno.cc: fix missing (pr#15741, Willem Jan Withagen)
build/ops,core: erasure-code: update ec_isa version + add missing AVX512 ISA-L sources (pr#15636, Ganesh Mahalingam, Tushar Gohad)
build/ops,core: os: allow offline conversion of filestore -> bluestore (or anything else) (pr#14210, Sage Weil)
build/ops,core: osd/OSD: auto class on osd start up (pr#16014, xie xingguo)
build/ops,core: osd/Pool: Disallow enabling ‘hashpspool’ option to a pool without ‘--yes-i-really-mean-it’ (issue#18468, pr#13406, Vikhyat Umrao)
build/ops,core,tests: osd/dmclock/testing: reorganize testing, building now optional (issue#19987, pr#15375, J. Eric Ivancich)
build/ops: debian: Add missing tp files in deb packaging (pr#13526, Ganesh Mahalingam)
build/ops: debian: ceph-mgr: fix package description (pr#15513, Fabian Grünbichler)
build/ops: debian/control: add ceph-base-dbg (pr#13796, Sage Weil)
build/ops: debian: drop boost build dependencies (pr#13524, Kefu Chai)
build/ops: debian: package ceph.logroate properly (issue#19390, pr#14600, Kefu Chai)
build/ops: debian: package crypto plugin only on amd64 (pr#14820, Kefu Chai)
build/ops: debian/rpm: move radosgw-admin to ceph-common (issue#19577, pr#14940, Ali Maredia)
build/ops: debian/rules, ceph.spec.in: invoke cmake with -DBOOST_J (pr#14114, Dan Mick)
build/ops: debian: sync logrotate packaging with downstream (issue#19938, pr#15567, Fabian Grünbichler)
build/ops: debian: workaround the bug in dpkg-maintscript-helper (issue#20453, pr#16072, Kefu Chai)
build/ops: debian: wrap-and-sort all files (pr#16110, James Page)
build/ops: dmclock: error: ‘function’ in namespace ‘std’ does not name a template type (pr#14909, Jos Collin)
build/ops: dmclock: include missing <functional> header (pr#14923, Jos Collin)
build/ops: dmclock: initial commit of dmclock QoS library (pr#14330, J. Eric Ivancich)
build/ops: do_cmake.sh: enable ccache if installed (pr#15274, Sage Weil)
build/ops: do_cmake.sh: fix syntax for /bin/sh (doesn’t have +=) (pr#16433, Dan Mick)
build/ops: do_freebsd.sh: Remove ENODATA requirement (pr#13626, Willem Jan Withagen)
build/ops: drop libfcgi build dependency (pr#15285, Nathan Cutler)
build/ops: gitignore: Ignore rejects by patch (pr#14405, Willem Jan Withagen)
build/ops: include/assert: test c++ before using static_cast<> (pr#16424, Kefu Chai)
build/ops: init-ceph: add ceph libraries path to environment (pr#14693, Mohamad Gebai)
build/ops: init-ceph: fix ceph user args (pr#13467, Sage Weil)
build/ops: init-ceph: Make init-ceph work under FreeBSD for init-system (pr#13209, Willem Jan Withagen)
build/ops: install-deps.sh: add missing dependencies for FreeBSD (pr#16545, Alan Somers)
build/ops: install-deps.sh: workaround setuptools’ dependency on six (pr#15406, Kefu Chai)
build/ops: mailmap: Update OVH contributors (pr#13063, Bartłomiej Święcki)
build/ops: make package groups comply with openSUSE guidelines (issue#19184, pr#13781, Nathan Cutler)
build/ops: make-srpm: Pass first parameter to make-dist for building SRPM (pr#13480, Wido den Hollander)
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: miscellaneous cleanups and fixes (run-make-check.sh, ceph.spec.in) (issue#20091, issue#20127, pr#15399, Nathan Cutler)
build/ops,mon: mon/ConfigKeyService: add ‘config-key dump’ to show keys and vals (pr#14858, Dan Mick)
build/ops,mon: systemd: Restart Mon after 10s in case of failure (issue#18635, pr#13057, Wido den Hollander)
build/ops: msg/async/rdma: compile with rdma as default (pr#13901, DanielBar-On)
build/ops: os/bluestore: fix build errors when spdk is on (pr#16118, Ilsoo Byun)
build/ops: packaging: install libceph-common.so* not libceph-common.so.* (issue#18692, pr#13148, Kefu Chai)
build/ops,performance: crc32c: Add crc32c function optimized for ppc architecture (pr#13909, Andrew Solomon)
build/ops,performance,rbd: byteorder: use gcc intrinsics for byteswap (pr#15012, Kefu Chai)
build/ops,rbd,rgw: CMakeLists: trim rbd/rgw forced dependencies (pr#16574, Patrick Donnelly)
build/ops,rbd,tests: test/librbd: decouple ceph_test_librbd_api from libceph-common (issue#20175, pr#15611, Kefu Chai)
build/ops,rbd,tests: test/librbd: re-enable internal tests in ceph_test_librbd (pr#16255, Mykola Golub)
build/ops,rbd,tests: test: Need to exclude the fsx executable also on FreeBSD (pr#13686, Willem Jan Withagen)
build/ops: Revert “msg/async: increase worker reference with local listen table enabled backend” (issue#20603, pr#16323, Haomai Wang)
build/ops: Revert “msg/async/rdma: Debug prints for ibv (pr#14245, Kefu Chai)
build/ops,rgw: rgw_file: radosgw-admin can be built under FreeBSD (pr#12191, Willem Jan Withagen)
build/ops,rgw,tests,tools: vstart: allow to start multiple radosgw when RGW=x (pr#15632, Adam Kupczyk)
build/ops,rgw,tools: vstart: add --rgw_compression to set rgw compression plugin (pr#15929, Casey Bodley)
build/ops: rocksdb: build with ppc64 (pr#12908, Kefu Chai)
build/ops: rocksdb: 同步到上游 (pr#14456, Kefu Chai)
build/ops: rocksdb: 同步到上游 (pr#14818, Nathan Cutler, Kefu Chai)
build/ops: rpm: apply epoch only if %epoch macro is defined (pr#15286, Nathan Cutler)
build/ops: rpm: build ceph-resource-agents by default (issue#17613, pr#13515, Nathan Cutler)
build/ops: rpm: bump epoch ahead of RHEL base (issue#20508, pr#16126, Ken Dreyer)
build/ops: rpm,deb: fix ceph-volume (issue#20915, pr#16832, Sage Weil)
build/ops: rpm: disable dwz to speed up valgrind (issue#19099, pr#13748, Kefu Chai)
build/ops: rpm: drop boost build dependencies (pr#13519, Nathan Cutler)
build/ops: rpm: Drop legacy libxio support (pr#16449, Nathan Cutler)
build/ops: rpm: fix python-Sphinx package name for SUSE (pr#15015, Nathan Cutler, Jan Matejek)
build/ops: rpm: fix typo WTIH_BABELTRACE (pr#16366, Nathan Cutler)
build/ops: rpm: Fix undefined FIRST_ARG (issue#20077, pr#16208, Boris Ranto)
build/ops: rpm: gperftools-devel >= 2.4 (issue#13522, pr#14870, Nathan Cutler)
build/ops: rpm: make librbd1 %post scriptlet depend on coreutils (issue#20052, pr#15231, Giacomo Comes, Nathan Cutler)
build/ops: rpm: move _epoch_prefix below Epoch definition (pr#15417, Nathan Cutler)
build/ops: rpm: move RDMA and python-prettytables build dependencies to distro-conditional section (pr#15200, Nathan Cutler)
build/ops: rpm: obsolete libcephfs1 (pr#16074, Nathan Cutler)
build/ops: rpm: package COPYING, move sample ceph.conf to ceph-common (pr#15596, Nathan Cutler)
build/ops: rpm: package crypto on x86_64 only (pr#14779, Nathan Cutler)
build/ops: rpm: put mgr python build dependencies in make_check bcond (issue#20425, pr#15940, Nathan Cutler, Tim Serong)
build/ops: rpm: sane packaging of %{_docdir}/ceph directory (pr#15900, Nathan Cutler)
build/ops: script: adding contributor credits script (pr#13251, Patrick McGarry)
build/ops: script: drop the -x arg for credits script (pr#14296, Abhishek Lekshmanan)
build/ops: script/sepia_bt.sh: download packages from shaman not gitbuilder (pr#12799, Kefu Chai)
build/ops: script/sepia_bt.sh: get sha1,release from t.log if it’s not in core (pr#13620, Kefu Chai)
build/ops: script/sepia_bt.sh: support xenial (pr#13292, Kefu Chai)
build/ops: selinux: Allow ceph daemons to read net stats (issue#19254, pr#13945, Boris Ranto)
build/ops: selinux: Allow read on var_run_t (issue#16674, pr#15523, Boris Ranto)
build/ops: selinux: Do parallel relabel on package install (issue#20077, pr#14871, Boris Ranto)
build/ops: selinux: Install ceph-base before ceph-selinux (issue#20184, pr#15490, Boris Ranto)
build/ops: Set subman cron attributes in spec file (issue#20074, pr#15270, Thomas Serlin)
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: src/init-ceph.in: allow one((re)?start|stop) as commands (pr#14560, Willem Jan Withagen)
build/ops: sync luminous tag back to master (pr#16758, Jenkins Build Slave User)
build/ops: systemd: Add explicit Before=ceph.target (pr#15835, Tim Serong)
build/ops: systemd/ceph-disk: make it possible to customize timeout (issue#18740, pr#13197, Alexey Sheplyakov)
build/ops: systemd/ceph-mgr: remove automagic mgr creation hack (issue#19994, pr#16023, Sage Weil)
build/ops: systemd: remove ceph-create-keys from presets (pr#14226, Sébastien Han)
build/ops: systemd: Start OSDs after MONs (issue#18516, pr#13097, Boris Ranto)
build/ops: test/fio_ceph_objectstore: fix fio plugin build failure caused by rec… (pr#12655, Igor Fedotov)
build/ops,tests: qa: make run-standalone work on FreeBSD (pr#16595, Willem Jan Withagen)
build/ops,tests: test/osd/CMakeLists.txt: osd-dup.sh require BlueStore/AIO (pr#14387, Willem Jan Withagen)
build/ops,tests: test/osd/osd-dup.sh: warn on low open file limit (pr#14637, Piotr Dałek)
build/ops,tests,tools: vstart.sh: Work around mgr restfull not available (pr#15877, Willem Jan Withagen)
build/ops: The Clangtastic Mr. Clocks (pr#15186, Adam C. Emerson)
build/ops: tool: add some ceph relate processes to ps-ceph.pl (pr#12406, songbaisen)
build/ops: tools/scripts:”FreeBSD getopt is not compatible, use the one from packages” (pr#13260, Willem Jan Withagen)
build/ops: tracing: Fix error in including all files in osd_tp (pr#12501, Ganesh Mahalingam)
build/ops: upstart: start radosgw-all according to runlevel (issue#18313, pr#12586, Ken Dreyer)
build/ops: vstart: clean up usage a bit (pr#13138, Sage Weil)
build/ops: vstart: do not start mgr if not start_all (pr#13974, Kefu Chai)
build/ops: yasm-wrapper: filter -pthread (pr#15249, Alessandro Barbieri)
build/ops: yasm-wrapper: strip -E (stops ccache trashing source files) (pr#14633, Tim Serong)
cephfs: #11950: Persistent purge queue (issue#11950, pr#12786, John Spray)
cephfs: #17980: MDS client blacklisting and blacklist on eviction (issue#17980, issue#9754, pr#14610, John Spray)
cephfs: #18600: Clear out tasks that don’t make sense from multimds suite (issue#18600, pr#13089, John Spray)
cephfs: ceph_fuse: fix daemonization when pid file is non-empty (pr#13532, “Yan, Zheng”)
cephfs: ceph_fuse: pid_file default to empty (issue#18309, pr#12628, Nathan Cutler)
cephfs: ceph-fuse: use user space permission check by default (issue#19820, pr#14907, “Yan, Zheng”)
cephfs: ceph: simplify CInode::maybe_export_pin() (pr#15106, “Yan, Zheng”)
cephfs: client: avoid returning negative space available (issue#20178, pr#15481, John Spray)
cephfs: client: call the lru_remove() twice,when trim cache (pr#15662, huanwen ren)
cephfs: client: check for luminous MDS before sending FLUSH_MDLOG (pr#15805, John Spray)
cephfs: client/Client.cc: after reset session from MDS - reconnect (issue#18757, pr#13522, Henrik Korkuc)
cephfs: client/Client.cc: prevent segfaulting (issue#9935, pr#12550, Michal Jarzabek)
cephfs: client: client_quota no longer optional (pr#14978, Dan van der Ster)
cephfs: client: don’t request lookup parent if ino is root (pr#12478, huanwen ren)
cephfs: client: drop cap snaps when auth mds session gets closed (issue#19022, pr#13579, “Yan, Zheng”)
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 Dentry::dump (pr#15779, huanwen ren)
cephfs: client: fix display ino in the ldout (pr#15314, huanwen ren)
cephfs: client: fix potential buffer overflow (pr#12515, Yunchuan Wen)
cephfs: client: fix the cross-quota rename boundary check conditions (pr#12489, Greg Farnum)
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: client/inode: fix the dump type of Inode::dump() (pr#15198, huanwen ren)
cephfs: client: populate metadata during mount (issue#18361, pr#12915, John Spray)
cephfs: client: priority to verify the correctness of the “flag” (pr#12897, huanwen ren)
cephfs: client: refine fsync/close writeback error handling (pr#14589, John Spray)
cephfs: client: remove dead log code (pr#13093, Patrick Donnelly)
cephfs: client: remove request from session->requests when handling forward (issue#18675, pr#13124, “Yan, Zheng”)
cephfs: client: simplify remove_cap interface (pr#12161, John Spray)
cephfs: client: specify inode in get_caps log message (pr#13966, John Spray)
cephfs: client: wait for lastest osdmap when handling set file/dir layout (issue#18914, pr#13580, “Yan, Zheng”)
cephfs,common: common/MemoryModel: Bump int to long and drop mallinfo (pr#13453, Xiaoxi Chen)
cephfs,common,core: librados,osdc: kill ack vs commit distinction (pr#12607, Sage Weil)
cephfs,common: include/fs_types: fix unsigned integer overflow (pr#12440, runsisi)
cephfs,common,rbd: blkin: librbd trace hooks (pr#15053, Victor Araujo, Jason Dillaman)
cephfs,common,rbd: osdc: cache should ignore error bhs during trim (issue#18436, pr#12966, Jason Dillaman)
cephfs,core: Add test for is_hacky_ecoverwrites in cephfs pool checks (pr#13466, John Spray)
cephfs,core: cleanup: use std::make_shared to replace new (pr#12276, Yunchuan Wen)
cephfs,core,mon: mon/MDSMonitor: fix segv when multiple MDSs raise same alert (pr#16302, Sage Weil)
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: fs/ceph-fuse: normalize file open flags on the wire (pr#14822, Jan Fajerski)
cephfs: libcephfs.cc: fix memory leak (pr#12557, Michal Jarzabek)
cephfs: libcephfs: cleanups (pr#12830, huanwen ren)
cephfs: libcephfs: fix cct refcount constructing from rados (pr#12831, John Spray)
cephfs: mds/MDBalancer: remove useless check_targets and hit_targets logic from MDS balancer (issue#20131, pr#15407, Zhi Zhang)
cephfs: mds/MDLog.cc Fix perf counter type for jlat (pr#13449, Xiaoxi Chen)
cephfs: mds/Server.cc: Don’t evict a slow client if (issue#17855, pr#12935, Michal Jarzabek)
cephfs: mds/StrayManager: avoid reusing deleted inode in StrayManager::_purge_stray_logged (issue#18877, pr#13347, Zhi Zhang)
cephfs,mgr: pybind/mgr/fsstatus: use mds_mem.dn as dentry counter (pr#15255, Zhi Zhang)
cephfs: Mitigation for #16842, validate sessions after load (issue#16842, pr#14164, John Spray)
cephfs: mon/FSCommand: fix indentation (pr#15423, Sage Weil)
cephfs: mon/MDSMonitor.cc:refuse fs new on pools with obj (issue#11124, pr#12825, Michal Jarzabek)
cephfs: mon/MDSMonitor: respect mds_standby_for_rank config (pr#15129, “Yan, Zheng”)
cephfs: mount: do not print “unknown” option to kclient (issue#18159, pr#12465, John Spray)
cephfs: osdc/Filer: truncate large file party by party (issue#19755, pr#14769, “Yan, Zheng”)
cephfs: osdc/Journaler: avoid executing on_safe contexts prematurely (issue#20055, pr#15240, “Yan, Zheng”)
cephfs: osdc/Journaler: fix memory leak in Journaler::_issue_read() (issue#20338, pr#15776, “Yan, Zheng”)
cephfs: osdc/Objecter: fix inflight_ops update (pr#15768, “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,performance: mds/server: skip unwanted dn in handle_client_readdir (pr#12870, Xiaoxi Chen)
cephfs: Permit recovering metadata into a new RADOS pool (issue#15069, issue#15068, pr#10636, Douglas Fuller)
cephfs: qa/cephfs: disable mds_bal_frag for TestStrays.test_purge_queue_op_rate (issue#19892, pr#15105, “Yan, Zheng”)
cephfs: qa/cephfs: Fix for test_data_scan (issue#19893, pr#15094, Douglas Fuller)
cephfs: qa: fix race in Mount.open_background (issue#18661, pr#13137, John Spray)
cephfs: qa/suites/fs: reserve more space for mds in full tests (issue#19891, pr#15026, “Yan, Zheng”)
cephfs: qa/tasks/cephfs: use getattr to guarantee inode is in client cache (issue#19912, pr#15062, “Yan, Zheng”)
cephfs: qa: unpin knfs from ubuntu (issue#16397, pr#13088, John Spray)
cephfs: qa: update log whitelists for kcephfs suite (pr#14922, “Yan, Zheng”)
cephfs: qa: update remaining ceph.com to download.ceph.com (问题#18574, pr#12964, John Spray)
cephfs: qa: whitelist new fullness messages in fs tests (issue#19253, pr#13915, John Spray)
cephfs: Remove “experimental” warnings from multimds (pr#15154, John Spray, “Yan, Zheng”)
cephfs: Rewrite mount.fuse.ceph (to python) and move ceph-fuse options to fs_mntops (pr#11448, Edgaras Lukosevicius)
cephfs: tasks/cephfs: fix kernel force umount (issue#18396, pr#12833, Yan, Zheng)
cephfs: test/libcephfs: avoid buffer overflow when testing ceph_getdents() (issue#18941, pr#13429, “Yan, Zheng”)
cephfs,tests: Add multimds:thrash sub-suite and fix bugs in thrasher for multimds (issue#18690, issue#10792, pr#13262, Patrick Donnelly)
cephfs,tests: ceph-object-corpus: mark MMDSSlaveRequest incompat change (pr#15730, Sage Weil)
cephfs,tests: Improve vstart_runner to (optionally) create its own cluster (pr#12800, John Spray)
cephfs,tests: qa: fix float parse error in test_fragment (pr#15122, Patrick Donnelly)
cephfs,tests: qa: fix test_standby_for_invalid_fscid with vstart_runner (pr#14272, John Spray)
cephfs,tests: qa: handle SSHException in logrotate (pr#13359, 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: misc cephfs test improvements (issue#20131, pr#15411, John Spray)
cephfs,tests: qa: re-enable ENOSPC tests for kclient (issue#19550, pr#14396, John Spray)
cephfs,tests: qa: silence spurious insufficient standby health warnings (pr#15035, Patrick Donnelly)
cephfs,tests: qa: silence upgrade test failure (issue#19934, pr#15126, Patrick Donnelly)
cephfs,tests: qa: simplify TestJournalRepair (pr#15096, John Spray)
cephfs,tests: qa/tasks: force umount during kclient teardown (issue#18663, pr#13099, John Spray)
cephfs,tests: qa: Tidy up fs/ suite (pr#14575, 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,tests: tasks/cephfs: tear down on mount() failure (pr#13282, John Spray)
cephfs: tools/cephfs: removeapplymode of cephfs-journal-tool (pr#15715, John Spray)
cephfs: tools/cephfs: set dir_layout when injecting inodes (issue#19406, pr#14234, John Spray)
ceph-volume: use unique logical volumes (pr#17208, Alfredo Deza)
cleanup: .gitignore: exclude rpm files (pr#15745, liuchang0812)
cleanup: Move code from .h into .cc (pr#12737, Amir Vadai)
cleanup: resolve compiler warnings (pr#13236, Adam C. Emerson)
cleanup: src: put-to operator function - const input cleanup (issue#3977, pr#15364, Jos Collin)
cmake: add “container” to required boost components (pr#14850, Kefu Chai)
cmake: Add -finstrument-functions flag to OSD code (pr#15055, Mohamad Gebai)
cmake: add RGW and MDS to libcephd (pr#12345, Bassam Tabbara)
cmake: Add simple recursive ctags target for Ceph source only (pr#14334, Kefu Chai, Dan Mick)
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: build boost as an external project (pr#15376, Kefu Chai)
cmake: build tracepoint libraries for vstart target (pr#14354, Mohamad Gebai)
cmake: check the existence of gperf before using it (pr#15164, Kefu Chai)
cmake: cleanup the use of udev and blkid in target_link_lib() (pr#12811, Willem Jan Withagen)
cmake: disable -fvar-tracking-assignments for config.cc (pr#16695, Kefu Chai)
cmake: disable mallinfo for jemalloc (pr#12469, Bassam Tabbara)
cmake: do not add dependencies to INTERFACE library on cmake < 3.3 (pr#15813, Kefu Chai)
cmake: do not compile crush twice (pr#14725, Kefu Chai)
cmake: do not link libcommon against some libs (pr#15340, Willem Jan Withagen)
cmake: do not try to add submodule to exclude list if .git is not around (pr#14495, Kefu Chai)
cmake: enable cross-compilation of boost (issue#18938, pr#14881, Kefu Chai)
cmake: exclude *.css while generating ctags (pr#15663, liuchang0812)
cmake: explictly call find_package(PythonInterp) first to fix build err (pr#12385, Yixun Lan)
cmake: fix boost components for WITH_SYSTEM_BOOST (pr#15160, Bassam Tabbara)
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: fix the build with -DWITH_ZFS=ON (pr#15907, Kefu Chai)
cmake: fix the linked lib reference of unittest_rgw_crypto (pr#14869, Willem Jan Withagen)
, liuchang0812)pr#15147, Bassam Tabbara)
cmake: kill duplicated cmake commands (pr#14948, liuchang0812)
cmake: link against fcgi only if enabled (pr#15425, Yao Zongyou)
cmake: link ceph-{mgr,mon,mds,osd} against libcommon statically (pr#12878, Kefu Chai)
cmake: link consumers of libclient with libcommon (issue#18838, pr#13394, Kefu Chai)
cmake: misc fixes for build on i386 (pr#15516, James Page)
cmake: pass -d0 to b2 if not CMAKE_VERBOSE_MAKpr#14651, Kefu Chai)
cmake: remove Findpciaccess.cmake (pr#12776, optimistyzy)
cmake: Rewrite HAVE_BABELTRACE option to WITH (pr#15305, Willem Jan Withagen)
cmake: rgw: do not link against boost in a wholesale (pr#15347, Nathan Cutler, Kefu Chai)
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: should not compile crc32c_ppc.c on intel arch (pr#14423, Kefu Chai)
cmake: simplify find_package jemalloc (pr#12468, Bassam Tabbara)
cmake: support for external rocksdb (pr#12467, Bassam Tabbara)
cmake: support optional argument for overriding default ctag excludes (pr#14379, Kefu Chai)
cmake: turn libcommon into a shared library (pr#12840, Kefu Chai)
cmake: use CMAKE_INSTALL_INCLUDEDIR (pr#16483, David Disseldorp)
cmake: workaound ccache issue with .S assembly files (pr#15142, Bassam Tabbara)
common: add ceph::size() (pr#15181, Kefu Chai)
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: Enhancement for the supported auth methods (pr#12937, Dave Chen)
common: auth/RotatingKeyRing: use std::move() to set secrets (pr#15866, Kefu Chai)
common: avoid statically allocating configuration options (issue#20869, pr#16735, Jason Dillaman)
common: Better handling for missing/inaccessible ceph.conf files (issue#19658, pr#14757, Dan Mick)
common: bufferlist: cleanup semantical wrong for bufferlist::append (pr#12247, Yankun Li)
common: buffer: silence unused var warning on FreeBSD (pr#16452, Willem Jan Withagen)
common: ceph_osd: remove client message cap limit (pr#14944, Haomai Wang)
common: ceph: wait for maps before doing ‘ceph tell … help’ (issue#20113, pr#16756, Sage Weil)
common: cls/log/cls_log.cc: reduce logging noise (issue#19835, pr#14879, Willem Jan Withagen)
common: cls: optimize header file dependency (pr#15165, Brad Hubbard, Xiaowei Chen)
common: cmdparse: more constness (pr#15023, Kefu Chai)
common: common/admin_socket: add config for admin socket permission bits (pr#11684, runsisi)
common: common/admin-socket: fix potential buffer overflow (pr#12518, Yunchuan Wen)
common: common/auth: add override in headers (pr#13692, liuchang0812)
common: common/BackTrace: add operator<< (pr#9028, Kefu Chai)
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/buffer: off-by-one error in max iov length blocking (issue#20907, pr#16803, Dan Mick)
common: common/ceph_context.cc: Use CEPH_DEV to reduce logfile noise (pr#10384, Willem Jan Withagen)
common: common/ceph_context: ‘config diff get’ option added (pr#10736, Daniel Oliveira)
common: common/ceph_context: fewer warnings about experimental features (pr#14170, Sage Weil)
common: common/ceph_context: fix leak of registered commands on exit (pr#15302, xie xingguo)
common: common/ceph_context: Show clear message if all features are enabled (pr#12676, Dave Chen)
common: common/cmdparse.cc: remove unused variable ‘argnum’ in dump_cmd_to_json() (pr#16862, Luo Kexue)
common: common/common_init: disable default dout logging for UTILITY_NODOUT too (issue#20771, pr#16578, Sage Weil)
common: common/config: Add /usr/local/etc/ceph to default paths (pr#14797, Willem Jan Withagen)
common: common/config: eliminate config_t::set_val unsafe option (issue#19106, pr#13687, liuchang0812)
common: common/config: fix return type of string::find and use string::npos (pr#9924, Yan Jun)
common: common,config: OPT_FLOAT and OPT_DOUBLE output format in config show (issue#20104, pr#15647, Yanhu Cao)
common: common/config_opt: remove unused config (pr#15874, alex.wu)
common: common/config_opts: drop unused opt (pr#15876, Yanhu Cao)
common: common/config_opts.h: FreeBSD timing changed due to no SO_REUSEADDR (pr#12594, Willem Jan Withagen)
common: common/config_opts.h: Remove deprecated osd_compact_leveldb_on_mount option (issue#19318, pr#14059, Vikhyat Umrao)
common: common/config_opts.h: remove obsolete configuration option (pr#12659, Li Wang)
common: common/config_opts: Set the HDD throttle cost to 1.5M (pr#14808, Mark Nelson)
common: common/EventTrace: fix compiler warning (pr#13659, Jianpeng Ma)
common: common/Finisher: fix uninitialized variable warning (pr#14958, Piotr Dałek)
common: common/freebsd_errno.cc: fixed again a stupid typo (pr#15742, Willem Jan Withagen)
common: common/interval_set: return int64_t for size() (pr#12898, Xinze Chi)
common: common/iso_8601.cc: Make return expression Clang compatible (pr#15336, Willem Jan Withagen)
common: common/LogEntry: include EntityName in log entries (pr#15395, Sage Weil)
common: common/Mutex.cc: fixed the error in comment (pr#16214, Pan Liu)
common: common/options: refactors to set the properties in a more structured way (pr#16482, Kefu Chai)
common: common,osdc: remove atomic_t completely (pr#15562, Kefu Chai)
common: common/perf_counters: add average time for PERFCOUNTER_TIME (pr#15478, xie xingguo)
common: common/perf_counters: fix race condition with atomic variables (pr#14227, J. Eric Ivancich)
common: common/perf_counters: make schema more friendly and update docs (pr#14933, Sage Weil)
common: common/perf_counters.: Remove unnecessary judgment (pr#10407, zhang.zezhu)
common: common/simple_spin: use __ppc_yield() on all powerpc archs (pr#14310, Kefu Chai)
common: common,test: migrate atomic_t to std::atomic (pr#14866, Jesse Williamson)
common: common/Timer: do not add event if already shutdown (issue#20432, pr#16201, Kefu Chai)
common: common/WorkQueue: use threadpoolname + threadaddr for heartbeat_han… (pr#16563, huangjun)
common: common/xmlformatter: turn on underscored and add unittest (pr#12916, liuchang0812)
common: compressor/zlib: remove g_ceph_context/g_conf from compressor plugin (pr#16245, Casey Bodley)
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_opt: use bool instead of int for the default value of filestore_debug_omap_check (pr#15651, liuchang0812)
common,core: ceph_test_rados_api_misc: fix LibRadosMiscConnectFailure.ConnectFailure retry (issue#19901, pr#15522, Sage Weil)
common: core/common: Fix ENODATA for FreeBSD with compat.h (issue#19883, pr#15685, Willem Jan Withagen)
common,core: common, osd, tools: Add histograms to performance counters (pr#12829, Bartłomiej Święcki)
common,core: common/pick_address.cc: Copy public_netw to cluster_netw if cluster empty (pr#12929, Willem Jan Withagen)
common,core: common/TracepointProvider: add assert if dlopen error (pr#13430, Jianpeng Ma)
common,core: common/TrackedOp: make TrackedOp::reset_desc() safe (issue#19110, pr#13702, Sage Weil)
common,core: mempool: put bloom_filter in mempool (pr#13009, Sage Weil)
common,core: osd,mds,mgr: do not dereference null rotating_keys (issue#20667, pr#16455, Sage Weil)
common,core: osd,osdc: pg and osd-based backoff (pr#12342, Sage Weil)
common,core: osd/OSDMap: make osd_state 32 bits wide (pr#15390, Sage Weil)
common,core: osd/OSDMap: replace require_osds flags with a single require_osd_release field (pr#15068, Sage Weil)
common,core: osd/OSDMap: replace string-based min_compat_client with a CEPH_RELEASE uint8_t (pr#15351, Sage Weil)
common,core: osd/osd_types: add flag name (IGNORE_REDIRECT) (pr#15795, Myoungwon Oh)
common,core: rados: we need to get the latest osdmap when pool does not exists (pr#13289, song baisen)
common,core,tests: Wip cppcheck errors (pr#14446, Brad Hubbard)
common: crc32c: include acconfig.h to fix ceph_crc32c_aarch64() (pr#15515, Kefu Chai)
common: crush/CrushWrapper: fix has_incompat_choose_args (pr#15218, Sage Weil)
common: crush/CrushWrapper: fix has_incompat_choose_args() (pr#15244, Sage Weil)
common: crypto: cleanup NSPR in main thread (pr#14801, Kefu Chai)
common: delete unused conf “filestore_debug_disable_sharded_check” (pr#13051, Chuanhong Wang)
common: denc: add encode/decode for basic_sstring (pr#15135, Kefu Chai, Casey Bodley)
common: do not print error when asok is closed (pr#14022, Patrick Donnelly)
common: fix building against libcryptopp (pr#14949, Shengjing Zhu)
common: Fix clang compilation (pr#13335, Bartłomiej Święcki)
common: Fix heap buffer overflow in do_request (issue#19393, pr#14173, Brad Hubbard)
common: fix lockdep vs recursive mutexes (pr#9940, Adam Kupczyk)
common: fix log warnings (pr#16056, xie xingguo)
common: fix Option set_long_description (pr#16668, Yan Jun)
common: fix segfault in public IPv6 addr picking (issue#19371, pr#14124, Fabian Grünbichler)
common: fix that $host always expands to localhost instead of actual hostname (issue#11081, pr#12998, liuchang0812)
common: fix typo in option of rados_mon_op_timeout’s comment (pr#15681, liuchang0812)
common: Fix unused variable references warnings (pr#14790, Willem Jan Withagen)
- common: follow up to new options infrastructure (pr#16527, John Spray)
common: Forward-declare container I/O overloads
common: get_process_name: use getprogname on bsd systems (pr#15338, Mykola Golub)
common: get rid of “warning: ignoring return value of ‘strerror_r’” (pr#12775, xie xingguo)
common: global: we need to handle the init_on_startup return value when global_init (pr#13018, song baisen)
common: Implements simple_spin_t in terms of std::atomic_flag (pr#14370, Jesse Williamson)
common: Improved CRC calculation for zero buffers (pr#11966, Adam Kupczyk)
common: include/ceph_features.h uses uint64_t, which is in sys/types.h (pr#13339, Willem Jan Withagen)
common: include/denc: improvements (pr#12626, Adam C. Emerson)
common: include/denc, kv: silence gcc warnings (pr#13458, Kefu Chai)
common: include/denc: remove nullptr runtime magic boundedness check (pr#13889, Sage Weil)
common: include/lru.h: add const to member functions (pr#15408, yonghengdexin735)
common: include/mempool: fix typo in comments (pr#12772, huangjun)
common: include/rados: Fix typo in rados_ioctx_cct() doc (pr#15220, Jos Collin)
common: include: Redo some includes for FreeBSD (issue#19883, pr#15337, Willem Jan Withagen)
common: initialize array in struct BackTrace (pr#15864, Jos Collin)
common: initialize _hash in LogEntryKey() (pr#15615, Jos Collin)
common: int_types.h: remove hacks to workaround old systems (pr#15069, Kefu Chai)
common: kv: resolve a crash issue in ~LevelDBStore() (pr#16553, wumingqiao)
common: librados,libradosstriper,test: migrate atomic_t to std::atomic (baragon) (pr#14658, Jesse Williamson)
common: librados, osd: clang fixes (pr#13768, Kefu Chai)
common: libradosstriper: Add example code (pr#15350, Logan Blyth)
common: libradosstriper: fix format injection vulnerability (issue#20240, pr#15674, Stan K)
common: libradosstriper: fix MultiAioCompletion leaks on failure (pr#15471, Kefu Chai)
common: make attempts of auth rotating configurable (pr#12563, xie xingguo)
common: Make spinlock delay more conventional (pr#14248, Brad Hubbard)
common: mempool: improve dump; fix buffer accounting bugs (pr#15403, Sage Weil)
common: messages: fix return type name of MOSDMap (pr#14382, liuchang0812)
common: mgr/PyFormatter: implement dump_format_va (pr#15634, Sage Weil)
common: misc cleanups in common, global, os, osd submodules (pr#16321, Yan Jun)
common: misc fixes detected by crypto shutdown assert (pr#12925, Sage Weil)
common,mon: crush,mon: add weight-set introspection and manipulation commands (pr#16326, Sage Weil)
common,mon: messenger,client,compressor: migrate atomic_t to std::atomic (pr#14657, Jesse Williamson)
common: mon/MonClient: scale backoff interval down when we have a healthy mon session (issue#20371, pr#16576, Kefu Chai, Sage Weil)
common,mon: mon,crush: add ‘osd crush swap-bucket’ command (pr#15072, Sage Weil)
common: msg/async: add assert of ms_async_op_threads > 0 (pr#15629, linbing)
common: msg/async: assert if compiled code doesn’t support the configured ms (pr#12559, Avner BenHanoch)
common: msg/async: fix crash that writing char to nonblock-fd gets EAGAIN in EventCenter::wakeup (pr#13822, liuchang0812)
common: msg/async: make recv_stamp more precise (pr#15810, Pan Liu)
common: msg/async/rdma: Add fork safe on RDMA (pr#13740, Sarit Zubakov)
common: msg/async/rdma: clean line endings (pr#12688, Adir Lev)
common: msg/async/rdma: Remove compilation warning (pr#13142, Sarit Zubakov)
common: msg/async/rdma: rename chunk_size to buffer_size (pr#13666, Adir Lev)
common: msg/async/rdma: Support for RoCE v2 and SL (pr#12556, Oren Duer)
common: msg/async/rdma: Update fix broken compilation (pr#13940, Sarit Zubakov)
common: msg/async: return right away in NetHandler::set_priority() if not supported (pr#14795, Kefu Chai)
common: msg/simple: call clear_pipe in wait() shutdown path (issue#15784, pr#12633, Sage Weil)
common: msg/SimpleMessenger: error out misplace in set_socket_options (pr#13961, wangzhengyong)
common: msg/simple/Pipe: support IPv6 QoS (issue#18887, pr#13370, Robin H. Johnson)
common: .organizationmap: Updated authors (pr#14360, Jos Collin)
common: osdc: fix osdc_osd_seesion perf counter (pr#13478, Xiaoxi Chen)
common: osdc/Objecter: fix bugs in explicit naming of op spg_t (pr#13534, Sage Weil)
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: osdc/Objecter: release message if it’s not handled (issue#19741, pr#15890, Kefu Chai)
common: osdc/Objecter: resend RWORDERED ops on full (issue#19133, pr#13759, Sage Weil)
common: osd/OSDMap: fix feature commit comment (pr#15056, Sage Weil)
common: osd/OSDMap: get_previous_up_osd_before() may run into endless loop (pr#12976, Mingxin Liu)
common: osd/OSDMap: print require_osd_release (pr#15974, Sage Weil)
common: osd/osd_types: clean up OSDOp printers (pr#12980, Sage Weil)
common: Passing null pointer option_name to operator << in md_config_t::parse_option() (pr#15881, Jos Collin)
common,performance: buffer: allow buffers to be accounted in arbitrary mempools (pr#15352, Sage Weil)
common,performance: common/Finisher: batch handle perfcounter && only send signal when waiter existed (pr#14363, Jianpeng Ma)
common,performance: crc32c: Add ppc64le fast zero optimized assembly (pr#15100, Andrew Solomon)
common,performance: inline_memory: optimized mem_is_zero for non-x64 (pr#15307, Piotr Dałek)
common,performance: kv/rocksdb: supports SliceParts interface (pr#15058, Haomai Wang)
common,performance: osd/OSDMap: make pg_temp more efficient (pr#15291, Sage Weil)
common: possible lockdep false alarm for ThreadPool lock (issue#18819, pr#13258, Mykola Golub)
common: prevent unset_dumpable from generating warnings (pr#16462, Willem Jan Withagen)
common: rados: allow “rados purge” to delete objects when osd is full (pr#13814, Pan Liu)
common: rados: more info added to pool deletion error (issue#19400, pr#14235, Vedant Nanda)
common,rbd: osdc/Objecter: unify disparate EAGAIN handling paths into one (pr#16627, Sage Weil)
common,rbd,rgw: common/escape: do not escape / in json (pr#14130, Sage Weil)
common,rbd,rgw: common/rgw/rbd: remove some unused variables (pr#16690, Luo Kexue)
common,rdma: msg/async/rdma: automatically set RDMAV_HUGEPAGES_SAFE according to conf (pr#15755, DanielBar-On)
common,rdma: msg/async/rdma: check ulimit (pr#13655, Sarit Zubakov, Adir Lev)
common,rdma: msg/async/rdma: Introduce Device.{cc,h} (pr#14001, Amir Vadai)
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,rdma: msg/async/rdma: reduce number of rdma rx/tx buffers (pr#13190, Adir Lev)
common,rdma: msg/async/rdma: use lists properly (pr#15908, Adir lev, Adir Lev)
common: remove config opt conversion utility (pr#16480, John Spray)
common: remove n on clog messages (pr#13794, Sage Weil)
common: Remove redundant includes - 2 (issue#19883, pr#15169, Jos Collin)
common: Remove redundant includes - 3 (issue#19883, pr#15204, Jos Collin)
common: Remove redundant includes - 4 (issue#19883, pr#15251, Jos Collin)
common: Remove redundant includes - 5 (issue#19883, pr#15267, Jos Collin)
common: Remove redundant includes - 6 (issue#19883, pr#15299, Jos Collin)
common: Remove redundant includes (issue#19883, pr#15003, Brad Hubbard)
common: Remove redundant includes (issue#19883, pr#15019, Brad Hubbard)
common: Remove redundant includes (issue#19883, pr#15042, Brad Hubbard)
common: Remove redundant includes (issue#19883, pr#15086, Jos Collin)
common: remove useless parameter (pr#14096, baiyanchun)
common: Revamp config option definitions (issue#20627, pr#16211, John Spray, Kefu Chai, Sage Weil)
common,rgw: cls/refcount: store and use list of retired tags (issue#20107, pr#15673, Yehuda Sadeh)
common: src/common/ceph_string: stringify new osd states (pr#15751, xie xingguo)
common: src/common: change last_work_queue to next_work_queue (pr#14738, Pan Liu)
common: support s390 and unknown architectures in spin-wait loop (issue#19492, pr#14337, Nathan Cutler)
common,tests: ceph_test_rados_api_c_read_operations: do not assert per-op rval is correct (issue#19518, pr#16196, Sage Weil)
common,tests: ceph_test_rados_api_list: more fix LibRadosListNP.ListObjectsError (issue#19963, pr#15138, Sage Weil)
common,tests: test: Make screencandy optional for FreeBSD (pr#15444, Willem Jan Withagen)
common: the latency dumped by “ceph osd perf” is not real (issue#20749, pr#16512, Pan Liu)
common,tools: osdmaptool: show all the pg map to osds info (pr#9419, song baisen)
common: tracing: Fix handle leak in TracepointProvider (pr#12652, Brad Hubbard)
common: tracing: fix segv (issue#18576, pr#14304, Anjaneya Chagam)
common: Update the error string when res_nsearch() or res_search() fails (pr#15878, huanwen ren)
common: use ref to avoid unnecessary memory copy (issue#19107, pr#13689, liuchang0812)
common: use std::move() for better performance (pr#16620, Xinying Song)
common: xio: migrate atomic_t to std::atomic<> (pr#15230, Jesse Williamson)
compressor: conditionalize on HAVE_LZ4 (pr#17174, Kefu Chai)
compressor: fix Mutex::Locker used is not correct (pr#13935, hechuang)
compressor: zlib: fix plugin for non-Intel arches (pr#14947, Dan Mick)
core: auth: ‘ceph auth import -i’ overwrites caps, if caps are not specified (issue#18932, pr#13468, Vikhyat Umrao)
core: auth: Remove unused function in AuthSessionHandler (pr#16666, Luo Kexue)
core: ceph: allow ‘-’ with -i and -o for stdin/stdout (pr#16359, Sage Weil)
core: ceph-create-keys: Add connection timeouts (pr#11995, Owen Synge)
core: ceph-dencoder: Silence coverity CID 1412579 (pr#15744, Brad Hubbard)
core: ceph-detect-init: Add docker detection (pr#13218, Guillaume Abrioux)
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/ceph_disk/main.py: Replace ST_ISBLK() test by is_diskdevice() (pr#15587, Willem Jan Withagen)
core: ceph-disk: ceph-disk on FreeBSD should not use mpath-code (pr#14837, Willem Jan Withagen)
core: ceph-disk: dmcrypt activate must use the same cluster as prepare (issue#17821, pr#13573, Loic Dachary)
core: ceph-disk: dmcrypt cluster must default to ceph (issue#20893, pr#16776, Loic Dachary)
core: ceph-disk: do not setup_statedir on trigger (issue#19941, pr#15410, Loic Dachary)
core: ceph-disk: enable directory backed OSD at boot time (issue#19628, pr#14546, Loic Dachary)
core: ceph-disk: Fix getting wrong group name when --setgroup in bluestore (issue#18955, pr#13457, craigchi)
core: ceph-disk: FreeBSD changes to get it working and passing tests (pr#12086, Willem Jan Withagen)
core: ceph-disk: implement prepare --no-locking (pr#14728, Dan van der Ster, Loic Dachary)
core: ceph_disk/main.py: Allow FreeBSD zap a OSD disk (pr#15642, Willem Jan Withagen)
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: Reporting /sys directory in get_partition_dev() (pr#14080, Erwan Velu)
core: ceph-disk: Revert “Revert “change get_dmcrypt_key test to support different cluster name”” (pr#13600, Loic Dachary)
core: ceph-disk: separate ceph-osd --check-needs-* logs (issue#19888, pr#15016, Loic Dachary)
core: ceph-disk: set the default systemd unit timeout to 3h (issue#20229, pr#15585, Loic Dachary)
core: ceph-disk: support osd new (pr#15432, Loic Dachary, Sage Weil)
core: ceph-disk: Write 10M to all partitions before zapping (issue#18962, pr#13766, Wido den Hollander)
core: ceph: do not throw TypeError on connection failure (pr#13268, Kefu Chai)
core: ceph.in: Fix couple of minor issues on the messages (pr#12797, Dave Chen)
core: ceph-objectstore-tool: do not populate snapmapper with missing clones (issue#19943, pr#15787, Sage Weil)
core: ceph-osd: fix auto detect which objectstore is currently running (issue#20865, pr#16717, Yanhu Cao)
core: ceph-osd: --flush-journal: sporadic segfaults on exit (issue#18820, pr#13311, Alexey Sheplyakov)
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/options: remove mon_warn_osd_usage_min_max_delta from options.cc too (pr#16488, Sage Weil)
core: common/TrackedOp: allow dumping historic ops sorted by duration (pr#14050, Piotr Dałek)
core: compressor: add LZ4 support (pr#15434, Haomai Wang)
core: compressor: optimize header file dependency (pr#15187, Brad Hubbard, Xiaowei Chen)
core: Context: C_ContextsBase: delete enclosed contexts in dtor (issue#20432, pr#16159, Kefu Chai)
core: crush/CrushWrapper: chooseargs encoding fix (pr#15984, Ilya Dryomov)
core: crush/CrushWrapper: make get_immediate_parent[_id] ignore per-class shadow hierarchy (issue#20546, pr#16221, Sage Weil)
core: crush, mon: make jewel the lower bound for client/crush compat for new clusters (pr#15370, Sage Weil)
core: erasure-code: optimize header file dependency (pr#15172, Brad Hubbard, Xiaowei Chen)
core: erasure-code: Remove duplicate of isa-l files (pr#15372, Ganesh Mahalingam)
core: erasure-code: sync jerasure/gf-complete submodules (pr#14424, Loic Dachary)
core: filestore: migrate atomic_t to std::atomic<> (pr#15228, Jesse Williamson)
core: Give requested scrub work a higher priority (issue#15789, pr#14488, David Zafman)
core: global: start removing g_ceph_context (pr#12149, Adam C. Emerson)
core: HashIndex.cc: add compat.h for ENODATA (pr#16697, Willem Jan Withagen)
core: include/denc: add {encode,decode}_nohead for denc_traits<basic_string> (issue#18938, pr#14099, Kefu Chai)
core: include/mempool.h: fix Clangs complaint about types (pr#13523, Willem Jan Withagen)
core: include/types.h, introduce host_to_ceph_errno (pr#15496, Willem Jan Withagen)
core: Install Pecan for FreeBSD (pr#15610, Willem Jan Withagen)
core: introduce (and fix) code to pass errno to other OSes (pr#15495, Willem Jan Withagen)
core: introduce DirectMessenger (pr#14755, Casey Bodley, Matt Benjamin)
core: kv/RocksDBStore: abort if rocksdb EIO, don’t return incorrect result (pr#15862, Haomai Wang)
core: kv/RocksDBStore: use vector instead of VLA for holding slices (pr#16615, Kefu Chai)
core: libradosstriper: Initialize member variable m_writeRc in WriteCompletionData (pr#16780, amitkuma)
core: luminous: Improve size scrub error handling and ignore system attrs in xattr checking (issue#21051, issue#18836, issue#20243, pr#17196, David Zafman)
core: luminous: Include front/back interface names in OSD metadata (issue#21048, issue#20956, pr#17193, John Spray)
core: luminous: mon: bug in functon reweight_by_utilization (issue#21079, issue#20970, pr#17198, xie xingguo)
core: luminous: mon: “ceph osd crush rule rename” support (pr#17260, xie xingguo)
core: luminous: multisite: FAILED assert(prev_iter != pos_to_prev.end()) in RGWMetaSyncShardCR::collect_children() (issue#21097, issue#20906, pr#17234, Casey Bodley)
core: luminous: osd: osd_scrub_during_recovery only considers primary, not replicas (issue#18206, issue#21077, pr#17195, David Zafman)
core: luminous: src/common/LogClient.cc: 310: FAILED assert(num_unsent <= log_queue.size()) (issue#20965, issue#18209, pr#17197, Sage Weil)
core: make the conversion from wire error to host OS work (pr#15780, Willem Jan Withagen)
core: Merge pull request #16755 from ivancich/wip-pull-new-dmclock (pr#16922, Gregory Farnum)
core: messages: default-initialize MOSDPGRecoveryDelete[Reply] members (pr#16584, Greg Farnum)
core: messages: Initialize members in MMDSTableRequest (pr#16810, amitkuma)
core: messages: Initialize member variables (pr#16819, amitkuma)
core: messages: Initialize member variables (pr#16839, amitkuma)
core: messages: Initializing member variable in MMDSCacheRejoin (pr#16791, amitkuma)
core: messages/MOSDOp: fix pg_t decoding for version <7 decoding (issue#19005, pr#13537, Sage Weil)
core: messages/MOSDPGTrim: add the missed HEAD_VERSION AND COMPAT_VERSION (issue#18266, pr#12517, huangjun)
core: messages/MOSDPing.h: drop unused fields (pr#15843, Piotr Dałek)
core: messages/MOSDPing: initialize MOSDPing padding (issue#20323, pr#15714, Sage Weil)
core: messages/MOSDSubOp: Make encode_payload can be reentrant (pr#12654, Haomai Wang)
core: messages: remove compat cruft (pr#14475, Sage Weil)
core: mgr/MgrClient: do not attempt to access a global variable for config (pr#16544, Jason Dillaman)
core: mgr/MgrClient: use unique_ptr for MgrClient::session (issue#19097, pr#13685, Kefu Chai)
core,mgr: mgr/DaemonServer: stop spamming log with pg stats (pr#15487, Sage Weil)
core,mgr: mgr,librados: service map (pr#15858, Yehuda Sadeh, John Spray, Sage Weil)
core,mgr,mon: mgr,mon: enable/disable mgr modules via ‘ceph mgr module …’ commands (pr#15958, Sage Weil)
core,mgr,mon: mon,mgr: tag some commands for ceph-mgr (pr#13617, Sage Weil)
core,mgr,mon: mon/PGMap: fix osd_epoch update when removing osd_stat (issue#20208, pr#15573, Sage Weil)
core,mgr: mon/PGMap: slightly better debugging around pgmap updates (pr#15820, Sage Weil)
core,mgr,tests: qa: flush out monc’s dropped msgs on msgr failure injection (issue#20371, pr#16484, Joao Eduardo Luis)
core,mgr,tests: qa/suites/rados/rest: test restful mgr module (pr#15604, Sage Weil)
core: misc: SCA fixes (pr#14426, Danny Al-Gaaf)
core,mon: crush, mon: simplify device class manipulation commands (pr#16388, xie xingguo)
core: mon,mgr: fix “ceph osd df”, add some tools to find untested commands (issue#20256, pr#15675, Greg Farnum)
core: mon/MonClient: discard stray messages from non-acitve conns (issue#19015, pr#13656, Kefu Chai)
core: mon/MonClient: don’t return zero global_id (issue#19134, pr#13853, “Yan, Zheng”, Kefu Chai)
core: mon/MonClient: hunt monitors in parallel (issue#16091, pr#11128, Steven Dieffenbach, Kefu Chai)
core: mon/MonClient: persist global_id across re-connecting (issue#18968, pr#13550, Kefu Chai)
core: mon/MonClient: respect the priority in SRV RR (issue#5249, pr#15964, Kefu Chai)
core,mon: mon/LogMonitor: ‘log last’ command (pr#15497, Sage Weil)
core: mon/MonmapMonitor: use __func__instead of hard code function name (pr#16037, Yanhu Cao)
core,mon: mon/MgrStatMonitor: avoid dup health warnings during luminous upgrade (issue#20435, pr#15986, Sage Weil)
core,mon: mon/MgrStatMonitor: keep mgrstat version ahead of pgmon (issue#20219, pr#15584, Sage Weil)
core,mon: mon,osd: add crush_version to OSDMap, and allow crush map updates to gate on crush_version (pr#15533, Sage Weil)
core,mon: mon,osd: decouple creating pgs from pgmap (pr#13999, Kefu Chai)
core,mon: mon, osd: misc fixes (pr#16078, xie xingguo)
core,mon: mon/OSDMonitor: cancel mapping job from update_from_paxos (issue#20067, pr#15320, Sage Weil)
core,mon: mon/OSDMonitor: make ‘osd crush move …’ work on osds (issue#18587, pr#12981, Sage Weil)
core,mon: mon/OSDMonitor: make snaps on tier pool should not be allowed (pr#9348, Mingxin Liu)
core,mon: mon/OSDMonitor: use up set instead of acting set in reweight_by_utilization (pr#13802, Mingxin Liu)
core,mon: mon,osd: new mechanism for managing full and nearfull OSDs for luminous (pr#13615, Sage Weil)
core,mon: mon/PGMap: call blocked requests ERR not WARN (pr#15501, Sage Weil)
core: mon,osd: add require_min_compat_client setting to enforce and clarify client compatibility (pr#14959, Sage Weil)
core: mon,osd: luminous feature bits, require flags, upgrade gates (pr#13278, Sage Weil)
core: mon, osd: misc fixes and cleanups (pr#16160, xie xingguo)
core: mon, osd: misc fixes (pr#16283, xie xingguo)
core: mon/OSDMonitor: _apply_remap -> _apply_upmap; less code redundancy (pr#15846, xie xingguo)
core: mon/OSDMonitor: batch noup/noin osds support (pr#15725, xie xingguo)
core: mon/OSDMonitor: batch OSDs nodown/noout support (pr#15381, xie xingguo)
core: mon/OSDMonitor: change info in ‘osd failed’ messages (pr#15321, Sage Weil)
core: mon/OSDMonitor: do not allow crush device classes until luminous (pr#16188, Sage Weil)
core: mon/OSDMonitor: fixup sortbitwise flag warning (pr#12682, huanwen ren)
core: mon/OSDMonitor: make mapping job behave if mon_osd_prime_pg_temp = false (issue#19020, pr#13574, Sage Weil)
core: mon/OSDMonitor: osd crush set-device-class (issue#19307, pr#14039, Loic Dachary)
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: mon/OSDMonitor: skip prime_pg_temp if mapping is prior to osdmap (pr#14826, Kefu Chai)
core: mon,osd/OSDMap: a couple pg-upmap fixes (pr#15319, Sage Weil)
core: mon/PGMap: factor mon_osd_full_ratio into MAX AVAIL calc (issue#18522, pr#12923, Sage Weil)
core: mon/PGMonitor: fix wrongly report “pg stuck in inactive” (pr#14391, Mingxin Liu)
core,mon,rbd: mon,osd: new rbd-based cephx cap profiles (pr#15991, Jason Dillaman)
core: msg/async/AsyncConnection: keepalive objecter ping connection to avoid timeout (pr#14009, Haomai Wang)
core: msg/async/AsyncConnection: socket’s fd can be zero, avoid false assert (pr#13080, Haomai Wang)
core: msg/async: avoid requeue racing with handle_write (issue#20093, pr#15324, Haomai Wang)
core: msg/async/dpdk: fix compile errors (pr#12698, Haomai Wang)
core: msg/async: fix deleted_conn is out of sync with conns (issue#20230, pr#15645, Haomai Wang)
core: msg/async: fix the bug of inaccurate calculation of l_msgr_send_bytes (pr#16526, Jin Cai)
core: msg/async/rdma: add log to show correct destruct queuepair (pr#13412, Haomai Wang)
core: msg/async/rdma: add perf counters to RDMA backend (pr#13484, Haomai Wang)
core: msg/async/rdma: destroy QueuePair if needed (pr#13810, Haomai Wang)
core: msg/async/rdma: don’t need to delete event when tcp connection isn’t … (pr#13528, Haomai Wang)
core: msg/async/rdma: fix ceph_clock_now calls (pr#12711, Haomai Wang)
core: msg/async/rdma: fix potential racing connection usage (pr#13738, Haomai Wang)
core: msg/async/rdma: make Infiniband can be forkable (pr#13525, Haomai Wang)
core: msg/async/rdm: fix leak when existing failure in ip network (pr#13435, Haomai Wang)
core: msg/async: set thread name for msgr worker (pr#13699, Haomai Wang)
core: msg/async/Stack.cc: use of pthread_setname_np() needs compat.h (pr#13825, Willem Jan Withagen)
core: msg/async: support IPv6 QoS (issue#18887, issue#18928, pr#13418, Robin H. Johnson)
core: msg/simple: fix missing unlock when already bind (pr#13267, Haomai Wang)
core: msg/simple/Pipe:the returned value for do_recv unequal to zero (pr#10272, zhang.zezhu)
core: objclass: modify omap_get_{keys,vals} api (pr#16667, Yehuda Sadeh, Casey Bodley)
core: objclass-sdk: use namespace ceph for bufferlist (pr#15581, Neha Ojha)
core: os/bluestore: do not use nullptr to calc the size of bluestore_pextent_t (pr#14030, Kefu Chai)
core: os/bluestore rm unused variable in aio_read() (pr#13530, tangwenjun)
core: os/bluestore: silence gcc warning (pr#14028, Kefu Chai)
core: osdc: clean up osd_command/start_mon_command interfaces (pr#13727, John Spray)
core: osdc/Objecter: fix possible OSDSession leak on wrong connection (pr#13365, xie xingguo)
core: osdc/Objecter: resend pg commands on interval change (issue#18358, pr#12869, Samuel Just)
core: osdc/Objecter: respect epoch barrier in _op_submit() (issue#19396, pr#14190, Ilya Dryomov)
core: osd/: don’t leak context for Blessed*Context or RecoveryQueueAsync (issue#18809, pr#13342, Samuel Just)
core: OSD: drop parameter t from merge_log() (pr#13923, xie xingguo)
core: osd/ECBackend: cleanup for unnecessary copy with pg_stat_t (pr#12564, Yunchuan Wen)
core: osd/ECBackend: drop duplicated pending_commit field from << operator (pr#13665, xie xingguo)
core: osd/ECBackend: only need check missing_loc when doing recovery (pr#12526, huangjun)
core: osd/ECBackend: remove unused variable “ReadCB” (pr#12543, huangjun)
core: osd/ECTransaction: cleanup the redundant check which works in overwrite IO context (pr#15765, tang.jin)
core: osd/ECTransaction: only read partial stripes when below *original* object size (issue#19882, pr#15712, Sage Weil)
core: osd/filestore: Revert “os/filestore: move ondisk in front (issue#20524, pr#16156, Kefu Chai)
core: osd,librados: add manifest, redirect (pr#15325, Sage Weil)
core: osd,librados: cmpext support (pr#14715, Zhengyong Wang, David Disseldorp, Mike Christie)
core: osd,librados: remove clone_range and associated multi-object cruft (pr#13008, Samuel Just)
core: osd, messages/MOSDPing: bunch of fixes related to ping inflation (pr#15727, Piotr Dałek)
core: osd/mon/mds: fix config set tell command (issue#20803, pr#16700, John Spray)
core: osd,mon: misc full fixes and cleanups (pr#13968, David Zafman)
core: osd/OpRequest: dump both name and addr for the client op (pr#12691, runsisi)
core: osd/OSD: bump up current version; conditionally encoding manifest into oi (pr#15687, xie xingguo)
core: osd/osd_internal_types: wake snaptrimmer on put_read lock, too (issue#19131, pr#13755, Sage Weil)
core: osd/OSDMap: bump encoding version for require_min_compat_client (pr#15046, “Yan, Zheng”)
core: osd/OSDMap: Change *pg_to_* to return void (pr#15684, Brad Hubbard)
core: osd/OSDMap: don’t set weight to IN when OSD is destroyed (issue#19119, pr#13730, Ilya Dryomov)
core: osd/OSDMap: hide require_osd and sortbitwise flags (pr#14440, Sage Weil)
core: osd/OSDMap: improve upmap calculation (issue#19818, pr#14902, Sage Weil)
core: osd/OSDMap: Uncomment code to enable private default constructors (pr#12597, Brad Hubbard)
core: osd/OSD: tolerate any ‘set-device-class’ error on OSD startup (pr#16812, xie xingguo)
core: osd/osd_type: Fix logging output (pr#12778, Brad Hubbard)
core: osd/osd_types: Move comment to more relevant position (pr#12779, Brad Hubbard)
core: osd/osd_types: print notify-ack op properly (pr#12585, Sage Weil)
core: osd/PG: add new have_unfound() function in MissingLoc (pr#12668, huangjun)
core: osd/PG: Add two new mClock implementations of the PG sharded operator queue (pr#14997, J. Eric Ivancich)
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: check the connection first in fulfill_log (pr#12579, huangjun)
core: osd/PG: conditionally retry on receiving pg-notify when Primary is Incomplete (pr#13942, xie xingguo)
core: osd/PG: drop pre-firefly compat_mode for choose_acting (pr#15057, Sage Weil)
core: osd/PG: fix lost unfound + delete when there are no missing objects (issue#20904, pr#16809, Josh Durgin)
core: osd/PG: fix possible overflow on unfound objects (pr#12669, huangjun)
core: osd/PG: fix warning so we discard_event() on a no-op state change (pr#16655, Sage Weil)
core: osd/PG: ignore CancelRecovery in NotRecovering (issue#20804, pr#16638, Sage Weil)
core: osd/PGLog: avoid infinite loop if missing version is corrupted (pr#16798, Josh Durgin)
core: osd/PGLog: fix inaccurate missing assert (issue#20753, pr#16539, Josh Durgin)
core: osd/PGLog: fix index for parent and child log on split (issue#18975, pr#13493, Sage Weil)
core: osd/pglog: remove loop through empty collection (pr#15121, J. Eric Ivancich)
core: osd/PGLog: skip ERROR entires in _merge_object_divergent_entries (issue#20843, pr#16675, Jeegn Chen)
core: osd/PG: make non-empty PastIntervals non-fatal (issue#20167, pr#15639, Sage Weil)
core: osd/PG: only correct filestore collection bits on load (issue#19541, pr#14397, Sage Weil)
core: osd/PG: publish PG stats when backfill-related states change (issue#18369, pr#12727, Sage Weil)
core: osd/PG: reset the missing set when restarting backfill (issue#19191, pr#14053, Josh Durgin)
core: osd/PG: restrict want_acting to up+acting on recovery completion (issue#18929, pr#13420, Sage Weil)
core: osd/PG: set clean when last_epoch_clean is updated (issue#19023, pr#15555, Samuel Just)
core: osd/PG: simplify the logic of backfill_targets checking (pr#12519, huangjun)
core: osd/PG: some minor cleanups (pr#14133, runsisi)
core: osd/PrimaryLogPG: clear oi from trim_object() (issue#19947, pr#15519, Sage Weil)
core: osd/PrimaryLogPG: do not call on_shutdown() if (pg.deleting) (issue#19902, pr#15040, Kefu Chai)
core: osd/PrimaryLogPG: do not expect FULL_TRY ops to get resent (issue#19430, pr#14255, Sage Weil)
core: osd/PrimaryLogPG::failed_push: update missing as well (issue#18165, pr#12888, Samuel Just)
core: osd/PrimaryLogPG: fix oi reset during trim_object (issue#19947, pr#15696, Sage Weil)
core: osd/PrimaryLogPG: fix recovering hang when have unfound objects (pr#16558, huangjun)
core: osd/PrimaryLogPG: optimal pick_newest_available (pr#12695, huangjun)
core: osd/PrimaryLogPG: record prior_version for DELETE events (issue#20274, pr#15649, Sage Weil)
core: osd/PrimaryLogPG: remove duplicated code (pr#13894, Jianpeng Ma)
core: osd/PrimaryLogPG: set return value if sparse read failed (pr#14093, huangjun)
core: osd/PrimaryLogPG: skip deleted missing objects in pg[n]ls (issue#20739, pr#16490, Josh Durgin)
core: osd/PrimaryLogPG solve cache tier osd high memory consumption (issue#20464, pr#16011, Peng Xie)
core: osd/PrimaryLogPG::try_lock_for_read: give up if missing (issue#18583, pr#13087, Samuel Just)
core: osd/PrimaryLogPG: unify the access to primary pg (pr#12527, huangjun)
core: osd/PrimayLogPG: update modified range to include the whole object size for write_full op (pr#15021, runsisi)
core: osd/ReplicatedBackend: clear pull source once we are done with it (issue#19076, pr#13879, Samuel Just)
core: osd/ReplicatedBackend: remove MOSDSubOp cruft from repop_applied (pr#14358, Jianpeng Ma)
core: osd/ReplicatedBackend: reset thread heartbeat after every omap entry … (issue#20375, pr#15823, Josh Durgin)
core: osd/ReplicatedBackend: take read locks for clone sources during recovery (issue#17831, pr#12844, Samuel Just)
core: os/filestore: call committed_thru when no journal entries are replayed (pr#15781, Kuan-Kai Chiu)
core: os/filestore: debug which omap keys are set (issue#19067, pr#13671, Sage Weil)
core: os/filestore: do not free event if not added (pr#16235, Kefu Chai)
core: os/filestore/FileJournal: bufferlist rebuild (pr#13980, Jianpeng Ma)
core: os/filestore/FileJournal: FileJournal::open() close journal file before return error (issue#20504, pr#16120, Yang Honggang)
core: os/filestore/FileStore.cc: remove a redundant judgement when get max latency (pr#15961, Jianpeng Ma)
core: os/filestore/FileStore.cc: remove unneeded loop (pr#12177, Li Wang)
core: os/filestore: fix clang static check warn “use-after-free“ (pr#12581, liuchang0812)
core: os/filestore: fix infinit loops in fiemap() (pr#14367, Ning Yao)
core: os/filestore: handle error returned from write_fd() (pr#10146, yonghengdexin735)
core: os/filestore/HashIndex: be loud about splits (issue#18235, pr#12421, Dan van der Ster)
core: os/filestore/JournalingObjectStore cleanup (pr#12528, Li Wang)
core: os/filestore: require experimental flag for btrfs (pr#16086, Sage Weil)
core: os/filestore: version will be uninitialized varible if store_version doesn’t exist (pr#12582, liuchang0812)
core: os/fs/FS.cc: remove the redundant code (pr#14362, Jianpeng Ma)
core: os/FuseStore: include <functional> header in src/os/FuseStore.h for gcc 7.x (pr#13454, Jos Collin)
core,performance: common/config_opts: improve rdma buffer size to 128k (pr#13510, Haomai Wang)
core,performance: common/TrackedOp: various cleanups and optimizations (pr#12537, Sage Weil)
core,performance: kv/RocksDBStore: Table options for indexing and filtering (pr#16450, Mark Nelson)
core,performance: mon,osd: explicitly remap some pgs (pr#13984, Sage Weil)
core,performance: msg/async: avoid lossy connection sending ack message (pr#13700, Haomai Wang)
core,performance: msg/async/rdma: cleanup (pr#13509, Haomai Wang)
core,performance: msg/async/rdma: refactor tx handle flow to get rid of locks (pr#13680, Haomai Wang)
core,performance: msg/async: reduce write_lock contention (pr#15092, Haomai Wang)
core,performance: osd/ECBackend: Send write message to peers first, then do local write (pr#12522, huangjun)
core,performance: osd/OSD.h: requeue the scrub job with higher priority to shorten the blocking time of related requests (pr#15552, Jin Cai)
core,performance: osd, os: reduce fiemap burden (pr#14640, Piotr Dałek)
core,performance: osd/pg: bound the portion of the log we request in GetLog::GetLog() (pr#12233, Jie Wang)
core,performance: osd/PG: make prioritized recovery possible (pr#13723, Piotr Dałek)
core,performance: os/filestore: avoid unnecessary copy in filestore::_do_transaction (pr#12578, Yunchuan Wen)
core,performance: os/filestore/HashIndex: randomize split threshold by a configurable amount (issue#15835, pr#15689, Josh Durgin)
core,performance: os/filestore: queue ondisk completion before apply work (pr#13918, Pan Liu)
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,performance: src/OSD: add more useful perf counters for performance tuning (pr#15915, Pan Liu)
core: PGLog: store extra duplicate ops beyond the normal log entries (pr#16172, Josh Durgin, J. Eric Ivancich)
core: Prefix /proc/ with FreeBSD emulation (pr#14290, Willem Jan Withagen)
core: PrimaryLogPG: don’t update digests for objects with mismatched names (issue#18409, pr#12788, Samuel Just)
core: print more information when run ceph-osd cmd with ‘check options’ (pr#16678, mychoxin)
core: qa: do not restrict valgrind runs to centos (issue#18126, pr#15389, Greg Farnum)
core,rbd: mon,osd: do not create rbd pool by default (pr#15894, Greg Farnum, Sage Weil, David Zafman)
core: ReplicatedBackend: don’t queue Context outside of ObjectStore with obc (issue#18927, pr#13569, Samuel Just)
core: Revert “PrimaryLogPG::failed_push: update missing as well” (issue#18624, pr#13090, David Zafman)
core,rgw: misc: SCA and Coverity Fixes (pr#13208, Danny Al-Gaaf)
core,rgw: qa: Removed all ‘default_idle_timeout’ due to chnage in rwg task (pr#15420, Yuri Weinstein)
core,rgw,tests: qa/rgw_snaps: move default_idle_timeout config under the client (issue#20128, pr#15400, Yehuda Sadeh)
core,rgw,tests: qa/suits/rados/basic/tasks/rgw_snaps: wait for pools to be created (pr#16509, Sage Weil)
core: rocksdb: sync with upstream (issue#18464, pr#13306, Kefu Chai)
core: src/ceph.in: Use env(CEPH_DEV) to suppress noise from ceph (pr#14746, Willem Jan Withagen)
core: src/vstart.sh: kill dead upmap option (pr#15848, xie xingguo)
core:” Stringify needs access to << before reference” src/include/stringify.h (pr#16334, Willem Jan Withagen)
core: test, osd: fix some coverity issues (pr#13293, liuchang0812)
core: test/pybind/test_rados.py: tolerate TimedOut in test_ping_monitor (issue#18529, pr#12934, Samuel Just)
core,tests: ceph-disk: sensible default for block.db (pr#15576, Loic Dachary)
core,tests: ceph-disk/tests: Certain partition types do not work on FreeBSD (pr#13560, Willem Jan Withagen)
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: ceph_test_rados_api_misc: avoid livelock from PoolCreationRace (pr#13565, Sage Weil)
core,tests: ceph_test_rados_api_misc: Fix trivial memory leak (pr#12680, Brad Hubbard)
core,tests: ceph_test_rados_api: wait for snap trim on ENOENT during cleanup (issue#19948, pr#15638, Sage Weil)
core,tests: ceph_test_rados_api_watch_notify: flush after unwatch (issue#20105, pr#16402, Sage Weil)
core,tests: ceph_test_rados_api_watch_notify: make LibRadosWatchNotify.Watch3Timeout tolerate thrashing (issue#19433, pr#14899, Sage Weil)
core,tests: ceph_test_rados: max_stride_size must be more than min_stride_size (issue#20775, pr#16590, Lianne Wang)
core,tests: c_write_operations.cc: Fix trivial memory leak (pr#12663, Brad Hubbard)
core,tests: do all valgrind runs on centos (issue#20360, issue#18126, pr#16046, Sage Weil)
core,tests: os: allow ‘osd objectstore = random’ to pick either filestore or bluestore (pr#13754, Sage Weil)
core,tests: qa: avoid map-gap tests for k=2 m=1 (issue#20844, pr#16789, Sage Weil)
core,tests: qa: move ceph-helpers-based make check tests to qa/standalone; run via teuthology (pr#16513, Sage Weil)
core,tests: qa/objectstore/filestore-btrfs: test btrfs on trusty only (issue#20169, pr#15814, Sage Weil)
core,tests: qa/objectstore: test bluestore with aggressive compression (pr#14623, Sage Weil)
core,tests: qa/rados/upgrade/jewel-x-singleton: run luminous.yaml at the end (pr#13378, Sage Weil)
core,tests: qa: stop testing btrfs (issue#20169, pr#16044, Sage Weil)
core,tests: qa/suites/powercycle/osd/tasks/radosbench: consume less space (issue#20302, pr#15821, Sage Weil)
core,tests: qa/suites/rados: at-end: ignore PG_{AVAILABILITY,DEGRADED} (issue#20693, pr#16575, Sage Weil)
core,tests: qa/suites/rados/*/at-end: wait for healthy before scrubbing (pr#15245, Sage Weil)
core,tests: qa/suites/rados/basic: set low omap limit for rgw workload (pr#13071, Sage Weil)
core,tests: qa/suites/rados/basic/tasks/rados_python: POOL_APP_NOT_ENABLED (pr#16827, Sage Weil)
core,tests: qa/suites/rados/mgr/tasks/failover: whitelist (pr#16795, Sage Weil)
core,tests: qa/suites/rados/singleton/all/reg11184: whitelist health warnings (pr#16306, Sage Weil)
core,tests: qa/suites/rados/singleton-nomsg/health-warnings: behave on ext4 (issue#20043, pr#15207, Sage Weil)
core,tests: qa/suites/rados: temporarily remove scrub_test from basic/ until post-luminous (issue#19935, pr#15202, Sage Weil)
core,tests: qa/suites/rados/thrash/workload/*: enable rados.py cache tiering ops (issue#11793, pr#16244, Sage Weil)
core,tests: qa/suites/upgrade/kraken-x: enable experimental for bluestore (pr#15359, Sage Weil)
core,tests: qa/tasks/ceph: enable rbd on rbd pool (pr#16794, Sage Weil)
core,tests: qa/tasks/ceph_manager: get osds all in after thrashing (pr#15784, Sage Weil)
core,tests: qa/tasks/ceph_manager: wait for osd to start after objectstore-tool sequence (issue#20705, pr#16454, Sage Weil)
core,tests: qa/tasks/ceph_manager: wait longer for pg stats to flush (pr#16322, Sage Weil)
core,tests: qa/tasks/ceph: osd_scrub_pgs: reissue scrub requests in loop (issue#20326, pr#15747, Sage Weil)
core,tests: qa/tasks/ceph.py: no osd id to ‘osd create’ command (issue#20548, pr#16233, Sage Weil)
core,tests: qa/tasks/ceph.py: tolerate active+clean+something (pr#15717, Sage Weil)
core,tests: qa/tasks/ceph: simplify ceph deployment slightly (pr#15853, Sage Weil)
core,tests: qa/tasks/ceph: wait for mgr to activate and pg stats to flush in health() (issue#20744, pr#16514, Sage Weil)
core,tests: qa/tasks/dump_stuck: fix dump_stuck test bug (pr#16559, huangjun)
core,tests: qa/tasks/dump_stuck: fix for active+clean+remapped (issue#20431, pr#15955, Sage Weil)
core,tests: qa/tasks/radosbench: longer timeout (pr#16213, Sage Weil)
core,tests: qa/workunits/cephtool/test.sh: add sudo for daemon compact (pr#16500, Sage Weil)
core,tests: qa/workunits/cephtool/test.sh: fix osd full health detail grep (issue#20187, pr#15494, Sage Weil)
core,tests: qa/workunits/rados/test_health_warning: misc fixes (issue#19990, pr#15201, Sage Weil)
core,tests: qa/workunits/rest: use unique pool names for cephfs test (pr#13188, Sage Weil)
core,tests: Revert “qa: do not restrict valgrind runs to centos” (issue#20360, pr#15791, Sage Weil)
core,tests: test: add separate ceph-helpers-based smoke test (pr#16572, 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/osd/TestRados.cc: run set-redirect test after finishing setup (issue#20114, pr#15385, Myoungwon Oh)
core,tests: test_rados_watch_notify: Fix trivial memory leaks (pr#12713, Brad Hubbard)
core,tests,tools: Fixes: http://tracker.ceph.com/issues/18533 (pr#13423, Samuel Just, David Zafman)
core,tests: upgrade/jewel-x: a few fixes (pr#16830, Sage Weil)
core: throttle: Minimal destructor fix for Luminous (pr#16661, Adam C. Emerson)
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)
core,tools: osdmaptool: require --upmap-save before modifying input osdmap (pr#15247, Sage Weil)
core: vstart.sh: start mgr after mon, before osds (pr#16613, Sage Weil)
core: Wip 20985 divergent handling luminous (issue#20985, pr#17001, Greg Farnum)
create the ceph-volume and ceph-volume-systemd man pages (pr#17158, Alfredo Deza)
crush: a couple of weight-set fixes (pr#16623, xie xingguo)
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: add missing tunable in tests (pr#15412, Loic Dachary)
crush: allow uniform buckets with no items (pr#13521, Loic Dachary)
crush: API documentation (pr#13205, Loic Dachary)
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: builder: legacy has chooseleaf_stable = 0 (pr#14695, Loic Dachary)
crush: crush_init_workspace starts with struct crush_work (pr#14696, Loic Dachary)
crush: detect and (usually) fix ruleset != rule id (pr#13683, Sage Weil)
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: encode can override weights with weight set (issue#19836, pr#15002, Loic Dachary)
crush: enforce buckets-before-rules rule (pr#16453, Sage Weil)
crush: fix CrushCompiler won’t compile maps with empty shadow tree (pr#17228, xie xingguo)
crush: fix dprintk compilation (pr#13424, Loic Dachary)
crush: force rebuilding shadow hierarchy after swapping buckets (pr#17229, xie xingguo)
crush: misc changes/fixes for device classes (issue#20845, pr#16805, Kefu Chai, xie xingguo, Sage Weil)
crush: more class fixes (pr#16837, xie xingguo)
crush: only encode class info if SERVER_LUMINOUS (issue#19361, pr#14131, Sage Weil)
crush: optimize header file dependency (pr#9307, Xiaowei Chen)
crush: silence warning from -Woverflow (pr#16329, Jos Collin)
crush: s/ruleset/id/ in decompiled output; prevent compilation when ruleset != id (pr#16400, Sage Weil)
crush: update choose_args when items are added/removed (pr#15311, Loic Dachary)
crush: update documentation for negative choose step (pr#14970, Loic Dachary)
crush: various weight-set fixes (pr#17214, xie xingguo)
crush: verify weights is influenced by the number of replicas (issue#15653, pr#13083, Adam C. Emerson, Loic Dachary)
crush: weight_set and id remapping (issue#15653, pr#14486, Loic Dachary)
crush: when osd_location_hook does not exist, we should exit error (pr#12961, song baisen)
doc: 12.1.0/release notes 2 (pr#15627, Abhishek Lekshmanan)
doc: 12.1.1 & 12.1.2 release notes (pr#16377, Abhishek Lekshmanan)
doc: add 0.94.10 and hammer EOL to releases.rst (pr#13069, Nathan Cutler)
doc: add 12.0.1 release notes (pr#14106, Abhishek Lekshmanan)
doc: Add amitkumar50 affiliation to .organizationmap (pr#16475, Amit Kumar)
doc add ceph-volume and ceph-volume-systemd man pages to CMakeLists file (pr#17170, Alfredo Deza)
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 changelog for v10.2.7 (pr#14441, Abhishek Lekshmanan)
doc: add descriptions for mon/mgr options (pr#15032, Kefu Chai)
doc: add doc requirements on PR submitters (pr#16394, John Spray)
doc: added mgr caps to manual deployment documentation (pr#16660, Nick Erdmann)
doc: add FreeBSD manual install (pr#14941, Willem Jan Withagen)
doc: add instructions for replacing an OSD (pr#16314, Kefu Chai)
doc: add new cn ceph mirror to doc and mirroring (pr#15089, Shengjing Zhu)
doc: add optional argument for build-doc (pr#14058, Kefu Chai)
doc: add rados xattr commands to manpage (pr#15362, Andreas Gerstmayr)
doc: add rbd new trash cli and cleanups in release-notes.rst (issue#20702, pr#16498, songweibin)
doc: add README to dmclock subdir to inform developers it’s a git subtree (pr#15386, J. Eric Ivancich)
doc: add RGW ldap auth documentation (pr#14339, Harald Klein)
doc: add some undocumented options to rbd-nbd (pr#14134, wangzhengyong)
doc: add verbiage to rbdmap manpage (issue#18262, pr#12509, Nathan Cutler)
doc: Add Zabbix ceph-mgr plugin to PendingReleaseNotes (pr#16412, Wido den Hollander)
doc: AUTHORS: update CephFS PTL (pr#16399, Patrick Donnelly)
doc: AUTHORS: update tech leads (pr#14350, Patrick Donnelly)
doc: AUTHORS: update with release manager, backport team (pr#15391, Sage Weil)
doc: build/install-deps.sh: Add sphinx package for building docs on FreeBSD (pr#13223, Willem Jan Withagen)
doc: ceph-disk: use ‘-’ for feeding ceph cli with stdin (pr#16362, Kefu Chai)
doc: change osd_op_thread_timeout default value to 15 (pr#14199, Andreas Gerstmayr)
doc: Change the default values of some OSD options (issue#20199, pr#15566, Bara Ancincova)
doc: clarify “ceph quorum” syntax (issue#17802, pr#11787, Nathan Cutler)
doc: clarify SubmittingPatches.rst (pr#12988, Nathan Cutler)
doc: clarify that “ms bind ipv6” disables IPv4 (pr#13317, Ken Dreyer)
doc: clarify the path restriction mds cap example (pr#12993, John Spray)
doc: common/options.cc: document bluestore config options (pr#16489, Sage Weil)
doc: correct and improve add user capability section (pr#14055, Chu, Hua-Rong)
doc: correct arguments for ceph tell osd.N bench (pr#14462, Patrick Dinnen)
doc: Correcting the remove bucket example and adding bucket link/unlink examples (pr#12460, Uday Mullangi)
doc: correct S3 lifecycle support explain (issue#18459, pr#12827, liuchang0812)
doc: correct the quota section (issue#19397, pr#14122, Chu, Hua-Rong)
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: describe CephFS max_file_size (pr#15287, Ken Dreyer)
doc: describe mark_events logging available via the OSD’s OpTracker (pr#15095, Greg Farnum)
doc: Describe mClock’s use within Ceph in great detail (pr#16707, J. Eric Ivancich)
doc: dev add a note about ccache (pr#14478, Abhishek Lekshmanan)
doc: dev: add notes on PR make check validation test (pr#16079, Nathan Cutler)
doc: dev guide: how to run s3-tests locally against vstart (pr#14508, Nathan Cutler, Abhishek Lekshmanan)
doc: dev improve the s3tests doc to reflect current scripts (pr#15180, Abhishek Lekshmanan)
doc: doc/cephfs: mention RADOS object size limit (pr#15550, John Spray)
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/install/manual-deployment: update osd creation steps (pr#16573, Sage Weil)
doc: doc/mgr/dashboard: update dashboard docs to reflect new defaults (pr#16241, Sage Weil)
doc: doc/mon: fix ceph-authtool command in rebuild mon’s sample (pr#16503, huanwen ren)
doc: doc/qa: cover config help command (pr#16727, John Spray)
doc: doc/rados.8: add offset option for put command (pr#16155, Jianpeng Ma)
doc: doc/rados: add page for health checks and update monitoring.rst (pr#16566, John Spray)
doc: doc/rados/configuration: document bluestore (pr#16765, Sage Weil)
doc: doc/radosgw/s3/cpp.rst: update usage of libs3 APIs to make the examples work (pr#10851, Weibing Zhang)
doc: doc/rados/operations/health-checks: osd section (pr#16611, Sage Weil)
doc: doc/release-notes: add Images creation timestamp note (pr#15963, clove)
doc: doc/release-notes: avoid ‘production-ready’ in describing kraken (pr#13675, Sage Weil)
doc: doc/release-notes: final kraken notes (pr#12968, Sage Weil)
doc: doc/release-notes: fix bluestore links (pr#16787, Sage Weil)
doc: doc/release-notes: fix links, formatting; add crush device class docs (pr#16741, Sage Weil)
doc: doc/release-notes: fix upmap and osd replacement links; add fixme (pr#16730, Sage Weil)
doc: doc/release-notes: Luminous release notes typo fixes “ceph config-key ls”->”ceph config-key list” (pr#16330, scienceluo)
doc: doc/release-notes: Luminous release notes typo fixes (pr#16338, Luo Kexue)
doc: doc/release-notes: sort release note changes into the right section (pr#16764, Sage Weil)
doc: doc/release-notes: update device class cli (pr#16851, xie xingguo)
doc: doc/release-notes: update luminous notes (pr#15851, Sage Weil)
doc: doc/release-notes: update which jewel version does sortbitwise warning (pr#15209, Sage Weil)
doc: doc/releases: Update releases from Feb 2017 to July 2017 (pr#16303, Bryan Stillwell)
doc: doc/rgw: instructions for changing multisite master zone (pr#14089, Casey Bodley)
doc: doc/rgw: remove fastcgi page and sample configs (pr#15133, Casey Bodley)
doc: doc/rgw: remove Federated Configuration, clean up multisite (issue#19504, issue#18082, pr#15132, Casey Bodley)
doc: docs: Clarify the relationship of min_size to EC pool recovery (pr#14419, Brad Hubbard)
doc: docs: Fix problems with example code (pr#14007, Brad Hubbard)
doc: docs: mgr dashboard (pr#15920, Wido den Hollander)
doc: [docs/quick-start]: update quick start to add a note for mgr create command for luminous+ builds (pr#16350, Vasu Kulkarni)
doc: Documentation Fixes for http://tracker.ceph.com/issues/19879 (issue#20057, issue#19879, pr#15606, Sameer Tiwari)
doc: Documentation updates for July 2017 releases (pr#16401, Bryan Stillwell)
doc: document bluestore compression settings (pr#16747, Kefu Chai)
doc: document mClock related options (pr#16552, Kefu Chai)
doc: document osd-agent-{max,low}-ops options (pr#13648, Kefu Chai)
doc: document perf historgrams (pr#15150, Piotr Dałek)
doc: document “rados cleanup” in rados manpage (issue#20894, pr#16777, Nathan Cutler)
doc: document repair/scrub features (issue#15786, pr#9032, Kefu Chai, David Zafman)
doc: Document RGW quota cache options (issue#18747, pr#13395, Daniel Gryniewicz)
doc: Document that osd_heartbeat_grace applies to MON and OSD (pr#13098, Wido den Hollander)
doc: document the setup of restful and dashboard plugins (issue#20239, pr#15707, Kefu Chai)
cephfs: client: avoid returning negative space available (pr#12920, liuchang0812)
doc: fio: update README.md so only the fio ceph engine is built (pr#15081, Kefu Chai)
doc: fix a typo (pr#13930, Drunkard Zhang)
doc: fix broken link in erasure-code.rst (issue#19972, pr#15143, MinSheng Lin)
doc: fix document about rados mon (pr#12662, liuchang0812)
doc: Fixed a typo in yum repo filename script (pr#16431, Jeff Green)
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 radosgw-admin ex: in swift auth section (issue#16687, pr#12646, SirishaGuduru)
doc: fixes to silence sphinx-build (pr#13997, Kefu Chai)
doc: fix factual inaccuracy in doc/architecture.rst (pr#15235, Nathan Cutler, Sage Weil)
doc: fixing an error in 12.0.3 release notes (pr#15195, Abhishek Lekshmanan)
doc: fix link for ceph-mgr cephx authorization (pr#16246, Greg Farnum)
doc: fix link that pointed to a nonexistent file (pr#14740, Peter Maloney)
doc: fix syntax on code snippets in cephfs/multimds (pr#15499, John Spray)
doc: fix the librados c api can not compile problem (pr#9396, song baisen)
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 typo in config.rst (pr#16721, Jos Collin)
doc: fix typos in config.rst (pr#16681, Song Shun)
doc: fix typos in radosgw-admin usage (pr#13936, Enming Zhang)
doc: freshen mgr docs (pr#15690, John Spray)
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: how to specify filesystem for cephfs clients (pr#14087, John Spray)
doc: improve firewalld instructions (pr#13360, Ken Dreyer)
doc: Indicate how to add multiple admin capbabilies (pr#13956, Chu, Hua-Rong)
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: Jewel v10.2.8 release notes (pr#16274, Nathan Cutler)
doc: Jewel v10.2.9 release notes (pr#16318, Nathan Cutler)
doc: kernel client os-recommendations update (pr#13369, John Spray, Ilya Dryomov)
doc: kill some broken links (pr#15203, liuchang0812)
doc: kill sphinx warnings (pr#16198, Kefu Chai)
doc: luminous: doc: update rbd-mirroring documentation (issue#20701, pr#16912, Jason Dillaman)
doc: Luminous release notes typo fixes (pr#15899, Abhishek Lekshmanan)
doc: mailmap: add affiliation for Zhu Shangzhong (pr#16537, Zhu Shangzhong)
doc: mailmap: add Alibaba into organization map (pr#14900, James Liu)
doc: mailmap: add Myoungwon Oh’s mailmap and affiliation (pr#15934, Myoungwon Oh)
doc: mailmap for v12.0.2 (pr#14753, Abhishek Lekshmanan)
doc: mailmap: Michal Koutny affiliation (pr#13036, Nathan Cutler)
doc: mailmap, organizationmap: add affiliation for Tushar Gohad (pr#16081, Tushar Gohad)
doc: .mailmap, .organizationmap: Update Fan Yang information and affiliation (pr#16067, Fan Yang)
doc: .mailmap, .organizationmap: Update Song Weibin information and affiliation (pr#16311, songweibin)
doc: .mailmap, .organizationmap: Update ztczll affiliation (pr#16038, zhanglei)
doc: mailmap updates for v11.1.0 (pr#12335, Abhishek Lekshmanan)
doc: mailmap updates (pr#13309, Loic Dachary)
doc: mailmap: V12.0.1 credits (pr#14479, M Ranga Swami Reddy)
doc: mailmap: Willem Jan Withagen affiliation (pr#13034, Willem Jan Withagen)
doc: mailmap: ztczll affiliation (pr#15079, zhanglei)
doc: man/8/ceph-disk: fix formatting (pr#13969, Kefu Chai)
doc: mention certain conf vars should be in global (pr#15119, Ali Maredia)
doc: mention ENXIO change in the 10.2.6 release notes (pr#13878, Nathan Cutler)
doc: mention --show-mappings in crushtool manpage (issue#19649, pr#14599, Nathan Cutler, Loic Dachary)
doc: mention teuthology-worker security group (pr#14748, Nathan Cutler)
doc: Merge pull request from stiwari/wip-19879 (issue#19879, pr#15609, Sameer Tiwari)
doc: mgr/restful: bind to :: and update docs (pr#16267, Sage Weil)
doc: minor changes in fuse client config reference (pr#13065, Barbora Ančincová)
doc: minor change to a cloud testing paragraph (pr#13277, Jan Fajerski)
doc: minor fixes in radosgw/ (pr#15103, Drunkard Zhang)
doc: min_size advice is not helpful (pr#12936, Brad Hubbard)
doc: misc minor fixes (pr#13713, Drunkard Zhang)
doc: Modify Configuring Cinder section (issue#18840, pr#13400, Shinobu Kinjo)
doc: op queue and mclock related options (pr#16662, J. Eric Ivancich)
doc: organizationmap: add Xianxia Xiao to Kylin Cloud team (pr#12718, Yunchuan Wen)
doc: PendingReleaseNotes: “ceph -w” behavior has changed drastically (pr#16425, Joao Eduardo Luis, Nathan Cutler)
doc: PendingReleaseNotes: notes on whiteouts vs pgnls (pr#15575, Sage Weil)
doc: PendingReleaseNotes: note the fuse fstab format change (pr#13259, John Spray)
doc: PendingReleaseNotes: recent cephfs changes (pr#14196, John Spray)
doc: PendingReleaseNotes: warning about ‘osd rm …’ and #19119 (issue#19119, pr#13731, Sage Weil)
doc: peoplemap: add pdonnell alias (pr#14352, Patrick Donnelly)
doc: radosgw-admin: new ‘global quota’ commands update period config (issue#19409, pr#14252, Casey Bodley)
doc: README.FreeBSD: update current status (pr#12096, Willem Jan Withagen)
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 clarify about rgw encryption (pr#14800, Abhishek Lekshmanan)
doc: release notes for v10.2.7 Jewel (pr#14295, Abhishek Lekshmanan)
doc: release notes for v11.1.1 (pr#12642, Abhishek Lekshmanan)
doc: release notes for v12.0.3 (dev) (pr#15090, Abhishek Lekshmanan)
doc: releases update the luminous, hammer, jewel release dates (pr#13584, Abhishek Lekshmanan)
doc: remove deprecated subcommand in man/8/ceph.rst (pr#14928, Drunkard Zhang)
doc: remove docs on non-existant command (pr#16616, Luo Kexue, Kefu Chai)
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: remove some non-existent and fix the default value according to … (pr#15664, liuchang0812)
doc: Remove “splitting” state (pr#12636, Brad Hubbard)
doc: reword mds deactivate docs; add optional fs_name argument (issue#20607, pr#16471, Jan Fajerski)
doc: Re-word the warnings about using git subtrees (pr#14999, J. Eric Ivancich)
doc: rgw clarify limitations when creating tenant names (pr#16418, Abhishek Lekshmanan)
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: make a note abt system users vs normal users (issue#18889, pr#13461, Abhishek Lekshmanan)
doc: rgw: note rgw_enable_usage_log option in adminops guide (pr#14803, hrchu)
doc: rgw: remove mention of megabytes for quotas (pr#14413, Hans van den Bogert)
doc: rgw: Rewrite Java swift examples (pr#14268, Chu, Hua-Rong)
doc: rgw: Rewrite the key management (pr#14384, hrchu)
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)
docs: doc/cephfs/troubleshooting: fix broken bullet list (pr#12894, Dan Mick)
docs: doc/dev: add some info about FreeBSD (pr#14503, Willem Jan Withagen)
docs: doc/release-notes: fix ceph-deploy command (pr#15987, Sage Weil)
docs: doc/release-note: update release-note (pr#15748, liuchang0812)
docs: document “osd recovery max single start” setting (issue#17396, pr#15275, Ken Dreyer)
docs: mailmap: fix Zhao Chao affiliation (pr#13413, Zhao Chao)
docs: mailmap: Leo Zhang infomation and affiliation (pr#15145, liuchang0812)
docs: mailmap: Liu Yang affiliation (pr#13427, LiuYang)
docs: mailmap: shiqi affiliation (pr#14361, shiqi)
docs: mailmap: update organization info (pr#14747, liuchang0812)
docs: mailmap: Weibing Zhang mailmap affiliation (pr#15076, Weibing Zhang)
docs: PendingReleaseNotes: mention forced recovery (pr#16775, Piotr Dałek)
docs: Remove contractions from the documentation (pr#16629, John Wilkins)
doc: style fix for doc/cephfs/client-config-ref.rst (pr#14840, Drunkard Zhang)
doc: tools/cephfs: fix cephfs-journal-tool --help (pr#15614, John Spray)
doc: two minor fixes (pr#14494, Drunkard Zhang)
doc: typo fixes on hyperlink/words (pr#15144, Drunkard Zhang)
doc: typo fix in s3_compliance (pr#12598, LiuYang)
doc: typo in hit_set_search_last_n (pr#14108, Sven Seeberg)
doc: Update adminops.rst (pr#13893, Chu, Hua-Rong)
doc: update ceph(8) man page with new sub-commands (pr#16437, Kefu Chai)
doc: Update CephFS disaster recovery documentation (pr#12370, Wido den Hollander)
doc: Update disk thread section to reflect that scrubbing is no longe… (pr#12621, Nick Fisk)
doc: update intro, quick start docs (pr#16224, Sage Weil)
doc: Update keystone.rst (pr#12717, Chu, Hua-Rong)
doc: update links to point to ceph/qa instead of ceph-qa-suite (pr#13397, Jan Fajerski, Nathan Cutler)
doc: Update .organizationmap (pr#16507, luokexue)
doc: update packages mentioned by build-doc and related doc (pr#14649, Yu Shengzuo)
doc: Update sample.ceph.conf (pr#13751, Saumay Agrawal)
doc: update sample explaning “%” operator in test suites (pr#15511, Kefu Chai)
doc: Update some RGW documentation (pr#15175, Jens Rosenboom)
doc: update the pool names created by vstart.sh by default (pr#16652, Zhu Shangzhong)
doc: update the rados namespace docs (pr#15838, Abhishek Lekshmanan)
doc: update the support status of swift static website (pr#13824, Jing Wenjun)
doc: update the usage of ‘ceph-deploy purge’ (pr#15080, Yu Shengzuo)
doc: update to new ceph fs commands (pr#13346, Patrick Donnelly)
doc: upmap docs; various missing links for release notes (pr#16637, Sage Weil)
doc: use do_cmake.sh instead ofcmake .. (pr#15110, Kefu Chai)
doc: v12.0.0 release notes (pr#13281, Abhishek Lekshmanan)
doc: v12.0.2 (dev) release notes (pr#14625, Abhishek Lekshmanan)
doc: v12.1.0 release notes notable changes addition again (pr#15857, Abhishek Lekshmanan)
doc: various fixes (pr#16723, Kefu Chai)
doc: vstart: add --help documentation for rgw_num (pr#13817, Ali Maredia)
doc: wip-doc-multisite ports downstream multisite document upstream (pr#14259, John Wilkins)
doc: Wip osd discussion docs (pr#13344, Greg Farnum)
filestore: os/filestore: Exclude BTRFS on FreeBSD (pr#16171, Willem Jan Withagen)
filestore: os/filestore/FileJournal: Fix typo in the comment (pr#14493, Zhou Zhengping)
filestore: os/filestore: use existing variable for same func (pr#13742, Pan Liu)
filestore: os/filestore: when print log, use__func__instead of hard code function name (pr#15261, mychoxin)
- filestore: os/filestore: zfs add get_name() (pr#15650, Yanhu Cao)
Fix full testing in cephtool/test.sh when used by rados suite
librados: add log channel to rados_monitor_log2 callback (pr#15926, Sage Weil)
librados: add missing implementations for C service daemon API methods (pr#16543, Jason Dillaman)
librados: add override for librados (issue#18922, pr#13442, liuchang0812)
librados: add override in headers (pr#13775, liuchang0812)
librados: asynchronous selfmanaged_snap_create/selfmanaged_snap_remove APIs (issue#16180, pr#12050, Jason Dillaman)
librados: do not expose non-public symbols (pr#13265, Kefu Chai)
librados: fix compile errors from simplified aio completions (pr#12849, xie xingguo)
librados: fix rados_pool_list when buf is null (pr#14859, Sage Weil)
librados: redirect balanced reads to acting primary when targeting object isn’t recovered (issue#17968, pr#15489, Xuehan Xu)
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: set the flag CEPH_OSD_FLAG_FULL_TRY of Op in the right place (pr#14193, Pan Liu)
librados: use cursor for nobjects listing (pr#13323, Yehuda Sadeh, Sage Weil)
librbd: add compare and write API (pr#14868, Zhengyong Wang, Jason Dillaman)
librbd: add create timestamp metadata for image (pr#15757, runsisi)
librbd: added rbd_flatten_with_progress to API (issue#15824, pr#12905, Ricardo Dias)
librbd: add LIBRBD_SUPPORTS_WRITESAME support (pr#16583, Xiubo Li)
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: allow to open an image without opening the parent image (issue#18325, pr#12885, Ricardo Dias)
librbd: asynchronous clone state machine (pr#12041, Dongsheng Yang)
librbd: asynchronous image removal state machine (pr#12102, Dongsheng Yang, Venky Shankar)
librbd: avoid possible recursive lock when racing acquire lock (issue#17447, pr#12991, Jason Dillaman)
librbd: changed the return type of ImageRequestWQ::discard() (issue#18511, pr#14032, Jos Collin)
librbd: cleanup logging code under librbd/io (pr#14975, runsisi)
librbd: corrected resize RPC message backwards compatibility (issue#19636, pr#14615, Jason Dillaman)
librbd: create fewer empty objects during copyup (issue#15028, pr#12326, Douglas Fuller, Venky Shankar)
librbd: deferred image deletion (issue#18481, pr#13105, Ricardo Dias)
librbd: delay mirror registration when creating clones (issue#17993, pr#12839, Jason Dillaman)
librbd: discard related IO should skip op if object non-existent (issue#19962, pr#15239, Mykola Golub)
librbd: do not instantiate templates while building tests (issue#18938, pr#14891, Kefu Chai)
librbd: do not raise an error if trash list returns -ENOENT (pr#15085, runsisi)
librbd: don’t continue to remove an image w/ incompatible features (issue#18315, pr#12638, Dongsheng Yang)
librbd: eliminate compiler warnings (pr#13729, Jason Dillaman)
librbd: fail IO request when exclusive lock cannot be obtained (pr#15860, Jason Dillaman)
librbd: filter expected error codes from is_exclusive_lock_owner (issue#20182, pr#15483, Jason Dillaman)
librbd: fix clang compilation error (issue#19260, pr#13926, Mykola Golub)
librbd: fixed initializer list ordering (pr#13042, Jason Dillaman)
librbd: fix issues with image removal state machine (pr#15734, Jason Dillaman)
librbd: fix rbd_metadata_list and rbd_metadata_get (issue#19588, pr#14471, Mykola Golub)
librbd: fix segfault on EOPNOTSUPP returned while fetching snapshot timestamp (issue#18839, pr#13287, Gui Hecheng)
librbd: fix valgrind errors and ensure tests detect future leaks (pr#15415, Jason Dillaman)
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: 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: is_exclusive_lock_owner API should ping OSD (issue#19287, pr#14003, 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: minor fixes for image trash move (pr#14834, runsisi)
librbd: new API method to force break a peer’s exclusive lock (issue#18429, issue#16988, issue#18327, pr#12639, Jason Dillaman)
librbd: Notifier::notify API improvement (pr#14072, Mykola Golub)
librbd: optimize copy-up to add hints only once to object op (issue#19875, pr#15037, Mykola Golub)
librbd: pass an uint64_t to clip_io() as the third param (issue#18938, pr#14159, Kefu Chai)
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: potential read IO hang when image is flattened (issue#19832, pr#15234, Jason Dillaman)
librbd: potential use of uninitialised value in ImageWatcher (pr#14091, Mykola Golub)
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: random unit test failures due to shut down race (issue#19389, pr#14166, Jason Dillaman)
librbd: rbd ack cleanup (pr#13791, runsisi)
librbd: reacquire lock should update lock owner client id (issue#19929, pr#15093, Jason Dillaman)
librbd: reduce potential of erroneous blacklisting on image close (issue#19970, pr#15162, Jason Dillaman)
librbd: refactor exclusive lock support into generic managed lock (issue#17016, pr#12846, Ricardo Dias, Jason Dillaman)
librbd: relax “is parent mirrored” check when enabling mirroring for pool (issue#19130, pr#13752, Mykola Golub)
librbd: remove redundant check for image id emptiness (pr#14830, runsisi)
librbd: remove unnecessary dependencies of ManagedLock (pr#12982, Jason Dillaman)
librbd: remove unused rbd_image_options_t ostream operator (pr#15443, Mykola Golub)
librbd: resolve static analyser warnings (pr#12863, Jason Dillaman)
librbd: scatter/gather support for the C API (issue#13025, pr#13447, Jason Dillaman)
librbd: silence -Wunused-variable warning (pr#14953, Kefu Chai)
librbd: simplify image open/close semantics (pr#13701, 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: Uninitialized variable used handle_refresh() (pr#16724, amitkuma)
librbd: use ‘override’ keyword instead of ‘virtual’ (issue#18922, pr#13437, liuchang0812)
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: add override in headers (pr#13691, liuchang0812)
mds: add override in mds subsystem (issue#18922, pr#13438, liuchang0812)
mds: add perf counters for file system operations (pr#14938, Michael Sevilla)
mds: automate MDS object count tracking (pr#13591, Patrick Donnelly)
mds: bump client_reply debug to match client_req (pr#14036, Patrick Donnelly)
mds: change_attr++ and set ctime for set_vxattr (issue#19583, pr#14726, Patrick Donnelly)
mds: change the type of data_pools (pr#15278, Vicente Cheng)
mds: check export pin during replay (issue#20039, pr#15205, Patrick Donnelly)
mds: check for errors decoding backtraces (issue#18311, pr#12588, John Spray)
mds: Client syncfs is slow (waits for next MDS tick) (issue#20129, pr#15544, dongdong tao)
mds: don’t assert on read errors in RecoveryQueue (issue#19282, pr#14017, John Spray)
mds: don’t modify inode that is not projected (issue#16768, pr#13052, “Yan, Zheng”)
mds: drop partial entry and adjust write_pos when opening PurgeQueue (issue#19450, pr#14447, “Yan, Zheng”)
mds: explicitly output error msg for dump cache asok command (pr#15592, Zhi Zhang)
mds: extend ‘p’ auth cap to cover all vxattr stuff (issue#19075, pr#13628, John Spray)
mds: finish clientreplay requests before requesting active state (issue#18461, pr#12852, Yan, Zheng)
mds: fix bad iterator dereference reported by coverity (issue#18830, pr#13272, John Spray)
mds: fix CDir::merge() for mds_debug_auth_pins (issue#19946, pr#15130, “Yan, Zheng”)
mds: fix client ID truncation (pr#15258, Henry Chang)
mds: fix handling very fast delete ops (issue#19245, pr#13899, John Spray)
mds: fix hangs involving re-entrant calls to journaler (issue#20165, pr#15430, John Spray)
mds: fix incorrect assertion in Server::_dir_is_nonempty() (issue#18578, pr#12973, Yan, Zheng)
mds: fix IO error handling in SessionMap (pr#13464, John Spray)
mds: fix mantle script to not fail for last rank (issue#19589, pr#14704, Patrick Donnelly)
mds: fix mgrc shutdown (issue#19566, pr#14505, John Spray)
mds: fix null pointer dereference in Locker::handle_client_caps (issue#18306, pr#12808, Yan, Zheng)
mds: fix stray creation/removal notification (issue#19630, pr#14554, “Yan, Zheng”)
mds: fix use-after-free in Locker::file_update_finish() (issue#19828, pr#14991, “Yan, Zheng”)
mds: ignore ENOENT on writing backtrace (issue#19401, pr#14207, John Spray)
mds: ignore fs full check for CEPH_MDS_OP_SETFILELOCK (issue#18953, pr#13455, “Yan, Zheng”)
mds: improvements for stray reintegration (pr#15548, “Yan, Zheng”)
mds: include advisorypathfield in damage (issue#18509, pr#14104, John Spray)
mds: issue new caps when sending reply to client (issue#19635, pr#14743, “Yan, Zheng”)
mds: limit client writable range increment (issue#19955, pr#15131, “Yan, Zheng”)
mds: make C_MDSInternalNoop::complete() delete ‘this’ (issue#19501, pr#14347, “Yan, Zheng”)
mds: mds perf item ‘l_mdl_expos’ always behind journaler (pr#15621, redickwang)
mds: miscellaneous fixes (issue#18646, pr#12974, Yan, Zheng, “Yan, Zheng”)
mds: miscellaneous multimds fixes (issue#19022, pr#13698, “Yan, Zheng”)
mds: miscellaneous multimds fixes part2 (pr#15125, “Yan, Zheng”)
mds: miscellaneous multimds fixes (pr#14550, “Yan, Zheng”)
mds: misc multimds fixes (issue#18717, issue#18754, pr#13227, “Yan, Zheng”)
mds: misc multimds fixes part2 (pr#12794, Yan, Zheng)
mds: misc multimds fixes (pr#12274, Yan, Zheng)
mds,mon: Clean issues detected by cppcheck (pr#13199, Ilya Shipitsin)
mds: multimds flock fixes (pr#15440, “Yan, Zheng”)
mds: Pass empty string to clear mantle balancer (issue#20076, pr#15282, Zhi Zhang)
mds: pretty json fromtell commands (pr#14105, John Spray)
mds: print rank as int (issue#19201, pr#13816, Patrick Donnelly)
mds: propagate error encountered during opening inode by number (issue#18179, pr#12749, Yan, Zheng)
mds: properly create aux subtrees for pinned directory (issue#20083, pr#15300, “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 legacy “mds tell” command (issue#19288, pr#14015, John Spray)
mds: remove “mds log” config option (issue#18816, pr#14652, John Spray)
mds: remove some redundant object counters (pr#13704, Patrick Donnelly)
mds: replace C_VoidFn in MDSDaemon with lambdas (pr#13465, John Spray)
mds: Return error message instead of asserting (pr#14469, Brad Hubbard)
mds: save projected path into inode_t::stray_prior_path (issue#20340, pr#15800, “Yan, Zheng”)
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: skip fragment space check for replayed request (issue#18660, pr#13095, “Yan, Zheng”)
mds: support export pinning on directories (issue#17834, pr#14598, “Yan, Zheng”, Patrick Donnelly)
mds: try to avoid false positive heartbeat timeouts (issue#19118, pr#13807, John Spray)
mds: use debug_mds for most subsys (issue#19734, pr#15052, Patrick Donnelly)
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: add a get_version to the python interface (pr#13669, John Spray)
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: add override in headers (pr#13772, liuchang0812)
mgr: add override in mgr subsystem (issue#18922, pr#13436, liuchang0812)
mgr: add per-DaemonState lock (pr#16432, Sage Weil)
mgr: always free allocated MgrPyModule (issue#19590, pr#14507, Kefu Chai)
mgr: ceph-create-keys: update client.admin if it already exists (issue#19940, pr#15112, John Spray)
mgr: ceph: introduce “tell x help” subcommand (issue#19885, pr#15111, liuchang0812)
mgr: ceph-mgr: Implement new pecan-based rest api (pr#14457, Boris Ranto)
mgr: ceph-mgr: rotate logs on sighup (issue#19568, pr#14437, Dan van der Ster)
mgr: clean up daemon start process (issue#20383, pr#16020, John Spray)
mgr: clean up fsstatus module (pr#15925, John Spray)
mgr: cleanup, stop clients sending in perf counters (pr#15578, John Spray)
mgr: cluster log message on plugin load error (pr#15927, John Spray)
mgr: dashboard code cleanup (pr#15577, John Spray)
mgr: dashboard GUI module (pr#14946, John Spray, Dan Mick)
mgr: dashboard improvements (pr#16043, John Spray)
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: drop repeated log info. and unnecessary write permission (pr#15896, Yan Jun)
mgr: enable ceph_send_command() to send pg command (pr#15865, Kefu Chai)
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 crash on set_config from python module with insufficient caps (issue#19629, pr#14706, Tim Serong)
mgr: fix lock cycle (pr#16508, Sage Weil)
mgr: fix metadata handling from old MDS daemons (pr#14161, John Spray)
mgr: fix MgrStandby eating messages (pr#15716, 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: fix several init/re-init bugs (issue#19491, pr#14328, Sage Weil)
mgr: handle “module.set_config(.., None)” correctly (pr#16749, Kefu Chai)
mgr: increase debug level for ticks 0 -> 10 (pr#16301, Dan Mick)
mgr: load modules in separate python sub-interpreters (pr#14971, Tim Serong)
mgr: luminous: mgr: add missing call to pick_addresses (issue#20955, issue#21049, pr#17173, John Spray)
mgr: Make stats period configurable (issue#17449, pr#12732, liuchang0812)
mgr: Mark session connections down on shutdown (issue#19900, pr#15192, Brad Hubbard)
mgr: mgr/ClusterState: do not mangle PGMap outside of Incremental (issue#20208, pr#16262, Sage Weil)
mgr: mgr/DaemonServer.cc: log daemon type string as well as id (pr#15560, Dan Mick)
mgr: mgr/dashboard: add OSD list view (pr#16373, John Spray)
mgr: mgr/dashboard: fix type error in get_rate function (issue#20276, pr#15668, liuchang0812)
mgr: mgr/dashboard: load log lines on startup, split out audit log (pr#15709, John Spray)
mgr: mgr/MgrClient: fix reconnect event leak (issue#19580, pr#14431, Sage Weil)
mgr: mgr/MgrStandby: prevent use-after-free on just-shut-down Mgr (issue#19595, pr#15297, Sage Weil)
mgr: mgr/MgrStandby: respawn when deactivated (issue#19595, issue#19549, pr#15557, Sage Weil)
mgr: mgr_module interface to report health alerts (pr#16487, Sage Weil)
mgr: mgr,osd: ceph-mgr --help, unify usage text of other daemons (pr#15176, Tim Serong)
mgr: mgr/PyState: shut up about get_config on nonexistent keys (pr#16641, Sage Weil)
mgr: mgr/status: row has incorrect number of values (issue#20750, pr#16529, liuchang0812)
mgr: Misc. bug fixes (issue#18994, pr#14883, John Spray)
mgr: mkdir bootstrap-mgr (pr#14824, huanwen ren)
mgr,mon: add detail error infomation (pr#16048, Yan Jun)
mgr,mon: mgr,mon: debug init and mgrdigest subscriptions (issue#20633, pr#16351, Sage Weil)
mgr: mon/MgrMonitor: fix standby addition to mgrmap (issue#20647, pr#16397, Sage Weil)
mgr,mon: mon,mgr: extricate PGmap from monitor (issue#20666, pr#16395, Joao Eduardo Luis)
mgr,mon: mon,mgr: extricate PGmap from monitor (issue#20067, issue#20174, issue#20050, pr#15073, Kefu Chai, Sage Weil, Greg Farnum)
mgr,mon: mon/MgrMonitor: add ‘mgr dump [epoch]’ command (pr#15158, Sage Weil)
mgr,mon: mon/MgrMonitor: only propose if we updated (pr#14645, Sage Weil)
mgr,mon: mon/MgrMonitor: reset mgrdigest timer with new subscription (issue#20633, pr#16582, Sage Weil)
mgr,mon: mon,mgr: move reweight-by-* to mgr (pr#14404, Kefu Chai)
mgr,mon: mon,mgr: print pgmap reports to debug (not cluster) log (pr#15740, Sage Weil)
mgr,mon: mon,mgr: trim osdmap without the help of pgmap (pr#14504, 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: optimize DaemonStateIndex::cull() a little bit (pr#14967, Kefu Chai)
mgr: pass through cluster log to plugins (pr#13690, John Spray)
mgr: perf schema fns/change notification and Prometheus plugin (pr#16406, Dan Mick)
mgr: print a more helpful error message for when users lack mgr ceph caps (issue#20296, pr#15697, Greg Farnum)
mgr,pybind: luminous: mgr/dashboard: fix duplicate images listed on iSCSI status page (issue#21017, pr#17282, Jason Dillaman)
mgr: pybind/mgr/dashboard: bind to :: by default (pr#16223, Sage Weil)
mgr: pybind/mgr/dashboard: monkeypatch os.exit to stop cherrypy from taking down mgr (issue#20216, pr#15588, Sage Weil)
mgr: pybind/mgr: Deleterest模块 (pr#15429, John Spray)
mgr: pybind/mgr/rest: completely terminate cherrypy in shutdown (pr#14995, Tim Serong)
mgr: pybind/mgr/rest: don’t set timezone to Chicago (pr#14184, Tim Serong)
mgr: pybind/mgr/restful: improve cert handling; work with vstart (pr#15405, Sage Weil)
mgr: pybind/mgr/zabbix: fix health in non-compat mode (issue#20767, pr#16580, Sage Weil)
mgr,pybind,rbd: mgr/dashboard: show rbd image features (pr#16468, Yanhu Cao)
mgr: raise python exception on failure in send_command() (pr#15704, Kefu Chai)
mgr,rbd: mgr/dashboard: RBD iSCSI daemon status page (pr#16547, Jason Dillaman)
mgr,rbd: mgr/dashboard: rbd mirroring status page (pr#16360, Jason Dillaman)
mgr,rbd: pybind/mgr/dashboard: initial block integration (pr#15521, Jason Dillaman)
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 default cert; disable both restful and dashboard by default (pr#15601, Boris Ranto, Sage Weil)
mgr: remove non-existent MDS daemons from FSMap (issue#17453, pr#14937, Spandan Kumar Sahu)
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)
mgr,tests: qa/suites: move mgr tests into rados suite (pr#14687, John Spray)
mgr,tests: qa/upgrade/jewel-x/point-to-point: add a mgr during final upgrade (pr#15637, Sage Weil)
mgr: use unique_ptr for MgrStandby::active_mgr (pr#13667, John Spray)
mgr: various cleanups (pr#14802, Kefu Chai)
mgr: vstart.sh: fix mgr vs restful command startup race (pr#16564, Sage Weil)
mgr: Zabbix monitoring module (pr#16019, Wido den Hollander)
misc: fix code typos in header files (pr#12716, Xianxia Xiao)
misc: kill clang warnings (pr#14549, Kefu Chai)
misc: Warning Elimination (pr#14439, Adam C. Emerson)
mon: add crush type down health warnings (pr#14914, Neha Ojha)
mon: added bootstrap-rbd auth profile (pr#16633, Jason Dillaman)
mon: add force-create-pg back (issue#20605, pr#16353, Kefu Chai)
mon: add mgr metdata commands, and overall ‘versions’ command for all daemon versions (pr#16460, Sage Weil)
mon: add mon_debug_no_require_luminous (pr#14490, Sage Weil)
mon: Add override for FsNewHandler::handle() (pr#15331, yonghengdexin735)
mon: add override in headers (pr#13693, liuchang0812)
mon: add override in mon subsystem (issue#18922, pr#13440, liuchang0812)
mon: add support public_bind_addr option (pr#16189, Bassam Tabbara)
mon: add warn info for osds were removed from osdmap but still kept in crushmap (pr#12273, song baisen)
mon: a few health fixes (pr#16415, xie xingguo)
mon: a few more upmap (and other) fixes (pr#16239, xie xingguo)
mon: avoid segfault in wait_auth_rotating (issue#19566, pr#14430, John Spray)
mon: avoid start election twice when quorum enter (pr#10150, song baisen)
mon: check is_shutdown() in timer callbacks (issue#19825, pr#14919, Kefu Chai)
mon: clean up in ceph_mon.cc (pr#14102, huanwen ren)
mon: clean up some osdmon/pgmon interactions (pr#12403, Sage Weil)
mon: cleanups (pr#15272, Kefu Chai)
mon: collect mon metdata as part of the election (issue#20434, pr#16148, Sage Weil)
mon: common/config_opts.h: kill mon_pg_create_interval (pr#13800, xie xingguo)
mon: ‘config-key put’ -> ‘config-key set’ (pr#16569, Sage Weil)
mon: crush straw_calc_version value is 0 or 1 not 0 to 2 (pr#13554, song baisen)
mon: debug session feature tracking (issue#20475, pr#16128, Sage Weil)
mon: delete unused config opts of mon_sync_fs_threshold (pr#15676, linbing)
mon: delete useless function definition (pr#15188, shiqi)
mon: detect existing fs and duplicate name earlier (issue#18964, pr#13471, Patrick Donnelly)
mon: DIVIDE_BY_ZERO in PGMapDigest::dump_pool_stats_full() (pr#15622, Jos Collin)
mon: Division by zero in PGMapDigest::dump_pool_stats_full() (pr#15901, Jos Collin)
mon: do crushtool test with fork and timeout, but w/o exec of crushtool (issue#19964, pr#16025, Sage Weil)
mon: do not dereference empty mgr_commands (pr#16501, Sage Weil)
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: don’t kill MDSs unless some beacons are getting through (issue#19706, pr#15308, John Spray)
mon: don’t set last_osd_report when the pg stats msg is ignored (pr#15512, John Spray)
mon: don’t set last_osd_report when the pg stats msg is ignored (pr#12975, Zhiqiang Wang)
mon: drop useless assignment statements (pr#13958, wangzhengyong)
mon: emit cluster log messages on MDS health changes (issue#19551, pr#14398, John Spray)
mon: enable luminous monmap feature on full quorum (pr#13379, Joao Eduardo Luis)
mon: extensible output format for health checks (pr#16701, John Spray)
mon: Filter log last output by severity and channel (pr#15924, John Spray)
mon: fix accesing pending_fsmap from peon (issue#20040, pr#15213, John Spray)
mon: fix a few bugs with the osd health reporting (pr#15179, Sage Weil)
mon: fix a few nits (pr#12670, Sage Weil)
mon: Fix deep_age copy paste error (pr#16434, Brad Hubbard)
mon: Fixed typo in function comment blocks and in other comments (pr#15304, linbing)
mon: Fixed typo in @post of _active() (pr#15191, Linbing)
mon: fix force_pg_create pg stuck in creating bug (issue#18298, pr#12539, Sage Weil)
mon: fix hang on deprecated/removed ‘pg set_full_ratio’ commands (issue#20600, pr#16300, Sage Weil)
mon: fix hiding mdsmonitor informative strings (issue#16709, pr#13904, John Spray)
mon: fix kvstore type in mon compact command (pr#15954, liuchang0812)
mon: fix legacy health checks in ‘ceph status’ during upgrade; fix jewel-x upgrade combo (pr#17176, Sage Weil)
mon: fix mon_keyvaluedb application (pr#15059, Sage Weil)
mon: Fix output text and doc (pr#16367, Yan Jun)
mon: fix prime_pg_temp overrun (issue#19874, pr#14979, Sage Weil)
mon: Fix status output warning for mon_warn_osd_usage_min_max_delta (issue#20544, pr#16220, David Zafman)
mon: fix synchronise pgmap with others (pr#14418, song baisen, z09440)
mon: fix wrongly delete routed pgstats op (issue#18458, pr#12784, Mingxin Liu)
mon: fix wrong mon-num counting logic of ‘ceph features’ command (pr#17172, xie xingguo)
mon: handle cases where store->get() may return error (issue#19601, pr#14678, Jos Collin)
mon: include device class in tree view; hide shadow hierarchy (pr#16016, Sage Weil)
mon: Incorrect expression in PGMap::get_health() (pr#15648, Jos Collin)
mon: in output of “ceph osd df tree”, display “-”, not “0”, for pg amount of a bucket (pr#13015, Chuanhong Hong)
mon: it’s no need to get pg action_primary osd twice in pg scrub (pr#15313, linbing)
mon: ‘* list’ -> ‘* ls’ (pr#16423, Sage Weil)
mon: load mgr commands at runtime (pr#16028, John Spray, Sage Weil)
mon: logclient: use the seq id of the 1st log entry when resetting session (issue#19427, pr#14927, Kefu Chai)
mon: Log errors at startup (issue#14088, pr#15723, Brad Hubbard)
mon: luminous: mon/MonCommands: fix copy-and-paste error (pr#17274, xie xingguo)
mon: maintain the “cluster” PerfCounters when using ceph-mgr (issue#20562, pr#16249, Greg Farnum)
mon: mark osd create as deprecated (pr#15641, Joao Eduardo Luis)
mon: mon,crush: create crush rules using device classes for replicated and ec pools via cli (pr#16027, Sage Weil)
mon: mon/HealthMonitor: avoid sending unnecessary MMonHealthChecks to leader (pr#16478, xie xingguo)
mon: mon/HealthMonitor: trigger a proposal if stat updated (pr#16477, Kefu Chai)
mon: mon/LogMonitor: don’t read list’s end() for log last (pr#16376, Joao Eduardo Luis)
mon: mon/MDSMonitor: close object section of formatter (pr#16516, Chang Liu)
mon: mon/MDSMonitor: remove create_new_fs from header (pr#14019, Henrik Korkuc)
mon: mon/MgrMonitor: only induce mgr epoch shortly after mkfs (pr#16356, Sage Weil)
mon: mon/MgrMonitor: send digests only if is_active() (pr#15109, Kefu Chai)
mon: mon/MgrStatMonitor: do not crash on luminous dev version upgrades (pr#16287, Sage Weil)
mon: mon/MonClient: cancel pending commands on shutdown (issue#20051, pr#15227, Kefu Chai, Sage Weil)
mon: mon/MonClient: make get_mon_log_message() atomic (issue#19427, pr#14422, Kefu Chai)
mon: mon/MonClient: random all ranks then pick first_n (pr#13479, Mingxin Liu)
mon: mon/Monitor.h: add const to member function (pr#10412, Michal Jarzabek)
mon: mon/Monitor: recreate mon session if features changed (issue#20433, pr#16230, Joao Eduardo Luis)
mon: {mon,osd,mds} {versions,count-metadata} (pr#15436, Sage Weil)
mon: mon/OSDMonitor: a couple of upmap and other fixes (pr#15917, xie xingguo)
mon: mon/OSDMonitor: check get()’s return value instead of bl’s length (pr#14805, Kefu Chai)
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: 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: ensure UP is not set for newly-created OSDs (issue#20751, pr#16534, Sage Weil)
mon: mon/OSDMonitor: fix dividing by zero in OSDUtilizationDumper (pr#13531, Mingxin Liu)
mon: mon/OSDMonitor: fix output func name in can_mark_out (pr#14758, xie xingguo)
mon: mon/OSDMonitor: fix process osd failure (pr#12938, Mingxin Liu)
mon: mon/OSDMonitor: guard ‘osd crush set-device-class’ (pr#16217, Sage Weil)
mon: mon/OSDMonitor: increase last_epoch_clean’s lower bound if possible (pr#14855, Kefu Chai)
mon: mon/OSDMonitor: issue pool application related warning (pr#16520, xie xingguo)
mon: mon/OSDMonitor: “osd crush class rename” support (pr#15875, xie xingguo)
mon: mon/OSDMonitor: remove trivial PGMap dependency for ‘osd primary-temp’ command (pr#13616, Sage Weil)
mon: mon/OSDMonitor: remove zeroed new_state updates (issue#20751, pr#16518, Sage Weil)
mon: mon/OSDMonitor: sanity check osd before performing ‘osd purge’ (pr#16838, xie xingguo)
mon: mon/OSDMonitor: some cleanup for reweight-by-pg (pr#13462, Haodong Tang)
mon: mon/OSDMonitor: spinlock -> std::mutex (pr#14269, Sage Weil)
mon: mon/OSDMonitor: tolerate upgrade from post-kraken dev cluster (pr#14442, Sage Weil)
mon: mon/OSDMonitor: transit creating_pgs from pgmap when upgrading (issue#19584, pr#14551, Kefu Chai)
mon: mon/OSDMonitor: two pool opts related fix (pr#15968, xie xingguo)
mon: mon/OSDMonitor: update creating epoch if target osd changed (issue#19515, pr#14386, Kefu Chai)
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/PaxosService: use __func__instead of hard code function name (pr#15863, Yanhu Cao)
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/PGMap: make si units more readable in PGMap summary (pr#14185, liuhong)
mon: mon/PGMap: remove skewed utilizatoin warning (issue#20730, pr#16461, Sage Weil)
mon: mon/PGMap: show %used in formatted output (issue#20123, pr#15387, Joao Eduardo Luis)
mon: mon/PGMonitor: clean up min/max span warning (pr#14611, Sage Weil)
mon: mon/PGMonitor: fix description for ceph pg ls (pr#12807, runsisi)
mon: mon/PGMonitor: rm nonused function (pr#14033, Wei Jin)
mon: move ‘pg map’ to OSDMonitor (pr#14559, Sage Weil)
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: osd crush set crushmap need sanity check (issue#19302, pr#14029, Loic Dachary)
mon: OSDMonitor add check only concern our self cluster command (pr#10309, song baisen)
mon/OSDMonitor: add plain output for “crush class ls-osd” command (pr#17230, xie xingguo)
mon/OSDMonitor: check creating_pgs.last_scan_epoch instead when sending creates (issue#20785, pr#17257, Kefu Chai)
mon: OSDMonitor: check mon_max_pool_pg_num when set pool pg_num (pr#16511, chenhg)
mon/OSDMonitor: do not send_pg_creates with stale info (issue#20785, pr#17191, Kefu Chai)
mon/OSDMonitor: fix improper input/testing range of crush somke testing (pr#17232, xie xingguo)
mon: osd/PGMonitor: always update pgmap with latest osdmap (issue#19398, pr#14777, Kefu Chai)
mon/pgmap: add objects prefix for unfound type (issue#21127, pr#17264, huanwen ren, Sage Weil)
mon/PGMap: fix “0 stuck requests are blocked > 4096 sec” warn (pr#17215, xie xingguo)
mon: PGMonitor add check only concern our self cluster command (pr#9976, song baisen)
mon: post-jewel cleanups (pr#13150, Kefu Chai)
mon: prime pg_temp and a few health warning fixes (pr#16530, xie xingguo)
mon: refactor MDSMonitor command handling (pr#13581, John Spray)
mon: Removed unnecessary function declaration in MDSMonitor.h (pr#15374, yonghengdexin735)
mon: remove the redudant jugement in paxosservice is_writeable function (pr#10240, song baisen)
mon: remove unnecessary function declaration (pr#13762, liuchang0812)
mon: replace osds with osd destroy和osd new (pr#14074, Joao Eduardo Luis, Sage Weil)
mon: restructure prime_pg_temp around a full pg mapping calculated on multiple CPUs (pr#13207, Sage Weil)
mon: revamp health check/warning system (pr#15643, John Spray, Sage Weil)
mon: revise “ceph status” output (pr#15396, John Spray)
mon: show class in ‘osd crush tree’ output; sort output (pr#16740, Sage Weil)
mon: show destroyed status in tree view; do not auto-out destroyed osds (pr#16446, xie xingguo)
mon: show inactive % in ceph status (pr#14810, Sage Weil)
mon: show io status quickly if no update in a long period (pr#14176, Mingxin Liu)
mon: show the leader info on mon stat command (pr#14178, song baisen)
mon: skip crush smoke test when running under valgrind (issue#20602, pr#16346, Sage Weil)
mon: smooth io/recovery stats over longer period (pr#13249, Sage Weil)
mon: stop issuing not-[deep]-scrubbed warnings if disabled (pr#16465, xie xingguo)
mon: support pool application metadata key/values (pr#15763, Jason Dillaman)
mon,tests: qa/suites: add test exercising workunits/mon/auth_caps.sh (pr#15754, Kefu Chai)
mon,tests: test: Initialize pointer msg in MonClientHelper (pr#16784, amitkuma)
mon: Tidy up removal of debug mon features (pr#14467, Brad Hubbard)
mon: track features from connect clients, and use it to gate set-require-min-compat-client (pr#15371, Sage Weil)
mon: trim the creating_pgs after updating it with pgmap (issue#20067, pr#15318, Kefu Chai)
mon: update mgrmap when active goes offline (issue#19407, pr#14220, John Spray)
mon: Update OSDMon.cc comments (pr#13750, Saumay Agrawal)
mon: warn about using osd new instead of osd create (pr#17302, Neha Ojha)
msg: allow different ms type for cluster network and public network (pr#12023, Haomai Wang)
msg: always set header.version in encode_payload() (issue#19939, pr#16421, Kefu Chai)
msg: client bind (pr#12901, Zengran Zhang, Haomai Wang)
msg: do not enable client-side binding by default (issue#20049, pr#15392, Jason Dillaman)
msg: don’t set msgr addr when disabing client bind (pr#15243, Haomai Wang)
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: Increase loglevels on some messages (pr#14707, Willem Jan Withagen)
msg: Initialize member variables in Infiniband (pr#16781, amitkuma)
msg: Initializing uninitialized members MMonGetVersion (pr#16811, amitkuma)
msg: Initializing uninitialized members MMonGetVersionReply (pr#16813, amitkuma)
msg: Initializing uninitialized members MMonPaxos (pr#16814, amitkuma)
msg: Initializing uninitialized members MMonProbe (pr#16815, amitkuma)
msg: Initializing uninitialized members module messages (pr#16817, amitkuma)
msg: Initializing uninitialized members MOSDAlive (pr#16816, amitkuma)
msg: make listen backlog an option, increase from 128 to 512 (issue#20330, pr#15743, Haomai Wang)
msg: messages: coverity fixes (pr#13473, Kefu Chai)
msg: msg/async: avoid atomic variable overhead (pr#12809, Wei Jin)
msg: msg/async: cleanup code (pr#13304, Jianpeng Ma)
msg: msg/async: cleanups (pr#12832, Wei Jin)
msg: msg/async: fix file description leak in NetHandler (pr#13271, liuchang0812)
msg: msg/async: increase worker reference with local listen table enabled backend (issue#20390, pr#15897, Haomai Wang)
msg: msg/async: Lower down the AsyncMessenger’s standby warning from debug (pr#15242, Pan Liu)
msg: msg/AsyncMessenger: remove unused method (pr#10125, Michal Jarzabek)
msg: msg/async/net_handler: errno should be stored before calling next function (pr#14985, Zhou Zhengping)
msg: msg/async/rdma: check if exp verbs avail (pr#13391, Oren Duer, Adir Lev)
msg: msg/async/rdma: check if fin message completed (pr#15624, Alexander Mikheev, Adir Lev)
msg: msg/async/rdma: Data path fixes (pr#15903, Adir lev)
msg: msg/async/rdma: Debug prints for ibv* (pr#14249, Amir Vadai)
msg: msg/async/rdma: Device::last_poll_dev must be positive (pr#14250, Amir Vadai)
msg: msg/async/rdma: Fix broken compilation (pr#13603, Sarit Zubakov)
msg: msg/async/rdma: Fix memory leak of OSD (pr#13101, Sarit Zubakov)
msg: msg/async/rdma: fix outstanding queuepair when destruct RDMAStack (pr#13905, Haomai Wang)
msg: msg/async/rdma: fix RoCE v2 deafult value (pr#12648, Adir Lev, Oren Duer)
msg: msg/async/rdma: Fix small memory leaks detected by valgrind (pr#14288, Amir Vadai)
msg: msg/async/rdma: handle buffers after close msg (pr#15749, DanielBar-On, Alexander Mikheev, Adir Lev)
msg: msg/async/rdma: move active_queue_pairs perf counter dec to polling (pr#13716, DanielBar-On)
msg: msg/async/rdma: Print error only on ENOMEM (pr#13538, Sarit Zubakov)
msg: msg/async/rdma: RDMA-CM, Pass specific ConnMgr info in constructor (pr#14409, Amir Vadai)
msg: msg/async/rdma: register buffer as continuous (pr#15967, Adir Lev)
msg: msg/async/rdma: remove assert from ibv_dealloc_pd in ProtectionDomain (pr#15832, DanielBar-On)
msg: msg/async/rdma: update destructor message (pr#13539, Sarit Zubakov)
msg: msg/async/rdma: zero wqe inline (pr#13392, Adir Lev)
msg: msg/async: remove false alert “assert” (pr#15288, Haomai Wang)
msg: msg/async: remove useless close function (pr#13286, liuchang0812)
msg: msg/async: rm nonused thread variable in posixworker (pr#12777, Wei Jin)
msg: msg/async: use auto iterator having more simple code and good performance (pr#16524, dingdangzhang)
msg: msg/Messenger.cc: add std::move (pr#9760, Michal Jarzabek)
msg: msg/MOSDOpReply: fix missing trace decode (pr#15999, Yan Jun)
msg: msg/RDMA: Fix broken compilation due to new argument in net.connect() (pr#13096, Amir Vadai)
msg: msg/simple: Remove dead code in pipe.cc (issue#12684, pr#12601, Rishabh Kumar)
msg: msg/simple: use my addr when setting sock priority (issue#19801, pr#14878, Kefu Chai)
msg: no need to pass supported features to Messenger::Policy ctor (pr#13785, Sage Weil)
msg: QueueStrategy::wait() joins all threads (issue#20534, pr#16194, Casey Bodley)
msg: Remove unused variable perf_counter in RDMAStack (pr#16783, amitkuma)
msg: Revert the change from assert(0)-> ceph_abort() where is not applicable (pr#12930, Dave Chen)
msg: src/msg/async/AsyncConnect.cc: Use of sizeof() on a Pointer Type (pr#14773, Svyatoslav)
msg: src/msg/async: Update fix broken compilation for Posix (pr#14336, Sarit Zubakov)
msg: src/msg/simple/Pipe.cc: Fix the inclusion of ‘}’ (pr#14843, Willem Jan Withagen)
os/bluestore: print leaked extents to debug output (pr#17303, Sage Weil)
osd: add asock command to dump the scrub queue (issue#17861, pr#12728, liuchang0812)
osd: add default_device_class to metadata (pr#16634, Neha Ojha)
osd: add dump filter for tracked ops (pr#16561, Yan Jun)
osd: add “heap *” admin command (issue#15475, pr#13073, Jesse Williamson)
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 headers files (pr#13962, liuchang0812)
osd: add override in osd subsystem (issue#18922, pr#13439, liuchang0812)
osd: Add recovery sleep configuration option for HDDs and SSDs (pr#16328, Neha Ojha)
osd: add snap trim reservation and re-implement osd_snap_trim_sleep (pr#13594, Samuel Just)
osd: adjust osd_min_pg_log_entries (issue#21026, pr#17202, J. Eric Ivancich)
osd: allow client throttler to be adjusted on-fly, without restart (issue#18791, pr#13213, Piotr Dałek)
osd: bail from _committed_osd_maps inside osd_lock (issue#20273, pr#15710, Sage Weil)
osd: Calculate degraded and misplaced more accurately (issue#18619, pr#13031, David Zafman)
osd: change a few messages at level 0 and 1; change default level to 1/5 (pr#13407, Sage Weil)
osd: Check for and automatically repair object info soid during scrub (issue#20471, pr#16052, David Zafman)
osd: check fsid is normal before osd mkfs (pr#13898, song baisen)
osd: check queue_transaction return value (pr#15873, zhanglei)
osd: Check snapset for validity when selecting authoritative shard (issue#20186, issue#18409, pr#15559, David Zafman)
osd: Check whether journal is rotational or not (pr#16614, Neha Ojha)
osd: clarify REQUIRE_LUMINOUS error message (pr#13363, Josh Durgin)
osd: clean nonused work queue (pr#14990, Wei Jin)
osd: Cleanup-Updated OSDMap.cc with C++11 style range-for loops (pr#14381, Jos Collin)
osd: cleanup: use string & to avoid unnecessary copy (pr#12336, Yunchuan Wen)
osd: clear_queued_recovery() in on_shutdown() (issue#20432, pr#16093, Kefu Chai)
osd: cmpext operator should ignore -ENOENT on read (pr#16622, Jason Dillaman)
osd: combine conditional statements (pr#16391, Yan Jun)
osd: combine unstable stats with info.stats when publish stats to osd (pr#14060, Mingxin Liu)
osd: compact osd feature (issue#19592, pr#16045, liuchang0812)
osd: condition object_info_t encoding on required (not up) features (issue#18644, pr#13114, Sage Weil)
osd: constify OpRequest::get_req(); fix a few cases of operator<< vs mutated message races (pr#13545, Sage Weil)
osd: correct comment of perfcounter cached_crc in code (pr#13256, lvshuhua)
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: Corrupt objects stop snaptrim and mark pg snaptrim_error (issue#13837, pr#15635, David Zafman)
osd: debug con in ms_handle_connect (pr#13540, Sage Weil)
osd: do not send ENXIO on misdirected op by default (issue#18751, pr#13206, Sage Weil)
osd: do not send pg_created unless luminous (issue#20785, pr#16677, Kefu Chai)
osd: do not try to boot until we’ve seen the first osdmap (pr#15732, Sage Weil)
osd: do not try to set device class before luminous (issue#20850, pr#16706, Josh Durgin)
osd: don’t leak pgrefs or reservations in SnapTrimmer (issue#19931, pr#15214, Greg Farnum)
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 support for listing objects at a given snap (pr#13398, Sage Weil)
osd: dump the field name of object watchers and cleanups (pr#15946, Yan Jun)
osd: EC read handling: don’t grab an objectstore error to use as the read error (pr#16663, David Zafman)
osd: eliminate snapdir objects and move clone snaps vector into SnapSet (pr#13610, Sage Weil)
osd: Execute crush_location_hook when configured in ceph.conf (pr#15951, Wido den Hollander)
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: 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 couple bugs with persisting the missing set when it contains deletes (issue#20704, pr#16459, Josh Durgin)
osd: fix argument-dependent lookup of swap() (pr#15124, Casey Bodley)
osd: fix a signed/unsigned warning in PG (pr#13922, Greg Farnum)
osd: fix comments about pg refs and lock (pr#14279, tang.jin)
osd: fix coverity warning for uninitialized members (pr#12724, Li Wang)
osd: fix func name in log produced by handle_pg_peering_evt() (pr#13801, xie xingguo)
osd: fix occasional MOSDMap leak (issue#18293, pr#14558, Sage Weil)
osd: fix OpRequest and tracked op dump information (pr#16504, Yan Jun)
osd: fix past_intervals base case by adding epoch_pool_created to pg_history_t (issue#19877, pr#14989, Sage Weil)
osd: fix pg ref leaks when osd shutdown (issue#20684, pr#16408, Yang Honggang)
osd: fix some osd beacon bugs (pr#14274, Sage Weil)
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: fix typo in comment (pr#13061, Gu Zhongyan)
osd: Fix useless MAX(0, unsigned) to prevent out of wack misplaced (issue#18718, pr#13164, David Zafman)
osd: have clients resend ops on pg split (pr#13235, Sage Weil)
osd: hdd vs ssd defaults for osd op thread pool (pr#15422, Sage Weil)
osd: heartbeat with packets large enough to require working jumbo frames (issue#20087, pr#15535, Greg Farnum)
osd: Implement asynchronous recovery sleep (pr#15212, Neha Ojha)
osd: Implement asynchronous scrub sleep (issue#19497, pr#14886, Brad Hubbard)
osd: Implement peering state timing (pr#14627, Brad Hubbard)
osd: improve error message when FileStore op fails due to EPERM (issue#18037, pr#12181, Nathan Cutler)
osd: initialize waiting_for_pg_osdmap on startup (issue#20748, pr#16535, Sage Weil)
osd: kill all remaining MOSDSubOp users (pr#13401, Sage Weil)
osd: kill sortbitwise (pr#13321, Sage Weil)
osd: Log audit (pr#16281, Brad Hubbard)
osd: make ec overwrites ready to use (pr#14496, Josh Durgin)
osd: moved OpFinisher logic from OSDOp to OpContext (issue#20783, pr#16617, Jason Dillaman)
osd: Move scrub sleep timer to osdservice (issue#19986, pr#15217, Brad Hubbard)
osd: never send rados ack (only commit) (pr#12451, Sage Weil)
osd: new op for calculating an extent checksum (pr#14256, Jason Dillaman)
osd: objclass sdk (pr#14723, Neha Ojha)
osd: Object level shard errors are tracked and used if no auth available (issue#20089, pr#15397, David Zafman)
osd: On EIO from read recover the primary replica from another copy (issue#18165, pr#14760, David Zafman)
osd: osdc/ObjectCacher: use state instead of get_state() (pr#12544, huangjun)
osd: osdc/Objecter: more constness (pr#14819, Kefu Chai)
osd: osdc: silence warning from -Wsign-compare (pr#14729, Jos Collin)
osd: osd does not using MPing Messages,do not include unused include (pr#15833, linbing)
osd: osd/OSDMap.cc: check if osd is out in subtree_type_is_down (issue#19989, pr#15250, Neha Ojha)
osd: osd/OSDMap: require OSD features only of OSDs (issue#18831, pr#13275, Ilya Dryomov)
osd: osd/PrimaryLogPG: nullptr not NULL (pr#13973, Shinobu Kinjo)
osd: ‘osd tree in|out|up|down’ to filter tree results (pr#15294, Sage Weil)
osd: os/kstore: some error handling (pr#13960, wangzhengyong)
osd/PGBackend: delete reply if fails to complete delete request (issue#20913, pr#17233, Kefu Chai)
osd: pg: be more careful with locking around forced pg recovery (issue#20808, pr#16712, Greg Farnum)
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: pg-remap -> pg-upmap (pr#14556, Sage Weil)
osd: populate last_epoch_split during build_initial_pg_history (issue#20754, pr#16519, Sage Weil)
osd: Preserve OSDOp information for historic ops (pr#15265, Guo-Fu Tseng)
osd: PrimaryLogPG, PGBackend: complete callback even if interval changes (issue#20747, pr#16536, Josh Durgin)
osd: print pg_info_t::purged_snaps as array, not string (issue#18584, pr#14217, liuchang0812)
osd: process deletes during recovery instead of peering (issue#19971, pr#15952, Josh Durgin)
osd: put osdmap in mempool (pr#14780, Sage Weil)
osd: reduce buffer pinning from EC entries (pr#15120, Sage Weil)
osd: reduce map cache size (pr#15292, Sage Weil)
osd: reduce rados_max_object_size from 100 GB -> 128 MB (pr#15520, Sage Weil)
osd: remove copy-get-classic (pr#13547, Sage Weil)
osd: remove sortbitwise thrashing (pr#13296, Sage Weil)
osd: renamed the new vector name in OSDMap::build_simple_crush_map_from_conf (pr#14583, Jos Collin)
osd: rename osd -> osd_pglog; include pglog-related bufferlists (pr#15531, Sage Weil)
osd: rephrase “wrongly marked me down” clog message (pr#16365, John Spray)
osd: replace object_info_t::operator=() with decode() (pr#13938, tang.jin)
osd: ReplicatedBackend::prep_push() remove redundant variable assignments (pr#14817, Jin Cai)
osd: restart boot process if waiting for luminous mons (issue#20631, pr#16341, Sage Weil)
osd: Return correct osd_objectstore in OSD metadata (issue#18638, pr#13072, Wido den Hollander)
osd: Return early on shutdown (issue#19900, pr#15345, Brad Hubbard)
osd: Reverse order of op_has_sufficient_caps and do_pg_op (issue#19790, pr#15354, Brad Hubbard)
osd: sched_scrub() lock pg only if all scrubbing conditions are fulfilled (pr#14968, Jin Cai)
osd: scrub_to specifies clone ver, but transaction include head write… (issue#20041, pr#16404, David Zafman)
osd: silence warning from -Wint-in-bool-context (pr#16744, Jos Collin)
osd: simplify past_intervals representation (pr#14444, Samuel Just, Sage Weil)
osd: small clear up and optimize on _recover_now and should_share_map function (pr#13476, song baisen)
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 cmpext operation on EC-backed pools (pr#15693, Zhengyong Wang, Jason Dillaman)
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: take PGRef for recovery sleep wakeup event (issue#20226, pr#15582, Sage Weil)
osd: the condition of last epoch <= superblock.newest_map epoch has been check twice (pr#15590, linbing)
osd: the osd should not share map with others when it is in stopping state (pr#13668, song baisen)
osd: unlock sdata_op_ordering_lock with sdata_lock hold to avoid miss… (pr#15891, Ming Lin)
osd: use append(bufferlist &) to avoid unnecessary copy (pr#12272, Yunchuan Wen)
osd: use separate waitlist for scrub (pr#13136, Sage Weil)
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)
osd: when osd in not in failure_pending, we don’t need to get osd inst from osdmap (pr#15558, linbing)
osd: When scrub finds an attr error mark shard inconsistent (issue#20089, pr#15368, David Zafman)
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: common/config_opts.h: Lower HDD throttle cost (pr#15485, Mark Nelson)
performance: crc32c: optimize aarch64 crc32c implementation (pr#12977, wei xiao)
performance: denc: add need_contiguous to denc_traits (pr#15224, Kefu Chai)
performance: osd, messenger, librados: lttng oid tracing (pr#12492, Anjaneya Chagam)
performance: osd/PG.cc: loop invariant code motion (pr#12720, Li Wang)
performance: osd/ReplicatedBackend: do not set omap header if it is empty (pr#12612, fang yuxiang)
performance,rgw: rgw_file: permit dirent offset computation (pr#16275, Matt Benjamin)
pybind: better error msg (pr#14497, Kefu Chai)
pybind: cephfs should be built without librados / python-rados (pr#13431, Kefu Chai)
pybind: ceph.in: Check return value when connecting (pr#16130, Douglas Fuller)
pybind: ceph-rest-api: Various REST API fixes (pr#15910, Wido den Hollander)
pybind: conditional compile the linux specific constant (pr#12198, Kefu Chai)
pybind: fix docstring for librbd Python binding (pr#13977, runsisi)
pybind: fix open flags calculation (issue#19890, pr#15018, “Yan, Zheng”)
pybind: pybind/ceph_argparse: fix empty string check (issue#20135, pr#15500, Sage Weil)
pybind: pybind/ceph_daemon.py: fix Termsize.update (pr#15253, Kefu Chai)
pybind: pybind/ceph_daemon: use small chunk for recv (pr#13804, Xiaoxi Chen)
pybind: pybind/mgr/dashboard: fix get kernel_version error (pr#16094, Peng Zhang)
pybind: pybind/mgr/restful: fix typo (pr#16560, Nick Erdmann)
pybind: pybind/mgr/restful: use list to pass hooks to create a Pecan instance (issue#20258, pr#15646, Kefu Chai)
pybind: pybind/rados: avoid call free() on invalid pointer (pr#15159, Mingxin Liu)
pybind: pybind/rados: use new APIs instead of deprecated ones (pr#16684, Kefu Chai)
pybind,rbd: pybind/rbd: OSError should be picklable (issue#20223, pr#15574, Jason Dillaman)
pybind: restore original API for backwards compatibility (issue#20421, pr#15932, Jason Dillaman)
pybind: support mon target in pybind (pr#15409, liuchang0812)
qa: fix POOL_APP_NOT_ENABLED warning in krbd:unmap suite (pr#17192, Ilya Dryomov)
rbd: add default note info to size (create and resize) (pr#15561, Zheng Yin)
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: cleanup: rbd: fix a typo in comment (pr#14049, Dongsheng Yang)
rbd: cls_rbd: default initialize snapshot namespace for legacy clients (issue#19413, pr#14903, Jason Dillaman)
rbd: cls/rbd: silence warning from -Wunused-variable (pr#16670, Yan Jun)
rbd: cls/rbd: trash_list should be iterable (issue#20643, pr#16372, Jason Dillaman)
rbd: common/bit_vector: utilize deep-copy during data decode (issue#19863, pr#15017, Jason Dillaman)
rbd: correct coverity warnings (pr#12954, Jason Dillaman)
rbd: correct issues with image importing (pr#14401, Jason Dillaman)
rbd: demote/promote all mirrored images in a pool (issue#18748, pr#13758, Jason Dillaman)
rbd: destination pool should be source pool if it is not specified (issue#18326, pr#13189, Gaurav Kumar Garg)
rbd: do not attempt to load key if auth is disabled (issue#19035, pr#16024, Jason Dillaman)
rbd: Drop unused member variable reopen in C_OpenComplete (pr#16729, amitkuma)
rbd: enable rbd on FreeBSD (without KRBD) (pr#12798, Willem Jan Withagen)
rbd: error out if import image format failed (pr#13957, wangzhengyong)
rbd: fixed coverity ‘Argument cannot be negative’ warning (pr#16686, amitkuma)
rbd: fix typo in Kernel.cc (issue#19273, pr#13983, Gaurav Kumar Garg)
rbd: ‘image-meta remove’ for missing key does not return error (issue#16990, pr#16393, PCzhangPC)
rbd: import-diff should discard any zeroed extents (pr#14445, Jason Dillaman)
rbd: import needs to sanity check auto-generated image name (issue#19128, pr#14754, Mykola Golub)
rbd: import real thin-provision image (issue#15648, pr#12883, yaoning, Ning Yao)
rbd: info command should indicate if parent is in trash (pr#14875, Jason Dillaman)
rbd: introduce v2 format for rbd export/import (issue#13186, pr#10487, Dongsheng Yang)
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: luminous: librbd: default localize parent reads to false (issue#20941, pr#16899, Jason Dillaman)
rbd: luminous: librbd: remove consistency group rbd cli and API support (pr#16875, Jason Dillaman)
rbd: luminous: rbd-ggate: tool to map images on FreeBSD via GEOM Gate (pr#16895, Mykola Golub)
rbd: luminous: rbd-mirror: align use of uint64_t in service_daemon::AttributeType (pr#16948, James Page)
rbd: luminous: rbd-mirror: simplify notifications for image assignment (issue#15764, pr#16878, Jason Dillaman)
rbd: luminous: rbd: parallelize rbd ls -l (pr#16921, Piotr Dałek)
rbd: make it more understandable when adding peer returns error (pr#16313, songweibin)
rbd-mirror: add support for active/passive daemon instances (issue#17018, issue#17019, issue#17020, pr#12948, Mykola Golub)
rbd-mirror: assertion failure during pool replayer shut down (issue#20644, pr#16704, Jason Dillaman)
rbd-mirror: avoid processing new events after stop requested (issue#18441, pr#12837, Jason Dillaman)
rbd-mirror: check remote image mirroring state when bootstrapping (issue#18447, pr#12820, Mykola Golub)
rbd-mirror: coordinate image syncs with leader (issue#18789, pr#14745, Mykola Golub)
rbd-mirror: delayed replication support (issue#15371, pr#11879, Mykola Golub)
rbd-mirror: deleting a snapshot during sync can result in read errors (issue#18990, pr#13568, 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: guard the deletion of non-primary images (pr#16398, Jason Dillaman)
rbd-mirror: ignore permission errors on rbd_mirroring object (issue#20571, pr#16264, Jason Dillaman)
rbd-mirror: image deletions should be handled by assigned instance (pr#14832, Jason Dillaman)
rbd-mirror: initialize timer context pointer to null (pr#16603, Jason Dillaman)
rbd-mirror: InstanceWatcher watch/notify stub for leader/follower RPC (issue#18783, pr#13312, Mykola Golub)
rbd-mirror: lock loss during sync should wait for in-flight copies (pr#15532, Jason Dillaman)
rbd-mirror: permit release of local image exclusive lock after force promotion (issue#18963, pr#15140, Jason Dillaman)
rbd-mirror: pool watcher should track mirror uuid (pr#14240, Jason Dillaman)
rbd-mirror: remove tracking of image names from pool watcher (pr#14712, Jason Dillaman)
rbd-mirror: replace remote pool polling with add/remove notifications (issue#15029, pr#12364, Jason Dillaman)
rbd-mirror: resolve admin socket path names collision (issue#19907, pr#15048, Mykola Golub)
rbd-mirror: separate ImageReplayer handling from Replayer (issue#18785, pr#13803, Mykola Golub)
rbd-mirror: Set the data pool correctly when creating images (issue#20567, pr#17023, Adam Wolfe Gordon)
rbd-mirror: track images via global image id (pr#13416, Jason Dillaman)
rbd: modified some commands’ description into imperative sentence (pr#16694, songweibin)
rbd-nbd: check /sys/block/nbdX/size to ensure kernel mapped correctly (issue#18335, pr#13229, Mykola Golub)
rbd-nbd: clean up the doc and help information (pr#14146, Pan Liu)
rbd-nbd: create admin socket only for map command (issue#17951, pr#12433, Pan Liu)
rbd-nbd: display pool/image/snap information in list output (pr#15317, Pan Liu)
rbd-nbd: don’t ignore --read-only option in BLKROSET ioctl (pr#13944, Pan Liu)
rbd-nbd: ensure unmap returns error code (pr#15593, guojiannan, chenfangxian)
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: relax size check for newer kernel versions (issue#19871, pr#14976, Mykola Golub)
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-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: properly decode features when using image name optional (issue#20185, pr#15492, Jason Dillaman)
rbd: pybind/rbd: add image metadata methods (issue#19451, pr#14463, Mykola Golub)
rbd: pybind/rbd: fix crash if more than 1024 images in trash bin (pr#15134, runsisi)
rbd: rbd/bench: add notes of default values, it’s easy to use (pr#14762, Zheng Yin)
rbd: rbd/bench: fix write gaps when doing sequential writes with io-threads > 1 (pr#15206, Igor Fedotov)
rbd: rbd, librbd: migrate atomic_t to std::atomic (pr#14656, Jesse Williamson)
rbd: rbd-mirror A/A: leader should track up/down rbd-mirror instances (issue#18784, pr#13571, Mykola Golub)
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 hardcoded default pool (pr#15518, Jason Dillaman)
rbd: remove direct linking to static boost libraries (pr#12962, Jason Dillaman)
rbd: removed spurious error message from mirror pool commands (pr#14935, Jason Dillaman)
rbd: remove unused condition within group action handler (pr#12723, Gaurav Kumar Garg)
rbd,rgw,tools: tools/rbd, rgw: Removed unreachable returns (pr#16308, Jos Collin)
rbd: spell out image features unsupported by the kernel (issue#19095, pr#13812, Ilya Dryomov)
rbd: stop indefinite thread waiting in krbd udev handling (issue#17195, pr#14051, Spandan Kumar Sahu)
rbd: test: fix rbd unit test cases w/ striping feature (issue#18888, pr#13196, Venky Shankar)
rbd,tests: luminous: qa/workunits/rbd: use command line option to specify watcher asok (issue#20954, pr#16946, Mykola Golub)
rbd,tests: luminous: test/librbd: fix race condition with OSD map refresh (issue#20918, pr#16903, Jason Dillaman)
rbd,tests: qa: add workunit to test krbd data-pool support (pr#13482, Ilya Dryomov)
rbd,tests: qa: integrate OpenStack ‘gate-tempest-dsvm-full-devstack-plugin-ceph’ (issue#18594, pr#13158, Jason Dillaman)
rbd,tests: qa: krbd_data_pool.sh: account for rbd_info metadata object (pr#14631, Ilya Dryomov)
rbd,tests: qa: krbd discard/zeroout tests (pr#15388, Ilya Dryomov)
rbd,tests: qa: krbd write-after-checksum tests (pr#14836, Ilya Dryomov)
rbd,tests: qa/suites/krbd: unmap subsuite needs straw buckets (pr#15290, Ilya Dryomov)
rbd,tests: qa/suites/rbd: restrict python memcheck validation to CentOS (pr#15923, Jason Dillaman)
rbd,tests: qa/tasks/qemu: update default image url after ceph.com redesign (问题#18542, pr#12953, Jason Dillaman)
rbd,tests: qa/tasks/rbd_fio: bump default fio version to 2.21 (pr#16656, Ilya Dryomov)
rbd,tests: qa/tasks: rbd-mirror daemon not properly run in foreground mode (issue#20630, pr#16340, Jason Dillaman)
rbd,tests: qa: thrash tests for backoff and upmap (pr#16428, Ilya Dryomov)
rbd,tests: qa: update krbd_data_pool.sh to match the new rados ls behavior (pr#15594, Ilya Dryomov)
rbd,tests: qa/workunits: adjust path to ceph-helpers.sh (pr#16599, Sage Weil)
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: qa/workunits/rbd: increased trash deferment period (pr#14846, Jason Dillaman)
rbd,tests: qa/workunits/rbd: resolve potential rbd-mirror race conditions (issue#18935, pr#13421, Jason Dillaman)
rbd,tests: qa/workunits/rbd: test data pool is mirrored correctly (pr#17077, Mykola Golub)
rbd,tests: qa/workunits/rbd: tweak rbd-mirror config to spead up testing (pr#13228, Mykola Golub)
rbd,tests: qa/workunits: switch to OpenStack Ocata release for RBD testing (pr#14465, Jason Dillaman)
rbd,tests: test: correct language mode in file headers (pr#12924, Jason Dillaman)
rbd,tests: test: fix compile warning in ceph_test_cls_rbd (pr#15919, Jason Dillaman)
rbd,tests: test: fix failing rbd devstack teuthology test (pr#15956, Jason Dillaman)
rbd,tests: test/librados_test_stub: fixed cls_cxx_map_get_keys/vals return value (issue#19597, pr#14484, Jason Dillaman)
rbd,tests: test/librbd: add break_lock test (pr#12842, Mykola Golub)
rbd,tests: test/librbd/CMakeLists.txt: ceph_test_librbd_fsx requires linux includes/libs (pr#13630, Willem Jan Withagen)
rbd,tests: test/librbd/fsx: Add break in case OP_WRITESAME and OP_COMPARE_AND_WRITE (pr#16742, Luo Kexue)
rbd,tests: test/librbd: move tests using non-public api to internal (pr#13806, Venky Shankar)
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/librbd: unit tests cleanup (pr#15113, Mykola Golub)
rbd,tests: test: rbd master/slave notify test should test active features (issue#19692, pr#14638, Jason Dillaman)
rbd,tests: test/rbd_mirror: race in TestMockInstanceWatcher on destroy (pr#14453, 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)
rbd,tests: test: support blacklisting within librados_test_stub (pr#13737, Jason Dillaman)
rbd,tests: test/unittest_librbd: remove unused variables (pr#15720, shiqi)
rbd,tests: test: use librados API to retrieve config params (issue#18617, pr#13076, Jason Dillaman)
rbd,tools: rbdmap: consider /etc/ceph/rbdmap when unmapping images (issue#18884, pr#13361, David Disseldorp)
rbd,tools: tools/rbd_mirror: initialize non-static class member m_do_resync in ImageReplayer (pr#15889, Jos Collin)
rbd,tools: tools/rbd_nbd: add --version show support (pr#16254, Jin Cai)
rbd: use concurrent writes for imports (issue#19034, pr#13782, Venky Shankar)
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)
rbd: When Ceph cluster becomes full, should allow user to remove rbd … (pr#12627, Pan Liu)
rdma: msg/async: Postpone bind if network stack is not ready (pr#14414, Amir Vadai, Haomai Wang)
rdma: msg/async/rdma: Add DSCP support (pr#15484, Sarit Zubakov)
rdma: msg/async/rdma: add inqueue rx chunks perf counter (pr#14782, Haomai Wang)
rdma: msg/async/rdma: fix log line spacing (pr#13263, Adir Lev)
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: Revert RDMA-CM (pr#15262, Amir Vadai)
Replace using sleep with new wait_for_health() bash function
rgw: abort early when s->length empty during putobj (pr#15682, Jiaying Ren)
rgw: AbortMultipart request returns NoSuchUpload error if the meta obj doesn’t exist (pr#12793, Zhang Shaowen)
rgw: acl grants num limit (pr#16291, Enming Zhang)
rgw: add a new error code for non-existed subuser (pr#16095, Zhao Chao)
rgw: add a new error code for non-existed user (issue#20468, pr#16033, Zhao Chao)
rgw: add apis to support ragweed (pr#13645, Yehuda Sadeh)
rgw: add a separate configuration for data notify interval (pr#16551, fang yuxiang)
rgw: add bucket size limit check to radosgw-admin (issue#17925, pr#11796, Matt Benjamin)
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: Added code to correctly account for bytes sent/ received during a ‘PUT’ operation (pr#14042, Pritha Srivastava)
rgw: Adding code to create tenanted user for s3 bucket policy tests (pr#15028, Pritha Srivastava)
rgw: add lifecycle validation according to S3 (issue#18394, pr#12750, Zhang Shaowen)
rgw: add missing RGWPeriod::reflect() based on new atomic update_latest_epoch() (issue#19816, issue#19817, pr#14915, Casey Bodley)
rgw: add --num-zonegroups option for multi test (pr#14216, lvshuhua)
rgw: add override in header files mostly (pr#13586, liuchang0812)
rgw: add override in rgw subsystem (issue#18922, pr#13441, liuchang0812)
rgw: add pool namespace to cache’s key so that system obj can have unique key (issue#19372, pr#14125, Zhang Shaowen)
rgw: add radosclient finisher to perf counter (issue#19011, pr#13535, lvshuhua)
rgw: add “rgw_verify_ssl” config (pr#15301, Shasha Lu)
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 delete marker expiration in s3 lifecycle (issue#19730, pr#14703, Zhang Shaowen)
rgw: add support for FormPost of Swift API (issue#17273, pr#11179, Radoslaw Zarzynski, Orit Wasserman)
rgw: add support for multipart upload expiration (issue#19088, pr#13622, Zhang Shaowen)
rgw: add support for noncurrentversion expiration in s3 lifecycle (issue#18916, pr#13385, Zhang Shaowen)
rgw: add support for Swift’s TempURLs with prefix-based scope (issue#20398, pr#16370, Radoslaw Zarzynski)
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 the Vim’s modeline into rgw_orphan.cc (pr#15431, Radoslaw Zarzynski)
rgw: add variadic string join for s3 signature generation (pr#15678, Casey Bodley)
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: auto reshard old buckets (pr#15665, Orit Wasserman)
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: be aware abount tenants on cls_user_bucket -> rgw_bucket conversion (issue#18364, issue#16355, pr#13220, Radoslaw Zarzynski)
rgw: bucket index check in radosgw-admin removes valid index (issue#18470, pr#12851, Zhang Shaowen)
rgw: bucket stats display bucket index type (pr#14466, fang yuxiang)
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: Changes for s3test config file, to add user under a tenant (pr#15753, Pritha Srivastava)
rgw: check placement existence when create bucket (pr#16385, Jiaying Ren)
rgw: check placement target existence during bucket creation (pr#16384, Jiaying Ren)
rgw: civetweb don’t go past the array index while calling mg_start (issue#19749, pr#14750, Abhishek Lekshmanan, Jesse Williamson)
rgw: clean redundant code (pr#13302, Yankun Li)
rgw: clean unuse code in cls_statelog_check_state (pr#10260, weiqiaomiao)
rgw: clean-up error mapping in Swift’s authentication strategy (pr#15756, Radoslaw Zarzynski)
rgw: cleanup: fix variable name in RGWRados::create_pool() declaration (pr#14547, Nathan Cutler)
rgw: cleanup lc continuation (pr#14906, Jiaying Ren)
rgw: cleanup lifecycle managament (pr#13820, Jiaying Ren)
rgw: cleanup rgw-admin duplicated judge during OLH GET/READLOG (pr#15700, Jiaying Ren)
rgw: clean up the redundant assignment in last_entry_in_listing (pr#13387, Jing Wenjun)
rgw: clean up the unneeded rgw::io::ChunkingFilter::has_content_length (pr#13504, Radoslaw Zarzynski)
rgw: cleanup unused codes in rgw_admin.cc (pr#15771, fang yuxiang)
rgw: cleanup unused var in rgw/rgw_rest_s3.cc (pr#13434, Jiaying Ren)
rgw: clear master_zonegroup when reseting RGWPeriodMap (issue#17239, pr#12658, Orit Wasserman)
rgw: clear old zone short ids on period update (issue#15618, pr#13949, Casey Bodley)
rgw: cls: ceph::timespan tag_timeout wrong units (issue#20380, pr#16026, Matt Benjamin)
rgw: cls/rgw: Clean up the “magic string” usage in the cls layer for RGW (pr#12536, Ira Cooper)
rgw: cls/rgw: list_plain_entries() stops before bi_log entries (issue#19876, pr#14981, Casey Bodley)
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: complete versioning enablement after sending it to meta master (issue#18003, pr#12444, Orit Wasserman)
rgw: Compress crash bug refactor (issue#20098, pr#15569, Adam Kupczyk)
rgw: continuation of the auth rework -- AWSv4 (issue#18800, pr#14885, Radoslaw Zarzynski, Javier M. Mellid)
rgw: continuation of the auth rework (pr#12893, Radoslaw Zarzynski, Matt Benjamin)
rgw: Correcting the condition in ceph_assert while parsing an AWS Principal (pr#15997, Pritha Srivastava)
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: custom user data header (issue#19644, pr#14592, Pavan Rallabhandi)
rgw: datalog trim and mdlog trim handles the result returned by osd incorrectly (issue#20190, pr#15507, Zhang Shaowen)
rgw: data sync includes instance in rgw_obj_index_key (pr#13948, Casey Bodley)
rgw: deduplicate variants of rgw_make_bucket_entry_name() (pr#14299, Radoslaw Zarzynski)
rgw: delete non-empty buckets in slave zonegroup works not well (issue#19313, pr#14043, Zhang Shaowen)
rgw: delete object in error path (issue#20620, pr#16324, Yehuda Sadeh)
rgw: disable dynamic reshading for 1st L point release (pr#16969, Matt Benjamin)
rgw: display more info when using radosgw-admin bucket stats (pr#15256, fang.yuxiang)
rgw: Do not decrement stats cache when the cache values are zero (issue#20661, pr#16389, Pavan Rallabhandi)
rgw: Do not fetch bucket stats by default upon bucket listing (issue#20377, pr#15834, Pavan Rallabhandi)
rgw: do not log debug output at level 0 (pr#15633, Jens Rosenboom)
rgw: don’t do unneccesary write if buffer with zero length (pr#14925, fang yuxiang)
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 read all user input for a few param requests (pr#13815, Abhishek Lekshmanan)
rgw: don’t return skew time error in pre-signed url (issue#18828, pr#13354, liuchang0812)
mon: dont spawn error_repo until lease is acquired (issue#19446, pr#14714, Casey Bodley)
mon: don’t specify a length when converting bl -> string (issue#20037, pr#15599, Abhishek Lekshmanan)
mon: don’t use strlen in constexprs to not brake Clang builds (pr#15688, Radoslaw Zarzynski)
rgw: drop asio/{yield,coroutine}.hpp replacements (pr#15413, Kefu Chai)
rgw: Drop dump_usage_bucket_info() to silence warning from -Wunused-function (pr#16497, Wei Qiaomiao)
rgw: drop unused find_replacement() and some function docs (pr#16386, Jiaying Ren)
rgw: drop unused function RGWRemoteDataLog::get_shard_info() (pr#16236, Shasha Lu)
rgw: drop unused param “bucket” from select_bucket_placement (pr#14390, Shasha Lu)
rgw: fix the bug that part’s index can’t be removed after completing multipart upload (pr#14412, Jiaying Ren)
rgw: drop unused rgw_pool parameter, local variables and member variable (pr#16154, Jiaying Ren)
rgw: drop unused var header_ended (pr#15686, Jiaying Ren)
rgw: drop using std ns in header files and other cleanups (pr#15137, Abhishek Lekshmanan)
rgw: dynamic resharding (pr#15493, Yehuda Sadeh, Orit Wasserman)
rgw: enable to update acl of bucket created in slave zonegroup (issue#16888, pr#14082, Guo Zhandong)
rgw: error_code in error log is not right when data sync fails (issue#18437, pr#12810, Zhang Shaowen)
rgw: error more verbosely in RGWRados::create_pool (pr#14642, Matt Benjamin)
rgw: external auth engines of S3 honor rgw_keystone_implicit_tenants (issue#17779, pr#15572, Radoslaw Zarzynski)
rgw: Fix a bug that multipart upload may exceed the quota (issue#19602, pr#12010, Zhang Shaowen)
rgw: fix asctime when logging in rgw_lc (pr#16422, Abhishek Lekshmanan)
rgw: fix break inside of yield in RGWFetchAllMetaCR (issue#17655, pr#11586, Casey Bodley)
rgw: fix broken /crossdomain.xml, /info and /healthcheck of Swift API (issue#19520, pr#14373, Radoslaw Zarzynski)
rgw: fix build of conflict after auth rework (pr#14203, Casey Bodley)
rgw: fix configurable write obj window size (pr#13934, hechuang)
rgw: fix constexpr for string_size in clang (pr#15738, Adam C. Emerson, Casey Bodley)
rgw: fix disabling Swift’s object versioning through empty X-Versions-Location (issue#18852, pr#13303, Jing Wenjun)
rgw: Fix duplicate tag removal during GC (issue#20107, pr#15912, Jens Rosenboom)
rgw: fix error code of inexistence of versions location in swift api (issue#18880, pr#13350, Jing Wenjun)
rgw: fix error handling in get_params() of RGWPostObj_ObjStore_S3 (pr#15670, Radoslaw Zarzynski)
rgw: fix error handling in the link() method of RGWBucket (issue#20279, pr#15669, Radoslaw Zarzynski)
rgw: fix error message in removing bucket with --bypass-gc flag (issue#20688, pr#16419, Abhishek Varshney)
rgw: fix err when copy object in bucket with specified placement rule (issue#20378, pr#15837, fang yuxiang)
rgw: fixes for AWSBrowserUploadAbstractor auth (issue#20372, pr#15882, Radoslaw Zarzynski, Casey Bodley)
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 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 for Policy Parse exception in case of multiple statements (pr#16689, Pritha Srivastava)
rgw: fix forward request for bulkupload to be applied in multisite (issue#19645, pr#14601, Jing Wenjun)
rgw: fix ‘gc list --include-all’ command infinite loop the first items (issue#19978, pr#12774, Shasha Lu, fang yuxiang)
rgw: fix get bucket policy s3 compatible issue (pr#15280, Enming Zhang)
rgw: fix handling of --remote in radosgw-admin period commands (issue#19554, pr#14407, Casey Bodley)
rgw: fix handling RGWUserInfo::system in RGWHandler_REST_SWIFT (issue#18476, pr#12865, Radoslaw Zarzynski)
rgw: fix infinite loop in rest api for log list (issue#20386, pr#15983, root)
rgw: fix init_bucket_for_sync retcode (pr#13684, Shasha Lu)
rgw: fix lc list failure when shards not be all created (issue#19898, pr#15025, Jiaying Ren)
rgw: fix leaks with incomplete multiparts (issue#17164, pr#15630, Abhishek Varshney)
rgw: fix marker encoding problem (issue#20463, pr#15998, Marcus Watts)
rgw: fix memory leak in copy_obj_to_remote_dest (pr#9974, weiqiaomiao)
rgw: fix memory leak in delete_obj_aio (pr#13998, wangzhengyong)
rgw: fix memory leak in RGWGetObjLayout (pr#14014, liuchang0812)
rgw: fix memory leaks during Swift Static Website’s error handling (issue#20757, pr#16531, Radoslaw Zarzynski)
rgw: fix not initialized vars which cause rgw crash with ec data pool (issue#20542, pr#16177, Aleksei Gutikov)
rgw: fix off-by-one in RGWDataChangesLog::get_info (issue#18488, pr#12884, Casey Bodley)
rgw: fix parse/eval of policy conditions with IfExists (issue#20708, pr#16463, Casey Bodley)
rgw: fix period update crash (issue#18631, pr#13054, Orit Wasserman)
rgw: fix potential null pointer dereference in rgw_admin (pr#15667, Radoslaw Zarzynski)
rgw: fix radosgw-admin data sync run crash (issue#20423, pr#15938, Shasha Lu)
rgw: fix radosgw-admin retcode (pr#15257, Shasha Lu)
rgw: fix RadosGW hang during multi-chunk upload of AWSv4 (issue#19754, pr#14770, Radoslaw Zarzynski)
rgw: fix radosgw will crash when service is restarted during lifecycl… (issue#20756, pr#16495, Wei Qiaomiao)
rgw: fix response header of Swift API (issue#19443, pr#14280, tone-zhang)
rgw: fix rest client’s order of args in get_v2_signature (pr#15731, Casey Bodley)
rgw: fix rgw bucket policy IfExists position (issue#20248, pr#15607, yuliyang)
rgw: fix rgw hang when do RGWRealmReloader::reload after go SIGHUP (issue#20686, pr#16417, fang.yuxiang)
rgw: fix RGWPutBucketPolicy error when set BucketPolicy again without delete pre set Policy (issue#20252, pr#15617, yuliyang)
rgw: fix s3 object uploads with chunked transfers and v4 signatures (issue#20447, pr#15965, Marcus Watts)
rgw: fix segfault in RevokeThread during its shutdown procedure (issue#19831, pr#15033, Radoslaw Zarzynski)
rgw: fix slave zonegroup cannot enable the bucket versioning (issue#18003, pr#12175, lvshuhua)
- rgw: fix SLO/DLO range requests (pr#15060, Shasha Lu)
rgw: fix swift cannot disable object versioning
rgw: fix swift default auth error after auth strategy refactoring (pr#15711, Casey Bodley)
rgw: fix test_multi.py default config file path (pr#15306, Jiaying Ren)
rgw: fix the bug that part’s index can’t be removed after completing multipart upload (issue#19604, pr#14500, Zhang Shaowen)
rgw: fix the signature mismatch of FormPost in swift API (issue#20220, pr#15564, Jing Wenjun)
rgw: fix the UTF8 check on bucket entry name in rgw_log_op() (issue#20779, pr#16604, Radoslaw Zarzynski)
rgw: fix transition from full to incremental meta sync (pr#13920, Casey Bodley)
rgw: fix typo in comment (pr#13578, liuchang0812)
rgw: fix uninitialized fields (pr#14120, wangzhengyong)
rgw: fix upgrate from hammer when zone doesn’t have zoneparams (issue#19231, pr#13900, Orit Wasserman)
rgw: Fix up to 1000 entries at a time in check_bad_index_multipart (issue#20772, pr#16692, 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: fix wrong error code for expired Swift TempURL’s links (issue#20384, pr#15850, Radoslaw Zarzynski)
rgw: fix X-Object-Meta-Static-Large-Object in SLO download (issue#19951, pr#15045, Shasha Lu)
rgw: fix zone did’t update realm_id when added to zonegroup (issue#17995, pr#12139, Tianshan Qu)
rgw: forward RGWPutBucketPolicy to meta master (issue#20297, pr#15736, Casey Bodley)
rgw: get torrent request’s parameter is not the same as amazon s3 (issue#19136, pr#13760, Zhang Shaowen)
rgw: get wrong content when download object with specific range with compression (issue#20100, pr#15323, fang yuxiang)
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: implement get/put object tags for S3 (pr#13753, Abhishek Lekshmanan)
rgw: improve handling of illformed Swift’s container ACLs (issue#18796, pr#13248, Radoslaw Zarzynski)
rgw: /info claims we do support Swift’s accounts ACLs (issue#20394, pr#15887, Radoslaw Zarzynski)
rgw: initialize non-static class members in ESQueryCompiler (pr#15884, Jos Collin)
rgw: initialize Non-static class member val in ESQueryNodeLeafVal_Int (pr#15888, Jos Collin)
rgw: initialize Non-static class member worker in RGWReshard (pr#15886, Jos Collin)
rgw: Initialize of member variable admin_specified in RGWUserAdminOpState (pr#16847, amitkuma)
rgw: Initialize pointer fields (pr#16021, Jos Collin)
rgw: LCWorker’s worktime is not the same as config rgw_lifecycle_work_time (issue#18087, pr#11963, Zhang Shaowen)
rgw: ldap: simple_bind() should set ldap version option on tldap (pr#12616, Weibing Zhang)
rgw: lease_stack: use reset method instead of assignment (pr#16185, Nathan Cutler)
rgw: Let the object stat command be shown in the usage (issue#19013, pr#13291, Pavan Rallabhandi)
rgw: librgw shut (issue#18585, pr#12972, Matt Benjamin)
rgw: lifecycle thread shouldn’t process the bucket which has been deleted (issue#20285, pr#15677, Zhang Shaowen)
rgw: lock is not released when set sync marker is failed (issue#18077, pr#12197, Zhang Shaowen)
rgw: log_meta only for more than one zone (issue#20357, pr#15777, Orit Wasserman, Leo Zhang)
rgw: lower some log’s level in gc process (pr#15426, Zhang Shaowen)
rgw: luminous: rgw: Fix rgw not responding occasionally when receiving SIGHUP signal (issue#20962, pr#17113, Yao Zongyou)
rgw: luminous: RGW: Get Bucket ACL does not honor the s3:GetBucketACL action (issue#21013, issue#21056, pr#17117, Abhishek Lekshmanan)
rgw: luminous: rgw: GetObject Tagging needs to exit earlier if the object has no attributes (issue#21054, issue#21010, pr#17118, Abhishek Lekshmanan)
rgw: luminous: rgw_lc: support for AWSv4 authentication (pr#16914, Abhishek Lekshmanan)
rgw: luminous: rgw: S3 v4 auth fails when query string contains (issue#21000, issue#21003, issue#20501, issue#21043, pr#17114, Zhang Shaowen, Marcus Watts)
rgw: luminous: rgw: Use namespace for lc_pool and roles_pool (issue#20177, issue#20967, pr#16943, Orit Wasserman)
rgw: make RGWEnv return a const ref. to its map (pr#15269, Abhishek Lekshmanan)
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: match wildcards in StringLike policy conditions (issue#20308, pr#16491, Casey Bodley)
rgw: metadata search part 2 (pr#14351, Yehuda Sadeh)
rgw: meta sync thread crash at RGWMetaSyncShardCR (issue#20251, pr#15660, fang.yuxiang)
rgw: migrate atomic_t to std::atomic<> (ebirah) (pr#14839, Jesse Williamson)
rgw: migrate atomic_t to std::atomic<> (pr#15001, Jesse Williamson)
rgw: modify email to empty by admin RESTful api doesn’t work (pr#16309, fang.yuxiang)
rgw: move the S3 anonymous auth handling to a dedicated engine (pr#16485, Radoslaw Zarzynski)
rgw: multipart copy-part remove ‘/’ for s3 java sdk request header (issue#20075, pr#15283, root)
rgw: multisite enabled over multiple clusters (pr#12535, Ali Maredia)
rgw: multisite: fixes for zonegroup redirect (issue#19488, pr#14319, Casey Bodley)
rgw: multistore: fix RGWRadosRemoveOmapKeysCR and change cn to intrusive_ptr (issue#20539, pr#16197, Shasha Lu)
rgw: never let http_redirect_code of RGWRedirectInfo to stay uninitialized (issue#20774, pr#16601, Radoslaw Zarzynski)
rgw: omit X-Account-Access-Control if there is no grant to serialize (issue#20395, pr#15883, Radoslaw Zarzynski)
rgw: only log metadata on metadata master zone (issue#20244, pr#15613, Casey Bodley)
rgw: optimize data sync. Add zones_trace in log to avoid needless sync (issue#19219, pr#13851, Zhang Shaowen)
rgw: optimize generating torrent file. Object data won’t stay in memory now (pr#15153, Zhang Shaowen)
rgw: orphan: fix error messages (pr#12782, Weibing Zhang)
rgw: pass authentication domain to civetweb (issue#17657, pr#12861, Abhishek Lekshmanan)
rgw: polymorphic error codes (pr#10690, Pritha Srivastava, Marcus Watts)
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: radosgw-admin: use zone id when creating a zone (issue#19498, pr#14340, Orit Wasserman)
rgw: radosgw, crypto: simplified code in handle_data functions (issue#19746, pr#14722, Casey Bodley)
rgw: radosgw, crypto: simplified code in handle_data functions (pr#15598, Adam Kupczyk)
rgw: radosgw: fix compilation with cryptopp (pr#15960, Adam Kupczyk)
rgw: raise debug level of meta sync logging (pr#15524, Casey Bodley)
rgw: raise debug level of RGWPostObj_ObjStore_S3::get_policy (pr#16203, Shasha Lu)
rgw: reject request if decoded URI contains 0 in the middle (issue#20418, pr#15953, Radoslaw Zarzynski)
rgw: remove a redundant judgement in rgw_rados.cc:delete_obj (pr#11124, Zhang Shaowen)
rgw: remove duplicate flush formatter (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: remove fastcgi from default rgw frontends (pr#15098, Casey Bodley)
- rgw: remove invalid read size4 (issue#18071, pr#12767, Matt Benjamin)
rgw: Remove pessimizing move
rgw: remove redundant codes in rgw_cache.h (pr#13902, lihongjie)
rgw: Remove spurious XML header for GetBucketPolicy (issue#20247, pr#15586, Adam C. Emerson)
rgw: remove the useless output when listing zonegroups (pr#16331, Zhang Shaowen)
rgw: remove unused func in rgw_file.h (pr#15698, lihongjie)
rgw: remove useless --tier_type in radosgw-admin (pr#13856, Zhang Shaowen)
rgw: rename s3_code to err_code for swift (pr#12300, Guo Zhandong)
rgw: Replace get_zonegroup().is_master_zonegroup() with is_meta_master() in RGWBulkDelete::Deleter::delete_single() (pr#16062, Fan Yang)
rgw: req xml params size limitation error msg (pr#16310, Enming Zhang)
rgw: respect Swift’s negative, HTTP referer-based ACL grants (issue#18841, pr#14344, Radoslaw Zarzynski)
rgw: restore admin socket path in mrgw.sh (pr#16540, Casey Bodley)
rgw: return the version id in get object and object metadata request (issue#19370, pr#14117, Zhang Shaowen)
rgw: rgw-admin: fix bucket limit check argparse, div(0) (pr#15316, Matt Benjamin)
rgw: rgw_common: use string::npos for the results of str.find (issue#18725, pr#13963, Casey Bodley)
rgw: rgw_common: use string::npos for the results of str.find (pr#14341, Abhishek Lekshmanan)
rgw: rgw_crypt: log error messages during failures (pr#16726, Abhishek Lekshmanan)
rgw: rgw_file: add compression interop to RGW NFS (issue#20462, pr#15989, Matt Benjamin)
rgw: rgw_file: add lock protection for readdir against gc (issue#20121, pr#15329, Gui Hecheng)
rgw: rgw_file: add service map registration (pr#16251, Matt Benjamin)
rgw: rgw_file: add timed namespace invalidation (issue#18651, pr#13038, Matt Benjamin)
rgw: rgw_file: avoid a recursive lane lock in LRU drain (issue#20374, pr#15819, Matt Benjamin)
rgw: rgw_file: avoid stranding invalid-name bucket handles in fhcache (issue#19036, pr#13590, Matt Benjamin)
rgw: rgw_file cleanup names (pr#15568, Gui Hecheng)
rgw: rgw_file: cleanup virtual keyword on derived functions (pr#14908, Gui Hecheng)
rgw: rgw_file: ensure valid_s3_object_name for directories, too (issue#19066, pr#13614, Matt Benjamin)
rgw: rgw_file: fix assert upon setattr on bucket (issue#20287, pr#15679, Gui Hecheng)
rgw: rgw_file: fix double unref on rgw_fh for rename (pr#13988, Gui Hecheng)
rgw: rgw_file: fix flags set on unsuccessful unlink (pr#15222, Gui Hecheng)
rgw: rgw_file: fix fs_inst progression (issue#19214, pr#13832, Matt Benjamin)
rgw: rgw_file: fix missing unlock in unlink (issue#19435, pr#14262, Gui Hecheng)
rgw: rgw_file: fix misuse of make_key_name before make_fhk (pr#15108, Gui Hecheng)
rgw: rgw_file: fix non-negative return code for open operation (pr#14045, Gui Hecheng)
rgw: rgw_file: fix non-posix errcodeEINVAL to ENAMETOOLONG (pr#13764, Gui Hecheng)
rgw: rgw_file: fix readdir after dirent-change (issue#19634, pr#14561, Matt Benjamin)
rgw: rgw_file: fix reversed return value of getattr (pr#13895, Gui Hecheng)
rgw: rgw_file: fix RGWLibFS::setattr for directory objects (issue#18808, pr#13252, Matt Benjamin)
rgw: rgw_file: fix up potential race condition (pr#14553, Gui Hecheng)
rgw: rgw_file: implement reliable has-children check (unlink dir) (issue#19270, pr#13953, Matt Benjamin)
rgw: rgw_file: interned RGWFileHandle objects need parent refs (issue#18650, pr#13084, Matt Benjamin)
rgw: rgw_file: posix style atime,ctime,mtime (pr#13765, Gui Hecheng)
rgw: rgw_file: pre-compute unix attrs in write_finish() (issue#19653, pr#14609, Matt Benjamin)
rgw: rgw_file: prevent conflict of mkdir between restarts (issue#20275, pr#15655, Gui Hecheng)
rgw: rgw_file: properly & or flags (issue#20663, pr#16448, Matt Benjamin)
rgw: rgw_file: release rgw_fh lock and ref on ENOTEMPTY (issue#20061, pr#15246, Matt Benjamin)
rgw: rgw_file: removed extra rele() on fs in rgw_umount() (pr#15152, Gui Hecheng)
rgw: rgw_file: remove hidden uxattr objects from buckets on delete (issue#20045, pr#15210, Matt Benjamin)
rgw: rgw_file: remove post-unlink lookup check (issue#20047, pr#15216, Matt Benjamin)
rgw: rgw_file: replace raw fs->fh_lru.unref with predefined fs->unref (pr#15541, Gui Hecheng)
rgw: rgw_file: RGWFileHandle dtor must also cond-unlink from FHCache (issue#19112, pr#13712, Matt Benjamin)
rgw: rgw_file skip policy read for virtual components (pr#16034, Gui Hecheng)
rgw: rgw_file: split last argv on ws, if provided (pr#12965, Matt Benjamin)
rgw: rgw_file: store bucket uxattrs on the bucket (issue#20082, pr#15293, Matt Benjamin)
rgw: rgw_file: support readdir cb type hints (plus fixes) (issue#19623, issue#19625, issue#19624, pr#14458, Matt Benjamin)
rgw: rgw_file: use fh_hook::is_linked() to check residence (issue#19111, pr#13703, Matt Benjamin)
rgw: rgw_file: v3: fix write-timer action (issue#19932, pr#15097, Matt Benjamin)
rgw: rgw : fix race in RGWCompleteMultipart (issue#20861, pr#16732, Abhishek Varshney)
rgw: rgw:fix s3 aws v2 signature priority between header[‘X-Amz-Date’] and header[‘Date’] (issue#20176, pr#15467, yuliyang)
rgw: rgw: fix the subdir without slash of s3 website url (issue#20307, pr#15703, liuhong)
rgw: rgw_lc: drop a bunch of unused headers (pr#14342, Abhishek Lekshmanan)
rgw: rgw_ldap: log the ldap err in case of bind failure (pr#14781, Abhishek Lekshmanan)
rgw: rgw/lifecycle: do not send lifecycle rules when GetLifeCycle failed (issue#19363, pr#14160, liuchang0812)
rgw: RGWMetaSyncShardControlCR retries with backoff on all error codes (issue#19019, pr#13546, Casey Bodley)
rgw: RGWMetaSyncShardCR drops stack refs on destruction (issue#18412, issue#18300, pr#12605, Casey Bodley)
rgw: rgw multisite: automated mdlog trimming (pr#13111, Casey Bodley)
rgw: rgw multisite: feature of bucket sync enable/disable (pr#15801, Zhang Shaowen, Casey Bodley, Zengran Zhang)
rgw: rgw multisite: fixes for meta sync across periods (issue#18639, pr#13070, Casey Bodley)
rgw: rgw multisite: fix ref counting of completions (issue#18414, issue#18407, pr#12841, Casey Bodley)
rgw: rgw-multisite: 修复 rgw 网站配置 ‘RedirectAllRequestsTo’ 无法同步到从区域的问题 (pr#15036, yuliyang)
rgw: rgw-multisite: 修复 rgw 网站配置请求未重定向到元数据主的问题 (pr#15082, yuliyang)
rgw: rgw multisite: 移除 OPT_ZONEGROUP_MODIFY 中的冗余 post (pr#14359, Jing Wenjun)
rgw: rgw/multisite: 在创建存储桶期间验证存储桶位置 (pr#15333, Jiaying Ren)
rgw: RGW NFS: 向 doc/radosgw 添加 nfs.rst (pr#15789, Matt Benjamin)
rgw: rgw_op: 移除未使用的变量 iter (pr#14276, Weibing Zhang)
rgw: RGWPeriodPusher 在 cr 线程之前启动 http 线程 (issue#19834, pr#14936, Casey Bodley)
rgw: rgw_rados: 仅当 run_sync_thread 设置时才创建同步模块实例 (issue#19830, pr#14994, Abhishek Lekshmanan)
rgw: rgw_rados: 删除已弃用的全局变量 (pr#14411, Jiaying Ren)
rgw: rgw_rados: 初始化 cur_shard (pr#15735, Abhishek Lekshmanan)
rgw: rgw realm 设置修复 (issue#18333, pr#12731, Orit Wasserman)
rgw: rgw/rgw_frontend.h: 在 RGWLoadGenFrontend::init() 中如果 uid 为空则返回负值 (pr#16204, jimifm)
rgw: rgw/rgw_main.cc: 修复括号和函数结果 (pr#12295, Willem Jan Withagen)
rgw: rgw/rgw_op: 防止 swift_versioning_copy() 调用失败时发生内存泄漏 (pr#15328, jimifm)
rgw: rgw/rgw_rados: 在 RGWRados::finalize() 中删除重复调用 (pr#15281, jimifm)
rgw: rgw/rgw_string.h: FreeBSD 希望包含 errno.h (pr#15737, Willem Jan Withagen)
rgw: rgw/rgw_swift_auth.cc: 使用 string::back() �fty 不是 C++11 推荐的方式 (pr#14827, liuyuhong)
rgw: rgw 结构重构 (issue#17996, issue#19249, pr#11485, Yehuda Sadeh)
rgw: rgw,test: 修复 rgw 放置规则池配置选项 (pr#16084, Jiaying Ren)
rgw: S3 生命周期现在支持过期日期 (pr#15807, Zhang Shaowen)
rgw: s3 服务器端加密 (SSE-C, SSE-KMS) (pr#11049, Adam Kupczyk, Casey Bodley, Radoslaw Zarzynski)
rgw: 当分片 ID 超出范围时出现段错误 (issue#19732, pr#14389, redickwang)
rgw: 在设置 setuid 后设置可删除标志 ff0e521 (issue#19089, pr#13657, Brad Hubbard)
rgw: 设置 FCGI_INCLUDE_DIR 为 cephd_rgw_base (issue#18918, pr#13393, David Disseldorp)
rgw: 正确设置对象计费大小 (issue#20071, pr#14950, fang yuxiang)
rgw: 正确设置放置规则 (pr#15221, fang.yuxiang)
rgw: 如果 conn->get_obj(…) 返回非零值,则应删除 in_stream_req (pr#9950, weiqiaomiao)
rgw: 当用户未提供时不应限制 location_constraint 相同 (pr#16770, Tianshan Qu)
rgw: 当 reshard_log->update() 返回非零时应该解锁 (pr#16502, Wei Qiaomiao)
rgw: 静默编译警告来自 -Wmaybe-uninitialized (pr#15996, Jiaying Ren)
rgw: 静默警告来自 -Wmaybe-uninitialized (pr#15949, Jos Collin)
rgw: stat 请求跳过压缩、清单处理等 (pr#14109, Casey Bodley)
rgw: 支持某些陈旧的和过时的发行版 (pr#15498, Adam C. Emerson)
swift: 能够分别更新 swift 读取和写入 ACL (issue#19289, pr#14499, Marcus Watts)
rgw: swift: 如果 sleep 等于 0,则禁用撤销线程 (issue#19499, issue#9493, pr#14501, Marcus Watts)
rgw: swift: 修复匿名用户获取对象时的错误代码 (issue#18806, pr#13242, Jing Wenjun)
rgw: swift: swift API 中的 http referer ACL 应该显示 (issue#18665, pr#13003, Jing Wenjun)
rgw: swift: http referer 应该在 swift API 中解析以进行比较 (issue#18685, pr#13005, Jing Wenjun)
rgw: 验证租户名称在创建用户期间 (issue#12863, pr#14327, Rishabh Kumar)
rgw: 由于 C++11 和 FreeBSD,RGWBulkUploadOp 切换到 std::array (pr#14314, Radoslaw Zarzynski)
rgw: 同步状态比较当前主周期 (issue#18064, pr#12907, Abhishek Lekshmanan)
rgw: test,rgw: 修复 rgw 放置规则池配置选项 (pr#16380, Jiaying Ren)
rgw,tests: luminous: qa/rgw: 在创建的池上使用 ‘ceph osd pool application enable’ (pr#17259, Casey Bodley)
rgw,tests: qa/rgw: 当 s3tests 扫描 rgw 日志时,将集群名称添加到路径中 (pr#14845, Casey Bodley)
rgw,tests: qa/rgw: 添加服务器端加密测试的配置 (pr#13597, Casey Bodley)
rgw,tests: qa/rgw: 在垃圾回收下为 s3tests 添加加密配置 (pr#15694, Casey Bodley)
rgw,tests: qa/rgw: 将多站点套件添加到配置和运行多站点测试 (pr#14688, Casey Bodley)
rgw,tests: qa/rgw: 由于过期失败,禁用生命周期测试 (pr#16760, Casey Bodley)
rgw,tests: qa/rgw: 在 jewel 升级测试中不要扫描 radosgw 日志以获取加密密钥 (pr#14697, Casey Bodley)
rgw,tests: qa/rgw_admin 任务中的断言 (pr#14842, Casey Bodley)
rgw,tests: qa/rgw: 删除 apache/fastcgi 和 radosgw-agent 测试 (pr#15184, Casey Bodley)
rgw,tests: qa/suites/rgw/thrash: 添加 osd thrashing 测试 (pr#13445, Sage Weil)
rgw,tests: qa/tasks: S3A hadoop 任务用于测试使用 Ceph 的 s3a (pr#14624, Vasu Kulkarni)
rgw,tests: test/rgw: 将存储桶 ACL 和版本控制测试添加到 test_multi.py 中 (pr#12449, Casey Bodley)
rgw,tests: test/rgw: 添加版本对象同步测试 (pr#12474, Casey Bodley)
rgw,tests: test/rgw: 修复 test_multi_period_incremental_sync() 的测试 (pr#13067, Casey Bodley)
rgw,tests: test/rgw: 修复默认参数为空列表的测试 (pr#14816, Casey Bodley)
rgw,tests: test/rgw: 为 qa 套件重构 test_multi.py (pr#14433, Casey Bodley)
rgw,tests: test_bucket_delete_notempty 在 test_multi.py 中 (pr#14090, Casey Bodley)
rgw,tests: vstart: 添加通过所有 s3tests 测试所需的 rgw 配置 (pr#15782, Casey Bodley)
rgw,tests: vstart: 删除 rgw_enable_static_website (pr#15856, Casey Bodley)
rgw: swift 容器 ACL 应该支持字段 .ref (issue#18484, pr#12874, Jing Wenjun)
rgw: 将 fcgi 作为前端关闭 (issue#16784, pr#15070, Thomas Serlin)
rgw: LCRule 中的未初始化成员 (pr#15827, Jos Collin)
rgw: 为 asio 前端中的流式读取更新 Beast (pr#14273, Casey Bodley)
rgw: 更新次要区域组中的存储桶 CORS 应该转发到主 (issue#16888, pr#15260, Shasha Lu)
rgw: 更新 rgw_rados.h 和 rgw_rados.cc 中的函数文档 (pr#15803, Jiaying Ren)
rgw: 在函数 rgw_read_user_buckets 中更新 is_truncated (issue#19365, pr#14343, liuchang0812)
rgw: 使用 (issue#16191, pr#14287, Ji Chen, Orit Wasserman)
rgw: 使用 64 位偏移量进行压缩 (issue#20231, pr#15656, Adam Kupczyk, fang yuxiang)
rgw: 为升级也使用一个命名空间来处理 rgw reshard 池 (issue#20289, pr#16368, Karol Mroz, Abhishek Lekshmanan)
rgw: 使用比较而不是赋值 (pr#16653, amitkuma)
rgw: 在验证 TempURL 时使用解码的 URI (issue#18590, pr#13007, Michal Koutný)
rgw: 在获取额外池时使用 get_data_extra_pool (issue#20064, pr#15219, fang yuxiang)
rgw: 使用预定义的调用来替换原始标志操作 (pr#15107, Gui Hecheng)
rgw: 使用 rgw_zone_root_pool,就像 hammer 中的 region_map 一样 (issue#19195, pr#13928, Orit Wasserman)
rgw: 使用单独的 http_manager 来读取_sync_status (issue#19236, pr#13660, Shasha Lu)
rgw: 在 slo/dlo 中的 range_to_ofs() 使用未压缩的大小 (pr#15931, Casey Bodley)
rgw: 在检查 bad_index_multipart 时使用 RGW_OBJ_NS_MULTIPART (pr#15774, Shasha Lu)
rgw: 在次要区域组中创建存储桶时使用与主 zg 相同的存储桶编号 shard_num (issue#19745, pr#14388, Shasha Lu)
rgw: 在创建用户时验证租户名称 (pr#16442, Abhishek Lekshmanan)
rgw: 验证 post 对象中的 md5 (issue#19739, pr#14961, Yehuda Sadeh)
rgw: 版本 ID 在 fetch_remote_obj 中不起作用 (pr#14010, Zhang Shaowen)
rgw: 列出对象版本时应该返回 VersionIdMarker 和 NextVersionIdMarker (issue#19886, pr#15014, Zhang Shaowen)
rgw: 警告,在最后格式字符之前输出可能被截断 (pr#14194, Jos Collin)
当创建存储桶时使用与 info.num_shards 相同的 num_shards (issue#19745, pr#15010, Shasha Lu)
rgw: wip dir 孤儿 (issue#18992, issue#18989, issue#19018, issue#18991, pr#13529, Matt Benjamin)
rgw: Wip librgw refcnt (pr#13405, Matt Benjamin)
rgw: wip parentref (issue#19060, issue#19059, pr#13607, Matt Benjamin)
rgw: Wip rgw 修复前缀列表 (issue#19432, pr#15916, Giovani Rinaldi, Orit Wasserman)
rgw: Wip rgw openssl 7 (issue#11239, issue#16535, pr#11776, Yehuda Sadeh, Marcus Watts)
rgw: wip: rgw: rest_admin/user 避免重复检查输入参数 (pr#13460, Abhishek Lekshmanan)
tests: 添加 admin 套接字输出的集成测试 (pr#15223, Brad Hubbard)
tests: 添加 MGR=1 以防止 ‘pg dump’ 被阻塞 (pr#14266, Kefu Chai)
tests: 向 smoke 套件添加 openstack 要求 (pr#12913, Zack Cerza)
tests: 添加 asok 目录的设置/拆除 (pr#16523, Kefu Chai)
tests: buildpackages: 删除因为它不属于 (issue#18846, pr#13297, Loic Dachary)
tests: ceph-disk: 添加设置外部 py-modules 以便 tox-testing (pr#15433, Willem Jan Withagen)
tests: ceph-disk: 使用 communicate() 考虑而不是 wait() 来获取输出 (pr#16347, Kefu Chai)
tests: ceph-helpers.sh 减少get_timeout_delays() 的详细程度 (pr#13257, Kefu Chai)
tests: ceph_objectstore_tool.py: 杀死所有守护进程 (pr#14428, Kefu Chai)
tests: ceph_test_objectstore: 忽略 fsck EOPNOTSUPP 太多 (pr#13325, Sage Weil)
tests: ceph_test_rados_api_tier: 忽略从 ‘pg scrub’ 返回的 ENOENT (pr#14807, Sage Weil)
tests: ceph_test_rados_api_watch_notify: 将全局变量移入测试类 (issue#18395, pr#12751, Kefu Chai)
tests: ceph_test_rados_api_watch_notify: 使用 rados_wat… 测试超时 (issue#19312, tests: cephtool/test.sh 全测试失败 (, Kefu Chai)
tests: cephtool/test.sh 全测试失败 (issue#19698, pr#14647, Willem Jan Withagen, David Zafman)
tests: cephtool/test.sh: 仅当不再需要时才删除测试池 (pr#16443, Willem Jan Withagen)
tests: cls_lock: 将 lock_info_t 定义移至 cls_lock_types.h (pr#16091, runsisi)
tests: config_opts: 删除未使用的选项 (pr#15031, Kefu Chai)
tests: 主机、kraken、luminous 运行中作业数量减少 (pr#17074, Yuri Weinstein)
tests: 使用 EXPECT_DEATH 时不要转储核心 (pr#14821, Kefu Chai, Brad Hubbard)
tests: 删除 buildpackages.py (issue#18846, pr#13319, Nathan Cutler)
tests: 删除过时的 Perl 脚本 (pr#13951, Nathan Cutler)
tests: 删除 rbd_cli_tests.pl 和 RbdLib.pm (issue#14825, pr#12821, Nathan Cutler)
tests: 删除未使用的 rbd_functional_tests.pl 脚本 (issue#14825, pr#12818, Nathan Cutler)
tests: 更新 test_rados_tool.sh,使用 POOL 和 OBJ 变量 (pr#14338, Adam Kupczyk)
tests: fix broken links in upgrade/hammer-jewel-x/stress-split (issue#19793, pr#14831, Nathan Cutler)
tests: fix NULL references to be acceptable by Clang (pr#12880, Willem Jan Withagen)
tests: fix rados/upgrade/jewel-x-singleton and make workunit task handle repo URLs not ending in “.git” (issue#20554, issue#20368, pr#16228, Nathan Cutler, Sage Weil)
tests: fix regression in qa/tasks/ceph_master.py (issue#16263, pr#13279, Nathan Cutler, Kefu Chai)
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: include/denc: support ENCODE_DUMP (pr#14962, Sage Weil)
tests: libradosstriper: do not assign garbage to returned value (pr#15009, Kefu Chai)
tests: luminous: tests: qa/standalone: misc fixes (issue#20465, issue#20921, issue#20979, pr#16985, David Zafman)
tests: mgr,os,test: kill clang analyzer warnings (pr#16227, Kefu Chai)
tests: move swift.py task from teuthology to ceph, phase one (master) (issue#20392, pr#15859, Nathan Cutler, Sage Weil, Warren Usui, Greg Farnum, Ali Maredia, Tommi Virtanen, Zack Cerza, Sam Lang, Yehuda Sadeh, Joe Buck, Josh Durgin)
tests: nosetests: use /usr/bin/env to find nosetests (pr#12091, Willem Jan Withagen)
tests: os: Argument cannot be negative (pr#16688, amitkuma)
tests: os/bluestore,test/ceph_test_objectstore: silence gcc warnings (pr#13924, Kefu Chai)
tests: osd-scrub-repair.sh disable scrub backoff in test (pr#13334, Kefu Chai)
tests: qa: Added luminous to the mix in schedule_subset.sh (pr#16430, Yuri Weinstein)
tests: qa/added overrides (pr#14917, Yuri Weinstein)
tests: qa: Add reboot case for systemd test (issue#19717, pr#14229, Vasu Kulkarni)
tests: qa: add supported distros for ceph-ansible (pr#13711, Tamil Muthamizhan)
tests: qa: add task for dnsmasq configuration (pr#15071, Casey Bodley)
tests: [qa/ceph-deploy]: run create mgr nodes as well (pr#16216, Vasu Kulkarni)
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,doc: document and fix tests for pool application warnings (pr#16568, Sage Weil)
tests: qa: do not mention ceph branch explicitly (pr#13225, Tamil Muthamizhan)
tests: qa: do not restrict valgrind runs to centos (issue#18126, pr#15893, Greg Farnum)
tests: qa/erasure-code: override min_size to 2 (issue#19770, pr#14872, Kefu Chai)
tests: qa: fixed distros links (pr#12770, Yuri Weinstein)
tests: qa/run-standalone.sh: fix the find option to be compatible with GNU find (pr#16646, Kefu Chai)
tests: qa: specify client for fs workunit (pr#12914, Tamil Muthamizhan)
tests: qa: split test_tiering into smaller pieces (pr#15146, Kefu Chai)
tests: qa/suite: Added a smoke suite for ceph-ansible (pr#12610, Tamil Muthamizhan)
tests: qa/suite: replace reference to fs/xfs.yaml (pr#14756, Yehuda Sadeh)
tests: qa/suites/ceph-ansible: removing fs workunit (pr#12928, Tamil Muthamizhan)
tests: qa/suites/{ceph-ansible,rest}: OpenStack volumes (pr#13672, Zack Cerza)
tests: qa/suites/ceph-deploy: Drop OpenStack volume count (pr#13706, Zack Cerza)
tests: qa/suites: drop ‘fs’ facet, and add ‘objectstore’ facet where missing (pr#14198, Sage Weil)
tests: qa/suites: escape the parenthesis of the whitelist text (pr#16722, Kefu Chai)
tests: qa/suites: fix upgrade tests vs cluster full thrashing (pr#13852, Sage Weil)
tests: qa/suites/fs: Add openstack volume configuration (pr#13640, Zack Cerza)
tests: qa/suites/jewel-x/point-to-point: don’t scane for keys on second s3tests either (pr#14788, Sage Weil)
tests: qa/suites/kcephfs: Openstack volume configuration (pr#13634, Zack Cerza)
tests: qa/suites/{knfs,hadoop,samba}: OpenStack volume configuration (pr#13637, Zack Cerza)
tests: qa/suites/krbd: Add openstack volume configuration (pr#13631, Zack Cerza)
tests: qa/suites/powercycle/osd/whitelist_health: whitelist more (pr#17306, Sage Weil)
tests: qa/suites/powercycle: whitelist health for thrashing (pr#16759, Sage Weil)
tests: qa/suites/rados: a bit more whitelisting (pr#16820, Sage Weil)
tests: qa/suites/rados: fix ec thrashing (pr#15087, Sage Weil)
tests: qa/suites/rados/objectstore: enable experimental features for testing bluestore (pr#13456, Kefu Chai, Dan Mick)
tests: qa/suites/rados/singleton/all/erasure-code-nonregression: fix typo (pr#16579, Sage Weil)
tests: qa/suites/rados/singleton/all/mon-auth-caps: more osds so we can go clean (pr#16225, Sage Weil)
tests: qa/suites/rados/singleton-bluestore: concat settings (pr#14884, Kefu Chai)
tests: qa/suites/rados/singleton-nomsgr/all/multi-backfill-reject: sleep longer (pr#16739, Sage Weil)
tests: qa/suites/rados/singleton-nomsgr: fix syntax (pr#15276, Sage Weil)
tests: qa/suites/rados/thrash: make sure osds have map before legacy scrub (pr#15117, Sage Weil)
tests: qa/suites/rados/upgrade: restart mds (pr#15517, 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/rgw: Add openstack volume configuration (pr#13611, Zack Cerza)
tests: qa/suites/upgarde/jewel-x/parallel: more whitelisting (pr#16849, Sage Weil)
tests: qa/suites/upgrade: add tiering test to hammer-jewel-x (issue#19185, pr#13805, Kefu Chai)
tests: qa/suites/upgrade/hammer-jewel-x: add luminous.yaml (issue#20342, pr#15764, Kefu Chai)
tests: qa/suites/upgrade/jewel-x: add mgr.x role (pr#14689, Sage Weil)
tests: qa/suites/upgrade/jewel-x: misc fixes for new health checks (pr#16429, Sage Weil)
tests: qa/suites/upgrade/kraken-x: do not thrash cluster full during upgrade (issue#19232, pr#13892, Dan Mick)
tests: qa/suites/upgrade/kraken-x: misc fixes (pr#14887, Sage Weil)
tests: qa/suites/upgrade/kraken-x (pr#13517, Sage Weil, Yuri Weinstein)
tests: qa/suites/upgrade: set “sortbitwise” for jewel clusters (pr#15661, Kefu Chai)
tests: qa/suite/upgrade/jewel-x: various fixes (pr#13734, Sage Weil)
tests: qa/tasks: assert on pg status with a timeout (issue#19594, pr#14608, Kefu Chai)
tests: qa/tasks/ceph: debug osd setup (pr#16841, Sage Weil)
tests: qa/tasks/ceph-deploy: create-keys explicitly (pr#12867, Vasu Kulkarni)
tests: qa/tasks/ceph-deploy: Fix bluestore options for ceph-deploy (pr#16571, Vasu Kulkarni)
tests: qa/tasks/ceph-deploy: use the new create option during instantiation (pr#12892, Vasu Kulkarni)
tests: qa/tasks/ceph: don’t hard-code cluster name when copying fsid (pr#16212, Jason Dillaman)
tests: qa/tasks/ceph_manager: always fix pgp_num when done with thrashosd task (issue#19771, pr#14931, Kefu Chai)
tests: qa/tasks/ceph_manager: ‘ceph $service tell …’ is obsolete (pr#15252, Sage Weil)
tests: qa/tasks/ceph.py: debug which pgs aren’t scrubbing (pr#13649, Sage Weil)
tests: qa/tasks/ceph: raise exceptions if scrubbing fails or cannot proceed (pr#15310, Sage Weil)
tests: qa/tasks/ceph: should be “Waiting for all PGs”, not “all osds” (pr#16122, Kefu Chai)
tests: qa/tasks/ceph: wait longer for scrub (pr#16824, Sage Weil)
tests: qa/tasks: few fixes to get ceph-deploy 1node to working state (pr#14400, Vasu Kulkarni)
tests: qa/tasks/radosbench: increase timeout (pr#15885, Sage Weil)
tests: qa/tasks/rebuild_mondb: grant “mgr:allow *” to client.admin (issue#19439, pr#14284, Kefu Chai)
tests: qa/tasks/reg11184: use literal ‘foo’ instead pool_name (pr#16451, Kefu Chai)
tests: qa/tasks/repair_test: unset flags we set (pr#15296, Sage Weil)
tests: qa/tasks/rgw.py: start Apache before RadosGW (pr#13846, Radoslaw Zarzynski)
tests: qa/tasks/thrashosds-health.yaml: ignore MON_DOWN (issue#20910, pr#17003, 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/tasks/workunit: use ceph.git as an alternative of ceph-ci.git for cloning workunit (pr#13663, Kefu Chai)
tests: qa/tasks/workunit: use the suite repo for cloning workunit (pr#13452, Kefu Chai)
tests: qa/tasks/workunit: use the suite repo for cloning workunit (pr#13625, Kefu Chai)
tests: qa/test_rados_tool.sh: POSIX dd only accepts ‘k’ as multiplier (pr#12699, Willem Jan Withagen)
tests: qa: timeout when waiting for mgr to be available in healthy() (pr#16797, Josh Durgin)
tests: qa: Using centos 7.2 for latest version (pr#12806, Yuri Weinstein)
tests: qa/workunits/ceph-helpers: display rejected string (issue#20344, pr#14468, Kefu Chai)
tests: qa/workunits/ceph-helpers: enable experimental features for osd (pr#16319, Kefu Chai)
tests: qa/workunits/ceph-helpers.sh: use syntax understood by jq 1.3 (pr#15530, Kefu Chai)
tests: qa/workunits/ceph-helpers: test wait_for_health_ok differently (pr#16317, Kefu Chai)
tests: qa/workunits/ceph-helpers: wait_for_clean() races with pg creation (pr#12866, David Zafman)
tests: qa/workunits/cephtool/test.sh: Be more liberal in testing health-output (pr#14614, Willem Jan Withagen)
tests: qa/workunits/cephtool/test.sh: “ceph osd stat” output changed, update accordingly (pr#16444, Willem Jan Withagen, Kefu Chai)
tests: qa/workunits/cephtool/test.sh: disable ‘fs status’ until bug is fixed (issue#20761, pr#16541, Sage Weil)
tests: qa/workunits/cephtool/test.sh: fix test to watch audit channel (pr#16470, Sage Weil)
tests: qa/workunits/cephtool/test.sh: only include last line for epoch (issue#20477, pr#15770, Kefu Chai)
tests: qa/workunits/rados/test.sh: print test name when it fails (pr#13264, Kefu Chai)
tests: rados: move cephtool.yaml to new singleton/bluestore subsuite (issue#19797, pr#14847, Nathan Cutler)
tests: rbd/test_lock_fence.sh: fix rbdrw.py relative path (问题#18388, pr#12747, Nathan Cutler)
tests: re-enable cephfs python tests on kclient (issue#17193, issue#18161, pr#13200, Nathan Cutler)
tests: remove temporary file (pr#12919, Kefu Chai)
tests: Revert “dummy: reduce run time, run user.yaml playbook” (issue#18259, pr#12506, Nathan Cutler)
tests: Revert “qa/tasks/workunit: use the suite repo for cloning workunit” (pr#13495, Sage Weil)
tests: rgw.py: put client roles in a separate list (issue#20417, pr#15913, Nathan Cutler)
tests: rgw/singleton: drop duplicate filestore-xfs.yaml (pr#15959, Nathan Cutler)
tests: set -x in suites/iozone.sh workunit (issue#19740, pr#14713, Nathan Cutler)
tests: src/test/test_denc.cc: Fix errors in buffer overflow (pr#12653, Willem Jan Withagen)
tests: subst repo and branch in git.ceph.com URL in qa/tasks/cram.py and qa/tasks/qemu.py (问题#18440, pr#12816, Nathan Cutler)
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: add override in test submodule (pr#13773, liuchang0812)
tests: test: ceph osd stat out has changed, fix tests for that (pr#16403, Willem Jan Withagen)
tests: test:Check make_writeable() return value (pr#15266, zhanglei)
tests: test: clean up unused variable (pr#12873, liuchang0812)
tests: test/CMakeLists: disable test_pidfile.sh (issue#20975, pr#17241, Sage Weil)
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: create asok files in a temp directory under $TMPDIR (issue#16895, pr#16445, Kefu Chai)
tests: test/crush: silence warnings from -Walloc-size-larger-than= and -Wstringop-overflow (pr#15173, Jos Collin)
tests: test: c_write_operations.cc: silence warning from -Wsign-compare (pr#14889, Jos Collin)
tests: test: Division by zero in Legacy::encode_n() (pr#15902, Jos Collin)
tests: test/encoding: fix readable.sh bugs; fix ceph-object-corpus (pr#13678, Sage Weil)
tests: test/fio_ceph_objectstore: fix fio plugin build failure by engine_data (pr#15044, lisali)
tests: test/fio: Fix assert in set_cache_shards in bluestore fio (pr#15659, Xiaoyan Li)
tests: test/fio: fix lack of setting for Sequencer::shard_hint (pr#15571, Igor Fedotov)
tests: test/fio: print all perfcounters rather than objectstore itself (pr#16339, Jianpeng Ma)
tests: test/fio: remove experimental option for bluestore & rocksdb (pr#16263, Pan Liu)
tests: test: Fixes for test_pidfile (issue#20770, pr#16587, David Zafman)
tests: test: fixing assert that creates warning: comparison between signed and unsigned integer expressions (pr#14794, Jos Collin)
tests: test: Fix mismatched sign comparison in histogram test (pr#13362, Adam C. Emerson)
tests: test: Fix reg11184 test to remove extraneous pg (pr#16265, David Zafman)
tests: test: fix test_pidfile (pr#13646, yaoning)
tests: test/fsx: Remove the dead code associated with aio backend (pr#14905, Zhou Zhengping)
tests: test: Initialize pointer variables in TestMemIoCtxImpl (pr#16785, amitkuma)
tests: test/librados: Initialize member variables in aio.cc (pr#16845, amitkuma)
tests: test: librados_test_stub: tmap_update: return -ENOENT when removing nonexisent key (pr#12667, Mykola Golub)
tests: test: migrate atomic_t to std::atomic (pr#14655, Jesse Williamson)
tests: test,mon,msg: kill clang analyzer warnings (pr#16320, Kefu Chai)
tests: test/mon: silence warnings from -Wreorder (pr#15692, Jos Collin)
tests: test/msgr: fixed the hang issue for perf_msg_client (pr#16358, Pan Liu)
tests: test/msgr: silence warnings from -Wsign-compare (pr#15356, Jos Collin)
tests: test/msgr: silence warnings from -Wsign-compare (pr#15570, Jos Collin)
tests: test: objectstore: chain_xattr: fix wrong memset usage to fill buf (pr#14277, Weibing Zhang)
tests: test/objectstore: Check apply_transaction() return values (pr#15171, zhanglei)
tests: test/objectstore/: Check put_ref return value (pr#15007, zhanglei)
tests: test/old: Removed commented code (pr#15366, Jos Collin)
tests: test/osdc: fix comparison error and silence warning from -Wunused-value (pr#15353, Willem Jan Withagen)
tests: test/osd: kill compile warning (pr#16669, Yan Jun)
tests: test/osd/osd-dup.sh: lower wb fd throttle limits (pr#14984, Dan Mick)
tests: test/osd/osd-dup.sh: use wait_for_clean (pr#15722, Dan Mick)
tests: test/osd/osd-scrub-repair.sh: disable ec_overwrite tests on FreeBSD (pr#15445, Willem Jan Withagen)
tests: test/osd/osd-scrub-repair.sh: Fix diff options on FreeBSD (pr#15914, Willem Jan Withagen)
tests: test/osd: Removed Commented Code - 2 (issue#20207, pr#15540, Jos Collin)
tests: test: osd/TestOSDMap.cc: fix Clang complain about promotion (pr#15525, Willem Jan Withagen)
tests: test/rados: fix wrong parameter order of RETURN1_IF_NOT_VAL (pr#16589, Yan Jun)
tests: test: reg11184 might not always find pg 2.0 prior to import (pr#16610, David Zafman)
tests: test: Rename FileJournal object to distinguish (pr#15279, Jos Collin)
tests: test: replace hard-code binary names with varibles (pr#12675, liuchang0812)
tests: test: sed on FreeBSD requires “-i extension”, so use gsed (pr#13903, Willem Jan Withagen)
tests: test: s/osd_objectstore_type/osd_objectstore (pr#16469, xie xingguo)
tests: test: test_denc.cc: silence warning from -Wsign-compare (pr#15355, Jos Collin)
tests: test: Test fix for SnapSet change (pr#15161, David Zafman)
tests: test: test_pidfile running 2nd mon has unreliable log output (pr#16635, David Zafman)
tests: test: Thrasher: do not update pools_to_fix_pgp_num if nothing happens (pr#13518, Kefu Chai)
tests: test: Thrasher: update pgp_num of all expanded pools if not yet (pr#13367, Kefu Chai)
tests: test/unittest_bluefs: check whether mounted success (pr#14988, shiqi)
tests: test/unittest_bluefs: remove unused variable (pr#14006, shiqi)
tests: test: unittest_hostname compile error on freebsd (pr#13739, liuchang0812)
tests: test: update test_rados_tool.sh, use POOL and OBJ var (pr#12706, liuchang0812)
tests: test: 使用 7130 作为 crush-classes.sh (pr#14783, Loic Dachary)
tests: test/vstart_wrapper.sh: 测试失败时显示日志 (pr#15620, Kefu Chai)
tests: test: 警告:签名和未签名整数表达式之间的比较 (pr#14705, Jos Collin)
tests: Thrasher: 消除 kill_osd 和 __init__ 之间的竞争 (issue#18799, pr#13237, Nathan Cutler)
tests: Thrasher: 优雅地处理 “OSD 拥有存储锁定” (issue#19556, pr#14415, Nathan Cutler)
tests,tools: 脚本/find_dups_in_pg_log: 查找由于短 pg 日志导致的重复请求 (pr#13417, Sage Weil)
tests,tools: test, ceph-osdomap-tool: 删除 clang 警告 (pr#15905, Kefu Chai)
tests,tools: 测试: 删除警告 (pr#14892, Kefu Chai)
tests: 更新 SUSE yaml 面 (issue#18856, pr#13313, Nathan Cutler)
tests: workunit: 克隆时请求分支 (pr#14260, Kefu Chai, Dan Mick)
tools: 在工具子模块中添加 override (pr#13776, liuchang0812)
tools: brag: 计算在 fsmap 中不属于 mdsmap 的 mds 数量 (issue#19192, pr#13798, Peng Zhang)
tools: ceph_common.sh: 修复语法错误 (issue#17826, pr#13419, Dan Mick)
tools: ceph-conf: 修复使用说明中的拼写错误:mon add 应该是 mon addr (pr#15935, Peng Zhang)
tools: ceph-create-keys: 添加一个参数来覆盖默认的 10 分钟超时 (pr#16049, Douglas Fuller)
tools: ceph-detect-init: 添加 Arch Linux 支持 (pr#12787, Jamin W. Collins)
tools: ceph-detect-init: 添加 Oracle Linux Server 和 Oracle VM Server 检测 (pr#13917, Nikita Gerasimov)
tools: ceph-disk: 添加修复子命令 (issue#19884, pr#15043, Kefu Chai)
tools: ceph-disk: 添加修复子命令 (pr#13310, Boris Ranto)
tools: ceph-disk: 将锁箱分区编号更改为 5 (issue#20556, pr#16247, Shangzhong Zhu)
tools: ceph-disk: 调用命令时所有字段应分开 (pr#15733, Willem Jan Withagen)
tools: ceph-disk: 在打印之前将 none str 转换为 str (issue#18371, pr#12760, Kefu Chai)
tools: ceph-disk: 如果 deactive --once,则不要删除挂载点 (issue#16474, Song Shun)
tools: ceph-disk: 修复 *_is_diskdevice 检查中缺少 ‘not’ (issue#20706, pr#16481, Nikita Gerasimov)
tools: ceph_disk/main.py: FreeBSD 根目录有 wheel 组 (pr#16609, Willem Jan Withagen)
tools: ceph-disk: s/ceph_osd_mkfs/command_check_call/ (issue#20685, pr#16427, Zhu Shangzhong)
tools: ceph.in: 添加帮助以本地处理的命令 (pr#13288, Dan Mick)
tools: ceph.in: 根据用户终端调整使用宽度 (pr#15190, Kefu Chai)
tools: ceph.in: 在 help_for_target() 之前断言(state==connected) (pr#15156, Kefu Chai)
tools: ceph.in: 删除处理非 json 命令的兼容性 (pr#15508, Kefu Chai)
tools: ceph.in: 从 ceph -w 中过滤审计 (pr#, John Spray)
tools: ceph.in, mgr: 其他清理 (pr#16229, liuchang0812)
tools: ceph-objectstore-tool: 处理有效的 JSON 对象名 (pr#15378, liuchang0812)
tools: ceph-objectstore-tool: Handle object names that are also valid json (pr#12848, David Zafman)
tools: ceph-release-notes: 转义不是用于行内强调的星号 (pr#16199, Kefu Chai)
tools: ceph-release-notes: 转义意外链接的 _ (issue#17499, pr#16528, Kefu Chai)
tools: ceph-release-notes: 处理边缘情况 (pr#16277, Nathan Cutler)
tools: ceph-release-notes: 忽略编号较低的 PRs (issue#18695, pr#13151, Nathan Cutler)
tools: ceph-release-notes: 将其移植到 py3 (pr#16261, Kefu Chai)
tools: ceph-release-notes: 前缀和 pep8 兼容性 (pr#14156, Nathan Cutler)
tools: ceph-release-notes: 重构并修复回归 (pr#16411, Nathan Cutler)
tools: ceph-release-notes: 删除尾随标点符号 (pr#14385, Nathan Cutler)
tools: ceph-rest-api: 对网络故障更加宽容 (issue#20115, pr#15706, Kefu Chai)
tools: ceph-volume: 添加功能 CI 测试 #16919 (pr#16970, Andrew Schoen, Alfredo Deza)
tools: ceph-volume docs (pr#17124, Alfredo Deza)
tools: ceph-volume: 初始 ceph-volume CLI 工具 (pr#16632, Dan Mick, Alfredo Deza)
tools: ceph-volume: 使用分隔的 CLI 输出解析器而不是 JSON (pr#17123, Alfredo Deza)
tools: 修改 compare_exchange_weak 为 compare_exchange_strong (pr#15030, Jesse Williamson)
tools: ceph-objectstore-tool: 清理死代码 (pr#15812, David Zafman)
tools: fio_ceph_objectstore: 当 rocksdb_perf 启用时打印 db_statistics (pr#15796, Xiaoyan Li)
tools: init-ceph: 打印 “status” 输出中的尾随 n (pr#13351, Kefu Chai)
tools: init-ceph: 在 “]” 前添加空格 (pr#14796, Kefu Chai)
tools: os/bluestore/bluestore_tool: 添加检查以消除偶尔崩溃 (pr#16013, xie xingguo)
tools: rados: 检查 rados_create_with_context() 的负返回值,就像其注释中说明的那样 (pr#10893, zhang.zezhu)
tools: rados: 修复 ‘df’ 列名中的拼写错误 (pr#15603, Ilya Dryomov)
tools: rados: out json ‘df’ values as numbers, not strings (issue#15546, pr#14644, Sage Weil)
tools: 脚本: 添加 docker 核心转储调试器 (pr#16375, Patrick Donnelly)
tools: ceph-release-notes: 检查 orig. issue 仅适用于回滚 (pr#12979, Abhishek Lekshmanan)
tools: script/sepia_bt.sh: 不再需要传递版本和 sha1 (pr#13380, Kefu Chai)
tools: src/ceph-disk/ceph_disk/main.py: 使 ‘ceph-disk list’ 在 FreeBSD 上工作 (pr#14483, Willem Jan Withagen)
tools: stop.sh: boilerplate 错误(停止 mgr 时不要停止 mon) (pr#14461, Dan Mick)
tools: 在 rbd_recover_tool 中支持 hammer (pr#12413, Bartłomiej Święcki)
tools: tools/ceph_kvstore_tool: 添加 “bluestore-kv” 到使用说明 (pr#15326, xie xingguo)
tools: tools/crushtool: 复制规则 API 支持 (pr#15011, xie xingguo)
tools: tools/rados: 向 rados put 命令添加参数 “--offset” (pr#12674, liuchang0812)
tools: tools/rados: 检查 connect 的返回值 (issue#19319, pr#14057, Brad Hubbard)
tools: tools/rados: 修复帮助信息中的拼写错误 (pr#15618, Pan Liu)
tools: tools/rados: 删除无用的函数声明 (pr#12566, liuchang0812)
tools: tools/rados: 一些清理 (pr#16147, Yan Jun)
tools: vstart: “debug_ms=1” 作为 mgr 的默认值 (pr#15127, Kefu Chai)
tools: vstart: 不要配置 rgw_dns_name (pr#13411, Yehuda Sadeh)
tools: vstart: 不要默认创建集群 (pr#13891, Yehuda Sadeh)
tools: vstart.sh: 绑定 restful, dashboard 到 ::,而不是 127.0.0.1 (pr#15427, Kefu Chai)
tools: vstart.sh: bind restful, dashboard to ::, not 127.0.0.1 (pr#16349, Sage Weil)
tools: vstart.sh: 如果没有 $overwrite_conf,则不要为 mgr.* 部分添加主机 (pr#13767, Kefu Chai)
tools: 警告,‘%.16x’ 指令输出截断,将 16 字节写入大小为 9 的区域 (pr#14292, Jos Collin)
tracing: 在 dequeue_op() 中跟踪时不要包括 oid (pr#13410, Yehuda Sadeh)
由 Ceph 基金会带给您
Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.