注意

本文档适用于 Ceph 的开发版本。

Mimic

Mimic 是 Ceph 的第 13 个稳定发布版本。它的名字来源于模仿章鱼 (Thaumoctopus mimicus)。

v13.2.10 Mimic

这是 Ceph Mimic 的第十个错误修复版本,此版本修复了一个 RGW 漏洞,我们建议所有 Mimic 用户进行升级。

值得注意的变更

  • CVE 2020 12059: 修复带标签的对象 POST 请求问题 (issue#44967, Lei Cao, Abhishek Lekshmanan)

v13.2.9 Mimic

这是 Ceph Mimic 系列的第九个,也是极有可能最后一个稳定版本。此版本修复了所有组件中的错误,并包含了一个 RGW 安全修复。我们建议所有 Mimic 用户升级到此版本。

值得注意的变更

  • CVE-2020-1760: Fixed XSS due to RGW GetObject header-splitting

  • 用于 upmap 平衡的配置值 osd_calc_pg_upmaps_max_stddev 已被移除。请改用 mgr balancer 配置 upmap_max_deviation,它现在是一个整数,表示每个 OSD 的目标 PG 的偏差 PG 数量。可以使用类似 ceph config set mgr mgr/balancer/upmap_max_deviation 2 的命令进行设置。默认的 upmap_max_deviation 为 1。在某些情况下,crush 规则可能不允许 pool 拥有完全平衡的 PG。例如,如果 crush 要求在 3 个机架上各有一个副本,但其中一个机架的 OSD 数量较少。在这些情况下,可以增加配置值。

  • 现在 cephfs-data-scan scan_links 命令会自动修复 inotables 和 snaptable。

变更日志

  • bluestore: os/bluestore: 修复 STATE_KV_SUBMITTED 的不当设置 (pr#31673, Igor Fedotov)

  • ceph-volume/batch: 访问前检查 lvs 列表 (pr#34479, Jan Fajerski)

  • ceph-volume/batch: 在非交互式模式下过滤设备时失败 (pr#33201, Jan Fajerski)

  • ceph-volume/batch: 当所有设备都被过滤时返回成功 (pr#34476, Jan Fajerski)

  • ceph-volume/lvm/activate.py: 澄清错误消息: fsid 指的是 osd_fsid (pr#32865, Yaniv Kaul)

  • ceph-volume/test: patch VolumeGroups (pr#32559, Jan Fajerski)

  • ceph-volume: 在 lvm list 中解引用符号链接 (pr#32876, Benoît Knecht)

  • ceph-volume: 为 raw 模式添加 db 和 wal 支持 (pr#33622, Sébastien Han)

  • ceph-volume: 向 pvs, vgs 和 lvs 命令添加方法以传递过滤器 (pr#33215, Rishabh Dave)

  • ceph-volume: 为分区添加正确的 size 属性 (pr#32529, Jan Fajerski)

  • ceph-volume: 添加 raw 模式 (pr#33580, Jan Fajerski, Sage Weil, Guillaume Abrioux)

  • ceph-volume: 向 prepare 添加 sizing 参数 (pr#33578, Jan Fajerski)

  • ceph-volume: 添加实用函数 (pr#32544, Mohamad Gebai)

  • ceph-volume: 允许所有地方使用 raw 块设备 (pr#32869, Jan Fajerski)

  • ceph-volume: 允许跳过 restorecon 调用 (pr#32530, Alfredo Deza)

  • ceph-volume: 避免在 zapping filestore 时调用 zap_lv(该 VG 中没有 LV)(pr#33610, Jan Fajerski)

  • ceph-volume: batch bluestore 修复 create_lvs 调用 (pr#33579, Jan Fajerski)

  • ceph-volume: batch bluestore 修复 create_lvs 调用 (pr#33623, Jan Fajerski)

  • ceph-volume: 检查是否在 selinux 环境中运行 (pr#32866, Jan Fajerski)

  • ceph-volume: 检查是否在 selinux 环境中运行,现在也支持 py2 (pr#32867, Jan Fajerski)

  • ceph-volume: devices/simple/scan: 修复日志语句中的字符串 (pr#34444, Jan Fajerski)

  • ceph-volume: 默认不创建 osd[‘block.db’] (pr#33626, Jan Fajerski)

  • ceph-volume: zap filestore 时不重复移除 vg (pr#33615, Jan Fajerski)

  • ceph-volume: inventory 中更细粒度的可用性概念 (pr#33606, Jan Fajerski)

  • ceph-volume: 修复 lvm batch 的 is_ceph_device (pr#33608, Jan Fajerski, Dimitri Savineau)

  • ceph-volume: 修复整数溢出 (pr#32872, dongdong tao)

  • ceph-volume: 导入 mock.mock 而不是 unittest.mock (py2) (pr#32871, Jan Fajerski)

  • ceph-volume: lvm deactivate 命令 (pr#33208, Jan Fajerski)

  • ceph-volume: lvm/deactivate: 添加单元测试,移除 --all (pr#32862, Jan Fajerski)

  • ceph-volume: lvm: get_device_vgs() 按提供的 prefix 过滤 (pr#33617, Jan Fajerski, Yehuda Sadeh)

  • ceph-volume: 使 get_devices 与文件系统位置无关 (pr#33124, Jan Fajerski)

  • ceph-volume: 简化“simple scan”子命令帮助 (pr#32557, Michael Fritch)

  • ceph-volume: monkeypatch 对 lvm 相关二进制文件的调用 (pr#31406, Jan Fajerski)

  • ceph-volume: 将 journal_size 作为 Size 而不是字符串传递 (pr#33611, Jan Fajerski)

  • ceph-volume: 重新排列 api/lvm.py (pr#31407, Rishabh Dave)

  • ceph-volume: 重构 listing.py + 修复 (pr#33603, Jan Fajerski, Rishabh Dave, Theofilos Mouratidis, Guillaume Abrioux)

  • ceph-volume: 在 inventory 中拒绝小于 5GB 的磁盘 (issue#40776, pr#32528, Jan Fajerski)

  • ceph-volume: 屏蔽 ‘ceph-bluestore-tool’ 失败 (pr#33605, Sébastien Han)

  • ceph-volume: 在运行 tox 测试时跳过不存在的解释器 (pr#33489, Andrew Schoen)

  • ceph-volume: 当 OSD 已创建时跳过 OSD 创建 (pr#33607, Guillaume Abrioux)

  • ceph-volume: 在 simple scan json 输出中剥离 _dmcrypt 后缀 (pr#33618, Jan Fajerski)

  • ceph-volume: 如果使用 db-devices 且 osds_per_device > 1,则使用正确的 extent (pr#32875, Fabian Niepelt)

  • ceph-volume: 为 dd 命令使用 fsync (pr#31552, Rishabh Dave)

  • ceph-volume: 在 has_common_vg 中使用 get_device_vgs (pr#33609, Jan Fajerski)

  • ceph-volume: util: 在 $PATH 中查找可执行文件 (pr#32861, Shyukri Shyukriev)

  • cephfs: cephfs: osdc/objecter: 修复 last_sent 的科学计数法并为 ops 添加 age (pr#31384, Varsha Rao)

  • cephfs: cephfs: test_volume_client: 为 python 版本声明一个默认值 (issue#40460, pr#30110, Rishabh Dave)

  • cephfs: client: 更精确的 CEPH_CLIENT_CAPS_PENDING_CAPSNAP (pr#31283, “Yan, Zheng”)

  • cephfs: client: 移除 Inode.dir_contacts 字段,并优雅地处理错误的 whence 值到 llseek (pr#31380, Jeff Layton)

  • cephfs: mds: 避免过早调用 clientreplay_done() (pr#31282, “Yan, Zheng”)

  • cephfs: mds: 修复 OpenFileTable 的 assert(omap_num_objs <= MAX_OBJECTS) (pr#32757, “Yan, Zheng”)

  • cephfs: mds: 修复 Locker::file_update_finish 中的无限循环 (pr#31284, “Yan, Zheng”)

  • cephfs: mds: mds 返回 -5(EIO) 错误,当删除的文件不存在时 (pr#31381, huanwen ren)

  • cephfs: mds: 如果操作使得目录过大,则分割目录,因为一些操作可能还在进行中 (pr#31379, simon gao)

  • cephfs: tools/cephfs: 使 ‘cephfs-data-scan scan_links’ 重建 snaptable (pr#31281, “Yan, Zheng”)

  • common/config: 解析 --log-early 选项 (pr#33130, Sage Weil)

  • common: common/admin_socket: 增加 socket 超时时间 (pr#33323, Brad Hubbard)

  • common: common/config: 通过 mon 删除值时更新值 (pr#33327, Sage Weil)

  • common: common/util: 使用 ifstream 从 /proc 文件读取 (pr#32902, Kefu Chai, songweibin)

  • core,mgr,tests: mgr: 释放 GIL 和 Balancer 修复 (pr#31957, Neha Ojha, Kefu Chai, Noah Watkins, David Zafman)

  • core,mgr: mgr/prometheus: 为 obj_store 不是 filestore 或 bluestore 的情况分配 osd_dev_node 值 (pr#31557, jiahuizeng)

  • core,tests: qa/tasks/cbt: 安装 python3 依赖 (pr#34193, Sage Weil)

  • core: mon/OSDMonitor: 修复 ceph osd stat --format json 的格式错误 (pr#33322, Zheng Yin)

  • core: mon: 特征更改期间不要放置会话 (pr#33154, Brad Hubbard)

  • core: osd/PeeringState.cc: 不要让 num_objects 变为负数 (pr#33331, Neha Ojha)

  • core: osd/PeeringState.cc: 在发现所有缺失时跳过 peer_purged (pr#33329, Neha Ojha)

  • core: osd/PeeringState.h: 在 Peering/GetInfo 中忽略 MLogRec (pr#33594, Neha Ojha)

  • core: osd/PeeringState: 不要将 up 从 acting_recovery_backfill 中排除 (pr#33324, Nathan Cutler, xie xingguo)

  • core: osd: 允许 64 个字符的主机名作为 CRUSH 中的“host”添加 (pr#33145, Michal Skalski)

  • core: osd: upmap 清理的诊断日志记录 (pr#32717, David Zafman)

  • core: osd: 在 OSD 最饱满的集群只有 1% 的情况下,看到 backfill_toofull (pr#32361, David Zafman)

  • core: osd: 在 collection 创建、pg 加载时设置 collection pool opts (pr#32125, Sage Weil)

  • core: selinux: 允许 ceph 读取 udev db (pr#32258, Boris Ranto)

  • core: selinux: 允许 ceph-mgr 访问 httpd 目录 (pr#34458, Brad Hubbard)

  • doc: 移除无效选项 mon_pg_warn_max_per_osd (pr#31875, zhang daolong)

  • doc: doc/_templates/page.html: 重定向到 etherpad (pr#32249, Neha Ojha)

  • doc: doc/cephfs/client-auth: 描述和示例不一致 (pr#32782, Ilya Dryomov)

  • doc: crush_rule 的数据类型描述错误 (pr#32255, Kefu Chai)

  • mgr,pybind: mgr/prometheus: 报告每个 pool 的 pg 状态 (pr#33158, Aleksei Zakharov)

  • mgr,pybind: mgr/telemetry: 检查 get_metadata 的返回值 (pr#33096, Yaarit Hatuka)

  • mount.ceph: 在没有 mds 运行或集群延迟时提供提示消息 (pr#32911, Xiubo Li)

  • pybind: pybind/mgr: 取消输出颜色控制 (pr#31805, Zheng Yin)

  • qa: 移除 iterkeys 以便兼容 py3 (pr#33999, Kyr Shatskyy)

  • rbd: 创建厚置备镜像的进度百分比超过 100% (pr#33318, Xiangdong Mu)

  • rbd: librbd: diff 迭代与 fast-diff 现在正确包含父镜像 (pr#32470, Jason Dillaman)

  • rbd: librbd: 不要从 mirror::GetInfoRequest 状态机调用 refresh (pr#32952, Mykola Golub)

  • rbd: librbd: 修复 rbd_open_by_id, rbd_open_by_id_read_only (pr#33315, yangjun)

  • rbd: nautilus: rbd-mirror: 修复 ‘rbd mirror status’ asok 命令输出 (pr#32714, Mykola Golub)

  • rbd: rbd-mirror: clone v2 镜像改进 (pr#31520, Mykola Golub)

  • rbd: rbd-mirror: 改进对黑名单状态的检测 (pr#33598, Mykola Golub)

  • rbd: rbd-mirror: 使 logrotate 生效 (pr#32598, Mykola Golub)

  • rgw: 复制对象时添加 bucket 权限验证 (pr#31377, NancySu05)

  • rgw: 添加 list user admin OP API (pr#31754, Oshyn Song)

  • rgw: 同步用户信息时添加缺失的 admin 属性 (pr#30804, zhang Shaowen)

  • rgw: 向 radosgw-admin bucket stats 添加 num_shards (pr#31183, Paul Emmerich)

  • rgw: 在更改 bucket 版本控制状态时添加 mfa 代码验证 (pr#33303, Pritha Srivastava)

  • rgw: 允许取消早期版本 bucket 重分片后遗留的 reshard 日志条目 (pr#33302, J. Eric Ivancich)

  • rgw: 自动清理早期版本 bucket 重分片后遗留的 reshard 队列条目 (pr#33300, J. Eric Ivancich)

  • rgw: 将“rgw admin status”‘num_shards’ 输出更改为有符号整数 (issue#37645, pr#33305, Mark Kogan)

  • rgw: crypt: 允许 RGW-AUTO/default 与 SSE-S3 头部一起使用 (pr#31861, Matt Benjamin)

  • rgw: 查找最旧的 period 并更新 RGWMetadataLogHistory() (pr#33309, Shilpa Jagannath)

  • rgw: 修复重分片完成后无法删除 bucket 实例对象的 bug (pr#33306, zhang Shaowen)

  • rgw: 修复重分片后版本化 bucket 的用户统计数据错误 (pr#33304, J. Eric Ivancich)

  • rgw: 修复删除对象时的内存增长问题 (pr#31378, Mark Kogan)

  • rgw: 获取 barbican 密钥请求可能返回错误代码 (pr#33966, Richard Bai(白学余))

  • rgw: 使 max_connections 在 beast 中可配置 (pr#33341, Tiago Pasqualini)

  • rgw: 使 implicit_tenants 向后兼容 (issue#24348, pr#33748, Marcus Watts)

  • rgw: 重新加载 operator 时可能发生 core dump (pr#33313, Richard Bai(白学余))

  • rgw: 即使在有许多 rgw.none 索引的情况下,也向前移动 marker (pr#33311, Ilsoo Byun)

  • rgw: 如果 bucket 正在重分片,则阻止调度 bucket 重分片 (pr#31299, J. Eric Ivancich)

  • rgw: 在重分片期间更新 multipart 条目的哈希源 (pr#33312, dongdong tao)

v13.2.8 Mimic

这是 Ceph Mimic 稳定发布系列的第八个版本。它的唯一目的是修复上一个版本中引入的回退问题。

值得注意的变更

  • 由于回溯不当,从 13.2.6 升级到 13.2.7 的集群可能会在 build_incremental_map_msg 中遇到 OSD 崩溃。此回退问题在 https://tracker.ceph.com/issues/43106 中报告,并在 13.2.8(本版本)中修复。13.2.6 的用户可以直接升级到 13.2.8(即跳过 13.2.7),以避免此问题。

变更日志

  • osd: 修复发送增量 map 消息(更多)(issue#43106, pr#32000, Sage Weil)

  • tests: 添加了缺失的次要版本号 (pr#32087, Yuri Weinstein)

  • tests: rgw: 为 swift 任务添加了缺失的 force-branch: ceph-mimic (pr#32033, Casey Bodley)

v13.2.7 Mimic

这是 Mimic v13.2.x 长期稳定发布系列的第七个错误修复版本。建议所有 Mimic 用户升级。

值得注意的变更

MDS

  • 缓存修剪现在已节流。通过“ceph tell mds.<foo> cache drop”命令或缓存大小的大幅减少来丢弃 MDS 缓存将不再导致服务不可用。

  • 召回 cap 的行为已大大改进,不再尝试一次召回过多 cap,从而导致不稳定。具有大型缓存(64GB+)的 MDS 应该更稳定。

  • MDS 现在提供了一个配置选项“mds_max_caps_per_client”(默认值:1M),用于限制客户端会话可以持有的 cap 数量。长时间运行的具有大量 cap 的客户端会话在某些会话事件需要处理所有这些 cap 时,一直是 MDS 不稳定的来源。建议不要不必要地增加此值。

  • 已移除“mds_recall_state_timeout”配置参数。延迟的客户端召回警告现在是基于 MDS 已召回但尚未释放的 cap 数量生成的。新的配置参数“mds_recall_warning_threshold”(默认值:32K)和“mds_recall_warning_decay_rate”(默认值:60s)设置此警告的阈值。

  • 已移除“cache drop”管理套接字命令。“ceph tell mds.X cache drop”仍然可用。

OSD

  • 如果任何计算区间内的平均 osd 心跳 ping 时间超过可配置阈值,则会生成健康警告。OSD 计算 1 分钟、5 分钟和 15 分钟的区间,并具有平均值、最小值和最大值。新的配置选项“mon_warn_on_slow_ping_ratio”指定了“osd_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 发起的心跳。

  • “osd_deep_scrub_large_omap_object_key_threshold”参数的默认值已降低,以便更容易检测具有大量 omap 键的对象。

RGW

  • radosgw-admin 引入了两个子命令,用于管理在早期版本的 RGW 中 bucket 重分片后可能遗留的过期对象。一个子命令列出这些对象,另一个子命令删除它们。有关详细信息,请参阅动态重分片文档的故障排除部分。

Changelog

  • bluestore: 由于 bluefs_preextend_wal_files = false,iops 损失 50-100% (issue#40280, pr#28574, Vitaliy Filippov)

  • bluestore: 将 bluestore_fsck_on_mount_deep 的默认值更改为 false (pr#29699, Neha Ojha)

  • bluestore: _txc_add_transaction 错误 (39) “目录非空”未在操作 21(op 1,从 0 开始计数)中处理 (issue#39692, pr#29217, Sage Weil)

  • bluestore: 当日志级别更改时,将 shared_alloc_size 应用于共享设备 (pr#30219, Vikhyat Umrao, Josh Durgin, Sage Weil, Igor Fedotov)

  • bluestore: 避免 Stupid Allocator 返回的 extent 中的长度溢出 (issue#40758, issue#40703, pr#29024, Igor Fedotov)

  • bluestore: common/options: 将并发 bluestore rocksdb compaction 设置为 2 (pr#30150, Mark Nelson)

  • bluestore: 默认使用位图分配器进行 bluestore/bluefs (pr#28970, Igor Fedotov)

  • bluestore: 在“no-spanning blob id”中止之前 dump (pr#28029, Igor Fedotov)

  • bluestore: 修复大于 2GB 的 bluefs 写入 (pr#28967, Sage Weil, kungf)

  • bluestore: 修复 bmap 分配器中的重复分配 (issue#40080, pr#28645, Igor Fedotov)

  • bluestore: 无条件加载 OSD 所有压缩设置 (issue#40480, pr#28894, Igor Fedotov)

  • build/ops: Cython 0.29 不再支持子解释器:引发 ImportError: Interpreter change detected (issue#39593, issue#39592, pr#27971, Kefu Chai, Tim Serong)

  • build/ops: admin/build-doc: 使用 python3 (pr#30663, Kefu Chai)

  • build/ops: admin/build-doc: 使用 python3 (后续修复) (pr#30687, Nathan Cutler)

  • build/ops: 从 master 反向移植 miscellaneous install-deps.sh 和 ceph.spec.in 修复 (issue#37707, pr#30718, Jeff Layton, Kefu Chai, Nathan Cutler, Brad Hubbard, Changcheng Liu, Sebastian Wagner, Yunchuan Wen, Tomasz Setkowski, Zack Cerza)

  • build/ops: ceph.spec.in: 为每个构建作业保留 2500MB (pr#30355, Dan van der Ster)

  • build/ops: cmake,run-make-check.sh: 默认禁用 SPDK (pr#30183, Kefu Chai)

  • build/ops: cmake: 使用 CHECK_C_COMPILER_FLAG 检测 armv8 crc 和 crypto 功能 (issue#17516, pr#30713, Kefu Chai)

  • build/ops: do_cmake.sh: 找不到 source (issue#39981, issue#40005, pr#28217, Nathan Cutler)

  • build/ops: 修复与 PYTHON_EXECUTABLE 变量相关的构建失败 (pr#30260, Ilsoo Byun)

  • build/ops: install-deps.sh: 移除 CR 仓库 (issue#13997, pr#30128, Alfredo Deza, Brad Hubbard)

  • build/ops: install-deps.sh: 为 python*rpm-macros 安装 python*-devel (pr#30244, Kefu Chai)

  • build/ops: 使“patch”成为显式的构建依赖项 (issue#40269, issue#40175, pr#29150, Nathan Cutler)

  • build/ops: python3-cephfs 应提供 python36-cephfs (pr#30982, Kefu Chai)

  • build/ops: rpm: 始终构建 ceph-test 包 (pr#30188, Nathan Cutler)

  • ceph-volume: PVolumes.filter 不应清除自身 (pr#30806, Rishabh Dave)

  • ceph-volume: VolumeGroups.filter 不应清除自身 (pr#30808, Rishabh Dave)

  • ceph-volume: 将 Ceph 的设备 id 添加到 inventory 中 (pr#31211, Sebastian Wagner)

  • ceph-volume: api/lvm: 检查 LV 列表是否为空 (pr#31229, Rishabh Dave)

  • ceph-volume: 假设包含 mimic 的所有分支都使用 msgrV1 (pr#31615, Jan Fajerski)

  • ceph-volume: batch 功能幂等性测试因消息现在输出到 stderr 而失败 (pr#29688, Jan Fajerski)

  • ceph-volume: pytest 更改后断言错误 (pr#28948, Alfredo Deza)

  • ceph-volume: 尝试移除 crypt mapper 时不失败 (pr#30555, Guillaume Abrioux)

  • ceph-volume: 无法识别由 ceph-disk 创建的 wal/db 分区 (pr#29463, Jan Fajerski)

  • ceph-volume: 确保设备列表不重叠 (pr#30334, Jan Fajerski)

  • ceph-volume: 扩展 batch (issue#40919, pr#29243, Andrew Schoen, Jan Fajerski, Sébastien Han, Volker Theile)

  • ceph-volume: 修复重定向时 stderr 编码/解码失败 (pr#30301, Alfredo Deza)

  • ceph-volume: 修复 pytest 引起的警告 (pr#30678, Rishabh Dave)

  • ceph-volume: 在 Size 中实现 __format__ 以在 py3 中格式化大小 (pr#30333, Jan Fajerski)

  • ceph-volume: 在 lsblk 中查找旋转数据 (pr#26991, Andrew Schoen)

  • ceph-volume: lvm.activate: 如果 WAL/DB 设备缺失,则返回错误 (pr#29039, David Casier)

  • ceph-volume: lvm.zap 修复 db 分区的清理 (issue#40664, pr#30303, Dominik Csapak)

  • ceph-volume: 与 Volumes 类的使用相关的次要优化 (pr#30096, Rishabh Dave)

  • ceph-volume: 杂项反向移植 (pr#31227, Mohamad Gebai, Andrew Schoen)

  • ceph-volume: 报告挂载时丢失的字符串替换 (issue#40977, pr#29350, Shyukri Shyukriev)

  • ceph-volume: 更多 mimic 反向移植 (pr#29631, Andrew Schoen, Alfredo Deza)

  • ceph-volume: 更多缺失的 mimic 反向移植 (pr#31362, Mohamad Gebai, Kefu Chai)

  • ceph-volume: 在运行 tox 测试之前预安装 python-apt 及其变体 (pr#30295, Alfredo Deza)

  • ceph-volume: 使用 --format json 将错误打印到 stdout (issue#38548, pr#29507, Jan Fajerski)

  • ceph-volume: 将日志消息打印到 stdout (pr#29602, Jan Fajerski, Alfredo Deza, Kefu Chai)

  • ceph-volume: 使用 py.test 替换 testinfra 命令 (pr#28930, Alfredo Deza)

  • ceph-volume: simple functional tests 放弃 lvm zap 的测试 (pr#29661, Jan Fajerski)

  • ceph-volume: simple: 当‘type’文件不存在时,activate 失败 (pr#29417, Jan Fajerski, Alfredo Deza)

  • ceph-volume: tests 在 tox 中添加 sleep 以便在 OSD 启动后处理慢速情况 (pr#28947, Alfredo Deza)

  • ceph-volume: tests 为 Debian 设置 noninteractive 标志 (pr#29900, Alfredo Deza)

  • ceph-volume: 更新测试 playbook ‘deploy.yml’ (pr#29074, Andrew Schoen, Guillaume Abrioux)

  • ceph-volume: 在报告成功时使用 OSD 标识符 (pr#29770, Alfredo Deza)

  • ceph-volume: zap 总是跳过 block.db,将其留在原处 (issue#40664, pr#30306, Alfredo Deza)

  • ceph_detect_init: 添加对 ALT Linux 的支持 (pr#27028, Andrey Bychkov)

  • cephfs: MDSTableServer.cc: 83: FAILED assert(version == tid) (issue#39212, issue#38835, pr#29222, “Yan, Zheng”)

  • cephfs: 避免 map 被错误插入 (pr#29833, XiaoGuoDong2019)

  • cephfs: ceph-fuse: 客户端卡死,因为其错误的 session PipeConnection 到 mds (issue#39305, issue#39685, pr#29200, Guan yunfei)

  • cephfs: client: 当 offset 为 0 时,可能返回 -EINVAL (pr#30932, wenpengLi)

  • cephfs: client: _readdir_cache_cb() 可能使用已清空的 readdir_cache (issue#41148, pr#30933, huanwen ren)

  • cephfs: client: 在 lseek 中添加 SEEK_HOLE 和 SEEK_DATA 的处理 (pr#30918, Shen Hang)

  • cephfs: client: 将 ll_ref 从 int32 递增到 uint64_t (pr#29187, Xiaoxi CHEN)

  • cephfs: client: ceph.dir.rctime xattr 值错误地在纳秒部分前加上 09 (issue#40168, pr#28501, David Disseldorp)

  • cephfs: client: 修复 _lookup_parent 中的错误处理 (issue#40085, pr#29609, Jeff Layton)

  • cephfs: client: nfs-ganesha 与 cephfs 客户端,移除目录报告非空 (issue#40746, pr#30443, Peng Xie)

  • cephfs: client: 在 sync 文件时返回 -EIO,因为不安全的请求已被丢弃 (issue#40877, pr#30241, simon gao)

  • cephfs: client: 将 snapdir 的链接计数设置为 1 (pr#30108, “Yan, Zheng”)

  • cephfs: client: 支持 fuse 版本 >= 2.9 时的 fallocate() (issue#40615, pr#30228, huanwen ren)

  • cephfs: client: 取消 inode 为 llref=0 的 dentry (issue#40960, pr#29479, Xiaoxi CHEN)

  • cephfs: 修复内存泄漏 (pr#29915, XiaoGuoDong2019)

  • cephfs: getattr on snap inode 卡住 (issue#40437, pr#29230, “Yan, Zheng”)

  • cephfs: kcephfs TestClientLimits.test_client_pin 因 client caps 低于最小值而失败 (issue#38270, issue#38687, pr#29211, “Yan, Zheng”)

  • cephfs: mds: 修复驱逐列表中的重复客户端条目 (pr#30950, Sidharth Anupkrishnan)

  • cephfs: mds: mds 重启后避免一次发送过多 osd 请求 (issue#40042, issue#40028, pr#28650, simon gao)

  • cephfs: mds: 落后于修剪,且 [dentry] 可被清除但已不再是!(issue#39223, issue#38679, pr#29224, “Yan, Zheng”)

  • cephfs: mds: 无法将 mds 状态从 standby-replay 切换到 active (issue#40213, pr#29232, “Yan, Zheng”, simon gao)

  • cephfs: mds: 更改 mds 撤销陈旧 cap 的方式 (issue#38043, issue#17854, pr#28585, “Yan, Zheng”, Rishabh Dave)

  • cephfs: mds: 如果 mkdir 使目录过大,则检查目录片段来分割目录 (issue#39689, pr#28381, Erqi Chen)

  • cephfs: mds: 分割 snap inode 时清理不必要的 client_snap_caps (issue#39987, pr#30234, “Yan, Zheng”)

  • cephfs: mds: 延迟导出 pin 值超过最大 rank id 的目录 (issue#40603, pr#29940, Zhi Zhang)

  • cephfs: mds: 销毁来自不存在会话的 reconnect msg,以避免内存泄漏 (issue#40588, pr#28796, Shen Hang)

  • cephfs: mds: 仅当另一个客户端需要其 cap 时,才驱逐无响应的客户端 (pr#30239, Rishabh Dave)

  • cephfs: mds: 修复 SnapRealm::resolve_snapname 的长名称 (issue#39472, pr#28186, “Yan, Zheng”)

  • cephfs: mds: 修复重放 open sessions 的边界情况 (pr#28579, “Yan, Zheng”)

  • cephfs: mds: 许多子树的调试日志记录速度很慢 (issue#38875, pr#29219, Rishabh Dave)

  • cephfs: mds: 在关闭时使 MDSIOContextBase 自我删除 (pr#30417, Xuehan Xu)

  • cephfs: mds: mds_cap_revoke_eviction_timeout 未用于初始化 Server::cap_revoke_eviction_timeout (issue#38844, issue#39210, pr#29220, simon gao)

  • cephfs: mds: 在 dump 格式中输出 lock 状态 (issue#39669, issue#39645, pr#28274, Zhi Zhang)

  • cephfs: mds: 移除 cache drop 管理套接字命令 (issue#38020, issue#38099, pr#29210, Patrick Donnelly)

  • cephfs: mds: 在恢复的长时间循环中重置心跳 (issue#40222, pr#28918, “Yan, Zheng”)

  • cephfs: mds: 停止具有大型缓存(40GB+)的 MDS 会导致其错过心跳 (issue#38022, issue#38129, issue#37723, issue#38131, pr#28452, Patrick Donnelly)

  • cephfs: mds: 调用 Beacon::shutdown() 时出现断言 (issue#39215, issue#38822, pr#29223, huanwen ren)

  • cephfs: mount.ceph.c: 不要将 nofail 传递给内核 (issue#39233, pr#28090, Kenneth Waegeman)

  • cephfs: mount.ceph: 正确处理 -o strictatime (pr#30240, Jeff Layton)

  • cephfs: mount: remount 时密钥解析失败 (issue#40165, pr#29225, Luis Henriques)

  • cephfs: pybind: 添加了 lseek() (issue#39679, pr#28337, Xiaowei Chu)

  • cephfs: test_volume_client: 修复 test_put_object_versioned() (issue#39405, issue#39510, pr#30236, Rishabh Dave)

  • common/ceph_context: 在服务线程关闭期间避免不必要的等待 (pr#31096, Jason Dillaman)

  • common/options.cc: 降低 osd_deep_scrub_large_omap_object_key_threshold 的默认值 (pr#29174, Neha Ojha)

  • common/util: 处理 /proc/cpuinfo 中的长行 (issue#39475, issue#38296, pr#28206, Sage Weil)

  • common: ceph auth get 创建的 Keyring 不适合 ceph auth import (issue#22227, issue#40547, pr#28741, Kefu Chai)

  • common: OutputDataSocket 中的数据竞争 (issue#40268, issue#40188, pr#29201, Casey Bodley)

  • common: 解析 ISO 8601 日期时间格式 (issue#40088, pr#28326, Sage Weil)

  • core: .mgrstat 无法解码 mgrstat 状态;luminous dev 版本?(issue#38852, issue#38839, pr#29249, Sage Weil)

  • core: osd_snap_trim_sleep 的更好的默认值 (pr#29732, Neha Ojha)

  • core: 对长时间网络 ping 时间的健康警告 (issue#40640, issue#40586, pr#30225, xie xingguo, David Zafman)

  • core: ceph daemon mon.a config set mon_health_to_clog false 导致 leader mon 崩溃 (issue#39625, pr#29741, huangjun)

  • core: 在发布预分配的 rx buffer 时,crc 缓存应失效 (issue#38437, pr#29247, Ilya Dryomov)

  • core: 惰性 omap 统计数据收集 (pr#29189, Brad Hubbard)

  • core: mon, osd: 并行 clean_pg_upmaps (issue#40104, issue#40230, pr#28619, xie xingguo)

  • core: mon,osd: 限制 MOSDMap 消息的大小和 map 数量 (issue#38277, issue#38040, pr#29242, Sage Weil)

  • core: mon/AuthMonitor: 修复轮换密钥的初始创建 (issue#40634, pr#30181, Sage Weil)

  • core: mon/MDSMonitor: 使用 stringstream 而不是 dout 来记录 mds 已修复 (issue#40472, pr#30235, Zhi Zhang)

  • core: mon/MgrMonitor: 修复指定无效格式化程序时的 null 解引用 (pr#29593, Sage Weil)

  • core: mon/OSDMonitor.cc: 关于 min_size 的更好错误消息 (pr#29618, Neha Ojha)

  • core: mon/OSDMonitor: 修剪不再存在的失败报告者 (pr#30903, NancySu05)

  • core: mon: C_AckMarkedDown 未处理回调参数 (pr#30213, NancySu05)

  • core: mon: 确保 prepare_failure() 将 no_reply 标记到 op (pr#30481, Joao Eduardo Luis)

  • core: mon: paxos: 为了安全引入新的 reset_pending_committing_finishers (issue#39744, issue#39484, pr#28540, Greg Farnum)

  • core: mon: 在 pool ls 命令中显示 pool id (issue#40287, pr#30485, Chang Liu)

  • core: osd beacon 有时有空的 pg 列表 (issue#40464, issue#40377, pr#29253, Sage Weil)

  • core: osd/OSD.cc: 使 osd bench 描述与参数一致 (issue#39374, issue#39006, pr#28097, Neha Ojha)

  • core: osd/OSDCap: 检查命名空间是否为空 (issue#40835, pr#30214, Brad Hubbard)

  • core: osd/OSDMap: 用 get_out_existing_osds 替换 get_out_osds (issue#39422, issue#39154, pr#28142, Brad Hubbard)

  • core: osd/OSDMap: 不要信任部分简化的 pg_upmap_item (pr#30898, xie xingguo)

  • core: osd/PG: 在 large omap 日志消息中添加 PG (pr#30924, Brad Hubbard)

  • core: osd/PG: 修复分割后的 last_complete 重计算 (issue#39538, issue#26958, pr#28259, xie xingguo)

  • core: osd/PeeringState: 不要抱怨受 oldest epoch 约束的 past_intervals (pr#30222, Sage Weil)

  • core: osd/PeeringState: recover_got - 为空日志添加特殊处理程序 (pr#30895, xie xingguo)

  • core: osd/PrimaryLogPG: 避免在 finish_degr... 中访问已销毁的引用 (pr#30291, Tao Ning)

  • core: osd/PrimaryLogPG: 在 backfill scan_range 时跳过不存在的 obc (pr#31029, Sage Weil)

  • core: osd/PrimaryLogPG: 在隐式截断 obc 的写操作时更新 oi.size (pr#30275, xie xingguo)

  • core: osd: 当 OSD 数量小于 osd_pool_default_size 时提供更好的错误消息 (issue#38617, pr#30180, Kefu Chai, Sage Weil, zjh)

  • core: osd: flush 后不要在有交叉 scrub 范围时驱逐 (issue#38840, issue#39518, pr#28232, David Zafman)

  • core: osd: 不要在 snaptrim 相关断言中包含用户可更改的标志 (issue#38124, issue#39698, pr#28202, David Zafman)

  • core: osd: 修复 osd_stat_t 的 encode/decode 兼容性 (pr#31275, Kefu Chai, David Zafman)

  • core: osd: 在 copy_after() 和 copy_up_to() 中包含 dup (issue#39304, pr#28089, David Zafman)

  • core: osd: 如果存在二进制数据,则输出 CRC 头部的 Base64 编码 (issue#39737, pr#28503, David Zafman)

  • core: osd: 从输出中移除未使用的 osdmap 标志 full, nearfull (pr#30901, David Zafman)

  • core: osd: 修复对象时清除 PG_STATE_CLEAN (pr#30243, Zengran Zhang)

  • core: osd: 修复 build_incremental_map_msg (issue#38282, pr#31236, Sage Weil)

  • core: osd: 使 project_pg_history 处理并发 osdmap 发布 (issue#26970, pr#29976, Sage Weil)

  • core: osd: 根据 replica log 的 crt,在 primary 需要时合并 replica log (pr#30916, Zengran Zhang)

  • core: osd: pg 在有大量磁盘空间的情况下卡在 backfill_wait (issue#38034, pr#28201, xie xingguo, David Zafman)

  • core: osd: 报告 omap/data/metadata 使用情况 (issue#40639, pr#28852, Sage Weil)

  • core: osd: rollforward 可能需要将 pglog 标记为 dirty (issue#40403, pr#31035, Zengran Zhang)

  • core: osd: scrub 大对象时出错;使 bluestore 在大对象上拒绝启动 (pr#30784, David Zafman, Sage Weil)

  • core: osd: 调用 heartbeat() 时获取 heartbeat_lock (issue#39513, issue#39439, pr#28220, Sage Weil)

  • core: osds 允许启动超过 N+2 的数量 (issue#38206, issue#38076, pr#29241, Sage Weil)

  • core: 如果 m<=0,ErasureCode::parse() 应报告 EINVAL (issue#38682, issue#38751, pr#28995, Sage Weil)

  • core: del_event() 应设置 EPOLLET 标志 (issue#38856, pr#29250, Roman Penyaev)

  • doc/ceph-fuse: 在 ceph-fuse man page 中提及 -k 选项 (pr#30936, Rishabh Dave)

  • doc/rbd: s/guess/xml/ 用于 codeblock lexer (pr#31090, Kefu Chai)

  • doc/rgw: 文档说明使用‘realm pull’而不是‘period pull’(issue#39655, pr#30131, Casey Bodley)

  • doc: 文档说明 fsync-after-close 的行为 (issue#24641, pr#29765, Jos Collin, Jeff Layton)

  • doc: Object Gateway multisite 文档中的只读参数错误 (issue#40497, pr#29289, Chenjiong Deng)

  • doc: mon_health_to_clog_* 的默认值已交换 (pr#30227, James McClune)

  • doc: 描述 metadata_heap 清理 (issue#18174, pr#30070, Dan van der Ster)

  • doc: 修复 rgw_ldap_dnattr 用户名 token (pr#30099, Thomas Kriechbaumer)

  • doc: rgw: 为 s3 PUT Bucket 请求创建 CreateBucketConfiguration (issue#39602, issue#39597, pr#29257, Casey Bodley)

  • doc: 更新 bluestore 缓存设置并澄清数据分数 (issue#39522, pr#31258, Jan Fajerski)

  • doc: logging 部分的 usage log 默认值错误 (issue#37891, issue#37856, pr#29014, Abhishek Lekshmanan)

  • filestore: 确保预分割中有足够的叶子 (issue#39390, pr#30182, Jeegn Chen)

  • krbd: 避免 udev netlink socket 溢出,并在 udev_enumerate_scan_devices() 的瞬态错误时重试 (pr#31322, Ilya Dryomov, Adam C. Emerson)

  • krbd: 修复 rbd map 因 udev 返回的子系统无序而挂起 (issue#39089, pr#30176, Zhi Zhang)

  • mgr/balancer: 修复 fudge (pr#28399, xie xingguo)

  • mgr/balancer: python3 兼容性问题 (pr#31013, Mykola Golub)

  • mgr/balancer: 将自动平衡限制在特定的工作日 (pr#26499, xie xingguo)

  • mgr/crash: 修复 python3 语法错误 (pr#29029, Ricardo Dias)

  • mgr/dashboard: 修复 run-frontend-e2e-tests.sh (issue#40707, pr#28954, Kiefer Chang, Tiago Melo)

  • mgr/dashboard: 修复各种 RGW 问题 (pr#28210, Volker Theile)

  • mgr/dashboard: RGW 代理无法处理自签名 SSL 证书 (pr#30543, Volker Theile)

  • mgr/dashboard: cephfs multimds 图表堆叠在一起 (issue#40660, pr#28911, Kiefer Chang)

  • mgr/localpool: pg_num 是 ‘osd pool create’ 的 int 参数 (pr#30447, Sage Weil)

  • mgr/prometheus: 将 collect_timeout (scrape_interval) 转换为 float (pr#31108, Ben Meekhof)

  • mgr/prometheus: 替换指标名称中的空格 (issue#39458, pr#28165, Alfonso Martínez)

  • mgr/telemetry: 当模块未启用时,忽略报告中的崩溃 (pr#30846, Wido den Hollander)

  • mgr: DaemonServer::handle_conf_change - 锁 rusak (issue#38899, issue#38963, pr#29197, xie xingguo)

  • mgr: 死锁 (issue#39040, issue#39426, pr#28161, xie xingguo)

  • mgr: 如果新指标未收集,则不重置已报告 (pr#30391, Ilsoo Byun)

  • radosgw-admin: bucket sync 状态在完全同步期间未“赶上”(issue#40806, pr#30170, Casey Bodley)

  • rbd-mirror: 无法恢复延迟删除的镜像 (pr#30828, Jason Dillaman, Mykola Golub)

  • rbd-mirror: 在列出镜像之前清除 bufferlist (issue#39461, issue#39407, pr#28123, Jason Dillaman)

  • rbd-mirror: 不要覆盖 replay 返回的状态错误 (pr#29872, Mykola Golub)

  • rbd-mirror: 处理 image sync throttler 队列中的重复项 (issue#40519, issue#40593, pr#28815, Mykola Golub)

  • rbd-mirror: 忽略与解析集群配置文件相关的错误 (pr#30117, Jason Dillaman)

  • rbd/action: 修复获取位置参数的错误 (issue#40095, pr#29294, songweibin)

  • rbd/tests: 在 krbd 测试中避免 hexdump skip 和 length 选项 (pr#30569, Ilya Dryomov)

  • rbd: 降低 cls/journal 和 cls/rbd 预期错误的日志级别 (issue#40865, pr#29565, Jason Dillaman)

  • rbd: 从 snap_list 中过滤掉 group/trash 快照 (issue#38538, issue#39186, pr#28138, songweibin, Jason Dillaman)

  • rbd: journal: 跳过无效范围后正确推进读取偏移量 (pr#28814, Mykola Golub)

  • rbd: librbd: 为托管锁助手添加缺失的 shutdown 状态 (issue#38387, issue#38509, pr#28151, Jason Dillaman)

  • rbd: librbd: async open/close 应在发出回调之前释放 ImageCtx (issue#39429, issue#39031, pr#28125, Jason Dillaman)

  • rbd: librbd: 避免在深度复制期间解引用空容器 (issue#40368, pr#30177, Jason Dillaman)

  • rbd: librbd: 在移动到 trash 时禁用镜像 (pr#28150, Mykola Golub)

  • rbd: librbd: 确保 compare-and-write 在 copyup 后不跳过比较 (issue#38383, issue#38441, pr#28133, Ilya Dryomov)

  • rbd: librbd: 正确处理潜在的对象图失败 (issue#39952, issue#36074, pr#30796, Jason Dillaman, Mykola Golub)

  • rbd: librbd: 正确跟踪 in-flight flush 请求 (issue#40573, pr#28770, Jason Dillaman)

  • rbd: librbd: 验证 RBD pool 时可能发生竞争条件 (issue#38500, issue#38563, pr#28139, Jason Dillaman)

  • rbd: 将有序节流器用于 export 操作 (issue#40435, pr#30178, Jason Dillaman)

  • restful: 查询 nodes_by_id 以获取项目 (pr#31273, Boris Ranto)

  • rgw admin: 在 multisite 环境中禁用 stale instance 删除 (pr#30340, Abhishek Lekshmanan)

  • rgw/OutputDataSocket: append_output(buffer::list&) 表示它将(但不)丢弃 data_max_backlog 的输出 (issue#40178, issue#40351, pr#29279, Matt Benjamin)

  • rgw/cls: 在重置后继续发出 bilog trim 操作 (issue#40187, pr#30074, Casey Bodley)

  • rgw/multisite: 不允许某些 radosgw-admin 命令在非 master zone 上运行 (issue#39548, pr#30133, Shilpa Jagannath)

  • rgw/rgw_op: 通过旧选项从 hotpath 中移除 get_val (pr#30141, Mark Nelson)

  • rgw: 在 RGW Multi-site 中为 radosgw-admin bucket rm 命令添加 --bypass-gc 标志支持 (issue#39748, issue#24991, pr#29262, Casey Bodley)

  • rgw: 复制时不要在未提供 metadata directive 时崩溃 (issue#40416, pr#29500, Adam C. Emerson)

  • rgw: 修复 bucket 版本控制与 swift 元数据 bug (pr#30140, Marcus Watts)

  • rgw: 修复 rgw 解压缩日志打印 (pr#30156, Han Fengzhe)

  • rgw:大型多部分对象同步损坏(issue#40144, pr#29273, Casey Bodley, Qu Tianshan, CHEN Xiaoxi)

  • rgw:RGWCoroutine::call(nullptr) 设置 retcode=0(pr#30159, Casey Bodley)

  • rgw:在 bucket_stats 函数中返回 tenant 字段(issue#40038, pr#28209, Volker Theile)

  • rgw:S3 策略评估不正确(issue#38638, issue#39274, pr#29255, Pritha Srivastava)

  • rgw:保存 RGWEnv 的不必要副本(pr#29483, Mark Kogan)

  • rgw:Swift 接口:如果对象名称包含“?”,则服务器端复制失败(issue#27217, issue#40128, pr#29267, Casey Bodley)

  • rgw:TempURL 不应允许带有 X-Object-Manifest 的 PUT(issue#40133, issue#20797, pr#28711, Radoslaw Zarzynski)

  • rgw:中止多部分修复(pr#29016, J. Eric Ivancich)

  • rgw:asio:在处理请求之前检查远程端点(pr#30977, Abhishek Lekshmanan)

  • rgw:有条件地允许具有非唯一电子邮件地址的内置用户(issue#40089, issue#40507, pr#28716, Matt Benjamin)

  • rgw:当没有对等方读取它们时,data/bilogs 会被修剪(issue#39487, pr#30130, Casey Bodley)

  • rgw:datalog/mdlog 修剪命令会一直循环直到完成(pr#30868, Casey Bodley)

  • rgw:执行必要的网站配置检查(issue#40678, pr#30980, Enming Zhang)

  • rgw:在前端发生接受错误时不要抛出异常(pr#30154, Yuval Lifshitz)

  • rgw:修复在默认区域组下带有 BucketLocation 参数的 CreateBucket 失败(pr#30171, Enming Zhang)

  • rgw:修复 bucket 在 BI_PREFIX_CHAR 之后可能冗余列出键(issue#40147, issue#39984, pr#28409, Casey Bodley, Qu Tianshan)

  • rgw:修复 cls_bucket_list_unordered() 的部分结果(pr#30253, Mark Kogan)

  • rgw:修复数据同步启动延迟,如果远程尚未初始化 data_log(pr#30510, Qu Tianshan)

  • rgw:修复使用 bypass-gc 选项删除 bucket 时 drain handles 错误(pr#29984, tao dongdong)

  • rgw:修复带分隔符的 list bucket 错误地跳过某些特殊键(issue#40905, pr#30168, Qu Tianshan)

  • rgw:修复 list versions 以 version_id=null 开头(pr#30775, Qu Tianshan)

  • rgw:修复潜在的 realm watch 丢失(issue#40991, pr#30167, Qu Tianshan)

  • rgw:修复 bucket 重分片和等待重分片完成的操作之间的竞争(pr#29139, J. Eric Ivancich)

  • rgw:修复 refcount 标签以匹配并更新对象的 idtag(pr#30891, J. Eric Ivancich)

  • rgw:修复使用“radosgw-admin zone rm”时出现“unrecognized arg”错误(pr#30172, Hongang Chen)

  • rgw:gc 在所有子 IO 完成后删除标签(issue#40903, pr#30173, Qu Tianshan)

  • rgw:radosgw-admin 和 cls 后端中重置统计信息操作的清理(pr#30165, J. Eric Ivancich)

  • rgw:增加 beast 解析缓冲区大小到 64k(pr#30450, Casey Bodley)

  • rgw:ldap 认证:S3 认证失败应返回 InvalidAccessKeyId(pr#30652, Matt Benjamin)

  • rgw:使 dns 主机名匹配不区分大小写(issue#40995, pr#30166, Casey Bodley, Abhishek Lekshmanan)

  • rgw:缓解 bucket list max-entries 过高的问题(pr#30134, J. Eric Ivancich)

  • rgw:multisite:“radosgw-admin bucket sync status”应调用 syncs_from(source.name) 而不是 id(issue#40022, issue#40141, pr#29270, Casey Bodley)

  • rgw:multisite:RGWListBucketIndexesCR 用于数据完全同步需要分页(issue#39551, issue#40354, pr#29284, Shilpa Jagannath)

  • rgw:multisite:数据同步在到达 datalog 末尾后会循环回到开头(issue#39033, issue#39074, pr#29021, Casey Bodley)

  • rgw:multisite:List Buckets 的 bucket 创建时间不匹配(issue#39635, issue#39734, pr#28483, Casey Bodley)

  • rgw:multisite:versioning-suspended buckets 中的覆盖写入未同步(issue#38080, issue#37792, pr#29017, Casey Bodley)

  • rgw:multisite:period pusher 在针对其他区域组时收到 403 Forbidden 错误(issue#39415, issue#39287, pr#29256, Casey Bodley)

  • rgw:不存在的 mdlog 故障以 0 级别记录(issue#38747, issue#40033, pr#28757, Abhishek Lekshmanan)

  • rgw:perfcounters:添加 gc retire 计数器(pr#30073, Matt Benjamin)

  • rgw:允许 rgw-admin 通过访问密钥填充用户信息(pr#30105, Matt Benjamin, Marc Koderer)

  • rgw:提供管理友好的重分片状态输出(issue#37615, issue#40357, pr#29285, Mark Kogan)

  • rgw:remove_olh_pending_entries() 不限制要删除的 xattrs 的数量(issue#39179, issue#39118, pr#28348, Casey Bodley)

  • rgw:版本化 bucket 的重分片会导致 bucket 统计信息不一致(issue#39532, pr#28249, J. Eric Ivancich)

  • rgw:在评估 bucket 策略时尽早返回 ERR_NO_SUCH_BUCKET(issue#38420, issue#39697, pr#28422, Abhishek Lekshmanan)

  • rgw:rgw_file:所有目录相对于内容都是虚拟的(issue#40262, issue#40204, pr#28887, Matt Benjamin)

  • rgw:设置 null version 对象问题(issue#36763, issue#40360, pr#29288, Qu Tianshan)

  • rgw:支持长度超过一个符号的分隔符(issue#39989, issue#38776, pr#29018, Qu Tianshan, Matt Benjamin)

  • rgw:Swift 对象过期在 bucket 重分片时失败(issue#39741, pr#29258, Casey Bodley, Abhishek Lekshmanan, J. Eric Ivancich)

  • rgw:Swift:使用 nginx 作为 GET 缓存时,避免损坏静态大型对象(pr#30135, Andrey Groshev)

  • rgw:S3 API 的 Multi-Object Delete 操作错误地处理了 Code 响应元素(issue#18241, issue#40136, pr#29268, Radoslaw Zarzynski)

  • rgw:更新重分片文档(issue#39047, pr#29020, J. Eric Ivancich)

  • rgw_file:修复顶级目录的无效化(issue#40215, pr#29276, Matt Benjamin)

  • rgw_file:advance_mtime() 应考虑命名空间过期(issue#40415, pr#30660, Matt Benjamin)

  • rgw_file:readdir eof() 计算--调用者停止意味着 !eof 并引入快速 S3 Unix 统计(不可变)(issue#40375, issue#40456, pr#30077, Matt Benjamin)

  • rgw_file:在哈希 bucket 名称时包含租户(issue#40225, issue#40118, pr#29277, Matt Benjamin)

  • rgw_file:readdir:不要使用前导“/”构造标记(pr#30157, Matt Benjamin)

  • rgw_file:在 setattr 中保存 etag 和 acl 信息(issue#39229, pr#28073, Tao Chen)

  • rpm:python34-cephfs(及其他?)缺少对 python34-ceph-argparse 的依赖(issue#24918, issue#24919, issue#37613, pr#27949, Kefu Chai)

  • tests:cls_rbd:移除了 mirror peer pool 测试用例(pr#31485, Jason Dillaman)

  • tests:librbd:设置 nbd 超时,因为较新的内核默认会启用它(pr#30424, Jason Dillaman)

  • tests:ceph-disk:使用 Python2.7 兼容版本的 pytest(pr#31254, Alfredo Deza)

  • tests:rgw:在 s3a-hadoop 套件中不要使用 ceph-ansible(issue#39706, pr#30069, Casey Bodley)

  • tests/workunits/rbd:等待 rbd-nbd unmap 完成(issue#39598, issue#39674, pr#28310, Jason Dillaman)

  • tests:修复 vstart runner 中的问题(pr#28208, Volker Theile)

  • tests:限制等待 force-backfill/force-recovery 发生的循环次数(issue#38351, issue#38309, pr#29245, David Zafman)

  • tests:移除 s3tests!(pr#31640, Yuri Weinstein)

  • tests:cephfs:TestMisc.test_evict_client 失败(issue#40219, pr#29228, “Yan, Zheng”)

  • tests:不要从 ceph/teuthology.git 获取 ceph.conf.template(pr#30841, Sage Weil)

  • tests:忽略预期的 MDS_CLIENT_LATE_RELEASE 警告(issue#40968, pr#29812, Patrick Donnelly)

  • tests:为 fs 套件安装 python3-cephfs(pr#31285, Kefu Chai)

  • tests:kclient unmount 在文件系统关闭后挂起(issue#38709, issue#38677, pr#29218, Patrick Donnelly)

  • tests:krbd_msgr_segments.t:过滤 lvcreate 输出(pr#31324, Ilya Dryomov)

  • tests:使 get_mon_status 使用 mon 地址(pr#31461, Sage Weil, Nathan Cutler)

  • tests:make: *** [hello_world_cpp] Error 127 in rados(issue#40320, pr#29203, Kefu Chai)

  • tests:qa/standalone/scrub/osd-scrub-snaps.sh 有时会失败(issue#40179, issue#40078, pr#29251, David Zafman)

  • tests:qa/tasks/ceph.py:将 cluster_name 传递给 get_mons(pr#31424, Nathan Cutler)

  • tests:qa/workunits/rbd:压力测试“rbd mirror pool status --verbose”(pr#29873, Mykola Golub)

  • tests:移除“1node”和“systemd”测试,因为 ceph-deploy 没有积极开发(pr#28457, Yuri Weinstein)

  • tests:重置 kclient 后短暂休眠(pr#29751, Patrick Donnelly)

  • tests:test_volume_client:正确打印 python 版本(issue#40317, issue#40184, pr#29208, Lianne)

  • tests:在 util/rgw.py 的 wait_for_radosgw() 中使用 curl(pr#28668, Ali Maredia)

  • tests:使用 hard_reset 重启 kclient(issue#37681, pr#30233, Patrick Donnelly)

  • tests:白名单“应用程序未启用”(pr#28389, Yuri Weinstein)

  • tools/rados:列出 pg 中的对象(issue#36732, pr#30893, Vikhyat Umrao, Li Wang)

  • tools/rbd-ggate:在运行 postfork 之前关闭日志(pr#30121, Willem Jan Withagen)

  • tools:为 objectstore 工具添加 clear-data-digest 命令(issue#37749, pr#29196, Li Yichao)

  • tools:ceph-objectstore-tool 无法删除带有损坏快照集的 head(pr#30081, David Zafman)

  • tools:ceph-objectstore-tool:如果 incmap 正常则返回 0(pr#31659, Kefu Chai)

  • tools:ceph-objectstore-tool:update-mon-db:如果 incmap 丢失则不失败(pr#30979, Kefu Chai)

  • tools:crushtool 在 Fedora 28 及更新版本上崩溃(issue#39174, issue#39311, pr#27986, Brad Hubbard)

v13.2.6 Mimic

这是 Mimic v13.2.x 长期稳定发布系列的第六个错误修复版本。我们建议所有 Mimic 用户进行升级。

值得注意的变更

  • Ceph v13.2.6 现在打包了 python3.6 的 python 绑定,而不是 python3.4,因为 EPEL7 最近从 python3.4 切换到了 python3.6 作为其原生的 python3。有关此更改的背景,请参阅公告 <https://lists.fedoraproject.org/archives/list/epel-announce@lists.fedoraproject.org/message/EGUMKAIMPK2UD5VSHXM53BH2MBDGDWMO/>_

变更日志

  • cephfs:MDSMonitor:在降级时不要分配 standby-replay(issue#36384, pr#26643, Patrick Donnelly)

  • ceph-volume:为 simple activate 添加 --all 标志(pr#26655, Jan Fajerski)

  • ceph-volume:使用我们自己的 testinfra 套件进行功能测试(pr#26702, Andrew Schoen)

  • cli:更改文件所有权的能力(issue#38370, pr#26760, Sébastien Han)

  • cli:更好的“ceph health detail”输出(issue#39266, pr#27847, Shen Hang)

  • cls/rgw:提高 bi_log_iterate_entries 输出的调试级别(pr#27973, Casey Bodley)

  • common:ceph_timer:在暂停时停止计时器的线程(issue#37766, pr#26583, Peng Wang)

  • common/str_map:修复空字符串上的 trim()(issue#38329, pr#26810, Sage Weil)

  • core:EC 回填目标上的 collection_move_rename 中出现 ENOENT(issue#36739, pr#27943, Neha Ojha)

  • core:修复恢复和回填优先级处理(issue#38041, pr#27081, David Zafman)

  • crush:将 root_bucket 添加到识别不足的 bucket 中(issue#38826, pr#27257, huangjun)

  • crush:回填最近的 upmap 修复(issue#37968, issue#38897, issue#37940, pr#27963, xie xingguo)

  • crush/CrushWrapper:确保 crush_choose_arg_map.size == max_buckets(issue#38664, pr#27082, Sage Weil)

  • doc:修复“osd_deep_mon_scrub_interval”的错误提及(pr#26860, Ashish Singh)

  • doc:rados 相关文档的小修复(issue#38896, pr#27188, David Zafman)

  • doc:osd_recovery_priority 未记录(但 osd_recovery_op_priority 已记录)(issue#23999, pr#26901, David Zafman)

  • doc/radosgw:记录 S3 操作到 ACL 授权的映射(issue#38523, pr#26968, Adam C. Emerson)

  • doc/rgw:记录放置目标配置(issue#24508, pr#27032, Casey Bodley)

  • doc:更新 bluestore 配置文档 - 修复拼写错误(as -> has)(pr#27845, Yaniv Kaul)

  • doc:更新基于日志的 PG 的参考链接(issue#38465, pr#26829, James McClune)

  • include/intarith:强制 p2*() 参数使用相同的类型(pr#27318, Ilya Dryomov)

  • librbd:避免聚合初始化任何 static_visitor(issue#38659, pr#27041, Willem Jan Withagen)

  • librbd:避免聚合初始化 IsWriteOpVisitor(issue#38660, pr#27039, Willem Jan Withagen)

  • mds:从不存在的会话中丢弃重连消息(issue#39026, pr#27916, Shen Hang)

  • mds:在“dump cache”asok 上进行 inode 过滤(issue#11172, pr#27058, dongdong tao)

  • mds/server:重命名后检查目录拆分(issue#38994, pr#27917, Shen Hang)

  • mds:重新获取 xlock 时等待客户端释放共享 cap(issue#38491, pr#27023, “Yan, Zheng”)

  • mgr/balancer:如果 upmap 实际上不起作用,则进行归责(issue#38780, pr#26497, xie xingguo)

  • mgr/BaseMgrModule:为 ceph_send_command 释放 GIL(issue#38537, pr#26833, Sage Weil)

  • mgr:crashdump 功能回填(pr#24639, Noah Watkins, Sage Weil, Dan Mick)

  • mgr/dashboard:修复在没有 ipv6 的主机上使用“::”(issue#38575, pr#26750, Noah Watkins)

  • mgr/dashboard:Manager 应抱怨错误的 dashboard 证书(issue#24453, pr#27747, Volker Theile, Ricardo Dias)

  • mgr/dashboard:搜索对于值为 null 的条目不起作用(issue#38583, pr#26944, Patrick Nawracay)

  • mgr/dashboard:在 Pool 列表中显示 I/O 统计信息(pr#27053, Alfonso Martínez)

  • mgr/dashboard:更新 npm 包(issue#39080, pr#26670, Tiago Melo)

  • mgr/dashboard:在 OSD I/O 图中使用人类可读单位(issue#25075, pr#27558, Tiago Melo)

  • mgr:在 get_config 中释放 GIL(pr#26612, John Spray)

  • mgr:启用模块间调用(pr#27638, John Spray)

  • mgr/prometheus:将接口和 objectstore 添加到 osd 元数据中(pr#26537, Jan Fajerski, Konstantin Shalygin)

  • mgr/PyModule:将 mgr_module_path 放在 sys.path 的开头(issue#38469, pr#26777, Tim Serong)

  • mon/OSDMonitor:修复 osd 启动检查(pr#27351, Sage Weil)

  • mon/OSDMonitor:进一步改进 prepare_command_pool_set E2BIG 错误消息(issue#39353, pr#27647, Nathan Cutler)

  • msg:在检测到错误的 CRC 时输出对等地址(issue#39367, pr#27860, Greg Farnum)

  • multisite:bucket 全量同步不处理删除标记(issue#38007, pr#26194, Casey Bodley)

  • multisite:rgw_data_sync_status 的 json 解码失败会破坏自动 datalog 修剪(issue#38373, pr#26615, Casey Bodley)

  • os/bluestore:回填新的位图分配器(pr#26983, Igor Fedotov, Sage Weil)

  • os/bluestore:位图分配器可能无法返回连续块,尽管有足够的空间(pr#27298, Igor Fedotov)

  • os/bluestore:在查找 blob 之前正确调用 fault_range 以...(pr#27570, Igor Fedotov)

  • os/bluestore:修复 bmap 分配器的 p2 宏的不当回填(pr#27606, Igor Fedotov)

  • os/bluestore:修复长度溢出(issue#39245, pr#27366, Jianpeng Ma)

  • os/bluestore:修复 bmap 分配器中的越界访问(pr#27738, Igor Fedotov)

  • os/bluestore_tool:bluefs-bdev-expand:指示主设备绕过(pr#27447, Igor Fedotov)

  • osd:PrimaryLogPG::get_object_context() 中出现 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))(issue#38931, issue#38784, pr#27940, xie xingguo)

  • osd:修复 OpTracker 析构断言,waiting_for_osdmap 使用 OpRequest 获取引用(issue#38377, pr#26862, linbing)

  • osd/PG:在 OSD 对等并 PG 降级时发现丢失的对象(pr#27745, Jonas Jelten)

  • osd/PGLog.h:在决定回滚之前打印 olog_can_rollback_to(issue#38894, pr#27284, Neha Ojha)

  • osd/PGLog:保留 original_crt 以检查回滚能力(issue#39023, issue#36739, pr#27629, Neha Ojha)

  • osd/PrimaryLogPG:在 handle_watch_timeout 中处理 object !exists(issue#38432, pr#26709, Sage Weil)

  • osd:process_copy_chunk 在 pg 解锁前删除 obc 引用(issue#38842, pr#27587, Zengran Zhang)

  • osd:提前关闭 recovery_request_timer(issue#38945, pr#27938, Zengran Zhang)

  • pybind/rados:修复了 get_fsid 上的 Python3 字符串转换问题(issue#38381, pr#27259, Jason Dillaman)

  • rbd:API list_images() 段错误(issue#38468, pr#26707, songweibin)

  • rbd:krbd:在轮询中返回 -ETIMEDOUT(issue#38792, pr#27588, Dongsheng Yang)

  • rbd_mirror:如果 image replay 被取消,则不报告错误(pr#26140, Mykola Golub)

  • rgw:将 tcp_nodelay 选项添加到 Beast(issue#34308, pr#27367, Or Friedmann)

  • rgw admin:为 reshard cancel 添加 tenant 参数(issue#38214, pr#27603, Abhishek Lekshmanan)

  • rgw-admin:修复主区域的数据同步报告(issue#38938, pr#27421, cfanz)

  • rgw:admin:处理 object stat 输出中的 delete_at 属性(pr#27828, Abhishek Lekshmanan)

  • rgw:允许 radosgw-admin 使用 --allow-unordered 列出 bucket(pr#28096, J. Eric Ivancich)

  • rgw:beast:为端点设置默认端口(issue#39000, pr#27661, Abhishek Lekshmanan)

  • rgw:bucket 限制检查对于大于 max-entries 的 buckets(通常是 1000)行为不当(pr#26945, Matt Benjamin)

  • rgw:版本控制并发中的错误,list 和 get 存在一致性问题(issue#38060, pr#26664, Wang Hao)

  • rgw:在 RGWGetACLs 中检查不存在的 bucket(issue#38116, pr#26529, Matt Benjamin)

  • rgw:cls_bucket_list_unordered 列出了单个分片(issue#39393, pr#28086, Casey Bodley)

  • rgw:数据同步在租约失败时耗尽租约堆栈(issue#38479, pr#26762, Casey Bodley)

  • rgw:不要在缺少 /etc/mime.types 时崩溃(issue#38328, pr#27354, Casey Bodley)

  • rgw:无法通过 s3test 中的 test_bucket_create_naming_bad_punctuation 测试(issue#23587, issue#26965, pr#27666, yuliyang, Abhishek Lekshmanan)

  • rgw:修复应用默认配额的错误,为此创建新用户时可能使用 beast 崩溃(issue#38847, pr#27335, liaoxin01)

  • rgw:修复读取不存在的 null 版本返回错误的 bug(issue#38811, pr#27304, Qu Tianshan)

  • rgw:修复 CORS 未找到时的 S3 兼容性 bug(issue#37945, pr#27356, Nick Janus)

  • rgw:GetBucketCORS API 在 CORS 配置不存在时返回 Not Found 错误代码(issue#26964, pr#27122, yuliyang, ashitakasam)

  • rgw:获取或设置 realm zonegroup zone 应检查用户的 caps 以提高安全性(issue#37352, pr#27948, yuliyang, Casey Bodley)

  • rgw:ldap:修复 LDAPAuthEngine::init() 在 uri !empty() 时的情况(issue#38699, pr#27174, Matt Benjamin)

  • rgw:多个 es 相关修复和改进(issue#38028, issue#22877, issue#36233, issue#38030, issue#36092, pr#26517, Yehuda Sadeh, Abhishek Lekshmanan, Willem Jan Withagen)

  • rgw:nfs:跳过空(非 POSIX)路径段(issue#38744, pr#27179, Matt Benjamin)

  • rgw:仅在 ENODATA 时更新 last_trim 标记(issue#38075, pr#26641, Casey Bodley)

  • rgw:解决垃圾回收代码中的 bug 和进行清理(issue#38454, pr#27796, J. Eric Ivancich)

  • rgw:rgw_file:使用正确的密钥检查认证(issue#37855, pr#26687, MinSheng Lin)

  • rgw:sse c 修复(issue#38700, pr#27297, Adam Kupczyk, Casey Bodley, Abhishek Lekshmanan)

  • rgw:sync 模块:避免打印日志中对象的属性(issue#37646, pr#27029, Abhishek Lekshmanan)

  • rgw:使用分块编码更快地输出部分结果(issue#12713, pr#28014, Robin H. Johnson)

  • rgw:当独占锁因现有锁而失败时,记录附加信息(issue#38171, pr#26553, J. Eric Ivancich)

  • rgw:使用 nfs-ganesha 上传文件时,rgw es sync 模块失败(issue#36233, pr#27972, Abhishek Lekshmanan)

  • run-standalone.sh:需要双引号来处理所有发行版上的 core_pattern 中的 |(issue#38325, pr#26811, David Zafman)

  • spdk:更新到最新的 spdk-18.05 分支(pr#27451, Kefu Chai)

  • test:run-standalone.sh 设置本地库位置以便 mgr 可以找到 li…(issue#38262, pr#26495, David Zafman)

  • test/store_test:BlobReuseOnOverwriteUT 和 garbageCollection 的修复/解决办法(pr#27055, Igor Fedotov)

  • test:验证日志修剪是否也修剪了 dup_index(pr#26578, Brad Hubbard)

  • tools:ceph-disk/tests:为 CEPH_MON 使用随机未使用端口(issue#39066, pr#27228, Kefu Chai)

  • tools:ceph-objectstore-tool:将 dump-import 重命名为 dump-export(issue#39284, pr#27635, David Zafman)

v13.2.5 Mimic

这是 Mimic v13.2.x 长期稳定发布系列的第五个错误修复版本。我们建议所有 Mimic 用户进行升级。

值得注意的变更

  • 此版本修复了 13.2.2 版本中引入的 pg log 硬限制 bug,https://tracker.ceph.com/issues/36686。引入了一个名为 pglog_hardlimit 的标志,该标志默认关闭。启用此标志将限制 pg log 的长度。要启用它,必须在完全升级到 13.2.2 后运行 ceph osd set pglog_hardlimit 来设置该标志。一旦集群设置了这个标志,它将 *不能* 再被取消设置。在 Luminous 版本中,此功能已在 12.2.11 版本中引入。正在运行 12.2.11 版本并希望继续使用此功能的用户应升级到 13.2.5 或更高版本。

  • 此版本还修复了 civetweb 中的一个 CVE,CVE-2019-3821,其中在初始协商失败的情况下,civetweb 未能关闭 SSL 文件描述符。

  • RGW 动态和手动重分片已得到修复,现在不再留下需要手动删除的陈旧 bucket 实例。要查找和清理旧实例进行重分片,radosgw-admin 命令 reshard stale-instances listreshard stale-instances rm 应能完成必要的清理。这些命令 *不应* 用于多站点设置,因为陈旧实例不太可能来自重分片,并且可能会产生后果。在下一个版本中,admin CLI 将阻止在多站点集群上运行此命令,但对于当前版本,强烈建议用户不要在多站点集群上使用删除命令。

Changelog

  • build/ops:在 _GLIBCXX_USE_CXX11_ABI=0 和 C++17 模式下销毁 basic_string 会导致无效删除(issue#38177, pr#26593, Kefu Chai, Jason Dillaman)

  • build/ops:rpm:要求 ceph-base 而不是 ceph-common(issue#37620, pr#25809, Sébastien Han)

  • build/ops:run-make-check.sh ccache 调整(issue#24817, issue#24777, pr#25153, Nathan Cutler, Jonathan Brielmaier, Erwan Velu)

  • ceph-create-keys:修复 Python 3 的八进制表示法,同时不损失与 Python 2 的兼容性(issue#37641, pr#25531, James Page)

  • cephfs:MDCache::finish_snaprealm_reconnect() 创建和丢弃 MClientSnap 消息(issue#38285, pr#26472, “Yan, Zheng”)

  • cephfs:mgr/status:修复 fs status 子命令未显示 standby-replay MDS 的 perf 信息(issue#36399, pr#25031, Zhi Zhang)

  • ceph-objectstore-tool:Dump hashinfo(issue#37597, pr#25721, David Zafman)

  • ceph-volume-client:允许设置 CephFS 卷的模式(issue#36651, pr#25413, Tom Barron)

  • ceph-volume:启用设备 discard(issue#36532, pr#25749, Jonas Jelten)

  • ceph-volume:修复 inventory 中的 JSON 输出(issue#37390, pr#25923, Sebastian Wagner)

  • ceph-volume:修复 TypeError: join() 需要恰好一个参数(2 个已给出)(issue#37595, pr#25771, Sebastian Wagner)

  • ceph-volume 将逗号标准化为点,用于字符串到整数转换(issue#37442, pr#25775, Alfredo Deza)

  • ceph-volume:恢复分区作为磁盘(issue#37506, pr#26294, Jan Fajerski)

  • ceph-volume:在 prime-osd-dir 之前设置正确的权限(issue#37486, pr#25777, Andrew Schoen, Alfredo Deza)

  • ceph-volume tests/functional 声明 ceph-ansible 角色而不是导入它们(issue#37805, pr#25837, Alfredo Deza)

  • ceph-volume zap:改进 zapping 以删除所有分区和所有 LV,无论是否加密(issue#37449, pr#25351, Alfredo Deza)

  • cli:将 osd-fsid 作为 osd find <id> 的一部分转储(issue#37966, pr#26035, Noah Watkins)

  • client:在成功写入之前不要移动 f->pos(issue#37546, pr#25683, Junhui Tang)

  • client:修复使用 samba 时配额大小限制的失败(issue#37547, pr#25678, Junhui Tang)

  • client:修复 fuse 客户端挂起,因为其到 mds 的管道不正常(issue#36079, pr#25903, Guan yunfei)

  • client:在 dcache 失效失败时重试重新挂载(issue#27657, pr#24695, Venky Shankar)

  • client:session flush 不会导致 cap release 消息 flush(issue#38009, pr#26424, Patrick Donnelly)

  • cmake:在 FreeBSD 上不要将 -B{symbolic,symbolic-functions} 传递给链接器(issue#36717, pr#25525, Willem Jan Withagen)

  • common:修复 WeightedPriorityQueue 中的内存泄漏(issue#36248, pr#25295, Radoslaw Zarzynski)

  • common:修复缺少 include boost/noncopyable.hpp(issue#38178, pr#26277, Willem Jan Withagen)

  • core:list-inconsistent-obj 输出被截断,导致 osd-scrub-repair.sh 失败(issue#37653, pr#25603, David Zafman)

  • core:luminous->(mimic,nautilus):luminous 结束时 PGMapDigest 解码错误(issue#38295, pr#26451, Sage Weil)

  • core:Objecter::calc_op_budget:修复对 extent 联合成员的无效访问(issue#37932, pr#26066, Simon Ruggier)

  • core:scrub 警告检查错误地使用了 mon scrub 间隔(issue#37264, pr#26493, David Zafman)

  • deep fsck 在检查非常大的 onode 时失败(issue#38065, pr#26291, Igor Fedotov)

  • doc:将“breathe”的版本固定为 4.1.11(issue#38229, pr#26333, Alfredo Deza)

  • doc:rados/configuration:刷新 osdmap 部分(issue#38051, pr#26373, Ilya Dryomov)

  • doc:更新 Ceph 文档链接(issue#37793, pr#26180, James McClune)

  • doc/user-management:删除过时的 reset caps 命令(issue#37663, pr#25607, Brad Hubbard)

  • journal:最大 journal 阶数错误地设置为 64(issue#37541, pr#25957, Mykola Golub)

  • librbd:如果不允许收缩,则修复 missing unblock_writes(issue#36778, pr#25252, runsisi)

  • librbd:在 rbd_snap_list() 中重置 snaps(issue#37508, pr#25459, Kefu Chai)

  • mds:禁用配额时将配额消息广播到客户端(issue#38054, pr#26292, Junhui Tang)

  • mds:创建单独的心跳超时配置(issue#37674, pr#26010, Patrick Donnelly)

  • mds:被导出的 mds 和被导入的 mds 之间进行目录固定,它们会来回复制(issue#37368, pr#25521, Xuehan Xu)

  • mds:不允许将巨大的缓存转储到格式化程序(issue#36703, pr#25642, Venky Shankar)

  • mds:不要两次调用 Journaler::_trim(issue#37566, pr#25561, Tang Junhui)

  • mds:修复文件锁在 LOCK_XSYN 状态下卡住,导致客户端无法读取数据的 bug(issue#37333, pr#25676, Guan yunfei)

  • mds:修复在 purge queue 中遇到无效项时 l_mdc_num_strays 统计信息不正确(issue#37567, pr#25559, Junhui Tang)

  • mds:修复 _unlink_local_finish 中潜在的重复评估 stray dentry(issue#38263, pr#26474, Zhi Zhang)

  • mds:修复更新 wanted caps 的竞争(issue#37464, pr#25680, “Yan, Zheng”)

  • mds:处理 fragment notify 竞争(issue#36035, pr#26252, “Yan, Zheng”)

  • mds:处理状态更改竞争(issue#37594, pr#26051, “Yan, Zheng”)

  • mds:将驱逐的客户端记录到 clog/dbg(issue#37639, pr#25857, Patrick Donnelly)

  • MDSMonitor:允许来自停止的 laggy MDS 的信标(issue#37724, pr#25685, Patrick Donnelly)

  • MDSMonitor:缺少 osdmon 可写检查(issue#37929, pr#26069, Patrick Donnelly)

  • mds:在 PQ 日志损坏时,启动期间的 purge queue 恢复会挂起(issue#37543, pr#26055, Patrick Donnelly)

  • mds:PurgeQueue 写入错误处理程序不处理 EBLACKLISTED(issue#37394, pr#25523, Patrick Donnelly)

  • mds:移除重复的 l_mdc_num_strays perfcounter 设置(issue#37516, pr#25681, Zhi Zhang)

  • mds:移除 Locker::snapflush_nudge 中的错误断言(issue#37721, pr#25885, “Yan, Zheng”)

  • mds:多次重启后耗尽文件描述符(issue#35850, pr#25822, Patrick Donnelly)

  • mds:从日志事件解码 xattr_map 时出现严重的内部片段(issue#37399, pr#25519, “Yan, Zheng”)

  • mds:在日志刷新后修剪缓存(issue#38010, pr#26214, Patrick Donnelly)

  • mds:如果信标未发送,则等待更短的间隔(issue#36367, pr#25980, Patrick Donnelly)

  • mgr:向 C++ -> Python 接口添加 get_latest_counter()(issue#38138, pr#26074, Jan Fajerski)

  • mgr/balancer:添加命令列出所有计划(issue#37418, pr#25293, Yang Honggang)

  • mgr/balancer:将 crush_compat_metrics 参数添加到更改优化键(issue#37412, pr#25291, Dan van der Ster)

  • mgr/dashboard:将 mirror_mode 设置为 None(issue#37870, pr#26009, Sebastian Wagner)

  • mgr:死锁:_check_auth_rotating 可能出现时钟偏差,旋转密钥过早过期(issue#23460, pr#26426, Yan Jun)

  • mgr:prometheus:将 bluestore db 和 wal 设备添加到 ceph_disk_occupation 指标(issue#36627, pr#25218, Konstantin Shalygin)

  • mgr:daemon 状态和 service map 在“service status”中的竞争(issue#36656, pr#25368, Mykola Golub)

  • mgr/restful:修复当获取 osd 信息时 py 抛出异常(issue#38182, pr#26200, Boris Ranto, zouaiguo)

  • mgr:各种 python3 修复(issue#37415, pr#25292, Noah Watkins)

  • mgr 将拒绝与比它启动晚的 monitor 的连接(issue#37753, pr#26235, Xinying Song)

  • mgr/zabbix:向 Zabbix 发送更多 PG 信息(issue#38180, pr#25944, Wido den Hollander)

  • mon:带有 PG_STATE_REPAIR 的 PG 不意味着数据损坏,PG_STATE_IN…(issue#38070, pr#26304, David Zafman)

  • mon:log last command 跳过最新条目(issue#36679, pr#25526, John Spray)

  • mon:将 REMOVE_SNAPS 消息标记为 no_reply(issue#37568, pr#25782, “Yan, Zheng”)

  • mon/OSDMonitor:不要将 void pg_temp 填充到 nextmap 中(issue#37784, pr#25844, Aleksei Zakharov)

  • mon:尽早关闭 messenger 以避免访问已删除的 logger(issue#37780, pr#25846, ningtao)

  • msg/async:回填最近的 messenger 修复(issue#36497, issue#37778, pr#25958, xie xingguo)

  • msg/async:当 verify_authorizer 提供的 authenticator 未实现时崩溃(issue#36443, pr#25299, Sage Weil)

  • multisite:es sync null versioned object 由于 olh 信息而失败(issue#23842, issue#23841, pr#25578, Qu Tianshan, Shang Ding)

  • os/bluestore:修复访问已销毁的 cond 导致死锁或未定义(issue#37733, pr#26260, linbing)

  • os/bluestore:KernelDevice::read() 现在进行 EIO 映射(issue#36455, pr#25854, Radoslaw Zarzynski)

  • os/bluestore:rename 不会为旧名称的替换 onode 提供旧引用(issue#36541, pr#25313, Sage Weil)

  • osd:添加对 osd_delete_sleep 配置值的支持(issue#36474, pr#25507, Jianpeng Ma, David Zafman)

  • osd-backfill-stats.sh 在 rados/standalone/osd.yaml 中失败(issue#37393, issue#35982, pr#26329, Sage Weil, David Zafman)

  • osd:回填最近的 upmap 修复(issue#37940, issue#37881, pr#26128, huangjun, xie xingguo)

  • osdc/Objecter: _calc_target 中更新 op_target_t::paused (issue#37398, pr#25718, Song Shun, runsisi)

  • osd: osd_memory_target 选项不匹配时断言失败 (issue#37507, pr#25605, xie xingguo)

  • osd: 13.2.1 中的 force-backfill 设置了 forced_recovery 而不是 forced_backfill (issue#27985, pr#26324, xie xingguo)

  • osd/mon: 修复 pg log 硬限制的升级 (issue#36686, pr#26206, Neha Ojha)

  • osd/OSDMap: 如果目标 osd 不可用,则取消映射 (issue#37501, pr#25699, ningtao, xie xingguo)

  • osd/OSD: 复用具有现有超级块的磁盘时,OSD::mkfs 断言失败 (issue#37404, pr#25385, Igor Fedotov)

  • osd/PG.cc: 无论 last_complete 如何,都计算缺失的 set (issue#37919, pr#26239, Neha Ojha)

  • osd/PrimaryLogPG: 修复同步读取的 extent 长度错误 (issue#37680, pr#25708, Xiaofei Cui)

  • osd: 优先用户指定的 scrub (issue#37269, pr#25513, David Zafman)

  • os/filestore: fsync(2) 或 fdatasync(2) 失败时 ceph_abort() (issue#38258, pr#26438, Sage Weil)

  • pybind/mgr: 删除不必要的 iterkeys 使用,以兼容 py-3 (issue#37581, pr#25759, Mykola Golub)

  • pybind/mgr/status: 修复 py3 环境中的 ceph fs status (issue#37573, pr#25694, Jan Fajerski)

  • qa: pjd 测试在某些配置下似乎需要超过 3 小时的超时 (issue#36594, pr#25557, Patrick Donnelly)

  • qa/rados/upgrade: 使 thrashing 与升级套件保持一致,不要导入/导出 pg (issue#37665, pr#25856, Sage Weil)

  • qa/tasks/radosbench: 默认使用 64k 写入 (issue#37797, pr#26354, Sage Weil)

  • qa: test_damage 需要静默 MDS_READ_ONLY (issue#37944, pr#26072, Patrick Donnelly)

  • qa: test_damage 对同一对象重复执行 truncate 测试 (issue#37836, issue#37837, pr#26047, Patrick Donnelly)

  • qa: teuthology 在 fuse mount 的诊断命令上可能会挂起 (issue#36390, pr#25515, Patrick Donnelly)

  • qa: whitelist cap revoke warning (issue#25188, pr#26496, Patrick Donnelly)

  • qa/workunits/rados/test_health_warnings: 防止 osd 离线 (issue#37776, pr#25850, Sage Weil)

  • qa: msgr 失败的错误设置 (issue#36676, pr#25517, Patrick Donnelly)

  • rbd: 修复 trash move 的延迟时间计算 (issue#37861, pr#25954, Mykola Golub)

  • rgw: v4 认证的调试日志不会对加密密钥进行净化 (issue#37847, pr#26003, Casey Bodley)

  • rgw: 在 ARN 的资源部分不要特殊处理冒号 (issue#23817, pr#25386, Adam C. Emerson)

  • rgw: 在 Fedora 28 上从默认配置启动失败 (issue#24228, pr#26129, Matt Benjamin)

  • rgw: feature -- log successful bucket resharding events (issue#37647, pr#25740, J. Eric Ivancich)

  • rgw_file: 自 librgw 初始化以来,用户信息从未同步过 (issue#37527, pr#25485, Tao Chen)

  • rgw: 修复 radosgw-admin 和 REST Admin API 中的 max-size (issue#37517, pr#25449, Nick Erdmann)

  • rgw: 修复版本存储桶统计信息 (issue#21429, pr#25643, Shasha Lu)

  • rgw: 处理带有元数据的 S3 版本 2 预签名 URL (issue#23470, pr#25899, Matt Benjamin)

  • rgw: 未移除 zonegroup 而删除 master zone 会破坏 rgw rados 初始化 (issue#37328, pr#25511, Abhishek Lekshmanan)

  • rgw: multisite: sync 在重试删除失败(返回 ERR_PRECONDITION_FAILED)时卡住 (issue#37448, pr#25505, Casey Bodley)

  • rgw: 即使设置了 s3:DeleteObject 策略,对象仍可被删除 (issue#37403, pr#26309, Enming.Zhang)

  • rgw: “radosgw-admin bucket rm … --purge-objects” 可能挂起 (issue#38134, pr#26266, J. Eric Ivancich)

  • rgw: radosgw-admin: 翻译 reshard 状态码(微小改动) (issue#36486, pr#25198, Matt Benjamin)

  • rgw: rgwgc: 在某些特殊情况下处理 coredump (issue#23199, pr#25624, zhaokun)

  • rpm: 使用加固的 LDFLAGS (issue#36316, pr#25171, Boris Ranto)

v13.2.4 Mimic

这是 Mimic v13.2.x 长期稳定发布系列的第四个错误修复版本。此版本包含两个安全修复程序,这些修复程序在测试后却意外地从 v13.2.3 的最终版本中排除。

变更日志

  • CVE-2018-16846: rgw: 限制 max-keys/max-uploads/max-parts 的边界 (issue#35994)

  • CVE-2018-14662: mon: 限制允许访问配置存储的 caps

v13.2.3 Mimic

这是 Mimic v13.2.x 长期稳定发布系列的第三个错误修复版本。此版本包含了 Ceph 所有组件的许多修复。我们建议所有用户进行升级。

  • mon 的默认内存利用率有所提高。Rocksdb 现在默认使用 512MB RAM,这对于中小型集群应该足够了;大型集群应适当调高。此外,mon_osd_cache_size 已从 10 个 OSDMap 增加到 500 个,这将为大型集群额外增加 500MB 到 1GB 的 RAM,而对于小型集群则少得多。

  • Ceph v13.2.2 包含了一个错误的 backport,可能导致 mds 在从旧版本升级 Ceph 集群时进入“damaged”状态。此 bug 在 v13.2.3 中已修复。如果您已运行 v13.2.2,升级到 v13.2.3 不需要特殊操作。

  • 不再需要 bluestore_cache_* 选项。它们已被 osd_memory_target 取代,默认值为 4GB。BlueStore 会尝试扩展和收缩其缓存以保持在此限制内。升级的用户应注意,此默认值高于之前的 bluestore_cache_size 1GB,因此默认情况下使用 BlueStore 的 OSD 会使用更多内存。有关更多详细信息,请参阅 BlueStore 文档

  • 此版本包含一个升级 bug,http://tracker.ceph.com/issues/36686,由于该 bug,在 recovery/backfill 期间升级可能导致 OSD 失败。可以通过以下任一方法来规避此 bug:在升级后重启所有 OSD,或者在所有 PG 都处于“active+clean”状态时进行升级。如果您已成功升级到 13.2.2,此问题不应影响您。未来,我们将致力于为该功能提供干净的升级路径。

变更日志

  • build/ops: 在 Fedora 29 上无法编译 Ceph,因为它无法识别 python*3*-tox 作为安装的 Tox (issue#18163, issue#37301, issue#37422, pr#25294, Nathan Cutler, Brad Hubbard)

  • build/ops: debian: 修复 ceph-common 与旧 radosgw 包的关系 (pr#25115, Matthew Vernon)

  • ceph-bluestore-tool: 修复特定密钥的 set label 功能 (pr#24352, Igor Fedotov)

  • ceph fs add_data_pool 错误地应用了 pool application metadata (issue#36203, issue#36028, pr#24470, John Spray)

  • cephfs: client: 通过 asok 状态命令明确显示 blacklisted 状态 (issue#36457, issue#36352, pr#24993, Jonathan Brielmaier, Zhi Zhang)

  • cephfs: client: 请求下一个 osdmap 用于 blacklisted client (issue#36668, issue#36690, pr#24987, Zhi Zhang)

  • cephfs-journal-tool: 使用了错误的布局信息 (issue#24933, issue#24644, pr#24583, Gu Zhongyan)

  • cephfs: 某些工具命令仅在 rank 0 上静默操作,即使存在多个 rank (issue#36218, pr#25036, Venky Shankar)

  • ceph-fuse: 添加到 selinux profile (issue#36103, issue#36197, pr#24439, Patrick Donnelly)

  • ceph-volume: activate 选项 --auto-detect-objectstore 尊重 --no-systemd (issue#36249, pr#24357, Alfredo Deza)

  • ceph-volume 在 inventory listing 中添加 device_id (pr#25349, Jan Fajerski)

  • ceph-volume: 添加 inventory 命令 (issue#24972, pr#25013, Jan Fajerski)

  • ceph-volume 关于 ceph-volume 的额外工作,以添加一些 choose_disk 的功能 (issue#36446, pr#24782, Erwan Velu)

  • ceph-volume 从 ceph-ansible 添加新的 ceph-handlers role (issue#36251, pr#24337, Alfredo Deza)

  • ceph-volume: 为 lvm batch 添加 --prepare 标志 (issue#36363, pr#24760, Andrew Schoen)

  • ceph-volume: 允许指定 --cluster-fsid 而不是从 ceph.conf 读取 (issue#26953, pr#25116, Alfredo Deza)

  • ceph_volume_client: py3 兼容 (issue#26850, issue#17230, pr#24443, Rishabh Dave, Patrick Donnelly)

  • ceph-volume custom cluster names 在 filestore trigger 上失败 (issue#27210, pr#24279, Alfredo Deza)

  • ceph-volume: 不要将 (lvm) stderr/stdout 发送到终端,使用 logfile (issue#36492, pr#24740, Alfredo Deza)

  • ceph-volume 为 simple sub-command 启用 --no-systemd 标志 (issue#36470, pr#25011, Alfredo Deza)

  • ceph-volume: 在 lvm batch --report 中修复 journal 和 filestore 数据大小 (issue#36242, pr#24306, Andrew Schoen)

  • ceph-volume: lsblk 可能找不到 PARTLABEL,必须回退到 blkid (issue#36098, pr#24334, Alfredo Deza)

  • ceph-volume lvm.prepare 更新帮助,以指示需要分区而不是设备 (issue#24795, pr#24449, Alfredo Deza)

  • ceph-volume: 使 lvm batch 幂等 (pr#24588, Andrew Schoen)

  • ceph-volume: 在测试时 patch Device (issue#36768, pr#25066, Alfredo Deza)

  • ceph-volume: 拒绝具有现有 GPT 头部的设备 (issue#27062, pr#25103, Andrew Schoen)

  • ceph-volume: 使用 zap --destroy 时移除 LV (pr#25100, Alfredo Deza)

  • ceph-volume 从帮助菜单中移除版本报告 (issue#36386, pr#24753, Alfredo Deza)

  • ceph-volume: 将 Device 属性 valid 重命名为 available (issue#36701, pr#25133, Jan Fajerski)

  • ceph-volume: 在扫描系统磁盘时跳过不存在的设备 (issue#36247, pr#24381, Alfredo Deza)

  • ceph-volume systemd 导入 main,以便 console_scripts 对可执行文件起作用 (issue#36648, pr#24852, Alfredo Deza)

  • ceph-volume tests 安装 ceph-ansible 的 requirements.txt 依赖项 (issue#36672, pr#24959, Alfredo Deza)

  • ceph-volume tests.systemd 更新 systemd 模块的导入 (issue#36704, pr#24957, Alfredo Deza)

  • ceph-volume: 使用 console_scripts (issue#36601, pr#24838, Mehdi Abaakouk)

  • ceph-volume util.encryption 不要将 stderr 推送到终端 (issue#36246, pr#24826, Alfredo Deza)

  • ceph-volume util.encryption 健壮的 blkid+lsblk lockbox 检测 (pr#24980, Alfredo Deza)

  • client: 修复 Client::link() 中的 use-after-free (issue#35841, issue#24557, pr#24187, “Yan, Zheng”)

  • client: statfs inode 计数异常 (issue#35940, issue#24849, pr#24377, Rishabh Dave)

  • client: 两个 ceph-fuse 客户端,一个无法列出由另一个创建的文件… (issue#27051, issue#35934, pr#24295, Peng Xie)

  • client: 修改文件内容时更新 ctime (issue#35945, issue#36134, pr#24385, “Yan, Zheng”)

  • common: 从容器/pod 环境获取真实主机名 (pr#23916, Sage Weil)

  • core: _aio_log_start inflight overlap of 0x10000~1000 with [65536~4096] (issue#36754, issue#36625, pr#25062, Jonathan Brielmaier, Yang Honggang)

  • core: OSDMonitor::prune_init() 中 FAILED assert(osdmap_manifest.pinned.empty()) (issue#24612, issue#35071, pr#24918, Joao Eduardo Luis)

  • core: 交互模式 CLI 自 Mimic 版本后不打印输出 (issue#36358, issue#36432, pr#24971, John Spray, Mohamad Gebai)

  • core: mgr 在 scrub 未连接的 osd 时崩溃 (issue#36110, issue#36465, pr#25029, Sage Weil)

  • core: 升级到 mimic 时 mon osdmap 缓存太小 (issue#36505, pr#25019, Sage Weil)

  • core: monstore tool rebuild 不生成 creating_pgs (issue#36306, issue#36433, pr#25016, Sage Weil)

  • core: Objecter: 如果收到重定向回复,则添加 ignore cache 标志 (issue#36658, pr#25075, Iain Buclaw, Jonathan Brielmaier)

  • core: objecter 无法在与 con reset 竞争时重新发送 split-dropped op (issue#22544, issue#35843, pr#24970, Sage Weil)

  • core: os/bluestore: 缓存自动调优和内存限制 (issue#37340, pr#25283, Josh Durgin, Mark Nelson)

  • core: 当集群处于 full 状态时,rados rm --force-full 被阻塞 (issue#36435, pr#25017, Yang Honggang)

  • crush/CrushWrapper: 修复 crush tree json dumper (issue#36150, pr#24481, Oshyn Song)

  • debian/control: 为 ceph-fuse 要求 fuse (issue#21057, pr#24037, Thomas Serlin)

  • doc: 添加 ceph-volume inventory 部分 (pr#25130, Jan Fajerski)

  • doc: 修复 cephfs/fuse 中的 fstab 链接错误 (issue#36286, issue#36313, pr#24441, Jos Collin)

  • doc: 将命令模板放入字面量块 (pr#25000, Alexey Stupnikov)

  • doc: 从 ceph(8) 中移除已弃用的 ‘scrubq’ (issue#35813, issue#35855, pr#24210, Ruben Kerkhof)

  • docs: backport edit on github changes (pr#25362, Neha Ojha, Noah Watkins)

  • doc: cephfs/fuse/ 中的拼写错误 (issue#36180, issue#36308, pr#24420, Karun Josy)

  • ec: src/common/interval_map.h: 161: FAILED assert(len > 0) (issue#21931, issue#22330, pr#24581, Neha Ojha)

  • fsck: cid 与 oid 匹配不正确 (issue#36146, issue#36551, issue#36099, issue#32731, pr#24480, Kefu Chai, Sage Weil)

  • kernel_untar_build.sh: bison: command not found (issue#36121, pr#24241, Neha Ojha)

  • libcephfs: 暴露 CEPH_SETATTR_MTIME_NOW 和 CEPH_SETATTR_ATIME_NOW (issue#36205, issue#35961, pr#24464, Zhu Shangzhong)

  • librados application 的符号可能与 libceph-common 冲突 (issue#26839, issue#25154, pr#24708, Kefu Chai)

  • librbd: blacklisted client 可能未意识到其已丢失锁 (issue#34534, pr#24401, Jason Dillaman)

  • librbd: 确保在移除 sync point snaps 时获取独占锁… (issue#35714, issue#24898, pr#24137, Mykola Golub)

  • librbd: 修复了在扁平化具有零重叠的克隆时发生的断言 (issue#35957, issue#35702, pr#24356, Jason Dillaman)

  • librbd: journaling 无法将请求发送到远程锁所有者 (issue#26939, issue#35712, pr#24122, Mykola Golub)

  • librbd: object map 被错误地标记为已失效 (issue#24516, issue#36225, pr#24413, Jason Dillaman)

  • librgw: 在 multisite 配置中崩溃 (issue#36302, issue#36415, pr#24908, Casey Bodley)

  • mds: 允许客户端创建 .. 和 . 目录条目 (issue#32104, pr#24384, Venky Shankar)

  • mds: 整理发送到 mgr 的 perf counter 的优先级 (issue#35938, issue#26991, issue#32090, issue#35837, pr#24467, Patrick Donnelly, Venky Shankar)

  • mds: evict cap revoke non-responding clients (pr#24661, Venky Shankar)

  • mimic:mds: 修复由于意外的 journal 长度导致 mds 损坏 (issue#36199, pr#24463, Zhi Zhang)

  • mds: 内部 op 缺少事件时间 'throttled', 'all_read', 'dispatched' (issue#36114, issue#36195, pr#24411, Yanhu Cao)

  • mds: 在关闭 mds 时分批迁移 stray (issue#26926, issue#32092, pr#24435, “Yan, Zheng”)

  • mds: 优化 max export size 的强制执行方式 (issue#25131, pr#23952, “Yan, Zheng”)

  • mds: 仅打印一次 is_laggy 消息 (issue#35250, issue#35719, pr#24161, Patrick Donnelly)

  • mds: rctime 可能会倒退 (issue#35916, issue#36136, pr#24379, “Yan, Zheng”)

  • mds: rctime 在启动时未在系统 inode (root) 上设置 (issue#36221, issue#36461, pr#25042, Patrick Donnelly)

  • mds: 在潜在耗时的地方重置 heartbeat map (issue#26858, pr#23506, Yan, Zheng, “Yan, Zheng”)

  • mds: src/mds/MDLog.cc: 281: FAILED ceph_assert(!capped) during max_mds thrashing (issue#36350, issue#37093, pr#25095, “Yan, Zheng”, Jonathan Brielmaier)

  • mgr/DaemonServer: 修复 Session 泄漏 (pr#24233, Sage Weil)

  • mgr/dashboard: 为 dashboard 添加 http 支持 (issue#36069, pr#24734, Boris Ranto, Wido den Hollander)

  • mgr/dashboard: 添加对 URI encode 的支持 (issue#24621, issue#26856, issue#24907, pr#24488, Tiago Melo)

  • mgr/dashboard: Progress bar 在 TableKeyValueComponent 中不会停止 (issue#35925, pr#24258, Volker Theile)

  • mgr/dashboard: 使用 CdTable 时移除 fieldsets (issue#27851, issue#26999, pr#24478, Tiago Melo)

  • mgr: 在访问请求列表和提交请求时持有锁 (pr#25113, Jerry Lee)

  • mgr: [restful] deep_scrub 不是一个有效的 OSD 命令 (issue#36720, issue#36749, pr#25040, Boris Ranto)

  • mon: mgr 选项解析不正确 (issue#35076, issue#35836, pr#24176, Sage Weil)

  • mon/OSDMonitor: 在 cancel_report 上使 max_failed_since 无效 (issue#35930, issue#35860, pr#24281, xie xingguo)

  • mon: 测试 gid 是否存在于 pending 中用于 prepare_beacon (issue#35848, pr#24272, Patrick Donnelly)

  • msg/async: 在 dispatch 时清理本地缓冲区 (issue#36127, issue#35987, pr#24386, Greg Farnum)

  • msg: 当 msg server 中有足够的 accepter 错误时,ceph_abort() (issue#36219, pr#25045, penglaiyxy@gmail.com)

  • msg: challenging authorizer 消息在 debug_ms=0 时出现 (issue#35251, issue#35717, pr#24113, Patrick Donnelly)

  • multisite: data full sync 不限制并发 bucket sync (issue#26897, issue#36216, pr#24536, Casey Bodley)

  • multisite: data sync error repo processing 在空时不会回退 (issue#35979, issue#26938, pr#24319, Casey Bodley)

  • multisite: incremental data sync 对 RGWReadRemoteDataLogShardInfoCR 进行不必要的调用 (issue#35977, issue#26952, pr#24710, Casey Bodley)

  • multisite: test_bucket_index_log_trim 的间歇性失败 (issue#36201, issue#36034, pr#24400, Casey Bodley)

  • multisite: RGWCloneMetaLogCoroutine 中无效读取 (issue#36208, issue#35851, pr#24414, Casey Bodley)

  • multisite: segfault on shutdown/realm reload (issue#35857, issue#35543, pr#24235, Casey Bodley)

  • os/bluestore: 修复 repairer 中 bloom filter num entry 的错误计算 (issue#25001, pr#24339, Igor Fedotov)

  • os/bluestore: 处理虚假的读取错误 (issue#22464, pr#24647, Paul Emmerich)

  • osd: 在 pg_string_state 中添加 creating (issue#36174, issue#36298, pr#24601, Dan van der Ster)

  • osd: backport 最近的 upmap 修复 (pr#25419, ningtao, xie xingguo)

  • osdc/Objecter: 连接重置时可能出现的竞态条件 (issue#36183, issue#36296, pr#24600, Jason Dillaman)

  • osd: OpTracker::unregister_inflight_op 通过 OSD::get_health_metrics 崩溃 (issue#24889, pr#23026, Radoslaw Zarzynski)

  • osdc: 减少 ObjectCacher 的内存碎片 (issue#36192, issue#36643, pr#24873, “Yan, Zheng”)

  • osd/ECBackend: 不要获取被覆盖的 subchunk-read 的结果代码 (issue#35959, issue#21769, pr#24298, songweibin)

  • OSDMapMapping 不处理 active.size() > pool size (issue#26866, issue#35936, pr#24431, Sage Weil)

  • osd/PG: 避免 choose_acting 选择包含超过 pool size 项的 want (issue#35963, issue#35924, pr#24344, Sage Weil)

  • osd/PrimaryLogPG: 修复潜在的 pg-log 过度修剪 (pr#24309, xie xingguo)

  • osd: 打开 heartbeat 连接时的竞态条件 (issue#36637, issue#36602, pr#25026, Sage Weil)

  • osd: RBD 客户端 IOPS 池统计信息不正确(2 倍高;将 IO hints 包含为 op) (issue#24909, issue#36557, pr#25024, Jason Dillaman)

  • osd: 移除已被 backfill 取代的旧 bft= (issue#36292, issue#36170, pr#24573, David Zafman)

  • qa: 添加构建示例 librados 程序的测试 (issue#36228, issue#15100, pr#24537, Nathan Cutler)

  • qa/ceph-ansible: 指定 stable-3.2 分支 (pr#25191, Brad Hubbard)

  • qa: 延长 SessionMap flush 的超时时间 (issue#36156, pr#24438, Patrick Donnelly)

  • qa: fsstress workunit 在同一主机上不并行执行,不会覆盖文件 (issue#36278, issue#24177, issue#36323, issue#36184, issue#36165, issue#36153, pr#24408, Patrick Donnelly)

  • qa: 延长 workunit 清理的 rm 超时时间 (issue#36501, issue#36365, pr#24684, Patrick Donnelly)

  • qa: 为 rbd_workunit_kernel_untar_build 安装依赖项 (issue#35074, issue#35077, pr#24240, Ilya Dryomov)

  • qa: 从未来版本中移除 knfs site (issue#36075, issue#36102, pr#24269, Yuri Weinstein)

  • qa/suites/rados/thrash-old-clients: 排除 hammer, jewel 的包 (pr#25193, Neha Ojha)

  • qa/suites/rgw/verify/tasks/cls_rgw: test cls_rgw (issue#25024, pr#23197, Casey Bodley, Sage Weil)

  • qa/tasks/qemu: 使用唯一的 clone 目录以避免与 workunit 发生竞态 (issue#36542, issue#36569, pr#24811, Jason Dillaman)

  • qa: test_recovery_pool 在 asok 上尝试错误的节点 (issue#24928, issue#24858, pr#23087, Patrick Donnelly)

  • qa: 在等待状态时容忍失败的 rank (issue#36280, issue#35828, pr#24572, Patrick Donnelly)

  • qa/workunits: 在 fsstress.sh 中将 ‘realpath’ 替换为 ‘readlink -f’ (issue#36409, issue#36430, issue#35538, pr#24622, Ilya Dryomov, Jason Dillaman)

  • RADOS: async_recovery_targets 可能缺少 clone 位置 (issue#35964, issue#35546, pr#24345, xie xingguo)

  • mimic:rbd: 修复管道输入时的错误导入 (issue#35705, issue#34536, pr#24002, songweibin)

  • [rbd-mirror] 在更新 mirror 状态时发生断言失败 (issue#36084, issue#36120, pr#24321, Jason Dillaman)

  • rbd: [rbd-mirror] 在杀死远程集群后强制提升导致卡住状态 (issue#36659, issue#36693, pr#24952, Jonathan Brielmaier, Jason Dillaman)

  • rbd: [rbd-mirror] periodic mirror status timer 可能未能调度 (issue#36500, issue#36555, pr#24916, Jason Dillaman)

  • rbd: rbd-nbd: 在打印用法后不要 ceph_abort() (issue#36660, issue#36713, pr#24988, Shiyang Ruan)

  • rbd: TokenBucketThrottle: 使用 m_blockers.front() 的引用然后更新它 (issue#36529, issue#36475, pr#24915, Dongsheng Yang)

  • Revert “mimic: cephfs-journal-tool: 启用 purge_queue journal 的事件命令” (issue#36346, issue#24604, pr#24485, Xuehan Xu, “Yan, Zheng”)

  • rgw: abort_bucket_multiparts() 忽略个别 NoSuchUpload 错误 (issue#36129, issue#35986, pr#24388, Casey Bodley)

  • rgw-admin: reshard add 会添加一个不存在的 bucket (issue#36449, issue#36756, pr#25087, Jonathan Brielmaier, Abhishek Lekshmanan)

  • rgw: async sync_object 和 remove_object 不访问 coroutine me… (issue#36138, issue#35905, pr#24417, Tianshan Qu)

  • rgw/beast: 绑定端口后删除特权 (issue#36041, pr#24436, Paul Emmerich)

  • rgw: beast frontend 无法解析 ipv6 端点 (issue#36662, issue#36734, pr#25079, Jonathan Brielmaier, Casey Bodley)

  • rgw: cls_user_remove_bucket 不写入修改后的 cls_user_stats (issue#36496, issue#36533, pr#24910, Casey Bodley)

  • rgw: 在启用动态分片时,对于 Openstack 用户,默认配额未在 radosgw 中设置 (issue#24595, issue#36223, pr#24907, Casey Bodley)

  • mimic:rgw: 修复大于 1MiB 的 chunked-encoding 的块 (issue#36125, issue#35990, pr#24363, Robin H. Johnson)

  • rgw: 修复 RGWIndexCompletionManager::stop 上的死锁 (issue#26949, issue#35710, pr#24101, Yao Zongyou)

  • mimic:rgw: 修复关闭时 curl handle 的泄漏 (issue#35715, issue#36213, pr#24518, Casey Bodley)

  • mimic:rgw: 启用 bucket versioning 时,list bucket 无法显示 RGWPostObj 上传的对象 (pr#24571, yuliyang)

  • rgw: 在启用动态分片时,radosgw-admin user stats 不正确 (issue#36535, pr#24911, Casey Bodley)

  • rgw: 提高冗余数据同步错误消息的调试级别 (issue#35830, issue#36140, pr#24418, Casey Bodley)

  • rgw: 将默认 rgw_curl_low_speed_time 提高到 300 秒 (issue#35708, issue#27989, pr#24071, Casey Bodley)

  • rgw: 续订 resharding locks 以防止过期 (issue#36687, issue#27219, issue#34307, pr#24899, Orit Wasserman, J. Eric Ivancich)

  • rgw: resharding 产生无效的 bucket stats 值 (issue#36290, issue#36381, pr#24526, Abhishek Lekshmanan)

  • mimic:rgw: 在删除版本化对象时返回 x-amz-version-id: null (issue#35814, pr#24189, yuliyang)

  • rgw: RGWAsyncGetBucketInstanceInfo 不访问 coroutine 内存 (issue#36211, issue#35812, pr#24516, Casey Bodley)

  • rgw: 设置默认 objecter_inflight_ops = 24576 (issue#36571, issue#25109, pr#24860, Jonathan Brielmaier, Matt Benjamin)

  • rgw: 当 SSL 在代理中终止时,支持服务器端加密 (issue#36645, issue#27221, pr#24931, Jonathan Brielmaier, Casey Bodley)

  • rgw: RGWRadosGetOmapKeysCR::~RGWRadosGetOmapKeysCR 中的 use-after-free (issue#21154, issue#36537, issue#36539, pr#24912, Casey Bodley, Sage Weil)

  • rpm: 使用更新的 gperftools (issue#36508, issue#35969, pr#24260, Brad Hubbard, Kefu Chai)

  • segv in BlueStore::OldExtent::create (issue#36592, issue#36526, pr#24745, Sage Weil)

  • test/librbd: parent 之间不同的 image snapshots 无效 (issue#36117, pr#24244, Jason Dillaman)

  • [test] unittest_librbd 中间歇性 seg faults (issue#36220, issue#36238, pr#24711, Jason Dillaman)

  • test/rbd_mirror: WaitingOnLeaderReleaseLeader 中的竞态条件 (issue#36236, issue#36276, pr#24551, Mykola Golub)

  • tests: ceph-admin-commands.sh workunit 不记录其正在做什么 (issue#37153, issue#37089, pr#25085, Nathan Cutler)

  • tests: librados api aio tests 竞态条件 (issue#24587, issue#36647, pr#25027, Josh Durgin)

  • tests: 使 readable.sh 在未执行任何操作时失败 (pr#25050, Greg Farnum)

  • tests: rbd: 将 OpenStack devstack 测试移至 rocky release (issue#36410, issue#36428, pr#24913, Jason Dillaman)

  • tests: unittest_rbd_mirror: TestMockImageMap.AddInstancePingPongImageTest: Value of: it != peer_ack_ctxs->end() (issue#36683, issue#36689, pr#24946, Mykola Golub, Jonathan Brielmaier)

  • tests: 为 fs asok 操作设置超时 (issue#36335, issue#36503, pr#25332, Patrick Donnelly)

  • tests: /usr/bin/ld: 在 rados mimic 中找不到 -lradospp (issue#37396, pr#25285, Nathan Cutler)

  • test: 使用适用于不同版本的 grep 模式 (issue#35845, issue#35909, pr#24017, David Zafman)

  • tools: ceph-objectstore-tool: 允许目标级别作为第一个位置参数… (issue#35846, issue#35992, pr#24116, David Zafman)

v13.2.2 Mimic

这是 Mimic v13.2.x 长期稳定发布系列的第二个错误修复版本。此版本包含了 Ceph 所有组件的许多修复。我们建议所有用户进行升级。

  • 此版本包含一个升级 bug,http://tracker.ceph.com/issues/36686,由于该 bug,在 recovery/backfill 期间升级可能导致 OSD 失败。可以通过以下任一方法来规避此 bug:在升级后重启所有 OSD,或者在所有 PG 都处于“active+clean”状态时进行升级。

    如果您已成功升级到 13.2.2,此问题不应影响您。未来,我们将致力于为该功能提供干净的升级路径。

变更日志

  • build/ops: 编译和链接示例 librados 程序不再需要 Boost system 库 (issue#25073, issue#25054, pr#23201, Nathan Cutler)

  • build/ops: debian/rules: 修复遗留下来的 ceph-mgr .pyc 文件 (issue#27059, issue#26883, pr#23831, Dan Mick)

  • build/ops: mimic 13.2.0 在 Fedora rawhide 中无法构建 (issue#24449, issue#24905, pr#23885, Kefu Chai)

  • ceph-disk: 兼容性修复 python 3 (pr#24008, Tim Serong)

  • ceph-disk: 返回列表而不是迭代器 (pr#23392, Alexander Graul)

  • cephfs-journal-tool: 启用 purge_queue journal 的事件命令 (issue#24604, issue#26989, pr#23818, Xuehan Xu)

  • ceph tell osd.x bench 将结果 JSON 写入 stderr 而不是 stdout (issue#35942, issue#24022, pr#24041, Коренберг Маркr, John Spray, Kefu Chai)

  • ceph-volume 添加 __release__ 字符串,以帮助进行版本条件调用 (issue#25169, pr#23333, Alfredo Deza)

  • ceph-volume: 添加 ceph-volume lvm list /dev/sda 的测试 (issue#24784, issue#24957, pr#23349, Andrew Schoen)

  • ceph-volume: OSD ID 必须存在并被销毁才能重用 (pr#23101, Andrew Schoen, Ron Allred)

  • ceph-volume: batch: 允许在 CLI 上进行 journal+block.db 尺寸调整 (issue#36088, pr#24208, Alfredo Deza)

  • ceph-volume batch: 允许 --osds-per-device,并默认设置为 1 (issue#35913, pr#24079, Alfredo Deza)

  • ceph-volume batch 为 bluestore 预留 lvs (issue#34535, pr#24074, Alfredo Deza)

  • ceph-volume batch 命令 (pr#23777, Alfredo Deza)

  • ceph-volume: 针对混合类型设备的 batch 测试 (issue#35535, issue#27210, pr#23966, Alfredo Deza)

  • ceph_volume_client: 允许原子更新 RADOS 对象 (issue#24173, issue#24863, pr#23878, Rishabh Dave)

  • CephVolumeClient: 在将数据池添加到 MDSMap 后延迟 (issue#25206, pr#23725, Patrick Donnelly)

  • ceph-volume: 在 luminous 中不要使用 stdin (issue#25173, pr#23368, Alfredo Deza)

  • ceph-volume: 更早地检测 --journal 和 --filestore 标志要求 (issue#24794, pr#24205, Alfredo Deza)

  • ceph-volume: 在 lvm 激活时启用 ceph-osd (issue#24152, pr#23393, Dan van der Ster, Alfredo Deza)

  • ceph-volume: 扩展 filestore 上多个设备的 auto engine (pr#23807, Andrew Schoen, Alfredo Deza)

  • ceph-volume: 扩展 filestore 上单个设备的 auto engine (pr#23786, Alfredo Deza)

  • ceph-volume: 修复 zap 对 LVs 无效的问题 (issue#35970, pr#24081, Alfredo Deza)

  • ceph-volume lvm.activate: 基于 prime-osd-dir 的条件 mon-config (issue#25216, pr#23400, Alfredo Deza)

  • ceph-volume: lvm batch 允许 bluestore 的额外标志(如 dmcrypt) (pr#23780, Alfredo Deza)

  • ceph-volume: lvm batch 文档和 man page 更新 (pr#23756, Alfredo Deza)

  • ceph-volume lvm.batch 移除不存在的 sys_api 属性 (issue#34310, pr#23810, Alfredo Deza)

  • ceph-volume lvm.listing: 仅包含存在的设备 (issue#24952, pr#23149, Alfredo Deza)

  • ceph-volume: process.call with stdin 在 Python 3 中的修复 (issue#24993, pr#23239, Alfredo Deza)

  • ceph-volume: PVolumes.get() 在使用名称或 uuid 时应返回一个 PV (issue#24784, pr#23327, Andrew Schoen)

  • ceph-volume: 拒绝 zap mapper 设备 (issue#24504, pr#22965, Andrew Schoen)

  • ceph-volume: 恢复 SELinux 上下文 (pr#23295, Boris Ranto)

  • ceph-volume: 在不等待 ceph 仓库的情况下运行测试 (pr#23806, Andrew Schoen)

  • ceph-volume tests/functional: 在 lvm 测试中添加 mgrs daemons (pr#23784, Alfredo Deza)

  • ceph-volume: tests.functional 从 ansible 继承 SSH_ARGS (pr#23812, Alfredo Deza)

  • ceph-volume: 更新 batch 文档以解释 filestore 策略 (issue#34309, pr#23826, Alfredo Deza)

  • ceph-volume: 为 simple tests 更新 ansible 版本至 2.6.x (pr#23269, Andrew Schoen)

  • client: 在 asok 状态输出中添加 inst (issue#24724, issue#24931, pr#23109, Patrick Donnelly)

  • client: 在打印调试输出前检查未挂载状态 (issue#25213, issue#26914, pr#23603, Jeff Layton)

  • client: 执行名称查找的请求可能会发送到错误的 mds (issue#26984, issue#26860, pr#23700, “Yan, Zheng”)

  • cls/rgw: 将 rgw_usage_log_entry 类型添加到 ceph-dencoder (issue#35070, pr#23857, Vaibhav Bhembre)

  • common: 在等待前检查完成条件 (issue#25007, issue#25222, pr#23435, Patrick Donnelly)

  • core: 当对象被缓存时,deep scrub 无法找到 bitrot (issue#35068, pr#23873, Adam C. Emerson, Xiaoguang Wang)

  • core: Fix 25085 and 24949 (pr#23272, David Zafman)

  • core: force-create-pg 已损坏 (issue#34532, issue#26940, pr#23872, Sage Weil)

  • core: 在 recovery/backfill 期间限制 pg log 长度,以避免内存不足 (issue#21416, pr#23403, Neha Ojha)

  • doc: bluestore 迁移中的 bash 示例错误 (issue#35078, pr#23854, Alfredo Deza)

  • doc: 修复损坏的 url (issue#25185, issue#26916, pr#23607, Jos Collin)

  • doc: https://docs.ceph.net.cn/docs/mimic/rados/operations/pg-states/ (issue#25055, pr#23163, Jan Fajerski, Nathan Cutler)

  • docs: radosgw: ldap-auth: 修复选项名称 ‘rgw_ldap_searchfilter’ (issue#32129, pr#23956, Konstantin Shalygin)

  • filestore: 在 filestore pg dir split log 消息中添加 pgid (issue#25225, pr#23453, Vikhyat Umrao)

  • kv: MergeOperator name() 返回 string,而调用者在临时对象上调用 c_str() (issue#26907, issue#26875, pr#23865, Sage Weil)

  • libradosstriper 条件编译 (issue#27213, pr#23869, Kefu Chai, Jesse Williamson)

  • librbd: deep-copy 不应写入不存在的对象 (issue#25000, issue#25083, pr#23358, Jason Dillaman)

  • librbd: 验证 self-managed snapshot 支持的数据池 (issue#24945, pr#23560, Mykola Golub)

  • 静态链接 libstdc++ (issue#26880, issue#25209, pr#23490, Kefu Chai)

  • mds: 避免在 hot path 中使用 g_conf->get_val<…>(…) (issue#24820, pr#23407, “Yan, Zheng”)

  • mds: 通过检查自身 CPU 使用率来计算 load (issue#26834, issue#26888, pr#23503, “Yan, Zheng”)

  • mds: 在 dump in flight ops 时崩溃 (issue#26894, issue#26982, pr#23672, “Yan, Zheng”)

  • mds: respawn 时 dump 最近事件 (issue#25040, pr#23275, Patrick Donnelly)

  • mds: 由于 subtree 迁移,解释延迟的 client_request (issue#26988, issue#24840, pr#23792, Yan, Zheng, “Yan, Zheng”)

  • mds: 处理不连续的 mdsmap (issue#24856, pr#23180, “Yan, Zheng”)

  • mds: metadata IO 慢的健康警告 (issue#24879, issue#25045, pr#23343, “Yan, Zheng”)

  • mds: 提高 dropped client cap msg 的调试级别 (issue#25042, pr#23309, Patrick Donnelly)

  • mds: 引入 cephfs 自己的 feature bits (issue#14456, issue#24914, pr#23105, Yan, Zheng, “Yan, Zheng”, Patrick Donnelly)

  • mds: 将 beacons 标记为高优先级 (issue#26905, issue#26899, pr#23565, Patrick Donnelly)

  • mds: MDBalancer::try_rebalance() 可能过早停止 (issue#32086, issue#26973, pr#23883, “Yan, Zheng”)

  • MDSMonitor: 在更高的调试级别记录被忽略的 beacons/map 更改 (issue#26898, issue#26929, pr#23704, Patrick Donnelly)

  • mds,osd,mon,msg: 使用 intrusive_ptr 来持有 Connection::priv (issue#20924, pr#22339, “Yan, Zheng”, Kefu Chai)

  • mds: 在低调试级别打印已处理的 mdsmap (issue#25035, pr#23196, Patrick Donnelly)

  • mds: scrub 未必总是返回 JSON 结果 (issue#23958, issue#25037, pr#23225, Venky Shankar)

  • mds: 使用快速分发处理 MDSBeacon (issue#23519, issue#26923, pr#23703, “Yan, Zheng”)

  • mgr balancer 未保存优化计划,只保存最新的 (issue#32082, issue#27000, pr#23782, Stefan Priebe)

  • mgr:“balancer execute”只要求读取权限 (issue#26912, issue#25345, pr#23583, John Spray)

  • mgrc:通过 mgr_stats_threshold 禁用统计信息 (issue#25197, issue#26837, pr#23463, John Spray)

  • mgr/dashboard:以人类可读的格式显示 RGW 用户/存储桶配额最大大小 (issue#35706, pr#24047, Volker Theile)

  • mgr/dashboard:在 DeletionModalComponent 中转义正则表达式模式 (issue#24902, issue#26920, pr#23669, Tiago Melo)

  • mgr/dashboard:防止 RGW API 用户删除 (pr#22670, Volker Theile)

  • mgr/dashboard:RestClient 无法处理 ProtocolError 异常 (pr#23875, Volker Theile)

  • mgr/dashboard:如果定义了 URL 前缀,RGW 将无法工作 (pr#23203, Volker Theile)

  • mgr/dashboard:URL 前缀无法工作 (issue#25120, pr#23874, Ricardo Marques)

  • mgr:如果没有返回元数据,则忽略守护进程 (pr#23356, Wido den Hollander)

  • mgr/MgrClient:保护 daemon_health_metrics (issue#23352, pr#23458, Kjetil Joergensen, Brad Hubbard)

  • mgr:同步 prometheus 模块 (pr#23215, Boris Ranto)

  • mon:添加 purge-new (pr#23259, Sage Weil)

  • mon:对于每个 OSD 具有 >=100 个 PG 的新池,自动设置 expected_num_objects (issue#24687, issue#25144, pr#23860, Douglas Fuller)

  • multisite:test_bucket_sync_disable_enable 中出现间歇性故障 (issue#26895, issue#26980, pr#23856, Casey Bodley)

  • multisite:对象元数据操作被同步跳过 (issue#24367, issue#24986, pr#23172, Casey Bodley)

  • be_select_auth_object() 中发现的对象错误未被记录相同 (issue#32108, issue#25108, pr#23870, David Zafman)

  • os/bluestore:bluestore_buffer_hit_bytes perf counter 未重置 (pr#23772, Igor Fedotov)

  • os/bluestore/BlueStore.cc: 1025:FAILED assert(buffer_bytes >= b->length) from ObjectStore/StoreTest.ColSplitTest2/2 (issue#24439, issue#26944, pr#23748, Sage Weil)

  • os/bluestore:修复 StupidAllocator::get_fragmentation 中的断言 (pr#23676, Igor Fedotov)

  • osd:do_sparse_read(): 尽早验证校验和,以便尝试修复 (issue#24875, pr#23378, David Zafman)

  • osd,mon:将 mon_max_pg_per_osd 增加到 300 (issue#25176, pr#23861, Neha Ojha)

  • osd/OSDMap:CRUSH_TUNABLES5 在 jewel 中添加,在 kraken 中未添加 (issue#25057, issue#25101, pr#23226, Sage Weil)

  • osd/PrimaryLogPG:避免解引用无效的 complete_to (pr#23951, xie xingguo)

  • osd:来自 balancer 的 OSDMap::calc_pg_upmaps 中的 segv (issue#22056, issue#26933, pr#23888, Brad Hubbard)

  • qa:cfuse_workunit_kernel_untar_build 在 Ubuntu 18.04 上失败 (issue#26956, issue#26967, issue#24679, pr#23769, Patrick Donnelly)

  • qa:修复 ceph-disk 套件并为 ceph-detect-init 添加覆盖 (pr#23337, Nathan Cutler)

  • qa/rgw:修补 keystone requirements.txt (issue#26946, issue#23659, pr#23771, Casey Bodley)

  • qa/suites/rados:将 valgrind 测试移动到 singleton-flat (issue#24992, pr#23744, Sage Weil)

  • qa/tasks:s3a 修复镜像 (pr#24038, Vasu Kulkarni)

  • qa/tests:将 OBJECT_MISPLACED 添加到白名单 (pr#23301, Yuri Weinstein)

  • qa/tests:将 v13.2.1 添加到混合版本中 (pr#23218, Yuri Weinstein)

  • qa/tests:将 ansible 版本更新至 2.5 (pr#24091, Yuri Weinstein)

  • rados:并非所有异常都接受关键字参数 (issue#25178, issue#24033, pr#23335, Rishabh Dave)

  • rados python 绑定使用堆栈中的 prval (issue#25204, issue#25175, pr#23863, Sage Weil)

  • rbd:改进的 trash 快照命名空间处理 (issue#25121, issue#23398, issue#25114, pr#23559, Mykola Golub, Jason Dillaman)

  • rgw:添加 curl_low_speed_limit 和 curl_low_speed_time 配置以避免 (issue#25021, pr#23173, Mark Kogan, Zhang Shaowen)

  • rgw:将默认 rgw_thread_pool_size 更改为 512 (issue#25214, issue#25088, issue#25218, issue#24544, pr#23383, Douglas Fuller, Casey Bodley)

  • rgw:civetweb 在包含控制字符的 URL 上失败 (issue#26849, issue#24158, pr#23855, Abhishek Lekshmanan)

  • rgw:civetweb:在等待套接字时使用 poll 而不是 select (issue#35954, pr#24058, Abhishek Lekshmanan)

  • rgw:在 RGWPutObj::execute 中不忽略 EEXIST (issue#25078, issue#22790, pr#23206, Matt Benjamin)

  • rgw:从 crash mimic backport 恢复索引失败 (issue#24640, issue#24629, issue#24280, pr#23118, Tianshan Qu)

  • rgw_file:深度 stat 处理 (issue#26842, issue#24915, pr#23498, Matt Benjamin)

  • rgw:修复 gc 的日志级别 gc_iterate_entries (issue#23801, issue#26921, pr#23686, iliul)

  • rgw:限制一个存储桶上的生命周期规则数量 (issue#26845, issue#24572, pr#23521, Zhang Shaowen)

  • rgw:radosgw-admin:“sync error trim”循环直到完成 (issue#24873, issue#24984, pr#23140, Casey Bodley)

  • rgw:对象过期生成的删除标记应具有所有者 (issue#24568, issue#26847, pr#23541, Zhang Shaowen)

  • rpm:ceph-mgr 包依赖应从 py-bcrypt 更改为 python2-bcrypt (issue#27212, pr#23868, Konstantin Sakhinov)

  • rpm:静默 osd block chown (issue#25152, pr#23324, Dan van der Ster)

  • run-rbd-unit-tests.sh 测试在 jenkin 的 make check 运行中无法完成 (issue#27060, issue#24910, pr#23858, Mykola Golub)

  • scrub livelock (issue#26931, issue#26890, pr#23722, Sage Weil)

  • spdk:使用 -march=core2 进行编译,而不是 -march=native (issue#25032, pr#23175, Nathan Cutler)

  • tests:cluster [WRN] powercycle 中有 25 个慢请求 (issue#25119, pr#23886, Neha Ojha)

  • test:使用 pids 而不是错误的 jobspecs (issue#32079, issue#27056, pr#23893, David Zafman)

  • tools/ceph-detect-init:支持 RHEL 作为平台 (issue#18163, pr#23303, Nathan Cutler)

  • tools:ceph-detect-init:支持 SLED (issue#18163, pr#23111, Nathan Cutler)

  • tools:cephfs-data-scan:打印最大使用的 ino (issue#26978, issue#26925, pr#23880, “Yan, Zheng”)

v13.2.1 Mimic

这是 Mimic v13.2.x 长期稳定发布系列的第一个错误修复版本。此版本包含对 Ceph 所有组件的大量修复,包括一些安全修复。我们建议所有用户升级。

Notable Changes

  • CVE 2018-1128: auth: cephx 授权程序容易受到重放攻击 (issue#24836, Sage Weil)

  • CVE 2018-1129: auth: cephx 签名检查较弱 (issue#24837, Sage Weil)

  • CVE 2018-10861: mon: 针对池操作的 auth 检查不正确 (issue#24838, Jason Dillaman)

Changelog

v13.2.0 Mimic

这是 Mimic 的第一个稳定版本,是下一个长期稳定版本系列。

从 Luminous 开始的主要变更

  • 仪表盘:

    • (只读)Ceph manager dashboard(在 Ceph Luminous 中引入)已被一个新的实现取代,该实现受到 openATTIC Ceph 管理工具的启发并从中派生,提供了即插即用的替代方案,并提供了一系列额外的管理功能

  • RADOS:

    • 配置选项现在可以由监视器集中存储和管理。

    • 监视器守护进程在进行恢复或重新平衡操作时使用的磁盘空间显著减少。

    • 异步恢复功能在 OSD 最近发生故障后恢复时,可以减少请求的尾部延迟。

    • OSD 通过与冲突请求的预占 scrub 来减少尾部延迟。

  • RGW:

    • RGW 现在可以将一个区域(或一部分存储桶)复制到一个外部云存储服务,如 S3。

    • RGW 现在支持带版本化存储桶的 S3 多因素身份验证 API。

    • Beast 前端不再是实验性的,被认为是稳定且可用的。

  • CephFS:

    • 当与多个 MDS 守护进程结合使用时,快照现在是稳定的。

  • RBD:

    • 镜像克隆不再需要显式的 *protect* 和 *unprotect* 步骤。

    • 镜像可以深度复制(包括与父镜像和相关快照的任何克隆链接)到新的池或具有不同数据布局。

  • 其他:

    • 由于 Stretch 中缺少 GCC 8,我们已为 Mimic 版本删除了 Debian 构建。我们预计 Debian 构建将在 2019 年初 Buster 版本发布时恢复,并希望在 Buster 可用后构建最终的 Luminous 版本(以及可能的后续 Mimic 点版本)。

从 Luminous 升级

注意事项

  • 我们建议在升级过程中避免创建任何 RADOS 池。

  • 您可以使用 ceph versions 命令监控每个阶段的升级进度,该命令将告诉您每种类型的守护程序正在运行的 ceph 版本。

说明

  1. 如果您的集群最初是使用 Luminous 之前的版本安装的,请确保它在运行 Luminous 时至少完成了一次所有 PG 的完整 scrub。否则,您的监视器守护进程将在启动时拒绝加入仲裁,使其无法运行。

    如果您不确定您的 Luminous 集群是否已完成所有 PG 的完整 scrub,您可以通过运行以下命令检查集群状态:

    # ceph osd dump | grep ^flags
    

    为了能够继续升级到 Mimic,您的 OSD map 必须包含 recovery_deletespurged_snapdirs 标志。

    如果您的 OSD map 不包含这两个标志,您可以简单地等待大约 24-48 小时,在标准的集群配置中,这应该足以让所有放置组至少 scrub 一次,然后重复上述过程进行重新检查。

    但是,如果您刚刚完成了到 Luminous 的升级,并希望尽快升级到 Mimic,您可以通过一个简单的 shell 命令强制 scrub 所有放置组,例如:

    # ceph pg dump pgs_brief | cut -d " " -f 1 | xargs -n1 ceph pg scrub
    

    您应该考虑到,这种强制 scrub 可能会对 Ceph 客户端的性能产生负面影响。

  2. 确保您的集群稳定且健康(没有 down 或正在恢复的 OSD)。(可选,但推荐。)

  3. 在升级期间设置 noout 标志。(可选,但推荐。)

    # ceph osd set noout
    
  4. 通过安装新软件包并重新启动监视器守护进程来升级监视器。

    # systemctl restart ceph-mon.target
    

    一旦所有监视器都启动,通过查看 mon map 中的 mimic 功能字符串来验证监视器升级是否完成。例如:

    # ceph mon feature ls
    

    应在持久功能下包括 mimic

    on current monmap (epoch NNN)
       persistent: [kraken,luminous,mimic]
       required: [kraken,luminous,mimic]
    
  5. 通过安装新软件包并使用以下命令重新启动来升级 ceph-mgr 守护进程

    # systemctl restart ceph-mgr.target
    

    通过检查 ceph -s 来验证 ceph-mgr 守护程序是否正在运行

    # ceph -s
    
    ...
      services:
       mon: 3 daemons, quorum foo,bar,baz
       mgr: foo(active), standbys: bar, baz
    ...
    
  6. 通过安装新软件包并重新启动所有主机上的 ceph-osd 守护进程来升级所有 OSD

    # systemctl restart ceph-osd.target
    

    您可以使用新的 ceph versionsceph osd versions 命令来监视 OSD 升级的进度

    # ceph osd versions
    {
       "ceph version 12.2.5 (...) luminous (stable)": 12,
       "ceph version 13.2.0 (...) mimic (stable)": 22,
    }
    
  7. 升级所有 CephFS MDS 守护程序。对于每个 CephFS 文件系统:

    1. 将排名数减少到 1。(如果您计划稍后恢复,请先记下原始 MDS 守护程序数。)

      # ceph status
      # ceph fs set <fs_name> max_mds 1
      
    2. 通过定期检查状态等待集群停用任何非零排名:

      # ceph status
      
    3. 在适当的主机上使用以下命令使所有 standby MDS 守护程序离线:

      # systemctl stop ceph-mds@<daemon_name>
      
    4. 确认只有一个 MDS 在线并且是您的 FS 的排名 0:

      # ceph status
      
    5. 通过安装新软件包并重新启动守护程序来升级最后剩下的 MDS 守护程序:

      # systemctl restart ceph-mds.target
      
    6. 重新启动所有已离线的 standby MDS 守护程序:

      # systemctl start ceph-mds.target
      
    7. 恢复卷的 max_mds 原始值:

      # ceph fs set <fs_name> max_mds <original_max_mds>
      
  8. 通过升级包并重新启动所有主机上的守护程序来升级所有 radosgw 守护程序

    # systemctl restart radosgw.target
    
  9. 通过禁止 Mimic 之前的 OSD 并启用所有新的 Mimic-only 功能来完成升级

    # ceph osd require-osd-release mimic
    
  10. 如果您在开始时设置了 noout,请务必使用以下命令将其清除:

    # ceph osd unset noout
    
  11. 使用 ceph health 验证集群是否健康。

从 Luminous 之前的版本(如 Jewel)升级

必须先升级到 Luminous (12.2.z),然后才能尝试升级到 Mimic。此外,您的集群在运行 Luminous 时必须至少完成所有 PG 的一次 scrub,并在 OSD map 中设置 recovery_deletespurged_snapdirs 标志。

Upgrade compatibility notes

这些更改发生在 Luminous 和 Mimic 版本之间。

  • core:

    • 当 Luminous 监视器与 Mimic OSD 一起运行时,pg force-recovery 命令不适用于纠删码 PG。请使用推荐的监视器先于 OSD 的升级顺序来避免此问题。

    • 已删除示例 crush-location-hook 脚本。其输出等同于内置的默认行为,因此已用 CRUSH 文档中的示例替换。

    • rados 工具的 -f 选项现在表示 --format 而不是 --force,以与 ceph 工具保持一致。

    • 通过 admin socket 输出的 config diff 的格式已更改。它现在反映了每个配置选项的来源(例如,默认值、配置文件、命令行)以及最终(活动)值。

    • 标记为 deldeleteremove 等的命令现在应标准化为 rm。已支持 rm 替代项的命令仍然向后兼容。此更改也适用于 radosgw-admin 工具。

    • 监视器现在将修剪磁盘上的完整 map,如果 map 的数量超过特定数字(mon_osdmap_full_prune_min,默认值:10000),从而防止监视器数据存储无界增长。此功能默认启用,可以通过将 mon_osdmap_full_prune_enabled 设置为 false 来禁用。

    • rados list-inconsistent-obj 格式更改

      • 已改进各种错误字符串。例如,“oi”或“oi_attr”(代表 object info)在错误中现在是“info”(例如,oi_attr_missing 现在是 info_missing)。

      • 对象的“selected_object_info”现在是 json 格式而不是字符串。

      • 属性错误(attr_value_mismatch、attr_name_mismatch)仅适用于用户属性。仅输出用户属性,并删除内部前导下划线。

      • 如果存在哈希信息错误(hinfo_missing、hinfo_corrupted、hinfo_inconsistency),则会添加“hashinfo”并以 json 格式显示信息。如果信息损坏,则“hashinfo”是包含该值的字符串。

      • 如果存在快照集错误(snapset_missing、snapset_corrupted、snapset_inconsistency),则会添加“snapset”并以 json 格式显示信息。如果信息损坏,则“snapset”是包含该值的字符串。

      • 如果存在对象信息错误(info_missing、info_corrupted、obj_size_info_mismatch、object_info_inconsistency),则会添加“object_info”并以 json 格式显示信息,而不是字符串。如果信息损坏,则“object_info”是包含该值的字符串。

    • rados list-inconsistent-snapset 格式更改

      • 已改进各种错误字符串。例如,“ss_attr”(代表 snapset info)在错误中现在是“snapset”(例如,ss_attr_missing 现在是 snapset_missing)。错误 snapset_mismatch 已重命名为 snapset_error,以更好地反映其含义。

      • head snapset 信息以 json 格式输出为“snapset”。这意味着即使在没有 head 错误的情况下,当任何 shard 出现错误时,head 对象也会被输出。此 head 对象用于显示用于确定错误的 snapset。

    • 选项 osd_mon_report_interval_min 已重命名为 osd_mon_report_interval,并且 osd_mon_report_interval_max(未使用)已被删除。如果您的集群上已自定义此值,则应调整您的配置以避免恢复到默认值。

    • config-key 接口可以存储任意二进制 blob,但 JSON 只能表示可打印字符串。如果存在二进制 blob,‘ceph config-key dump’命令将显示它们为类似 <<< binary blob of length N >>> 的形式。

    • 引导认证密钥现在将自动生成,用于新部署;在升级期间,如果丢失,这些密钥也将被生成。

    • 命令 osd force-create-pg 现在需要一个 force 选项才能继续,因为该命令很危险:它声明数据丢失是永久性的,并指示集群在不进一步查找丢失数据的情况下继续使用一个空的 PG。

    CephFS:

    • 将 MDS 集群升级到 12.2.3+ 将导致所有活动的 MDS 由于功能不兼容而退出(即使作为备用),一旦升级后的 MDS 上线。操作员可以忽略错误消息并继续升级/重启,或遵循此升级顺序:

      升级监视器到 Mimic 后,将排名数减少到 1(ceph fs set <fs_name> max_mds 1),等待所有其他 MDS 失活,只留下一个活动的 MDS,停止所有备用,升级单个活动的 MDS,然后升级/启动备用。最后,恢复之前的 max_mds。

      !! 注意:如果您曾经在文件系统上启用了快照,请参阅 CephFS 上关于快照的发行说明。

      另请参阅:https://tracker.ceph.com/issues/23172

    • 几个 ceph mds ... 命令已被弃用,并被等效的 ceph fs ... 命令取代

      • mds dump -> fs dump

      • mds getmap -> fs dump

      • mds stop -> mds deactivate

      • mds set_max_mds -> fs set max_mds

      • mds set -> fs set

      • mds cluster_down -> fs set cluster_down true

      • mds cluster_up -> fs set cluster_down false

      • mds add_data_pool -> fs add_data_pool

      • mds remove_data_pool -> fs rm_data_pool

      • mds rm_data_pool -> fs rm_data_pool

    • 新的 CephFS 文件系统属性 session_timeout 和 session_autoclose 可通过 ceph fs set 进行配置。MDS 配置选项 mds_session_timeoutmds_session_autoclosemds_max_file_size 现已废弃。

    • 由于多 MDS 功能现在已成为标准,它现在默认启用。 ceph fs set allow_multimds 现已弃用,将在未来的版本中移除。

    • 由于目录碎片化功能现在已成为标准,它现在默认启用。 ceph fs set allow_dirfrags 现已弃用,将在未来的版本中移除。

    • MDS 守护进程现在根据 max_mds 的值激活和停用。因此,ceph mds deactivate 已被弃用,因为它现在是多余的。

    • 现在通过设置 down 标志来关闭 CephFS 集群,该标志会停用所有 MDS。例如:ceph fs set cephfs down true

    • 防止备用节点加入为主活动节点(以前是已弃用的 cluster_down 标志)现在通过设置 joinable 标志来完成。这主要用于测试,以便可以快速关闭并删除文件系统。

    • 新的 CephFS 文件系统属性 session_timeout 和 session_autoclose 可通过 ceph fs set 进行配置。MDS 配置选项 mds_session_timeout、mds_session_autoclose 和 mds_max_file_size 现已废弃。

    • 每个 mds rank 现在维护一个跟踪打开文件及其祖先目录的表。正在恢复的 MDS 可以快速获取打开文件的路径,从而显著减少加载打开文件 inodes 的时间。如果表不存在,MDS 会自动创建它。

    • CephFS 快照现在是稳定的,并且在新文件系统上默认启用。要在现有文件系统上启用快照,请使用命令

      ceph fs set <fs_name> allow_new_snaps
      

      快照元数据的磁盘格式已更改。在多个活动 MDS 配置中,旧格式的元数据无法正确处理。为确保现有文件系统上的所有快照元数据都得到更新,请严格按照升级 MDS 集群的顺序进行操作。

      请参阅 https://docs.ceph.net.cn/docs/mimic/cephfs/upgrading/

      对于曾启用过快照的文件系统,mimic 监视器守护进程会禁用多活动 MDS 功能。这将导致上述 URL 中的“恢复之前的 max_mds”步骤失败。要重新启用该功能,请删除所有旧快照或清理整个文件系统。

      • ceph daemon <mds rank 0 守护进程> scrub_path / force recursive repair

      • ceph daemon <mds rank 0 守护进程> scrub_path '~mdsdir' force recursive repair

    • Mimic 版本为 Linux 内核客户端(v4.17 及以上版本)增加了配额支持。

      请参阅 https://docs.ceph.net.cn/docs/mimic/cephfs/quota/

    • MDS 元数据均衡器(负责在 MDS 之间分配负载)进行了许多修复。预计自动均衡对于大多数用例来说效果都很好。在 Luminous 版本中,建议使用子树固定作为手动变通方法来解决均衡器行为不佳的问题。现在可能不再需要这样做,因此建议尝试实验性地禁用固定作为一种负载均衡方式,看看内置均衡器是否能满足您的需求。请在升级后报告任何不良行为。

    • NFS-Ganesha 是一个 NFS 用户空间服务器,可以导出多个文件系统的共享,包括 CephFS。Mimic 版本显著改进了对 CephFS 客户端的支持。特别是,通过 libcephfs 库支持委托,允许 Ganesha 向其 NFS 客户端发出委托,从而实现安全的写缓冲和一致的读缓存。现在也提供了文档:https://docs.ceph.net.cn/docs/mimic/cephfs/nfs/

    • MDS 的正常运行时间现在可以在 MDS 管理套接字 status 命令的输出中找到。

    • MDS 性能计数器(针对客户端请求)现在包括平均延迟和计数。

  • RBD

    • RBD C API 的 rbd_discard 方法现在强制执行 2GB 的最大长度,以匹配 C++ API 的 Image::discard 方法。此限制可防止结果代码溢出。

    • rbd CLI 的 lock list 的 JSON 和 XML 输出已更改。

    • rbd CLI 的 showmapped 的 JSON 和 XML 输出已更改。

    • RBD 现在可选支持简化的镜像克隆语义,其中非保护性快照可以被克隆;并且具有链接克隆的快照可以被移除,一旦所有剩余的链接克隆被分离,空间就会自动回收。如果 OSD 的“require-min-compat-client”标志设置为 mimic 或更高版本,则此功能默认启用;或者可以通过“rbd_default_clone_format”配置选项进行覆盖。

    • RBD 现在支持保留快照历史记录的镜像深度复制。

  • RGW

    • RGW Beast 前端现在已宣布稳定并准备投入生产使用。有关详细信息,请参阅 HTTP 前端

    • Civetweb 前端已更新到最新的 1.10 版本。

    • S3 API 现在支持多因素身份验证。有关详细信息,请参阅 RGW 的多因素身份验证支持

    • RGW 现在有一个同步插件,用于同步到 AWS 和具有 S3 类 API 的云。

  • MGR

    • Ceph Luminous 版本中引入的(只读)Ceph manager dashboard 已被新的实现取代,提供了一个兼容的替代品,并增加了许多额外的管理功能。要访问新 dashboard,您需要先定义用户名和密码并创建 SSL 证书。有关功能概述和安装说明,请参阅 Ceph Dashboard

    • 已删除 ceph-rest-api 命令行工具(该工具已被 MGR restful 模块取代,并自 v12.2.5 起弃用)。

      有一个名为 restful 的 MGR 模块,它通过“直通”方法提供类似的功能。有关详细信息,请参阅 https://docs.ceph.net.cn/docs/master/mgr/restful

    • 新的命令可用于跟踪吞吐量和 IOPS 统计信息,这些信息也可在 ceph -s 中找到,并且之前可在 ceph -w 中找到。要使用此命令,请启用 iostat Manager 模块并使用 ceph iostat 调用它。有关详细信息,请参阅 iostat 文档

  • 构建/打包

    • 已删除 rcceph 脚本(源代码树中的 systemd/ceph,在 CentOS 和 SUSE 的 ceph-base 包中为 /usr/sbin/rcceph)。此脚本用于对给定机器上运行的所有 OSD 和/或 MON 守护进程执行管理操作(启动、停止、重启等)。此功能由 systemd 目标单元(ceph-osd.targetceph-mon.target 等)提供。

    • python-ceph-compat 包已声明弃用,当所有支持的发行版完成迁移到 Python 3 时将被移除。它已从当前支持的发行版中移除(这些发行版中 Python 3 是标准而 Python 2 是可选的,目前只有 SUSE)。

    • Ceph 代码库现已迁移到 C++17 标准。

    • Ceph LZ4 压缩插件现在默认启用,并引入了新的构建依赖项。

详细变更日志

  • arch/arm: 仅当构建主机支持 crc32cx 时才设置 ceph_arch_aarch64_crc32(issue#19705, pr#17420, Kefu Chai)

  • assert(false)->ceph_abort()(pr#18072, Li Wang)

  • auth: 保持 /dev/urandom 打开以获取 get_random_bytes(issue#21401, pr#17972, Casey Bodley)

  • bluestore: BlueStore::ExtentMap::dup 实现(pr#19719, Shinobu Kinjo)

  • bluestore: bluestore/NVMEDevice: 精确化队列延迟的延迟性能计数器(pr#17435, Ziye Yang, Pan Liu)

  • bluestore: bluestore/NVMEDevice: 转换与 SPDK 相关的旧配置选项(pr#18502, Ziye Yang)

  • bluestore: bluestore/NVMEDevice: 不要解引用悬空指针(pr#19067, Kefu Chai)

  • bluestore: bluestore/NVMEDevice: 修复写入函数中的错误(pr#17086, Ziye Yang, Pan Liu)

  • bluestore: bluestore/NVMeDevice: 由于 SPDK 升级而更新 NVMeDevice 代码(pr#16927, Ziye Yang)

  • bluestore,build/ops: bluestore,cmake: 启用在没有 aio 的情况下构建 bluestore(pr#19017, Kefu Chai)

  • bluestore,build/ops: Build: 创建一个合适的 WITH_BLUESTORE 选项(pr#18357, Alan Somers)

  • bluestore,build/ops,tests: ceph.spec.in,debian/rules: 将 aio-max-nr 更改为 1048576(pr#17894, chenliuzhong)

  • bluestore,build/ops,tests: os: 添加编译选项以构建 libbluefs.so(pr#16733, Pan Liu)

  • bluestore,build/ops,tests: test/fio: 修复因序列器替换引起的构建失败(pr#20387, Igor Fedotov)

  • bluestore: ceph-bluestore-tool: 改进 fsck/repair,bluefs-bdev-{expand,sizes}(pr#17709, Sage Weil)

  • bluestore: ceph-bluestore-tool: 在“bluefs-bdev-expand”时检查 bdev 是否为空(pr#17874, WANG Guoqin)

  • bluestore: ceph-bluestore-tool: 链接目标不应以“n”结尾(pr#18585, Yao Zongyou)

  • bluestore,common: intarith: 移除 P2* 和 ROUND_UP* 宏(pr#21085, xie xingguo)

  • bluestore: comp_min_blob_size 初始化错误(pr#18318, linbing)

  • bluestore: config: 将 bluestore_cache_kv_max 更改为 INT64 类型(pr#20255, Zhi Zhang)

  • bluestore,core: ceph-bluestore-tool: prime-osd-dir: 更新符号链接而不是退出(pr#18565, Sage Weil)

  • bluestore,core: common/options: bluefs_buffered_io=true 默认启用(pr#20542, Sage Weil)

  • bluestore,core: os/bluestore: 补偿 freelistmanager 大小/块元数据错误(issue#21089, pr#17268, Sage Weil)

  • bluestore,core: os/bluestore: 修复 bluestore 中的数据读取错误注入(pr#19866, Sage Weil)

  • bluestore,core: os/bluestore: kv_max -> kv_min(pr#20544, Sage Weil)

  • bluestore,core: os/bluestore: 将默认分配器切换为 stupid;在 qa 中测试 bitmap 和 stupid(pr#16906, Sage Weil)

  • bluestore,core: src/bluestore/NVMEDevice: 使所有读取都使用 aio_submit(pr#17655, Ziye Yang, Pan Liu)

  • bluestore,core,tests: test/unittest_bluefs: 检查 rmdir 是否成功(pr#15363, shiqi)

  • bluestore,core: tool: ceph-kvstore-tool 未能正确卸载 BlueStore(issue#21625, pr#18083, Chang Liu)

  • bluestore: 仅定义一次 LoglevelV 的默认值(3 个模板)(pr#20727, Matt Benjamin)

  • bluestore: 在 SharedDriverQueueData 中删除未使用的友元类(pr#16894, Pan Liu)

  • bluestore: 修复 aio_t::rval 类型(issue#23527, pr#21136, kungf)

  • bluestore: 修复 armhf 上的构建(pr#20951, Kefu Chai)

  • bluestore: 修复了使用 spdk 和 gcc 4.8.5 时的编译错误(pr#16945, Ziye Yang, Pan Liu)

  • bluestore: kv/RocksDBStore: 将公共代码提取到新函数中(pr#16532, Pan Liu)

  • bluestore/NVMEDevice: 代码清理(pr#17284, Ziye Yang, Pan Liu)

  • bluestore: os/bluestore: 将 bluestore_prefer_deferred_size_hdd/ssd 添加到跟踪键中(pr#17459, xie xingguo)

  • bluestore: os/bluestore: 为 ssd 的性能添加 discard 方法(pr#14727, Taeksang Kim)

  • bluestore: os/bluestore: 添加 deferred_queued 和 deferred_aio_wait 的 lat 记录(pr#17015, lisali)

  • bluestore: os/bluestore: 在 dout 中添加缺失的 __func__(pr#17903, lisali)

  • bluestore: os/bluestore: 为分配器碎片化添加性能计数器(pr#21377, Igor Fedotov)

  • bluestore: os/bluestore: 一次性分配整个写入(pr#17698, Sage Weil)

  • bluestore: os/bluestore: 允许从 bluestore bdev 标签重建 osd 数据目录(pr#18256, Sage Weil)

  • bluestore: os/bluestore: 调整有关内核错误列表的 allow_eio 策略(issue#23333, pr#21306, Radoslaw Zarzynski)

  • bluestore: os/bluestore: 避免 _txc_release_alloc 中过多的操作(pr#18854, Igor Fedotov)

  • bluestore: os/bluestore: 避免在 remove-collection 时省略缓存(pr#18785, Jianpeng Ma)

  • bluestore: os/bluestore: 避免在 blob_t 中出现 std::function 的开销(pr#20294, Radoslaw Zarzynski)

  • bluestore: os/bluestore: 避免在 _do_read() 中不必要的 BlobRefing(pr#19864, Radoslaw Zarzynski)

  • bluestore: os/bluestore: 在遇到未加载的分片时,在 extent map 中显示更详细的日志(pr#21245, Igor Fedotov)

  • bluestore: os/bluestore/BlueFS: 即使 sync_metadata 未执行任何操作,也压缩日志(pr#17354, Sage Weil)

  • bluestore: os/bluestore/BlueFS: 无论如何都不要调用与调试相关的代码(pr#17627, Jianpeng Ma)

  • bluestore: os/bluestore/BlueFS: 使用 _sync_write 时无需等待 aio(pr#16066, Haodong Tang)

  • bluestore: os/bluestore/BlueFS: 修复异步日志压缩期间与日志刷新的竞争条件(issue#21878, pr#18428, Sage Weil)

  • bluestore: os/bluestore/BlueFS: 在 _flush_and_syn_log 中移动释放未使用的 extent 的工作(pr#17684, Jianpeng Ma)

  • bluestore: os/bluestore/BlueFS: 防止 _compact_log_async 重入(issue#21250, pr#17503, Sage Weil)

  • bluestore: os/bluestore/BlueFS: 减少 collect_metadata 中不必要的操作(pr#17995, Luo Kexue)

  • bluestore: os/bluestore/BlueFS: sanity check 确保 alloc->allocate() 不会返回 0(pr#18259, xie xingguo)

  • bluestore: os/bluestore/BlueFS: 几次清理(pr#17966, xie xingguo)

  • bluestore: os/bluestore/bluefs_types: 将 block_mask 设置为 64 位(pr#21629, Sage Weil)

  • bluestore: os/bluestore/BlueStore: 尽快唤醒 _kv_finalize_thread(pr#18203, Jianpeng Ma)

  • bluestore: os/bluestore/BlueStore: 在 _deferred_submit_unlock 中缩小 deferred_lock(pr#17628, Jianpeng Ma)

  • bluestore: os/bluestore: bluestore 修复应使用 interval_set::union_insert(pr#20900, Igor Fedotov)

  • bluestore: os/bluestore: 清理 ExtentList、AllocExtent 和 bluestore_extent_t 类(pr#20360, Igor Fedotov)

  • bluestore: os/bluestore: 更清晰的注释,代码不慢(pr#16872, Mark Nelson)

  • bluestore: os/bluestore: 正确检查所有块设备以确定 journal 是否是旋转的(issue#23141, pr#20602, Greg Farnum)

  • bluestore: os/bluestore: 在 KernelDevice.cc 中删除冗余头文件(pr#18631, Jing Li)

  • bluestore: os/bluestore: 如果 BlueFS 重新平衡无法分配足够空间,则不触发断言(pr#18494, Igor Fedotov)

  • bluestore: os/bluestore: 在 BlueRocksEnv 遇到 EEXIST 错误时,不发生核心转储(issue#20871, pr#17357, liuchang0812)

  • bluestore: os/bluestore: 尝试两次打开 kvstore 时,不发生核心转储(pr#18161, Chang Liu)

  • bluestore: os/bluestore: 不要释放空的 bluefs_extents_reclaiming(pr#18671, Igor Fedotov)

  • bluestore: os/bluestore: 在 kraken 升级调试打印时,不发生段错误(issue#20977, pr#16992, Sage Weil)

  • bluestore: os/bluestore: 不要为现有 blob 重新初始化 csum 设置(issue#21175, pr#17398, xie xingguo)

  • bluestore: os/bluestore: 在 mkfs 上执行 SSD discard(pr#20897, Igor Fedotov)

  • bluestore: os/bluestore: 移除 deferred_submit_lock,修复 aio 泄漏(issue#21171, pr#17352, Sage Weil)

  • bluestore: os/bluestore: 删除未使用的函数声明(pr#18075, Li Wang)

  • bluestore: os/bluestore: 在 apply() 中删除未使用的参数“what”(pr#17251, songweibin)

  • bluestore: os/bluestore: _dump_onode() 不再延长 Onode(pr#19841, Radoslaw Zarzynski)

  • bluestore: os/bluestore: 动态 CF 配置;将 pglog omap 放在单独的 CF 中(pr#18224, Sage Weil)

  • bluestore: os/bluestore: 扩大 aligned_size 以避免向量(> IOV_MAX)过多(issue#21932, pr#18828, Jianpeng Ma)

  • bluestore: os/bluestore: ExtentMap::reshard - 修复错误的 shard 长度(pr#17334, chenliuzhong)

  • bluestore: os/bluestore: 在对象非常大时尽早失败(issue#20923, pr#16924, Sage Weil)

  • bluestore: os/bluestore: 修复另一个 aio 挂起/死锁(issue#21470, pr#18118, Sage Weil)

  • bluestore: os/bluestore: 修复 _balance_bluefs_freespace() 中损坏的 cap(pr#21097, Igor Fedotov)

  • bluestore: os/bluestore: 再次修复 clone dirty_range(issue#20983, pr#16994, Sage Weil)

  • bluestore: os/bluestore: 修复 dirty_shard 越界(pr#16850, Sage Weil)

  • bluestore: os/bluestore: 修复 KernelDevice 中超出最大 IO 队列深度的问题(issue#23246, pr#20996, Radoslaw Zarzynski)

  • bluestore: os/bluestore: 修复分割 collection 时可能发生的断言(pr#19519, Igor Fedotov)

  • bluestore: os/bluestore: 修复 SharedBlob 注销(issue#22039, pr#18805, Sage Weil)

  • bluestore: os/bluestore: 修复一些代码格式(pr#21037, Gu Zhongyan)

  • bluestore: os/bluestore: 修复 bluefs 中的分配(pr#19030, tangwenjun)

  • bluestore: os/bluestore: 修复 StupidAllocator::init_rm_free 中的降级(pr#20430, Kefu Chai)

  • bluestore: os/bluestore: 修复 map_any 的错误用法(pr#18939, Jianpeng Ma)

  • bluestore: os/bluestore: 修复 BlueFS::_allocate 的错误用法(pr#20708, Jianpeng Ma)

  • bluestore: os/bluestore: 在 SharedDriverQueueData 的析构函数中正确释放 spdk qpair 资源(pr#20929, Jianyu Li)

  • bluestore: os/bluestore: 正确处理小型主设备(pr#17416, xie xingguo)

  • bluestore: os/bluestore: 忽略 luminous 升级中 extent 的 0x2000~2000 奇偶性(issue#21408, pr#17845, Sage Weil)

  • bluestore: os/bluestore: 实现 BlueStore 修复(pr#19843, Igor Fedotov)

  • bluestore: os/bluestore: 使 bluefs 在接近 enospc 时表现更好(pr#18120, Sage Weil)

  • bluestore: os/bluestore: 将 AioContext 的派生类标记为 final(pr#20227, Radoslaw Zarzynski)

  • bluestore: os/bluestore: 将 aio_callback{,_priv} 移动到基类 BlockDevice(pr#17002, mychoxin)

  • bluestore: os/bluestore: 将 read/write 的断言移至基类(pr#17033, mychoxin)

  • bluestore: os/bluestore: 将 size 和 block_size 移动到基类 BlockDevice(pr#16886, Pan Liu)

  • bluestore: os/bluestore: 写入失败时无需 fsync 标签(pr#20092, tangwenjun)

  • bluestore: os/bluestore: 如果没有要修剪的内容,则不要产生修剪调试噪音(pr#20684, Sage Weil)

  • bluestore: os/bluestore/NVMEDevice: 将 write_bl 改为 bl(pr#17145, Ziye Yang, Pan Liu)

  • bluestore: os/bluestore/NVMEDevice: 修复 nvme 队列深度问题(pr#17200, Ziye Yang, Pan Liu)

  • bluestore: os/bluestore/NVMEDevice: 移除 dpdk 线程的使用(pr#17769, Ziye Yang, Pan Liu)

  • bluestore: os/bluestore: 如果 _is_all_kv_submitted() 返回 true,则减少 kv_submitted_waiters(pr#18622, Jianpeng Ma)

  • bluestore: os/bluestore: 优化 _collection_list(pr#18777, Jianpeng Ma)

  • bluestore: os/bluestore: 将 strict 标志传递给 bluestore_blob_use_tracker_t::equal()(pr#15705, xie xingguo)

  • bluestore: os/bluestore: 预分配内存以避免在 list_collection 中重新分配(pr#18804, Jianpeng Ma)

  • bluestore: os/bluestore: 如果 osd_max_object_size >= 4G,则阻止挂载(pr#19043, Sage Weil)

  • bluestore: os/bluestore: 批量打印 aio(pr#18873, Kefu Chai)

  • bluestore: os/bluestore: 将泄露的 extent 打印到调试输出(pr#17225, Sage Weil)

  • bluestore: os/bluestore: 将 read-EIO 传播到高级调用者(pr#17744, xie xingguo)

  • bluestore: os/bluestore: 将缓存的属性放入正确的 mempool(issue#21417, pr#18001, Sage Weil)

  • bluestore: os/bluestore: 解码 bluefs_fnode_t 时重新计算 allocated(issue#23212, pr#20701, Jianpeng Ma, Kefu Chai)

  • bluestore: os/bluestore: 减少无意义的 flush(pr#19027, tangwenjun)

  • bluestore: os/bluestore: 重构 FreeListManager 以更清晰地了解数量(issue#22535, pr#19718, Igor Fedotov)

  • bluestore: os/bluestore: 批量释放磁盘 extent(pr#17913, Radoslaw Zarzynski)

  • bluestore: os/bluestore: 移除无效的 BlueFS fnode extent 计算(pr#18905, Igor Fedotov)

  • bluestore: os/bluestore: 移除未使用的参数(pr#18635, Jianpeng Ma)

  • bluestore: os/bluestore: 移除未使用的变量(pr#21063, Gu Zhongyan)

  • bluestore: os/bluestore: 移除无用的函数 submit(pr#17537, mychoxin)

  • bluestore: os/bluestore: 重新排列 bluefs_extent_t 的成员以提高空间效率(pr#21034, Radoslaw Zarzynski)

  • bluestore: os/bluestore: 在 StupidAllocator 中将 dout 替换为 ldout(pr#17404, Radoslaw Zarzynski)

  • bluestore: os/bluestore: 磁盘错误发生时正确报告错误并退出(issue#21263, pr#17522, Pan Liu)

  • bluestore: os/bluestore: 撤销“os/bluestore: 允许同时进行多个 DeferredBatches”(issue#20925, issue#20295, pr#16900, Sage Weil)

  • bluestore: os/bluestore: s/bluefs_total/bluefs_free/(pr#21036, xie xingguo)

  • bluestore: os/bluestore: 分离 deferred_try_submit 的 finisher(issue#21207, pr#17409, Sage Weil)

  • bluestore: os/bluestore: 将位图自由列表分辨率设置为 min_alloc_size(pr#17610, Sage Weil)

  • bluestore: os/bluestore: 将 aio 提交大小缩小到挂起值(pr#17588, kungf)

  • bluestore: os/bluestore: 抑制 -Wreturn-type 警告(pr#18286, Kefu Chai)

  • bluestore: os/bluestore: 支持在使用 spdk 时计算成本(pr#17091, Ziye Yang, Pan Liu)

  • bluestore: os/bluestore: 同步 on_applied 完成(pr#18196, Sage Weil)

  • bluestore: os/bluestore: 每 50ms (而不是 200ms) 修剪缓存(pr#20498, Sage Weil)

  • bluestore: os/bluestore: 更新 bluestore_compression_[min|max|_blob_size 选项的描述(pr#21244, Igor Fedotov)

  • bluestore: os/bluestore: 使用宏 OBJECT_MAX_SIZE 检查 osd_max_object_size(pr#19622, Jianpeng Ma)

  • bluestore: osd/bluestore: 删除 KernelDevice 中未使用的变量(pr#20857, Leo Zhang)

  • bluestore: osd,os/bluestore: 显示 osd_max_object_size 的当前大小(pr#19725, Shinobu Kinjo)

  • bluestore: 撤销“os/bluestore: 将 strict 标志传递给 bluestore_blob_use_tracker_t::equal()”(issue#21293, pr#17569, Sage Weil)

  • bluestore,rgw: rgw,unittest_bit_alloc: 抑制 clang 分析器警告(pr#17294, Kefu Chai)

  • bluestore,tests: objectstore/store_test: 修复 collection_empty() 之前的 flush 缺失…(issue#22409, pr#19764, Igor Fedotov)

  • bluestore,tests: 撤销“bluestore/fio: 修复所有对象具有相同哈希的问题(pr#18352, Radoslaw Zarzynski)

  • bluestore,tools: ceph-bluestore-tool: 在创建 kvdb 的完整路径之前创建 out_dir(pr#18367, Leo Zhang)

  • bluestore,tools: os/bluestore/bluestore_tool: 添加 log-dump 命令以转储 bluefs 的日志(pr#18535, Yang Honggang)

  • build: 修复 dpdk 构建错误(pr#18087, chunmei)

  • build mimic-dev1 with gcc 7(issue#22438, pr#19548, Kefu Chai)

  • build/ops: automake: 移除 automake 所需的文件(pr#17937, Kefu Chai)

  • build/ops: blkin: 链接 lttng-ust-fork(pr#17673, Mohamad Gebai)

  • build/ops: boost: 移除 boost 子模块(pr#17405, Kefu Chai)

  • build/ops: build: do_cmake: 允许覆盖 ARGS(pr#19876, Abhishek Lekshmanan)

  • build/ops: build: 从 libcommon 中移除 PGMap.cc(pr#18496, Sage Weil)

  • build/ops: ceph-disk activate 解锁 bluestore 数据分区(issue#20488, pr#16357, Felix Winterhalter)

  • build/ops: ceph_disk: 允许在激活时“无 fsid”(pr#18991, Dan Mick)

  • build/ops,cephfs: ceph-object-corpus: 更新以修复 make check(pr#21261, Patrick Donnelly)

  • build/ops,cephfs: cmake, test/fs, client: 修复 clang 构建(pr#20392, Adam C. Emerson)

  • build/ops: ceph.spec: 在 aarch64 上使用 devtoolset-6-gcc-c++(issue#22301, pr#19341, Kefu Chai)

  • build/ops: ceph-volume: 需要 lvm2,移动到 osd 包(issue#22443, pr#19529, Theofilos Mouratidis)

  • build/ops: ceph-volume: tests 添加 is_mounted 工具的测试(pr#16962, Alfredo Deza)

  • build/ops: 将 WITH_SYSTEMD 的默认值更改为 ON(pr#20404, Nathan Cutler)

  • build/ops: cmake/BuildBoost: 准备 seastar 的修复(pr#20616, Kefu Chai, Casey Bodley)

  • build/ops: cmake,deb: 使用 cmake 安装 system units(pr#20618, Kefu Chai)

  • build/ops: cmake: 如果 WITH_STATIC_LIBSTDCXX,则静态链接 libcommon 和 libstdc++(issue#22438, pr#19515, Kefu Chai)

  • build/ops: cmake,make-dist: 将 boost 版本升级到 1.67(pr#21572, Kefu Chai)

  • build/ops: cmake,mds: 在使用 std::map::merge() 之前检测它(pr#21211, Willem Jan Withagen, Kefu Chai)

  • build/ops: cmake/mgr: 如果 mgr 子解释器是 Python 3,则使用 Python 3 虚拟环境(pr#21446, Nathan Cutler)

  • build/ops,common: cmake, common: 抑制 cmake 和 gcc 警告(issue#23774, pr#21484, Kefu Chai)

  • build/ops: common/time: 为 Alpine 构建添加 time.h(pr#19863, huanwen ren)

  • build/ops,common: 将 C++ 标准更新到 14 并清理(pr#19490, Adam C. Emerson)

  • build/ops,core: ceph-crush-location: 移除(pr#19881, Sage Weil)

  • build/ops,core: ceph-volume: 在 mkfs 时不要使用 --key(issue#22283, pr#19276, Kefu Chai, Sage Weil)

  • build/ops,core: /etc/sysconfig/ceph: 移除 jemalloc 选项(issue#20557, pr#18487, Sage Weil)

  • build/ops,core: mimic: cmake,common,filestore: 抑制 gcc-8 警告/错误(pr#21862, Kefu Chai)

  • build/ops,core: mimic: cmake: 不再检查 aligned_alloc()(issue#23653, pr#22048, Kefu Chai)

  • build/ops,core: msg/async: 更新以与 spdk v17.10 附带的 dpdk 一起工作(pr#19470, Kefu Chai)

  • build/ops,core: zstd: 升级到 v1.3.2(pr#18407, Adam C. Emerson)

  • build/ops: debian/control: 调整 ceph-{osdomap,kvstore,monstore}-tool 功能迁移(issue#22319, pr#19328, Sage Weil)

  • build/ops: debian/control: 调整 ceph-{osdomap,kvstore,monstore}-tool 功能迁移(issue#22319, pr#19395, Kefu Chai, Sage Weil)

  • build/ops: debian/control: 调整 ceph-{osdomap,kvstore,monstore}-tool 功能迁移(pr#19356, Kefu Chai)

  • build/ops: debian: 修复 40caf6a6 后的包关系(issue#21762, pr#18474, Kefu Chai)

  • build/ops: debian: 在 purge 期间锁定 ceph 用户(pr#15118, Caleb Boylan)

  • build/ops: debian/rules: 不再需要 ChangeLog(pr#18023, Sage Weil)

  • build/ops: debian/rules: strip ceph-base 库(issue#22640, pr#19870, Sage Weil)

  • build/ops: do_{cmake,freebsd}: 不要在 FreeBSD 上调用 nproc(1)(pr#17949, Alan Somers)

  • build/ops: dpdk: 移除冗余 dpdk 子模块(pr#18712, chunmei)

  • build/ops: EventKqueue: Clang 希望 realloc 返回值被类型化(pr#21550, Willem Jan Withagen)

  • build/ops: filestore,rgw: 修复类型/转换,使 clang 在 32 位上工作(pr#21055, Daniel Glaser)

  • build/ops: Fix ppc64 support for ceph(pr#16753, Boris Ranto)

  • build/ops: 修复 dpdk 库中发生的两个 dpdk 断言(pr#18409, chunmei)

  • build/ops: FreeBSD: 添加需要安装的新软件包(pr#21349, Willem Jan Withagen)

  • build/ops: githubmap: 添加一些已知的 Ceph 审阅者(pr#17507, Patrick Donnelly)

  • build/ops: .githubmap: 将 wjwithagen 添加为已知的 Ceph 审阅者(pr#17518, Willem Jan Withagen)

  • build/ops: .githubmap: 更新(pr#18230, Sage Weil)

  • build/ops: .gitignore: 允许 debian .patch 文件(pr#17577, Ken Dreyer)

  • build/ops: include: compat.h, 修复 pthread_set_name() 的返回结果(pr#20474, Willem Jan Withagen)

  • build/ops: install-deps: 添加对 ‘opensuse-tumbleweed’ 的支持(pr#21650, Ricardo Marques)

  • build/ops: install-deps.sh: 避免重新安装 g++-7(pr#19468, Kefu Chai)

  • build/ops: install-deps.sh, cmake: 在 xenial 上也使用 GCC-7(pr#19418, Kefu Chai)

  • build/ops: install-deps.sh: 正确地将新 gcc 安装为默认值(pr#19417, Kefu Chai)

  • build/ops: install-deps.sh: 将 --no-recommends 传递给 zypper(issue#22998, pr#20434, Nathan Cutler)

  • build/ops: install-deps.sh: 通过环境变量设置 python2 %bcond(issue#22999, pr#20436, Nathan Cutler)

  • build/ops: install-deps.sh: 如果 GCC 太旧,则在 centos 上使用 DTS(pr#19398, Kefu Chai)

  • build/ops: install-deps.sh: 使用 tee 写入文件(pr#19516, Kefu Chai)

  • build/ops: install-deps: 在 aarch64 上使用 DTS-7,并且仅下载镜像的包索引(pr#19645, Kefu Chai, Songbo Wang)

  • build/ops: libmpem: 撤销“submodule: make libmpem as a submodule.”(pr#18414, Jianpeng Ma)

  • build/ops: logrotate: 在 logrotate 中添加 systemd reload,以防 centos minimal 没有 killall(pr#16586, Tianshan Qu)

  • build/ops: make-dist,cmake: 避免重新下载 boost(pr#19124, Kefu Chai)

  • build/ops: make-dist,cmake: 将 boost tarball 位置移至 download.ceph.com(pr#17980, Sage Weil)

  • build/ops: make-dist,cmake: 在失败前尝试多个 URL 来下载 boost(pr#18048, Brad Hubbard)

  • build/ops: make-dist: 回退到 python3(pr#21127, Nathan Cutler)

  • build/ops,mgr: mgr/dashboard: 构建调整(pr#20752, John Spray)

  • build/ops,mgr: mgr/dashboard: 移除 node/npm 系统安装(pr#20898, Tiago Melo)

  • build/ops,mgr: packaging: 为 dashboard 添加显式的 jinja2 依赖项(issue#22457, pr#19598, John Spray)

  • build/ops,mgr,tests: mgr/dashboard: 用 dashboard_v2 替换 dashboard(pr#20912, Ricardo Dias)

  • build/ops: mimic: cmake: 使用 javac -h 来创建 JNI 原生头文件(issue#24012, pr#21824, Kefu Chai)

  • build/ops: mimic: 抑制各种警告以启用 GCC-8 构建(pr#22081, Adam C. Emerson, Kefu Chai)

  • build/ops: mon,osd: 在初始化新 OSD 的类时,不要使用 crush_device_class 文件(pr#19939, Sage Weil)

  • build/ops: mstart.sh: 支持从环境变量读取 CLUSTERS_LIST(pr#16988, Jiaying Ren)

  • build/ops: os/CMakeLists: 修复启用 WITH_PMEM=ON 时的链接错误(pr#20658, Jianpeng Ma)

  • build/ops: osdc,os,osd: 修复 osx 上的构建(pr#20029, Kefu Chai)

  • build/ops: SUSE 的 python-numpy-devel 构建依赖(issue#21176, pr#17366, Nathan Cutler)

  • build/ops: qa/tests - 为包含子集的套件添加了能够使用“testing”…(pr#21454, Yuri Weinstein)

  • build/ops,rbd: ceph-dencoder: 将 RBD 类型移出 RGW 预处理器保护(issue#22321, pr#19343, Jason Dillaman)

  • build/ops: rbdmap: 修复多个挂载使用同一 RBD 时的卸载(pr#17978, Alexandre Marangone)

  • build/ops: 撤销“make-dist: add OBS-specific release suffix on SUSE”(pr#20813, Nathan Cutler)

  • build/ops,rgw: radosgw: 使 CryptoPP 编译成为可能(pr#14955, Adam Kupczyk)

  • build/ops: rocksdb: 不要使用 aligned_alloc(issue#23653, pr#21632, Kefu Chai)

  • build/ops: rpm: 调整 ceph-{osdomap,kvstore,monstore}-tool 功能迁移(issue#22558, pr#19777, Kefu Chai)

  • build/ops: rpm: SUSE 的 build-depends 是“cunit-devel”(pr#18997, Kefu Chai)

  • build/ops: rpm: 条件化 Python 2 的可用性,以在仅 Python 3 的系统上启用 Ceph 构建(pr#20018, Nathan Cutler)

  • build/ops,debian: 确保所有 ceph-disk 运行时依赖项都为 ceph-base 声明(issue#23657, pr#21356, Nathan Cutler)

  • build/ops,deb: 打包 ceph-kvstore-tool 手册页(pr#17387, Sage Weil)

  • build/ops: rpm: 在 /usr/lib64/qemu 中移除旧的 librbd.so.1 符号链接(pr#17324, Nathan Cutler)

  • build/ops: rpm: 修复 _defined_if_python2_absent 条件(pr#20166, Nathan Cutler)

  • build/ops: rpm: 修复 ceph-volume@.service 的 systemd 宏(issue#22217, pr#19081, Nathan Cutler)

  • build/ops: rpm: 将 ceph-*-tool 二进制文件从 ceph-test 子包移出(issue#21762, pr#18289, Nathan Cutler)

  • build/ops: rpm: 仅 Python 3 的 ceph-disk 和 ceph-volume(pr#20140, Nathan Cutler)

  • build/ops: rpm: 推荐 chrony 而不是 ntp-daemon(pr#20138, Nathan Cutler)

  • build/ops: rpm: 推荐将 python-influxdb 与 ceph-mgr 一起使用(pr#18511, Nathan Cutler, Tim Serong)

  • build/ops: rpm: 撤销“ceph.spec: 解决 build.opensuse.org 的问题”(pr#21716, Nathan Cutler)

  • build/ops: rpm: 移除 rcceph 脚本(pr#19899, Nathan Cutler)

  • build/ops: rpm: selinux-policy 修复(pr#19026, Brad Hubbard)

  • build/ops: rpm: 根据可用内存设置构建并行度(pr#19122, Nathan Cutler, Richard Brown)

  • build/ops: rpm: 在 rbd 资源代理上设置权限 0755(issue#22362, pr#19494, Nathan Cutler)

  • build/ops: run-make-check.sh: 修复 SUSE 支持(issue#22875, pr#20234, Nathan Cutler)

  • build/ops: run-make-check.sh: 处理 Python 2 缺失(issue#23035, pr#20480, Nathan Cutler)

  • build/ops: run-make-check.sh: 在没有 sudo 的情况下运行 ulimit(pr#17361, yang.wang)

  • build/ops: script/build-integration-branch: 打印带有标题的 pr url 列表(pr#17426, Sage Weil)

  • build/ops: selinux: 允许 nvme 设备(issue#19200, pr#15597, Boris Ranto)

  • build/ops: setup-virtualenv.sh: 不要硬编码 python 二进制文件(issue#23437, pr#21002, Nathan Cutler)

  • build/ops: spdk: 更新 SPDK 以修复 aarch64 上的构建失败(pr#20134, Tone Zhang, Kefu Chai)

  • build/ops: spdk: 更新 SPDK 到 v17.10(pr#19208, Kefu Chai)

  • build/ops: spdk: 更新子模块到更近的上游(pr#20077, Nathan Cutler)

  • build/ops: specs: 需要 e2fsprogs(pr#21345, Guillaume Abrioux)

  • build/ops: src/script/build-integration-branch(pr#17382, Sage Weil)

  • build/ops: src: s/pip --use-wheel/pip/(pr#21159, Kefu Chai)

  • build/ops: submodule: make libmpem as a submodule(pr#17036, Jianpeng Ma)

  • build/ops: sysctl.d: 设置 kernel.pid_max=4194304(issue#21929, pr#18544, David Disseldorp)

  • build/ops: systemd: rbd-mirror 在重启后无法启动(pr#17969, Sébastien Han)

  • build/ops: test: 正确删除 asok 目录(pr#21023, Chang Liu)

  • build/ops: test/fio: 启用 objectstore FIO 插件构建,无需安装和构建 FIO 源代码(pr#20535, Igor Fedotov)

  • build/ops,tests: common,test,cmake: 各种更改以在 osx 上重新启用构建(pr#18888, Kefu Chai)

  • build/ops,tests: qa/tests: 将 rhel7.4 更改为 rhel7.5(pr#21336, Yuri Weinstein)

  • build/ops,tests: test/fio: 修复 fio objectstore 插件构建因(pr#20514, Igor Fedotov)

  • build/ops: udev: 修复 udev OSD 规则文件中的拼写错误(pr#18976, Mitch Birti)

  • build/ops: 在 centos/rhel-7 上使用 devtoolset-7(pr#18863, Kefu Chai)

  • cephfs: Client: 修复 readdir 错误(pr#18784, dongdong tao)

  • cephfs: Client: setattr 应删除 mtime 和 size 的“Fs”,而不是“As”(pr#18786, dongdong tao)

  • cephfs,common,rbd: common/common_init: 禁用客户端的 ms 子系统日志收集(issue#21860, pr#18418, Jason Dillaman)

  • cephfs,common,rbd: 各种 SCA 问题修复(pr#21708, Danny Al-Gaaf)

  • cephfs,core: mon/OSDMonitor: 在 cephfs 快照移除时设置 FLAG_SELFMANAGED_SNAPS(issue#23949, pr#21756, Sage Weil)

  • cephfs: MDS: 在 push_back “onfinish”之前添加 null 检查(pr#18892, dongdong tao)

  • cephfs: MDS: 修正初始化 mon client 时的错误消息(pr#18836, dongdong tao)

  • cephfs: MDS: 使热门计数器以适当的速率衰减(pr#18776, Jianyu Li)

  • cephfs: MDS: 使均衡器以相同的标准评估每个 mds 的过载状态(pr#19255, Jianyu Li)

  • cephfs: messages: is_primary 的初始化(pr#16897, amitkuma)

  • cephfs: messages: 成员变量的初始化(pr#16898, amitkuma)

  • cephfs: mimic: MDSMonitor: 清理 uncommitted ops 中对 pending fsmap 的使用(issue#23768, pr#22005, Patrick Donnelly)

  • cephfs: mon/OSDMonitor: 在清理之前等待可读的 OSDMap(issue#21945, pr#18603, Patrick Donnelly)

  • cephfs,mon: mon/MDSMonitor: 修复 preprocess_beacon 中的一个错误(pr#17415, wangshuguang)

  • cephfs: osdc/Journaler: 使用新式选项(pr#17806, Kefu Chai)

  • cephfs: qa: 检查池满标志(issue#22475, pr#19588, Patrick Donnelly)

  • cephfs: qa: 修复 test_full 中的拼写错误(issue#23643, pr#21334, Patrick Donnelly)

  • cephfs: 撤销“ceph_context: 在子进程中重新展开 admin_socket 元变量”(pr#18545, Patrick Donnelly)

  • cephfs,tests: qa/suites/powercycle/osd/whitelist_health: 列出缓慢的修剪(pr#17307, Sage Weil)

  • cephfs,tests: qa/workunits/cephtool/test.sh: 修复 test_mon_mds()(pr#21579, Kefu Chai)

  • cephfs,tools: mount.fuse.ceph: 修复拼写错误(pr#19128, Jos Collin)

  • cephfs: vstart_runner: 修复最近的 cephfs 更改(pr#19533, Patrick Donnelly)

  • ceph-volume: 为功能测试添加 ANSIBLE_SSH_RETRIES=5(pr#20592, Andrew Schoen)

  • ceph-volume 添加 simple、rearrange lvm 测试的功能测试(pr#18882, Alfredo Deza)

  • ceph-volume: 写入 JSON 文件时在末尾添加 linesep/newline(pr#19458, Wido den Hollander)

  • ceph-volume: 为 ceph-volume lvm zap 添加 --destroy 标志(issue#22653, pr#20010, Andrew Schoen)

  • ceph-volume: 为 lvm prepare 和 create 添加 --crush-device-class 标志(pr#19949, Andrew Schoen)

  • ceph-volume: 为 simple 添加自定义集群名称支持(pr#20367, Andrew Schoen)

  • ceph-volume: 添加功能 CI 测试(pr#16919, Andrew Schoen, Alfredo Deza)

  • ceph-volume: 为 bluestore 添加功能测试(pr#18656, Andrew Schoen)

  • ceph-volume: 为“lvm list”添加原始设备支持(issue#23140, pr#20620, Andrew Schoen)

  • ceph-volume: 为 lvm prepare/activate/create 添加成功消息(issue#22307, pr#19875, Andrew Schoen)

  • ceph-volume: 添加对 zap 加密设备的支持(issue#22878, pr#20537, Andrew Schoen)

  • ceph-volume: 添加 ceph-volume lvm zap 子命令(pr#18513, Andrew Schoen)

  • ceph-volume 允许按 uuid 过滤,不要求 osd id(pr#17606, Andrew Schoen, Alfredo Deza)

  • ceph-volume: 允许并行创建(issue#23757, pr#21489, Theofilos Mouratidis)

  • ceph-volume: 允许在激活/创建时跳过 systemd 交互(issue#23678, pr#21496, Alfredo Deza)

  • ceph-volume: 允许使用设备或分区作为 lvm --datapr#18924, Alfredo Deza)

  • ceph-volume: 提高测试中重新加载 vm 的健壮性(pr#20650, Alfredo Deza)

  • ceph-volume: 从 ceph.conf 中消耗 mount/format 选项(pr#20408, Alfredo Deza)

  • ceph-volume: 当未指定 objectstore 时,正确回退到 bluestore(pr#19213, Alfredo Deza)

  • ceph-volume: 正确标准化挂载标志(pr#20543, Alfredo Deza)

  • ceph-volume: 创建 ceph-volume 和 ceph-volume-systemd 手册页(issue#21030, pr#17152, Alfredo Deza)

  • ceph-volume: lvm 的 dmcrypt 支持(issue#22619, pr#20054, Alfredo Deza)

  • ceph-volume: simple 的 dmcrypt 支持(issue#22620, pr#20264, Andrew Schoen, Alfredo Deza)

  • ceph-volume/doc: 在示例中添加缺失的子命令(pr#19381, Guillaume Abrioux)

  • ceph-volume: 确保正确的 --filestore/--bluestore 行为(pr#18518, Alfredo Deza)

  • ceph-volume 失败的 ceph-osd --mkfs 命令不会停止 OSD 创建过程(issue#23874, pr#21685, Alfredo Deza)

  • ceph-volume: 修复测试中的 action plugins 路径(pr#20910, Guillaume Abrioux)

  • ceph-volume 修复 mon-config 更改后的 filestore OSD 创建(issue#23260, pr#20787, Alfredo Deza)

  • ceph-volume: 修复 ceph-volume lvm prepare 帮助中的拼写错误(pr#21196, Jeffrey Zhang)

  • ceph-volume: 修复 --osd-id 标志的用法(issue#22642, issue#22836, pr#20203, Andrew Schoen)

  • ceph-volume: 当 vg/lv 无法使用时正确格式化(issue#22299, pr#19285, Alfredo Deza)

  • ceph-volume: 处理 ceph.conf 文件中的内联注释(issue#22297, pr#19319, Alfredo Deza)

  • ceph-volume: 处理 ceph.conf 中的前导空格/制表符(issue#22280, pr#19259, Alfredo Deza)

  • ceph-volume: 实现“激活所有”以帮助处理密集服务器或迁移 OSD(pr#21130, Alfredo Deza)

  • ceph-volume: 改进测试中重新加载 vm 的健壮性(pr#21070, Alfredo Deza)

  • ceph-volume: 记录当前运行的命令以便于调试(issue#23004, pr#20594, Andrew Schoen)

  • ceph-volume: lvm api 重构/移动(pr#18110, Alfredo Deza)

  • ceph-volume: lvm list(pr#18095, Alfredo Deza)

  • ceph-volume: lvm.prepare 更新以使用 create_osd_path(pr#18514, Alfredo Deza)

  • ceph-volume: lvm zap 将会卸载被 zap 设备使用的 osd 路径(issue#22282, pr#19363, Andrew Schoen)

  • ceph-volume: 代码审查时发现的细节问题(pr#21455, Dan Mick)

  • ceph-volume: 为 journal 持久化非 lv 设备(pr#17403, Alfredo Deza)

  • ceph-volume: 先处理可执行文件的绝对路径(issue#23259, pr#20824, Alfredo Deza)

  • ceph-volume: 移除了对 sudo 的显式使用(issue#22282, pr#19363, Andrew Schoen)

  • ceph-volume: 移除多余的空格(pr#21140, Sébastien Han)

  • ceph-volume: OSD 准备/创建失败时回滚(issue#22281, pr#19351, Alfredo Deza)

  • ceph-volume 应该能够处理多个 LVM (VG/LV) 标签(issue#22305, pr#19321, Alfredo Deza)

  • ceph-volume: 支持 GPT 和其他已部署的 OSD(pr#18823, Alfredo Deza)

  • ceph-volume 测试添加用于 vagrant 的可选标志(pr#20849, Alfredo Deza)

  • ceph-volume 测试减轻了重新加载时 libvirt 超时问题(issue#23163, pr#20718, Alfredo Deza)

  • ceph-volume tests.devices.lvm prepare 不再是 bluestore 特有的(pr#18984, Alfredo Deza)

  • ceph-volume 测试移除未使用的导入(pr#20459, Alfredo Deza)

  • ceph-volume 测试使用更精细的环境变量进行 vagrant(pr#20864, Alfredo Deza)

  • ceph-volume: 扫描目录时尝试将 OSD 元数据转换为 int(pr#19477, Wido den Hollander)

  • ceph-volume 更新 prepare/activate 标志的手册页(pr#21570, Alfredo Deza)

  • ceph-volume: 检查挂载时使用 realpath(issue#22988, pr#20427, Alfredo Deza)

  • ceph-volume: 使用唯一的逻辑卷(pr#17207, Alfredo Deza)

  • ceph-volume: 对 {vg|pv|lv}s 命令使用 --readonly(pr#21409, Erwan Velu)

  • ceph-volume: 缺少 ceph.conf 文件时发出警告(issue#22326, pr#19347, Alfredo Deza)

  • ceph-volume 警告 mix filestore 和 bluestore 标志(issue#23003, pr#20513, Alfredo Deza)

  • cleanup: 将 MIN,MAX 替换为 std::min,std::max(pr#18124, Amit Kumar)

  • cli: rados: 使用 stat2 支持高精度时间(issue#21199, pr#17395, Abhishek Lekshmanan)

  • cls_acl/_crypto: 添加 modeline(pr#19010, Shinobu Kinjo)

  • cmake: 将 chrono 添加到 BOOST_COMPONENTS(issue#23424, pr#20977, Nathan Cutler)

  • cmake: 将 cython_rbd 添加到 vstart 目标的依赖项(pr#18382, Ali Maredia)

  • cmake: 如果 GCC 版本低于 5.1,则退出(pr#19344, Kefu Chai)

  • cmake: BuildBoost.cmake: 使用指定的编译器构建 boost(pr#19898, Kefu Chai)

  • cmake: 将目标 jdk 升级到 1.7(issue#23458, pr#21082, Shengjing Zhu)

  • cmake: 将所需的 cmake 版本升级到 2.8.12(pr#18285, Kefu Chai)

  • cmake: BuildBoost.cmake 中的更改,为 seastar 做准备(pr#21404, Kefu Chai)

  • cmake: 检查 aligned_alloc() 而不是检查 tcmalloc 版本(pr#18557, Kefu Chai)

  • cmake: 检查 libstdc++ 的 saneness,检查 gcc 版本而不是发布日期(pr#18938, Kefu Chai)

  • cmake: 检查 src/boost 中 boost 的版本(pr#19914, Kefu Chai)

  • cmake: 清理(pr#18597, Kefu Chai)

  • cmake,common: 更改,将 ceph 的一部分移植到 osx(pr#17615, Kefu Chai)

  • cmake: 将 nvml 编译为外部项目(pr#17462, Jianpeng Ma)

  • cmake: 为 libstdc++ 和 libc++ 定义 HAVE_STDLIB_MAP_SPLICING(pr#21284, Kefu Chai)

  • cmake: 如果 cmake 版本低于 3.1,则禁用 DOWNLOAD_NO_PROGRESS(pr#20492, Kefu Chai)

  • cmake: 禁用 rocksdb 的 FAIL_ON_WARNINGS(pr#19426, Kefu Chai)

  • cmake: 在 options.cc 中禁用 VTA(pr#17393, Kefu Chai)

  • cmake: 在 rocksdb 中不要查找 bzip2/lz4(pr#19963, runsisi)

  • cmake: 不要链接 librados.a(pr#18576, Kefu Chai)

  • cmake: 不要链接未使用或重复的库(pr#18092, Kefu Chai)

  • cmake: 启用仅 py3 构建(pr#20064, Kefu Chai)

  • cmake: 默认启用 LZ4(pr#21332, Grant Slater, Casey Bodley)

  • cmake: 启用新策略以抑制 cmake 警告(pr#21662, Kefu Chai)

  • cmake: 修复在不带 mgr 模块的情况下构建(pr#21591, Yuan Zhou)

  • cmake: 修复 frontend cmake 构建(pr#21449, Ricardo Dias)

  • cmake: 修复 libcephfs-test.jar 构建失败(issue#22828, pr#20175, Tone Zhang)

  • cmake: 修复构建 boost::python 的 include 目录(pr#20324, Kefu Chai)

  • cmake: 修复状态消息中的拼写错误(pr#21464, Lenz Grimmer)

  • cmake: 隐藏从其他库导入到 libcls_* 的符号(issue#23517, pr#21571, Kefu Chai)

  • cmake: 识别 rocksdb 和 tcmalloc 可能的不兼容性(issue#21422, pr#17788, Kefu Chai)

  • cmake: 如果选择了错误的 ALLOCATOR,则发出警告(pr#17422, Adam Kupczyk)

  • cmake: 将 frontend 构建包含在 ‘all’ 目标中(pr#21466, John Spray)

  • cmake: 让 “tests” 依赖于 “mgr-dashboard-frontend-build”(pr#21468, Kefu Chai)

  • cmake: ‘make check’ 构建 radosgw 及其 cls 依赖项(pr#20422, Casey Bodley)

  • cmake: mgr: 排除 .gitignore(pr#19174, Nathan Cutler)

  • cmake/modules/BuildRocksDB.cmake: 为 rocksdb 启用压缩(issue#24025, pr#22183, Kefu Chai)

  • cmake: 只在 linux 上创建 sysctl 文件(pr#19029, Kefu Chai)

  • cmake: 将静态 linkflags 传递给链接 libcommon 的链接器(pr#19763, Kefu Chai)

  • cmake: s/boost_256/boost_sha256/(pr#21573, Kefu Chai)

  • cmake: 以正确的方式设置支持的语言(pr#18216, Kefu Chai)

  • cmake: 应该使用 GPERFTOOLS_LIBRARIES 的值作为 REQUIRED_VARS(pr#18645, Kefu Chai)

  • cmake: s/sysconf/sysconfig/(pr#20631, Kefu Chai)

  • cmake: 将 nvml 子模块同步到最新代码(pr#20411, Jianpeng Ma)

  • cmake: System Includes 以抑制子模块和库的警告!(pr#18711, Adam C. Emerson)

  • cmake: npm 未找到时的拼写错误修复(pr#20801, Abhishek Lekshmanan)

  • cmake: 将最低 boost 版本升级到 1.66(issue#20048, issue#22600, pr#19808, Casey Bodley)

  • cmake: 更新 gperftools bug 的错误消息(pr#17901, Kefu Chai)

  • cmake: 如果 libstdc++ 版本低于 5.1.0,则发出警告(pr#18837, Kefu Chai)

  • cmake: 默认 WITH_SPDK=ON(pr#18944, Liu-Chunmei, Kefu Chai, wanjun.lp, Ziye Yang)

  • common: 在某些 cli 结果末尾添加换行符(issue#21019, pr#16687, songweibin)

  • common: 为 “ceph daemon TYPE.ID version” 添加换行符(pr#17146, Zhu Shangzhong)

  • common: 添加仅包含 Ceph 版本号和发行版的元数据(pr#21095, Wido den Hollander)

  • common: 添加 ms_async_op_threads 的 min/max(pr#19942, Shinobu Kinjo)

  • common: 为未初始化的警告添加 noreturn 属性(pr#19348, Adam C. Emerson)

  • common: auth: 为 load 函数中的日志信息添加错误原因(pr#17256, Luo Kexue)

  • common: bench test 在 <seconds>=0 时会陷入死循环(pr#16382, PC)

  • common: buffer: 移除新的 _mempool 字段,避免改变 bufferlist ABI(issue#21573, pr#18408, Sage Weil)

  • common: 默认情况下,在 shared_cache 代码中不针对泄漏进行断言(issue#21737, pr#18201, Greg Farnum)

  • common: ceph: 为 watch-channel 参数在帮助消息中添加右括号(pr#19698, Chang Liu)

  • common: ceph.in: 使用相同的 python 执行 execv(pr#17713, Kefu Chai)

  • common: ceph_release: s/rc/stable/(pr#22264, Sage Weil)

  • common: 更改例程为公共访问(pr#20003, Willem Jan Withagen)

  • common: 在使用 this->data.op_size 之前进行检查(pr#18816, Amit Kumar)

  • common: 清理 address_helper(pr#19643, Shinobu Kinjo)

  • common: cmake,common/RWLock: 检查 pthread 扩展(pr#19202, Kefu Chai)

  • common: common: 添加 for_each_substr() 以实现廉价的字符串拆分(pr#18798, Casey Bodley)

  • common: common: 为 json/xml 转义添加流式接口(pr#19806, Casey Bodley)

  • common: common/admin_socket: 在将命令 JSON 输入 hook 之前对其进行验证(pr#20437, Kefu Chai)

  • common: common/blkdev: 修复 FreeBSD 环境下的构建(pr#19316, Mykola Golub)

  • common: common/buffer: 清理(pr#18312, Shinobu Kinjo)

  • common: common/buffer: 将 crc 缓存从 map 切换为单个 pair(pr#18906, Piotr Dałek)

  • common: common/config: 为选项添加单位(issue#22747, pr#20419, Kefu Chai)

  • common: common/config: 限制对 normalize_key_name 的调用(pr#20318, Piotr Dałek)

  • common: common/config: 使 internal_safe_to_start_threads 内部化(pr#18884, Sage Weil)

  • common: common/ConfUtils: 在实际规范化之前检查键(pr#20370, Piotr Dałek)

  • common: common/dns_resolv.cc: 如果 ms_bind_ipv6 为 True,则查询 AAAA 记录(issue#23078, pr#20530, Wido den Hollander)

  • common: common/dns_resolve: 修复内存泄漏(pr#19649, Yao Zongyou)

  • common: common/event_socket.h: 包含 <errno.h> 以使用 errno(pr#18351, Kefu Chai)

  • common: common/Formatter: 修复 {json,xml}_stream_escaper 的 string_view 用法(issue#23622, pr#21317, Sage Weil)

  • common: common/hobject: 直接比较两个对象的键(pr#21062, xie xingguo)

  • common: common/hobject: 保留 hobject 的顺序(pr#21217, Kefu Chai)

  • common: common/ipaddr: 不选择链路本地 IPv6 地址(issue#21813, pr#20862, Wido den Hollander)

  • common: common/lockdep: 删除 hash<pthread_t> 特化(pr#20574, Kefu Chai)

  • common: common/LogClient: 原子地分配 seq 和 queue(issue#18209, pr#16828, Sage Weil)

  • common: common/log: 日志速度提升(pr#19100, Adam Kupczyk, Kefu Chai)

  • common: common/OpHistory: 将 insert/cleanup 移到单独的线程(pr#20540, Piotr Dałek)

  • common: common/options: 删除未使用的选项(pr#20895, Kefu Chai)

  • common: common/options: 为 log_stderr_prefix 添加长描述(pr#19869, Sage Weil)

  • common: common/options: 按引用传递并使用用户字面量表示大小(pr#18034, Kefu Chai)

  • common: common/options: 为默认值使用用户定义的字面量(pr#17180, Kefu Chai)

  • common: common/perf_counters: 移除未使用的参数(pr#19805, Kefu Chai)

  • common: common/pick_address.cc: 清理(pr#19707, Shinobu Kinjo)

  • common: common/pick_address: pick_iface() 中的 prefix_len 错误(pr#20128, Gu Zhongyan)

  • common: common/str_list: s/boost::string_view/std::string_view/(pr#20475, Kefu Chai)

  • common: common/strtol: 修复 strict_strtoll(),使其接受以 0x 开头的十六进制数(pr#21521, Kefu Chai)

  • common: common/strtoll: 移除多余的 const 限定符(pr#21560, Jan Fajerski)

  • common: common/throttle: 开始使用 64 位值(issue#22539, pr#19759, Igor Fedotov)

  • common: common/types: 使显示空间使用情况的数字更清晰(pr#17126, xie xingguo)

  • common: common/util: 如果 VERSION_ID 缺失,则不打印错误(pr#17787, Kefu Chai)

  • common: compressor: 为 type=”random” 使用 generate_random_number()(pr#18272, Casey Bodley)

  • common: compressor/zstd: 改进(pr#18879, Sage Weil)

  • common: 使用 contents.size() 而不是 lru.size() 计算 SimpleLRU 的大小(issue#22613, pr#19813, Xuehan Xu)

  • common: config: 扩展 ~/.ceph/$cluster.conf 的波浪号(issue#23215, pr#20774, Rishabh Dave)

  • common: config: 在 set_mon_vals() 上通知配置观察者(pr#21161, Casey Bodley)

  • common: config: 删除 _get_val(pr#18222, Adam C. Emerson)

  • common/config: 使用 with_val() 以获得更好的性能(pr#19056, Adam C. Emerson)

  • common: 合并自旋锁(pr#15816, Jesse Williamson)

  • common,core: common, osd: 各种清理(pr#18149, Kefu Chai)

  • common,core: common/pick_address: 添加 {public,cluster}_network_interface 选项(pr#18028, Sage Weil)

  • common,core: common/Throttle: 清理(pr#16618, Adam C. Emerson)

  • common,core: 修复 streamstream::rdbuf() 的错误使用(issue#22715, pr#19998, Sage Weil)

  • common,core: include/ceph_features: 弃用许多功能(pr#18546, Sage Weil)

  • common,core: include,messages,rbd: 初始化 counter,group_pool(pr#17774, Amit Kumar)

  • common,core: options: 不要使用指针链表!(pr#17984, Adam C. Emerson)

  • common,core: osdc/Objecter: 在 LingerOp 上而不是子 Ops 上获取预算(issue#22882, pr#20519, Greg Farnum)

  • common,core: osd/OpRequest: 在禁用跟踪时减少开销(pr#18470, Haomai Wang)

  • common,core: rados: 优先使用模板而不是宏(pr#19913, Adam C. Emerson)

  • common,core,rbd,rgw: common,osd,rgw: SCA 期间发现的问题修复(pr#21419, Danny Al-Gaaf)

  • common,core,rbd,tests,tools: common,mds,mgr,mon,osd: 仅当事件已添加时才存储(pr#16312, Kefu Chai)

  • common,core: 恢复“msg/async/AsyncConnection: 在发生竞争时取消注册连接”(issue#22231, pr#19586, Sage Weil)

  • common,core: 恢复“osd/OSDMap: 允许 pg-upmap-items 的双向交换”(issue#21410, pr#17760, Sage Weil)

  • common: Coverity 和 SCA 修复(pr#17431, Danny Al-Gaaf)

  • common/crc/aarch64: 添加了 pmull CPU 功能并使其特定于 aarch64...(pr#22184, Adam Kupczyk)

  • common: crush/CrushWrapper: 修复越界访问(issue#20926, pr#16869, Sage Weil)

  • common: crypto: 移除 cryptopp 库(pr#20015, Casey Bodley)

  • common: denc 清理和其他修复(pr#19877, Adam C. Emerson)

  • common: denc: 支持具有底层类型的枚举(pr#18701, Kefu Chai)

  • common: 在初始化后销毁 RWLock 的 attr(pr#17103, Wen Zhang)

  • common: dmclock: 使用 subtree 中的更改更新 mClockPriorityQueue(pr#20992, Casey Bodley)

  • common: dout: DoutPrefixProvider 直接操作流(pr#21608, Casey Bodley)

  • common: 删除 std 的命名空间 using 指令(pr#19159, Shinobu Kinjo)

  • common: 删除 opts 中未使用的变量 “bluestore_csum_*_block”(pr#17394, songweibin)

  • common: encoding: 如果 optional<> 未初始化,则重置它(pr#17599, Kefu Chai)

  • common: Extends random.h: 允许数字类型使用兼容类型(与(pr#20670, Jesse Williamson)

  • common: 修复 BoundedKeyCounter const_pointer_iterator(issue#22139, pr#18953, Casey Bodley)

  • common: 修复解析无效参数时守护进程异常退出(issue#21365, issue#21338, pr#17664, Yan Jun)

  • common: 修复 HTMLFormatter 中潜在的内存泄漏(pr#20699, Yao Zongyou)

  • common: 修复注释中的拼写错误 deamon(pr#17687, yonghengdexin735)

  • common: 修复 options.cc 中的拼写错误(pr#20549, songweibin)

  • common: FreeBSD 需要正确的 struct 选择用于 ipv6(issue#21813, pr#21143, Willem Jan Withagen)

  • common: global: 在联系 mon 之前,输出 -h, --help 或无参数时的用法(pr#20812, Sage Weil)

  • common: 根据默认详细程度提示 dout() 的主分支(pr#21259, Radoslaw Zarzynski)

  • common: 实现随机数生成器(遵循 N3551)(issue#18873, pr#15341, Jesse Williamson)

  • common: 改进向用户发送信号时的消息(issue#23320, pr#21000, Erwan Velu)

  • common: include/encoding: 修复兼容版本错误消息(pr#19660, Xinying Song)

  • common: include/interval_set: 参数化 map 类型并删除 btree_interval_set.h(pr#18611, Sage Weil)

  • common: include/rados: 修复 librados.h 中的拼写错误(pr#17988, wumingqiao)

  • common: include: 移除未使用的头文件 ciso646(pr#18320, Shinobu Kinjo)

  • common: include/types: 使用小数因子格式化小数(issue#22095, pr#19117, Jan Fajerski)

  • common: include: xlist: 修复 Clang 缺 string 的错误(pr#19367, Willem Jan Withagen)

  • common: interval_set: 删除 subset_of()(pr#21108, xie xingguo)

  • common: interval_set: 优化 intersect_of 插入操作(issue#21229, pr#17265, Zac Medico)

  • common: 引入 md_config_cacher_t(pr#20320, Radoslaw Zarzynski)

  • common: 启动 mimic(pr#16993, Sage Weil)

  • common: lockdep 修复(issue#20988, pr#17738, Jeff Layton)

  • common: log: 重用时清除线程本地流的 ios 标志(pr#20174, Casey Bodley)

  • common: shunique_lock.h 中逻辑上死掉的代码(pr#17341, Amit Kumar)

  • common: 使 ceph_clock_now() 可内联(pr#20443, Radoslaw Zarzynski)

  • common: 使调用 assert() 的代码更小(pr#20445, Adam Kupczyk)

  • common: 将一些消息标记为信息性,而不是错误(pr#16594, Willem Jan Withagen)

  • common: 在构造函数外标记 TrackedOp 的事件(issue#22608, pr#19828, Xuehan Xu)

  • common: mgr/dashboard_v2: 修复 test_cluster_configuration 测试(issue#23265, pr#20782, Sebastian Wagner)

  • common: mimic: include/types: 数字和单位之间的空格(pr#22107, Sage Weil)

  • common,mon: crush,mon: 修复 weight-set 与 crush 设备类(issue#20939, pr#16883, Sage Weil)

  • common,mon,osd,pybind: 抑制警告并移除可执行模式位(pr#17512, Kefu Chai)

  • common: msg/async/AsyncConnection: 减少 debug 噪声(pr#20600, Sage Weil)

  • common: msg/async: 根据 core_id 指定的核心执行,而不是其索引(pr#20659, Kefu Chai)

  • common: msg/msg_types: 修复 entity_addr_t 的解码器(pr#17699, Kefu Chai)

  • common: msg/simple: s/ceph::size/std::size/(pr#19896, Kefu Chai)

  • common/options.cc: 清理可读的默认大小字面量(pr#18425, Enming Zhang)

  • common/options.cc: 为 Filestore 设置 rocksdb compaction readahead 选项(issue#21505, pr#17900, Mark Nelson)

  • common: OpTracker 在 nref == 0 时不访问 TrackedOp(issue#24037, pr#22160, Radoslaw Zarzynski)

  • common: osdc/Objecter: 修复警告(pr#21757, Sage Weil)

  • common: osdc/Objecter: 正确记录 l_osdc_op_send_bytes 的值(issue#21982, pr#18810, Jianpeng Ma)

  • common: osd/PrimaryLogPG: 在缓存未命中时向 primary 发送请求(issue#20919, pr#16884, Sage Weil)

  • common: osd_types: 将 eversion_t::max() 中的 max 定义为 static(pr#17453, yang.wang)

  • common,os: 初始化 commit_data,cmount,iocb(pr#17766, Amit Kumar)

  • common: posix_fallocate 在 ZFS 上返回 EINVAL(pr#20398, Willem Jan Withagen)

  • common: rados: 清理 rados_getxattrs() 和 rados_striper_getxattrs()(pr#20259, Gu Zhongyan)

  • common: RAII 风格的 PerfCounters 更新机制(pr#19149, Radoslaw Zarzynski)

  • common: random: 恢复从 boost::optional 到 std::optional 的更改(issue#23778, pr#21567, Casey Bodley)

  • common: 移除 ceph_clock_gettime, extern 关键字(pr#19353, Shinobu Kinjo)

  • common: retry_sys_call 不需要获取函数指针的地址(pr#21281, Leo Zhang)

  • common: 恢复 “common/config: 返回 const 引用而不是副本”(pr#18934, Kefu Chai)

  • common: 恢复 “core: 提示 dout() 的消息构建是冷代码。”(issue#23169, pr#20636, Kefu Chai)

  • common,rgw: rgw,common,rbd: s/boost::regex/std::regex/(pr#19393, Kefu Chai)

  • common,rgw: rgw,common: 移除已包含的头文件(pr#19390, Yao Zongyou)

  • common: 抑制 obj_bencher.cc 中 jenkins 的构建警告(pr#17272, Luo Kexue)

  • common: src/common: 更新一些 ms_* 选项以使其更一致(pr#20652, shangfufei)

  • common: src/msg/async/rdma: 通过 rdtsc 指令减少 CPU 使用(pr#16965, Jin Cai)

  • common: Static Pointer(pr#19079, Adam C. Emerson)

  • common: strict_strtol INT_MAX 和 INT_MIN 是有效的(pr#18574, Shasha Lu)

  • common: s/unique_lock/lock_guard/,如果不需要手动 lock/unlock(pr#19770, Shinobu Kinjo)

  • common: 切换单例以使用 immobile_any 并进行清理(pr#20273, Adam C. Emerson)

  • common: test: 修复 unittest 内存泄漏以抑制 valgrind(pr#19654, Yao Zongyou)

  • common,tests: test/common: unittest_mclock_priority_queue 可以用 “make” 命令构建(pr#17582, J. Eric Ivancich)

  • common,tests: test/librados: 创建唯一的锁名称(issue#20798, pr#16953, Neha Ojha)

  • common: tools/crushtool: 如果名称不存在,则跳过设备 ID(issue#22117, pr#18901, Jan Fajerski)

  • common: 对 HeartbeatMap 使用单调时钟(pr#17827, Xinze Chi, Kefu Chai)

  • common: 在 build_options() 中使用 move 而不是 copy(pr#18003, Casey Bodley)

  • common: utime:修复 __32u sec 时间溢出(pr#21113, kungf)

  • compressor: 重新添加 zstd(pr#21106, Kefu Chai)

  • compressor: 条件化 HAVE_LZ4(pr#17059, Kefu Chai)

  • compressor: 移除损坏的 AsyncCompressor(pr#18472, Haomai Wang)

  • core: blkin: 修复 OSD 中无条件的跟踪(pr#19156, Yingxin)

  • core: ceph-debug-docker.sh: 添加 ceph-osd-dbg 包(pr#17947, Patrick Donnelly)

  • core: ceph.in: 为 scrub 和 deep-scrub 添加阻塞模式(pr#19793, Brad Hubbard)

  • core: ceph.in: 在交互模式下不因 control+d 恐慌(pr#18374, Kefu Chai)

  • core: ceph.in: 如果缺少参数,则打印所有匹配的命令(issue#22344, pr#19547, Kefu Chai)

  • core: ceph.in: 使用不同的变量来保存抛出的异常(pr#20663, Kefu Chai)

  • core: ceph-kvstore-tool: 复制到不同的存储类型并正确清理(pr#18029, Josh Durgin)

  • core: ceph-mgr: 用完后退出(issue#23482, pr#21401, Sage Weil)

  • core: ceph_osd.cc: 删除过时或冗余的代码(pr#18718, Shinobu Kinjo)

  • core: ceph-osd: 某些标志未在帮助输出中记录(issue#20057, pr#15565, Yanhu Cao)

  • core: ceph: 将 “status” 的输出打印为字符串而不是字节(pr#21297, Kefu Chai)

  • core: ceph-rest-api: 当 port=0 时使用 DEFAULT_PORT 代替(pr#17443, You Ji)

  • core: ceph_test_objectstore: 为测试禁用 filestore_fiemap(issue#21880, pr#18452, Sage Weil)

  • core: ceph_test_objectstore: 对于 0 长度的 0,不要改变模型(issue#21712, pr#18519, Sage Weil)

  • core: ceph_test_rados_api_aio: 修复满池和 osdmap 的 race(issue#23916, issue#23917, pr#21709, Sage Weil)

  • core: ceph_test_rados_api_tier: 添加 ListSnap 测试(pr#17706, Xuehan Xu)

  • core: client,osd,test: 初始化 fuse_req_key,snap,who,seq(pr#17772, Amit Kumar)

  • core: common/admin_socket: 各种清理(pr#20274, Adam C. Emerson)

  • core: common/config: 清理并移除一些未使用的宏(pr#19599, Yao Zongyou)

  • core: common,mds,osd: 如果不可复制,则显式删除复制构造函数(pr#19465, Shinobu Kinjo)

  • core: common/options: 为 filestore 启用多个 rocksdb 压缩线程(pr#18232, Josh Durgin)

  • core: common, osd: OpTracker 中重复的 “start” 事件,改进 OpTracker::dump_ops(pr#21119, Chang Liu)

  • core: compressor: 添加 Brotli Compressor(pr#19549, BI SHUN KE)

  • core: config: 降低一次恢复的 omap 条目默认数量(issue#21897, pr#19910, Josh Durgin)

  • core: crush/CrushWrapper: 修复潜在的迭代器无效使用(pr#21325, xie xingguo)

  • core: dmclock: 传递 dmclock 增量、rho 和 phase 参数 + 启用客户端服务跟踪器(pr#16369, Byungsu Park, Taewoong Kim)

  • core: erasure-code: 重构接口以隐藏内部实现(pr#18683, Kefu Chai)

  • core: erasure-code: 使用 jerasure_free_schedule 来正确释放 schedule(pr#19650, Yao Zongyou)

  • core: erasure-code: 使用 std::count() 代替(pr#19428, Kefu Chai)

  • core: etc/default/ceph: 移除 jemalloc 选项(issue#20557, pr#18486, Sage Weil)

  • core: filestore: 包含 <linux/falloc.h>(pr#20415, wumingqiao)

  • core: 修复 fio rdma 性能测试中的死锁(pr#17016, Wang Chuanhong)

  • core: 修复由于大量 OSD 重启后遗留的 DNE pg 导致的断言(issue#21833, pr#20571, David Zafman)

  • core: include: 移除 MIN 和 MAX 宏(pr#20886, Sage Weil)

  • core: interval_set: 优化 intersection_of(pr#17088, Zac Medico)

  • core: kv/KeyValueDB: 添加列族(pr#18049, Jianjian Huo, Adam C. Emerson, Sage Weil)

  • core: kv/RocksDB: 获取索引和过滤器块的内存使用情况(pr#19934, Zhi Zhang)

  • core: kv/RocksDBStore: 修复块缓存禁用时 rocksdb 错误(issue#23816, pr#21583, Yang Honggang)

  • core: librados: 添加 OPERATION_ORDERSNAP 标志和另一个 aio_operate 方法(pr#20343, Mykola Golub)

  • core: librados.h: 添加 LIBRADOS_SUPPORTS_APP_METADATA(pr#16542, Matt Benjamin)

  • core: libradosstriper: 修复 rados_striper_trunc 的函数声明(pr#20301, yuelongguang)

  • core: libradosstriper: 抑制 -Wreorder 的警告(pr#16890, songweibin)

  • core: 使主 dout() 路径更快、更易于维护(pr#20290, Radoslaw Zarzynski)

  • core: messages: 初始化变量 beat(pr#17641, Amit Kumar)

  • core: messages: 初始化成员变量(pr#16846, amitkuma)

  • core: messages: 初始化 MMDSFindIno 中的变量 tid(pr#16793, amitkuma)

  • core: messages: 初始化 MOSDPGRecoveryDelete[Reply] 中的成员变量(pr#16928, amitkuma)

  • core: messages: 初始化 ceph_mds_reply_head 变量(pr#17090, amitkuma)

  • core: messages,journal: 初始化 stats_period,m_active_set(pr#17792, Amit Kumar)

  • core: messages/MOSDMap: 对 crush map 进行兼容性重编码(issue#21882, pr#18454, Sage Weil)

  • core: messages/MOSDOp: encode_payload 的一些修复(pr#16836, Ying He)

  • core: messages: 抑制未初始化的成员警告(pr#17596, Amit Kumar)

  • core: mgr/DaemonServer.cc: 解码 caps 错误时添加 ‘is_valid=false’(issue#20990, pr#16978, Yanhu Cao)

  • core,mgr: mgr/balancer: 改进错误消息(issue#22814, pr#21427, Sage Weil)

  • core,mgr: osd,mgrclient: 按右值引用传递 daemon_status 以及其他清理(pr#18509, Kefu Chai)

  • core,mgr: osd,mgr: 将慢请求和待创建 pg 报告给 mgr(pr#18614, Kefu Chai)

  • core: mimic: crush: 移除 bucket 时更新 choose_args(issue#24167, pr#22120, Sage Weil)

  • core: mimic: osdc: lock op->on_notify_finish(issue#23966, pr#21834, Kefu Chai)

  • core: mimic: osd: 清理 smart probe(issue#23899, issue#24104, pr#21959, Sage Weil, Gu Zhongyan)

  • core: mimic: osd: 即使在较小块的 preemptive 重新启动时也不要驱逐(pr#22041, David Zafman)

  • core: mimic: osd/PrimaryLogPG: 修复 try_flush_mark_clean 写入争用情况(issue#24200, issue#24174, pr#22113, Sage Weil)

  • core: mon/ConfigKeyService: dump: 为二进制 blob 打印占位符值(issue#23622, pr#21329, Sage Weil)

  • core,mon: crush, mon: 仅在真正创建 weight-set 时才增加 map 版本(pr#20178, xie xingguo)

  • core: mon/LogMonitor: 按通道分离摘要(pr#21395, Sage Weil)

  • core,mon: mon/AuthMonitor: 在 create_initial() 上创建 bootstrap 密钥(pr#21236, Joao Eduardo Luis)

  • core,mon: mon/LogMonitor: 在 log sub 没有消息时不要崩溃(pr#21469, Sage Weil)

  • core,mon: mon,osd,crush: 杂项清理(pr#20687, songweibin)

  • core,mon: mon/OSDMonitor: 注释掉未使用的函数(pr#20275, Brad Hubbard)

  • core,mon: mon/OSDMonitor: 如果池已删除,则不要创建 pg(issue#21309, pr#17600, Joao Eduardo Luis)

  • core,mon: mon/OSDMonitor: 实现群集 pg 限制(pr#17427, Sage Weil)

  • core,mon: mon/OSDMonitor: 在命名桶中列出 osd 树(pr#19564, kungf)

  • core: mon, osd: 为池添加创建时间(pr#21690, xie xingguo)

  • core: mon, osd: 修复 PG 重映射后可能发生的 *Up Set* 冲突(issue#23118, pr#20653, xie xingguo)

  • core,mon: osd,mon: 添加 max-pg-per-osd 限制(pr#18358, Kefu Chai)

  • core: mon/OSDMonitor: 从 force-create-pg 中过滤掉不应存在的 pg(pr#20267, Sage Weil)

  • core: mon/OSDMonitor: 修复复制池的 min_size 默认值(pr#20555, Josh Durgin)

  • core: mon/OSDMonitor: 修复 OSDMonitor 错误消息输出(issue#22351, pr#20022, Brad Hubbard)

  • core: mon/OSDMonitor: 使 ‘osd crush class rename’ 幂等(pr#17330, xie xingguo)

  • core: mon/OSDMonitor: 重命名外部名称声明以避免遮蔽(pr#20032, Sage Weil)

  • core: mon/OSDMonitor: 为 force-create-pg 要求 --yes-i-really-mean-it(pr#21619, Sage Weil)

  • core: mon,osd,osdc: 重构快照修剪(第一阶段)(pr#18276, Sage Weil)

  • core: mon, osd: 每个池支持 space-full 标志(pr#17371, xie xingguo)

  • core: mon, osd: 降低非错误 scrub 消息的严重性(issue#20947, pr#16916, John Spray)

  • core: mon/PGMap: 修复 PGMapDigest 解码(pr#22099, Sage Weil)

  • core: mon/PGMap: 修复 %USED 计算错误(issue#22247, pr#19165, Xiaoxi Chen)

  • core: mon/PGMap: 移除或缩小 ‘pg ls’ 输出的列(pr#20945, Sage Weil)

  • core: mon/PGMap: ‘unclean’ 不意味着 damaged(pr#18493, Sage Weil)

  • core: MOSDPGRecoveryDelete[Reply]: 增加头版本(pr#17585, Josh Durgin)

  • core: msg/asyc/rmda: 修复 Infiniband::recv_msg 接收断开消息时触发 assert 的 bug(pr#17688, Jin Cai)

  • core: msg/async/AsyncConnection: 合并多次分配为一次(pr#18833, Haomai Wang)

  • core: msg/async/AsyncConnection: 修复 process_connection 中的 FPE(issue#23618, pr#21314, Brad Hubbard)

  • core: msg/async/AsyncConnection: 如果被另一个连接替换,则状态将为 NONE(issue#21883, pr#18467, Haomai Wang)

  • core: msg/async/AsyncConnection: 在发生竞争时取消注册连接(pr#19013, Haomai Wang)

  • core: msg/async: 批量处理 numevents(pr#18321, Jianpeng Ma)

  • core: msg/async: 如果正在替换,则不要杀死连接(issue#21143, pr#17288, Haomai Wang)

  • core: msg/async: 不要陷入 resetsession/retrysession 循环(pr#17276, Haomai Wang)

  • core: msg/async: 修复 uint64_t -> int -> uint64_t 的数据类型转换 bug(pr#18210, shangfufei)

  • core: msg/async: 如果 add_event 失败,则打印错误日志(pr#17102, mychoxin)

  • core: msg/async/rdma: 修复多个 cephcontext 冲突(pr#16893, Haomai Wang)

  • core: msg/async/rdma: 修复 rdma 轮询线程使用与 msg worker 相同的线程名的问题(pr#16936, Jin Cai)

  • core: msg/async/rdma: 改进 RX 缓冲区管理(pr#16693, Alex Mikheev)

  • core: msg/async/rdma: 未初始化变量修复(pr#18091, Vasily Philipov)

  • core: msg/DispatchQueue: wait() 后清空队列(issue#18351, pr#20374, Sage Weil)

  • core: msgr/simple: 将 Pipe::out_seq 设置为连接方的 in_seq(issue#23807, pr#21585, Xuehan Xu)

  • core: os/bluestore: 调试 bluestore 缓存关闭(issue#21259, pr#17844, Sage Weil)

  • core: os/bluestore: 禁用 on_applied sync_complete(issue#22668, pr#20169, Sage Weil)

  • core: os/bluestore: 使 bdev 标签解析错误更有意义且不那么嘈杂(pr#20090, Sage Weil)

  • core: os/bluestore: 使由 start_kv_only 打开的 BlueStore 可卸载(issue#21624, pr#18082, Chang Liu)

  • core: os/bluestore: 使用 db->rm_range_keys 删除键范围(pr#18279, Xiaoyan Li)

  • core: OSD/admin_socket: 添加 get_mapped_pools 命令(pr#19112, Xiaoxi Chen)

  • core: osdc, class_api: 移除隐式字符串转换(pr#16648, Piotr Dałek)

  • core: osdc: 在 pool_dne 的情况下减少 num_in_flight(pr#21110, Jianpeng Ma)

  • core: osdc: 不要将 lock_guard 用作 unique_lock(pr#19756, Shinobu Kinjo)

  • core: osdc: 在 linger 提交失败时调用 notify finish context(issue#23966, pr#21786, Jason Dillaman)

  • core: osdc/Objecter: 如果收到重定向回复,则添加 ignore overlay 标志(pr#21275, Ting Yi Lin)

  • core: osdc/Objecter: 在 _send_op 中延迟 hobject_t 的初始化(issue#21845, pr#18427, Jason Dillaman)

  • core: osdc/Objecter: 修复 _finish_command 中的递归锁定(issue#23940, pr#21742, Sage Weil)

  • core: osdc/Objecter: 杂项清理(pr#18476, Jianpeng Ma)

  • core: osdc/Objecter: 防止 linger op 回调的重复调用(issue#23872, pr#21649, Jason Dillaman)

  • core: osdc/Objecter: 如果 bufferlist 为空,则跳过稀疏读取结果解码(issue#21844, pr#18400, Jason Dillaman)

  • core: osd,compressor: 通过 MOSDBoot 公开压缩算法(issue#22420, pr#20558, Jesse Williamson)

  • core: osdc: 移除未使用的函数(pr#21081, Jianpeng Ma)

  • core: osd,dmclock: 使用 ClientInfo 的指针而不是其副本(pr#18387, Kefu Chai)

  • core: osd: 不要忘记发送失败的 pg_stat ack(pr#16702, huangjun)

  • core: OSD: 移除传递给 check_osdmap_features 的未使用的参数(pr#18466, Leo Zhang)

  • core: osd/ECBackend: 在 deep scrub 中注入 sleep(pr#20531, xie xingguo)

  • core: osd/ECBackend: 在完成 recovery reads 时只检查必需的 shards(issue#23195, pr#21273, Josh Durgin)

  • core: osd/ECBackend: 更新关于 EIO 处理的误导性注释(pr#21686, Josh Durgin)

  • core: osd/ECBackend: 等待 luminous peers 的 apply(pr#21604, Sage Weil)

  • core: osd/ECMsgTypes: 修复 ECSubRead 兼容解码(pr#20948, Sage Weil)

  • core: osd, librados: 添加 rados op (TIER_PROMOTE)(pr#19362, Myoungwon Oh)

  • core: osd,librados: 添加分块对象的 manifest 和操作(pr#15482, Myoungwon Oh)

  • core: osd,messages: 初始化 read_length,options,send_reply(pr#17799, Amit Kumar)

  • core: osd/OSD: 批量列出对象以减少内存消耗(pr#20767, xie xingguo)

  • core: osd/OSD.cc: 失败解析 caps 时添加 ‘isvalid=false’(pr#16888, Yanhu Cao)

  • core: osd/OSD.cc: 使用选项 ‘osd_scrub_cost’ 代替(pr#18479, Liao Weizhong)

  • core: osd/OSDMap: 在打印信息摘要时添加 osdmap epoch 信息(pr#20184, shun-s)

  • core: osd/OSDMap: 修复 encode() 中的 HAVE_FEATURE 逻辑(pr#20922, Ilya Dryomov)

  • core: osd/OSDMap: 忽略来自故障域 OSD 池的 PG(pr#20703, xie xingguo)

  • core: osd/OSDMap: print_oneline_summary() 中存在误导性消息(issue#22350, pr#20313, Gu Zhongyan)

  • core: osd/OSDMap: 更多 pg upmap 修复(issue#23878, pr#21670, xiexingguo)

  • core: osd/OSDMap: remove the unnecessary checks for null (pr#18636, Kefu Chai)

  • core: osd/OSDMap: skip out/crush-out osds (pr#20655, xie xingguo)

  • core: osd/OSDMap: upmap should respect the osd reweights (issue#21538, pr#17944, Theofilos Mouratidis)

  • core: osd/osd_type: get_clone_bytes - inline size() for overlapping size (pr#17823, xie xingguo)

  • core: osd/osd_types.cc: copy extents map too while making clone (pr#18396, xie xingguo)

  • core: osd/osd_types: fix ideal lower bound object-id of pg (pr#21235, xie xingguo)

  • core: osd/osd_types: fix object_stat_sum_t decode (pr#18551, Sage Weil)

  • core: osd/osd_types: fix pg_pool_t encoding for hammer (pr#21282, Sage Weil)

  • core: osd/osd_types: kill preferred field in pg_t (pr#20567, Sage Weil)

  • core: osd/osd_types: object_info_t: remove unused function (pr#17905, Kefu Chai)

  • core: osd/osd_types: pg_pool_t: remove crash_replay_interval member (pr#18379, Sage Weil)

  • core: osd/osd_types: remove backlog type for pg_log_entry_t (pr#20887, Sage Weil)

  • core: osd/OSD: Using Wait rather than WaitInterval to wait queue.is_empty() (pr#17659, Jianpeng Ma)

  • core: osd/PG: allow scrub preemption (pr#18971, Sage Weil)

  • core: osd/PGBackend: delete reply if fails to complete delete request (issue#20913, pr#17183, Kefu Chai)

  • core: osd/PGBackend: drop input “snapid_t” from objects_list_range() (pr#21151, xie xingguo)

  • core: osd/PGBackend: fix large_omap_objects checking (pr#21150, xie xingguo)

  • core: osd/PGBackend: release a msg using msg->put() not delete (issue#20913, pr#17246, Kefu Chai)

  • core: osd/PG: const cleanup for recoverable/readable predicates (pr#18982, Neha Ojha)

  • core: osd/PG: decay scrub_chunk_max too if scrub is preempted (pr#20552, xie xingguo)

  • core: osd/PG: discard msgs from down peers (issue#19605, pr#17217, Kefu Chai)

  • core: osd/PG: drop unused variable “oldest_update” in PG.h (pr#17142, songweibin)

  • core: osd/PG: extend pg state bits to fix pg ls commands error (issue#21609, pr#18058, Yan Jun)

  • core: osd/PG: fix calc of misplaced objects (pr#18528, Kefu Chai)

  • core: osd/PG: fix DeferRecovery vs AllReplicasRecovered race (issue#23860, pr#21706, Sage Weil)

  • core: osd/PG: fix objects degraded higher than 100% (issue#21803, issue#21898, pr#18297, Sage Weil, David Zafman)

  • core: osd/PG: fix out of order priority for PG deletion (pr#21613, xie xingguo)

  • core: osd/PG: fix recovery op leak (pr#18524, Sage Weil)

  • core: osd/PG: fix uninit read in Incomplete::react(AdvMap&) (issue#23980, pr#21798, Sage Weil)

  • core: osd/PG: force rebuild of missing set on jewel upgrade (issue#20958, pr#16950, Sage Weil)

  • core: osd/PG: include primary in PG operator<< for ec pools (pr#19453, Sage Weil)

  • core: osd/PGLog: assert out on performing overflowed log trimming (pr#21580, xie xingguo)

  • core: osd/PGLog: cleanup unused function revise_have (pr#19329, Enming Zhang)

  • core: osd/PGLog: fix sanity check against **complete-to** iter (pr#21612, songweibin)

  • core: osd/PGLog: get rid of ineffective container operations (pr#19161, xie xingguo)

  • core: osd/PGLog: write only changed dup entries (issue#21026, pr#17245, Josh Durgin)

  • core: osd, pg, mgr: make snap trim queue problems visible (issue#22448, pr#19520, Piotr Dałek)

  • core: osd/PG: misc cleanups (pr#18340, Yan Jun)

  • core: osd/PG: miscellaneous choose acting changes and cleanups (pr#18481, xie xingguo)

  • core: osd/PG: pass scrub priority to replica (pr#20317, Sage Weil)

  • core: osd/PG: perfer async_recovery_targets in reverse order of cost (pr#21578, xie xingguo)

  • core: osd/PG: perfer EC async_recovery_targets in reverse order of cost (pr#21588, xie xingguo)

  • core: osd/PG: PGPool::update: avoid expensive union_of (pr#17239, Zac Medico)

  • core: osd/PGPool::update: optimize with subset_of (pr#17820, Zac Medico)

  • core: osd/PG: reduce some overhead on operating MissingLoc (pr#18186, xie xingguo)

  • core: osd/PG: remote recovery preemption, and new feature bit to condition it on (pr#18553, Sage Weil)

  • core: osd/PG: remove unused parameter in calc_ec_acting (pr#17304, yang.wang)

  • core: osd/PG: restart recovery if NotRecovering and unfound found (issue#22145, pr#18974, Sage Weil)

  • core: osd/PG: revert approx size (issue#22654, pr#18755, Adam Kupczyk)

  • core: osd/PG: re-write of _update_calc_stats and improve pg degraded state (issue#20059, pr#19850, David Zafman)

  • core: osd/PG: some cleanups && add should_gather filter for loop logging (pr#19546, Enming Zhang)

  • core: osd/PG: two cleanups (pr#17171, xie xingguo)

  • core: osd/PG: use osd_backfill_retry_interval for schedule_backfill_retry() (pr#18686, xie xingguo)

  • core: osd/PrimaryLogPG: add condition “is_chunky_scrub_active” to check object in chunky_scrub (pr#18506, Jianpeng Ma)

  • core: osd/PrimaryLogPG: arrange recovery order by number of missing objects (pr#18292, xie xingguo)

  • core: osd/PrimaryLogPG: avoid infinite loop when flush collides with write lock (pr#21653, Sage Weil)

  • core: osd/PrimaryLogPG: calc clone_overlap size in a more efficient and concise way (pr#17928, xie xingguo)

  • core: osd/PrimaryLogPG: cleanup do_sub_op && do_sub_op_reply and define soid in prepare_transaction more appropriate (pr#19495, Enming Zhang)

  • core: osd/PrimaryLogPG: clear data digest on WRITEFULL if skip_data_digest (pr#21676, Sage Weil)

  • core: osd/PrimaryLogPG: clear pin_stats_invalid bit properly on scrub-repair completion (pr#18052, xie xingguo)

  • core: osd/PrimaryLogPG: defer evict if head *or* object intersect scrub interval (issue#23646, pr#21628, Sage Weil)

  • core: osd/PrimaryLogPG: do not pull-up snapc to snapset (pr#18713, Sage Weil)

  • core: osd/PrimaryLogPG: do not set data digest for bluestore (pr#17515, xie xingguo)

  • core: osd/PrimaryLogPG: do not set data/omap digest blindly (pr#18061, xie xingguo)

  • core: osd/PrimaryLogPG: do not use approx_size() for log trimming (pr#18338, xie xingguo)

  • core: osd/PrimaryLogPG: do_osd_ops - propagate EAGAIN/EINPROGRESS on failok (pr#17222, xie xingguo)

  • core: osd/PrimaryLogPG: drop unused parameters (pr#18581, Liao Weizhong)

  • core: osd/PrimaryLogPG: fix dup stat for async read (pr#18693, Xinze Chi)

  • core: osd/PrimaryLogPG: Fix log messages (pr#21639, Gu Zhongyan)

  • core: osd/PrimaryLogPG: fix sparse read won’t trigger repair correctly (pr#17221, xie xingguo)

  • core: osd/PrimaryLogPG: fix the oi size mismatch with real object size (issue#23701, pr#21408, Peng Xie)

  • core: osd/PrimaryLogPG: kick off recovery on backoffing a degraded object (pr#17987, xie xingguo)

  • core: osd/PrimaryLogPG: kill add_interval_usage (pr#17807, xie xingguo)

  • core: osd/PrimaryLogPG: maybe_handle_manifest_detail - sanity check obc existence (pr#17298, xie xingguo)

  • core: osd/PrimaryLogPG: misc cleanups (pr#17830, Yan Jun)

  • core: osd/PrimaryLogPG: more oi.extents fixes (pr#18616, xie xingguo)

  • core: osd/PrimaryLogPG: prepare_transaction - fix EDQUOT vs ENOSPC (pr#17808, xie xingguo)

  • core: osd/PrimaryLogPG: request osdmap update in the right block (issue#21428, pr#17828, Josh Durgin)

  • core: osd/PrimaryLogPG: several oi.extents fixes (pr#18527, xie xingguo)

  • core: osd/PrimaryLogPG: trigger auto-repair on full-object-size CRC error (pr#18353, xie xingguo)

  • core: osd/ReplicatedBackend: clean up code (pr#20127, Jianpeng Ma)

  • core: osd/ReplicatedBackend: ‘osd_deep_scrub_keys’ doesn’t work (pr#20221, fang yuxiang)

  • core: osd/ReplicatedPG: add omap write bytes to delta_stats (pr#18471, Haomai Wang)

  • core: osd_types.cc: reorder fields in serialized pg_stat_t (pr#19965, Piotr Dałek)

  • core: os/filestore: disable rocksdb compression (pr#18707, Sage Weil)

  • core: os/filestore/FileStore: Initialized by nullptr, NULL or 0 instead (pr#18980, Shinobu Kinjo)

  • core: os/filestore: fix device/partition metadata detection (issue#20944, pr#16913, Sage Weil)

  • core: os/filestore: fix do_copy_range replay bug (issue#23298, pr#20832, Sage Weil)

  • core: os/Filestore: fix wbthrottle assert (pr#14213, Xiaoxi Chen)

  • core: os/filestore: print out the error if do_read_entry() fails (pr#18346, Kefu Chai)

  • core: os: FileStore, Using stl min | max, MIN | MAX macros instead (pr#19832, Shinobu Kinjo)

  • core: os: fix 0-length zero semantics, add tests (issue#21712, pr#18159, Sage Weil)

  • core: os/FuseStore: fix incorrect used space statistics for fuse’s statfs interface (pr#19033, Zhi Zhang)

  • core: os/kstore: Drop unused function declaration (pr#18077, Jos Collin)

  • core: os/kstore: fix statfs problem and add vstart.sh support (issue#23590, pr#21287, Yang Honggang)

  • core: os/memstore: Fix wrong use of lock_guard (pr#20914, Shen-Ta Hsieh)

  • core: os/ObjectStore: fix get_data_alignment return -1 causing problem in msg header (pr#18475, Haomai Wang)

  • core: os/ObjectStore.h: fix mistake in comment TRANSACTION ISOLATION (pr#16840, mychoxin)

  • core: os,osd: initial work to drop onreadable/onapplied callbacks (issue#23029, pr#20177, Sage Weil)

  • core: os: unify Sequencer and CollectionHandle (pr#20173, Sage Weil)

  • core: PG: fix name of WaitActingChange (pr#18768, wumingqiao)

  • core: pg: handle MNotifyRec event in down state (pr#20959, Mingxin Liu)

  • core: PGPool::update: optimize removed_snaps comparison when possible (pr#17410, Zac Medico)

  • core: PGPool::update: optimize with interval_set.swap (pr#17121, Zac Medico)

  • core: PG: primary should not be in the peer_info, skip if it is (pr#20189, Neha Ojha)

  • core: ptl-tool: checkout branch after creation (pr#18157, Patrick Donnelly)

  • core: ptl-tool: load labeled PRs (pr#18231, Patrick Donnelly)

  • core: ptl-tool: make branch name configurable (pr#18499, Patrick Donnelly)

  • core: ptl-tool: print bzs/tickets cited in commit msgs/comments (pr#18547, Patrick Donnelly)

  • core: pybind/ceph_argparse: fix cli output info (pr#17667, Luo Kexue)

  • core: pybind/ceph_argparse: Fix UnboundLocalError if command doesn’t validate (pr#21342, Tim Serong)

  • core: pybind/ceph_argparse.py:’timeout’ must in kwargs when call run_in_thread (pr#21659, yangdeliu)

  • core,pybind: pybind/ceph_argparse: accept flexible req (pr#20791, Gu Zhongyan)

  • core,pybind: pybind/rados: add alignment getter to IoCtx (pr#21222, Bruce Flynn)

  • core,pybind: pybind/rados: add rados_service_*() (pr#18812, Kefu Chai)

  • core,pybind: pybind/rados: add support open_ioctx2 API (pr#17710, songweibin)

  • core,pybind: rados: support python API of “set_osdmap_full_try” (pr#17418, songweibin)

  • core: qa: fix the potential delay of pg state change (pr#17253, huangjun)

  • core: qa/standalone/osd/repro_long_log: no-mon-config for cot (pr#20919, Sage Weil)

  • core: qa/standalone/scrub/osd-scrub-repair: no -y to diff (issue#21618, pr#18079, Sage Weil)

  • core: qa/suite/rados: fix balancer vs firefly tunables failures (pr#18826, Sage Weil)

  • core: qa/suites/rados: fewer msgr failures (pr#20918, Sage Weil)

  • core: qa/suites/rados/perf: whitelist health warnings (pr#18878, Sage Weil)

  • core: qa/suites/rados/rest/mgr: provision openstack volumes (pr#20573, Sage Weil)

  • core: qa/suites/rados/singleton/all/mon-seesaw: whitelist MON_DOWN (pr#18246, Sage Weil)

  • core: qa/suites/rados/singleton/all/recover-preemption: handle slow starting osd (pr#18078, Sage Weil)

  • core: qa/suites/rados/singleton/recovery_preemption: whitelist SLOW_OPS (pr#21250, Sage Weil)

  • core: qa/suites/rados/diverget_priors*: broaden whitelist (pr#17379, Sage Weil)

  • core: qa/suites/rados/thrash: extend mgr beacon grace when many msgr failures injected (issue#21147, pr#19242, Sage Weil)

  • core: qa/suites/rados/verify/tasks/rados_api_tests: whitelist OBJECT_MISPLACED (pr#21646, Sage Weil)

  • core: qa/workunits/rest/test.py: stop trying to test obsolte cluster_up/down (pr#18552, Sage Weil)

  • core: rados/objclass.h: fix build define CEPH_CLS_API in all cases (pr#21606, Danny Al-Gaaf)

  • core: rados: use WaitInterval()’s return value instead of manual timing (pr#20028, Mohamad Gebai)

  • core,rbd: common,rbd-nbd: fix up prefork behavior vs AsyncMessenger singletons (issue#23143, pr#20681, Sage Weil)

  • core,rbd: librbd,os: address coverity false positives (pr#17793, Amit Kumar)

  • core,rbd: mgr,osd,kv: Fix various warnings for Clang and GCC7 (pr#17976, Adam C. Emerson)

  • core,rbd: vstart.sh: fix mstart variables (pr#20826, Sage Weil)

  • core: rdma: Assign instead of compare (pr#16664, amitkuma)

  • core: remove startsync (issue#20604, pr#16396, Amit Kumar)

  • core: rocksdb: sync with upstream (issue#20529, pr#17388, Kefu Chai)

  • core: rocksdb: sync with upstream (pr#21320, Kefu Chai)

  • core: scrub errors not cleared on replicas can cause inconsistent pg state when replica takes over primary (issue#23267, pr#21101, David Zafman)

  • core: Snapset inconsistency is detected with its own error (issue#22996, pr#20450, David Zafman)

  • core: src/messages/MOSDMap: reencode OSDMap for older clients (issue#21660, pr#18134, Sage Weil)

  • core: src/osd/PG.cc: 6455: FAILED assert(0 == “we got a bad state machine event”) (pr#20933, David Zafman)

  • core: src/test/osd: add two pool test for manifest objects (pr#20096, Myoungwon Oh)

  • core: test/cli/osdmaptool/test-map-pgs.t: remove nondetermimistic test (pr#20872, Sage Weil)

  • core: test/objectstore_bench: Don’t forget judging whether call usage (pr#21369, Jianpeng Ma)

  • core,tests: ceph_test_filestore_idempotent_sequence: many fixes (issue#22920, pr#20279, Sage Weil)

  • core,tests: ceph_test_objectstore: drop expect regex (pr#16968, Sage Weil)

  • core,tests: Erasure code read test and code cleanup (issue#14513, pr#17703, David Zafman)

  • core,tests: Erasure code recovery should send additional reads if necessary (issue#21382, pr#17920, David Zafman)

  • core,tests: osd,dmclock: fix dmclock test simulator change (pr#20270, J. Eric Ivancich)

  • core,tests: os: kstore fix unittest for FiemapHole (pr#17313, Ning Yao)

  • core,tests: os/memstore: memstore_page_set=false (issue#20738, pr#16995, Sage Weil)

  • core,tests: qa/ceph_manager: check pg state again before timedout (issue#21294, pr#17810, huangjun)

  • core,tests: qa/clusters/fixed-[23]: 4 osds per node, not 3 (pr#16799, Sage Weil)

  • core,tests: qa: modify rgw default pool names (pr#21630, Neha Ojha)

  • core,tests: qa/objectstore/bluestore*: less debug output (issue#20910, pr#17505, Sage Weil)

  • core,tests: qa/overrides/2-size-2-min-size: whitelist REQUEST_STUCK (pr#17243, Sage Weil)

  • core,tests: qa/standalone/ceph-helpers: pass --verbose to ceph-disk (pr#19456, Sage Weil)

  • core,tests: qa/standalone/scrub/osd-scrub-repair: fix grep pattern (issue#21127, pr#17258, Sage Weil)

  • core,tests: qa/standalone/scrub/osd-scrub-snaps: adjust test for lack of snapdir objects (pr#17927, Sage Weil)

  • core,tests: qa/suites/rados/monthrash: tolerate PG_AVAILABILITY during mon thrashing (pr#18122, Sage Weil)

  • core,tests: qa/suites/rados/monthrash: whitelist SLOW_OPS (pr#21331, Sage Weil)

  • core,tests: qa/suites/rados/objectstore: logs (issue#20738, pr#16923, Sage Weil)

  • core,tests: qa/suites/rados/perf: create pool with lower pg_num (pr#17819, Neha Ojha)

  • core,tests: qa/suites/rados/rest/mgr-restful: whitelist more health (pr#18457, Sage Weil)

  • core,tests: qa/suites/rados/rest: move rest_test from qa/suites/rest/ (pr#19175, Sage Weil)

  • core,tests: qa/suites/rados/thrash: fix thrashing with ec vs map discon (pr#16842, Sage Weil)

  • core,tests: qa/suites/rados/thrash-old-clients: add hammer clients (pr#21703, Sage Weil)

  • core,tests: qa/suites/rados/thrash-old-clients: add rbd tests (pr#21704, Sage Weil)

  • core,tests: qa/suites/rados/thrash-old-clients: do some thrashing with jewel and luminous clients (pr#21679, Sage Weil)

  • core,tests: qa/suites/rados/thrash-old-clients: only centos and 16.04 (pr#22125, Sage Weil)

  • core,tests: qa/suites/upgrade/jewel-x/stress-split: tolerate sloppy past_intervals (pr#17226, Sage Weil)

  • core,tests: qa/suites/upgrade/luminous-x/stress-split: avoid enospc (pr#21753, Sage Weil)

  • core,tests: qa/tasks/ceph_manager: revive osds before doing final rerr reset (issue#21206, pr#17406, Sage Weil)

  • core,tests: qa/tasks/ceph_manager: tolerate tell osd.* error (pr#19365, Sage Weil)

  • core,tests: qa/tasks/ceph.py: tolerate flush pg stats exception (pr#16905, Sage Weil)

  • core,tests: qa/tasks/filestore_idempotent: shorter test (pr#20509, Sage Weil)

  • core,tests: qa/tasks/thrashosds: set min_in default to 4 (issue#21997, pr#18670, Sage Weil)

  • core,tests: qa/tests: run ceph-ansible task on installer.0 role/node (pr#19605, Yuri Weinstein)

  • core,tests: qa: tolerate failure to force backfill (issue#22614, pr#19765, Sage Weil)

  • core,tests: qa/workunits/rados/test_rados_tool: fix stray |, race (issue#22676, pr#19946, Sage Weil)

  • core,tests: qa/workunits/rados/test.sh: ensure tee output is valid filename (pr#21507, Sage Weil)

  • core,tests: rados: Initialization of alignment (pr#17723, Amit Kumar)

  • core,tests: rados: Initializing members of librados/TestCase.h (pr#16896, amitkuma)

  • core,tests: test: Checking fd for negative before closing (pr#17190, amitkuma)

  • core,tests: test: Check to avoid divide by zero (pr#17220, amitkuma)

  • core: tool: change default objectstore from filestore to bluestore (pr#18066, Song Shun)

  • core: tool: misc cleanup of ceph-kvstore-tool (issue#22092, pr#18815, Chang Liu)

  • core,tools: Add export and remove ceph-objectstore-tool command option (issue#21272, pr#17538, David Zafman)

  • core,tools: ceph-objectstore-tool: fix import of post-split pg from pre-split ancestor (issue#21753, pr#18229, Sage Weil)

  • core: tools/ceph-objectstore-tool: split filestore directories offline to target hash level (issue#21366, pr#17666, Zhi Zhang)

  • core,tools: common, tool: update kvstore-tool to repair key/value database (issue#17730, issue#21744, pr#16745, liuchang0812, Chang Liu)

  • core,tools: osd,os/bluestore: kill clang analyzer warnings (pr#18015, Kefu Chai)

  • core: tools/rados: add touch command to change object modification time (pr#18913, Yao Zongyou)

  • core,tools: scripts: add ptl-tool for scripting merges (pr#17926, Patrick Donnelly)

  • core: vstart.sh: drop .ceph_port and use randomly selected available port (pr#19268, Shinobu Kinjo)

  • core: vstart.sh: drop --{mon,osd,mds,rgw,mgr}_num options (pr#18648, Kefu Chai)

  • core: vstart.sh: Remove duplicate global section (pr#17543, iliul)

  • crush: cleanup update_device_class() log messages (pr#21174, Gu Zhongyan)

  • crush: fix CrushCompiler won’t compile maps with empty shadow tree (pr#17058, xie xingguo)

  • crush: fix device_class_clone for unpopulated/empty weight-sets (issue#23386, pr#22169, Sage Weil)

  • crush: fix fast rule lookup when uniform (pr#17510, Sage Weil)

  • crush: force rebuilding shadow hierarchy after swapping buckets (pr#17083, xie xingguo)

  • crush: improve straw2 algorithm’s readability (pr#20196, Yao Zongyou)

  • crush: “osd crush class rename” support (pr#16961, xie xingguo)

  • crush, osd: handle multiple parents properly when applying pg upmaps (issue#23921, pr#21835, xiexingguo)

  • crush: safe check for ‘ceph osd crush swap-bucket’ (pr#17335, Carudy)

  • crush: various CrushWrapper cleanups (pr#17360, Kefu Chai)

  • crush: various weight-set fixes (pr#17014, xie xingguo)

  • denc: should check element’s type not ‘size_t’ (pr#19986, Kefu Chai)

  • denc: use constexpr-if to replace some SFINAE impls (pr#19662, Kefu Chai)

  • doc: 12.1.3 release notes (pr#16975, Abhishek Lekshmanan)

  • doc: 12.2.0 major release announcements (pr#16915, Abhishek Lekshmanan)

  • doc: 12.2.1 release notes (pr#18014, Abhishek Lekshmanan)

  • doc: 12.2.4 release notes (pr#20619, Abhishek Lekshmanan)

  • doc: add 12.2.2 release notes (pr#19264, Abhishek Lekshmanan)

  • doc: add allow_multimds and fs_name parameter (pr#15847, Jan Fajerski)

  • doc: add ceph-kvstore-tool’s man (pr#17092, liuchang0812)

  • doc: add changelog for 12.2.1 (pr#18020, Abhishek Lekshmanan)

  • doc: add changelog for v11.2.1 (pr#16956, Abhishek Lekshmanan)

  • doc: add changelog for v12.2.2 (pr#19284, Abhishek Lekshmanan)

  • doc: Added CHAP configuration instructions for iSCSI (pr#18423, Ashish Singh)

  • doc: add example of setting pool in cephfs layout (pr#17372, John Spray)

  • doc: Adding changelog for 10.2.10 (pr#18151, Abhishek Lekshmanan)

  • doc: Add introduction about different way to run rbd-mirror (pr#19692, Yu Shengzuo)

  • doc: add --max-buckets to radosgw-admin(8) (pr#17439, Clément Pellegrini)

  • doc: add missing blank line (pr#18724, iliul)

  • doc: Add missing pg states from doc (pr#20504, David Zafman)

  • doc: add mount.fuse.ceph to index (issue#22595, pr#19792, Jos Collin)

  • doc: Add newbie-friendly updates to Helm start doc (pr#18886, Blaine Gardner)

  • doc: add osd_max_object_size in osd configuration (pr#18115, Mohamad Gebai)

  • doc: build-doc: Upgrade ceph python libraries (pr#20726, Boris Ranto)

  • doc: ceph-disk: create deprecation warnings (issue#22154, pr#18988, Alfredo Deza)

  • doc: ceph-volume: automatic VDO detection (issue#23581, pr#21451, Alfredo Deza)

  • doc: ceph-volume docs (pr#17068, Alfredo Deza)

  • doc: ceph-volume document multipath support (pr#20878, Alfredo Deza)

  • doc: ceph-volume doc updates (pr#20758, Alfredo Deza)

  • doc: ceph-volume include physical devices associated with an LV when listing (pr#21645, Alfredo Deza)

  • doc: ceph-volume lvm bluestore support (pr#18448, Alfredo Deza)

  • doc/ceph-volume OSD use the fsid file, not the osd_fsid (issue#22427, pr#20059, Alfredo Deza)

  • doc: change boolean option default value from zero to false (pr#17733, Yao Zongyou)

  • doc: change cn mirror to ustc domain (pr#18081, Shengjing Zhu)

  • doc: changelog for v12.2.3 (pr#20503, Abhishek Lekshmanan)

  • doc: cleanup erasure coded pool doc on cephfs use (pr#20572, Patrick Donnelly)

  • doc: CodingStyle: add python and javascript/typescript (pr#20186, Joao Eduardo Luis)

  • doc: common/options: document filestore and filejournal options (pr#17739, Sage Weil)

  • doc: common/options: document objecter, filer, and journal options (pr#17740, Sage Weil)

  • doc: complete and update the subsystem logging level info table (pr#18500, Luo Kexue)

  • doc: correcting typos in bluestore-config-ref and bluestore-migration (pr#19154, Katie Holly)

  • doc: correct wrong bluestore config types (pr#18205, Yao Zongyou)

  • doc: delete duplicate words (pr#17104, iliul)

  • doc: dev description of async recovery (pr#21051, Neha Ojha, Josh Durgin)

  • doc: doc/bluestore: add SPDK usage for bluestore (pr#17654, Haomai Wang)

  • doc: doc/cephfs/experimental-features: kernel client snapshots limit (pr#18579, Ilya Dryomov)

  • doc: doc/cephfs/posix: remove stale information for seekdir (pr#17658, “Yan, Zheng”)

  • doc: doc/conf.py: do not set html_use_smartypants explicitly (pr#17127, Kefu Chai)

  • doc: doc/dev: add a brief guide to serialization (pr#20131, John Spray)

  • doc: doc/dev/cxx: add C++11 ABI related doc (pr#20030, Kefu Chai)

  • doc: doc/dev/iana: document our official IANA numbers (pr#16910, Sage Weil)

  • doc: doc/dev/index: update rados lead (pr#16911, Sage Weil)

  • doc: doc/dev/macos: add doc for building on MacOS (pr#20031, Kefu Chai)

  • doc: doc/dev/msgr2.rst: a few notes on protocol goals (pr#20083, Sage Weil)

  • doc: doc/dev/perf: add doc on disabling -fomit-frame-pointer (pr#17358, Kefu Chai)

  • doc: doc for mount.fuse.ceph (issue#21539, pr#19172, Jos Collin)

  • doc: doc/man remove deprecation of ceph-disk man page title (pr#19325, Alfredo Deza)

  • doc: doc/mgr: Add limitations section to plugin guide (pr#21347, Tim Serong)

  • doc: doc/mgr: add “local pool” plugin to toc (pr#17961, Kefu Chai)

  • doc: doc/mgr/balancer: document (issue#22789, pr#21421, Sage Weil)

  • doc: doc/mgr: document facilities methods using automethod directive (pr#18680, Kefu Chai)

  • doc: doc/mgr/plugins: add note about distinction between config and kv store (pr#21671, Jan Fajerski)

  • doc: doc/mgr: remove non user-facing code from doc (pr#20372, Kefu Chai)

  • doc: doc,os,osdc: drop and modify comments (pr#17732, songweibin)

  • doc: doc/rados: Add explanation of straw2 (pr#19247, Shinobu Kinjo)

  • doc: doc/rados/operations/bluestore-migration: document bluestore migration process (pr#16918, Sage Weil)

  • doc: doc/rados/operations/bluestore-migration: update docs a bit (pr#17011, Sage Weil)

  • doc: doc raise exceptions with a base class (pr#18152, Alfredo Deza)

  • doc: doc/rbd: add info for rbd group (pr#17633, yonghengdexin735)

  • doc: doc/rbd: add missing several commands in rbd CLI man page (issue#14539, issue#16999, pr#19659, songweibin)

  • doc: doc/rbd: correct the path of librbd python APIs (pr#19690, songweibin)

  • doc: doc/rbd: fix typo s/morror/mirror (pr#19997, songweibin)

  • doc: doc/rbd: iSCSI Gateway Documentation (issue#20437, pr#17376, Aron Gunn, Jason Dillaman)

  • doc: doc/rbd: specify additional ESX prerequisites (pr#18517, Jason Dillaman)

  • doc: doc/rbd: tweaks for the LIO iSCSI gateway (issue#21763, pr#18250, Jason Dillaman)

  • doc: doc/rbd: tweaks to the Windows iSCSI initiator directions (pr#18704, Jason Dillaman)

  • doc: doc/release-notes: add jewel->kraken notes (pr#18482, Sage Weil)

  • doc: doc/release-notes: clarify purpose of require-osd-release (pr#17270, Sage Weil)

  • doc: doc/release-notes: clarify that you need to keep your existing OSD caps (pr#18825, Jason Dillaman)

  • doc: doc/release-notes: ensure RBD users can blacklist prior to upgrade (issue#21353, pr#17755, Jason Dillaman)

  • doc: doc/release-notes: fix typo ‘psd’ to ‘osd’ (pr#18695, wangsongbo)

  • doc: doc/releases: the Kraken sleepeth, faintest sunlights flee (pr#17424, Abhishek Lekshmanan)

  • doc: doc/releases: update release cycle docs (pr#18117, Sage Weil)

  • doc: doc/rgw: add page for http frontend configuration (issue#13523, pr#20058, Casey Bodley)

  • doc: doc/scripts: py3 compatible (pr#17640, Kefu Chai)

  • doc: docs: Do not use “min size = 1” as an example (pr#17912, Alfredo Deza)

  • doc: docs fix ceph-volume missing sub-commands (issue#23148, pr#20673, Alfredo Deza)

  • doc: doc/start/os-recommendations.rst: bump krbd kernels (pr#21478, Ilya Dryomov)

  • doc: docs update ceph-deploy reference to reflect ceph-volume API (pr#20510, Alfredo Deza)

  • doc: document ceph-disk prepare class hierarchy (pr#17019, Loic Dachary)

  • doc: document include/ipaddr.h (issue#12056, pr#17613, Nathan Cutler)

  • doc: drop duplicate line in ceph-bluestore-tool man page (pr#19169, Xiaojun Liao)

  • doc: eliminate useless cat statement (pr#17154, Ken Dreyer)

  • doc: examples: add new librbd example (pr#18314, Mahati Chamarthy)

  • doc: expand developer documentation of unit tests (pr#19594, Nathan Cutler)

  • doc: Fix a grammar error in rbd-snapshot.rst (pr#21470, Zeqing Tyler Qi)

  • doc: fix CFLAGS in doc/dev/cpu-profiler.rst (pr#19752, Chang Liu)

  • doc: fix desc of option “mon cluster log file” (pr#18770, Kefu Chai)

  • doc: fix doc/radosgw/admin.rst typos (pr#17397, Enming Zhang)

  • doc: Fix dynamic resharding doc formatting (pr#20970, Ashish Singh)

  • doc: fix error in osd scrub load threshold (pr#21678, Dirk Sarpe)

  • doc: Fixes a spelling error and a broken hyperlink (pr#20442, Jordan Hus)

  • doc: Fixes rbd snapshot flatten example (issue#17723, pr#17436, Ashish Singh)

  • doc: fixes syntax in osd-config-ref (issue#21733, pr#18188, Joshua Schmid)

  • doc: Fixes the name of the CephFS snapshot directory (pr#18710, Jordan Rodgers)

  • doc: fix hyper link to radosgw/config-ref (pr#17986, Kefu Chai)

  • doc: fix librbdpy example (pr#20019, Yuan Zhou)

  • doc: fix order of options in osd new (issue#21023, pr#17326, Neha Ojha)

  • doc: fix sphinx build warnings and errors (pr#17025, Alfredo Deza)

  • doc: fix the desc of “osd max pg per osd hard ratio” (pr#18373, Kefu Chai)

  • doc: Fix typo and URL (pr#18040, Jos Collin)

  • doc: fix typo e.g,. => e.g (pr#18607, Yao Zongyou)

  • doc: fix typo in bluestore-migration.rst (pr#18389, Yao Zongyou)

  • doc: Fix typo in mount.fuse.ceph (pr#19215, Jos Collin)

  • doc: fix typo in php.rst (pr#17762, Yao Zongyou)

  • doc: fix typo in radosgw/dynamicresharding.rst (pr#18651, Alexander Ermolaev)

  • doc: fix typo on specify db block device (pr#17590, Xiaoxi Chen)

  • doc: Fix typo s/applicatoin/application/ (pr#20720, Francois Deppierraz)

  • doc: Fix typos in placement-groups.rst (pr#17973, Matt Boyle)

  • doc: Fix typos in release notes (pr#18950, Stefan Knorr)

  • doc: .githubmap: Add cbodley (pr#18946, Jos Collin)

  • doc: githubmap: add map for GitHub contributor lookup (pr#17457, Patrick Donnelly)

  • doc: .githubmap, .mailmap, .organizationmap, .peoplemap: update Igor (pr#19314, Igor Fedotov)

  • doc: globally change CRUSH ruleset to CRUSH rule (issue#20559, pr#19435, Nathan Cutler)

  • doc: Improved dashboard documentation (pr#21443, Lenz Grimmer)

  • doc: Improved hitset parameters description (pr#19691, Alexey Stupnikov)

  • doc: improve links in doc/releases.rst (pr#18155, Nathan Cutler)

  • doc: Improve mgr/restful module documentation (pr#20717, Boris Ranto)

  • doc: Improve the ceph fs set max_mds command (issue#21007, pr#17044, Bara Ancincova)

  • doc: include ceph-disk and ceph-disk-volume man pages in index (pr#17168, Alfredo Deza)

  • doc: init flags to 0 in rados example (pr#20671, Patrick Donnelly)

  • doc: Kube + Helm installation (pr#18520, Alexandre Marangone)

  • doc: legal: remove doc license ambiguity (issue#23336, pr#20876, Nathan Cutler)

  • doc: lock_timeout is a per mapping option (pr#21563, Ilya Dryomov)

  • doc: log-and-debug: fix default value of “log max recent” (pr#20316, Nathan Cutler)

  • doc: mailmap: Add Sibei, XueYu Affiliation (pr#18395, Sibei Gao)

  • doc: mailmap: Fixed maintenance guide URL (pr#18076, Jos Collin)

  • doc: mailmap, organizationmap: add Dongsheng, Liuzhong, Pengcheng, Yang Affiliation (pr#17548, Dongsheng Yang)

  • doc: .mailmap, .organizationmap: add Fufei, Mingqiao and Ying Affiliation (pr#17540, Ying He)

  • doc: .mailmap, .organizationmap: Add Liu Lei’s mailmap and affiliation (pr#17105, iliul)

  • doc: .mailmap, .organizationmap: update JingChen, ZongyouYao, ShanchunLv’s… (pr#18960, Chang Liu)

  • doc: mailmap: update affiliation for Mykola Golub (pr#18069, Mykola Golub)

  • doc: mailmap: update affiliation for Mykola Golub (pr#19667, Mykola Golub)

  • doc: mailmap: Update umcloud affiliation (pr#17441, Yixing Yan)

  • doc: make the commands in README.md properly aligned (pr#18639, Yao Zongyou)

  • doc/man: add “ls” to “ceph osd” command’s subcommands list (pr#19382, Rishabh Dave)

  • doc: “mds blacklist interval” vs manually blacklisting (pr#18195, Ken Dreyer)

  • doc: mgr/dashboard.rst: mention ceph.conf and ceph mgr services (pr#20961, Nathan Cutler)

  • doc/mgr/plugins: mgr accessor during init causes exception (pr#16973, Jan Fajerski)

  • doc: mimic: doc: Updated dashboard documentation (features, SSL config) (pr#22079, Lenz Grimmer)

  • doc: misc fix spell errors in osd/OSD and doc (pr#17107, songweibin)

  • doc: misc: fix various spelling errors (pr#20831, Shengjing Zhu)

  • doc: Misc iSCSI doc updates (pr#19931, Mike Christie)

  • doc: move glance_api_version option to the right place (pr#17337, Luo Kexue)

  • doc: options.cc: document rgw config options (pr#18007, Yehuda Sadeh)

  • doc: organizationmap: Add Adam Wolfe Gordon’s affiliation (pr#18295, Adam Wolfe Gordon)

  • doc: organizationmap: Add Ashish Singh affiliation (pr#17109, Ashish Singh)

  • doc: .organizationmap: add Xin Yuan and Yichao Li’s affiliation (pr#21170, Li Wang)

  • doc: PendingReleaseNotes: Added note about Dashboard v2, fixed typo (pr#21597, Lenz Grimmer)

  • doc: PendingReleaseNotes:Announce FreeBSD availability (pr#16782, Willem Jan Withagen)

  • doc: PendingReleaseNotes: mention some monitor changes (pr#21474, Joao Eduardo Luis)

  • doc: PendingReleaseNotes: note about upmap mapping change in luminous release notes (pr#17813, Sage Weil)

  • doc: qa,doc: drop support of ubuntu trusty (pr#19307, Kefu Chai)

  • doc/rados/operations/bluestore-migration: typos and whitespace (pr#16991, Sage Weil)

  • doc/rados/operations/bluestore-migration: typos (pr#17581, Sage Weil)

  • doc: README: Improve vstart.sh usage (pr#17644, Fabian Vogt)

  • doc: README.md: bump up cmake to 2.8.12 (pr#18348, Yan Jun)

  • doc: redundant “cephfs” when set the “allow_multimds” (pr#20045, Shangzhong Zhu)

  • doc: release notes: fix grammar/style nits (pr#18876, Nathan Cutler)

  • doc: release notes for 12.2.3 (pr#20500, Abhishek Lekshmanan)

  • doc: release notes for v12.1.4 Luminous (pr#17037, Abhishek Lekshmanan)

  • doc/release-notes: remove mention of crush weight optimization (pr#16974, Sage Weil)

  • doc: release-notes.rst: add jewel->kraken notes and update releases.rst (pr#16879, Nathan Cutler)

  • doc: release notes update for 10.2.10 (pr#18148, Abhishek Lekshmanan)

  • doc/releases: drop LTS/stable line from second chart (pr#18153, Sage Weil)

  • doc: Remove additional arguments when replacing OSD (pr#18345, Wido den Hollander)

  • doc: remove duplicated --max-buckets option desc (pr#19737, Kefu Chai)

  • doc: remove references to unversioned repository addresses (pr#21357, Greg Farnum)

  • doc: remove unused config: “osd op threads” (pr#21319, Jianpeng Ma)

  • doc: rename changelog with a .txt extension (pr#18156, Abhishek Lekshmanan)

  • doc: reorganize releases (pr#20784, Abhishek Lekshmanan)

  • doc: replace injectargs usage with “config set” (pr#18789, John Spray)

  • doc: replace region with zonegroup in configure bucket sharding section (issue#21610, pr#18063, Orit Wasserman)

  • doc: restructure bluestore migration insructions (pr#17603, Sage Weil)

  • doc: Revise the Example of Bucket Policy (pr#17362, zhangwen)

  • doc: rgw: add a note for resharding in 12.2.1 docs (pr#17675, Abhishek Lekshmanan)

  • doc: rgw add some basic documentation for sync plugins & ES (pr#15849, Abhishek Lekshmanan)

  • doc: rgw adminops binding libraries (pr#19164, hrchu)

  • doc: rgw mention about tagging & bucket policies in s3api (pr#16907, Abhishek Lekshmanan)

  • doc: rgw: mention the civetweb support for binding to multiple ports (issue#20942, pr#17141, Abhishek Lekshmanan)

  • doc: rm stray “)” character from mds config ref (pr#18228, Ken Dreyer)

  • docs: ceph-volume CLI updates (pr#17425, Alfredo Deza)

  • doc: s/deamon/daemon/ (pr#20931, ashitakasam)

  • doc: some improvements to ceph-conf.rst (pr#21268, Nathan Cutler)

  • doc: Specify mount details in ceph-fuse (pr#20071, Jos Collin)

  • doc: SubmittingPatches: clarify PR title section (pr#17143, Nathan Cutler)

  • doc/templates update toctree call to include hidden entries (pr#17076, Alfredo Deza)

  • doc: the client inputs the pool name instead of pool ID (pr#17672, Frank Yu)

  • doc: typo fix (pr#21077, Ashita Dashottar)

  • doc: update Blacklisting and OSD epoch barrier (issue#22542, pr#19701, Jos Collin)

  • doc: update ceph-disk with a state-transition diagram (pr#17639, Kefu Chai)

  • doc: update ceph iscsi kernel and package info (pr#20020, Mike Christie)

  • doc: Update commands and options in radosgw-admin (pr#18267, Jos Collin)

  • doc: update Component Technical Leads and maintainers to canonical location (pr#18376, Patrick McGarry)

  • doc: Update config file search paths to reflect reality (pr#19882, Adam Wolfe Gordon)

  • doc: updated add primary storage documentation for latest CloudStack release (4.11) (pr#21050, James McClune, John Wilkins)

  • doc: Update dashboard feature list (added RGW management) (pr#21781, Lenz Grimmer)

  • doc: updated dashboard feature list (added new RGW details, Pools) (pr#21562, Lenz Grimmer)

  • doc: Updated dashboard feature list (pr#21693, Lenz Grimmer)

  • doc: Updated dashboard v2 feature list (pr#20755, Lenz Grimmer)

  • doc: Updated documentation for Zabbix Mgr module (pr#18356, Wido den Hollander)

  • doc: update default value of option mon_sync_timeout (pr#17802, Yao Guotao)

  • doc: 更新参数 mon_subscribe_interval 的默认值 (pr#17669, yaoguotao)

  • doc: 更新文档以移除 gitbuilder 并添加 shaman 引用 (pr#17022, Alfredo Deza)

  • doc: 更新了 dashboard 功能列表 (pr#21531, Lenz Grimmer)

  • doc: 将 get-packages.rst 更新至 luminous (pr#20815, Kai Wagner)

  • doc: 更新防火墙文档以提及 ceph-mgr (pr#17974, John Spray)

  • doc: 将 iSCSI 上游内核更新至 4.16 (pr#20695, Mike Christie)

  • doc: 更新 placing-different-pools 的链接 (pr#17833, Mohamad Gebai)

  • doc: 更新 Li Wang 的归属信息 (pr#18060, Li Wang)

  • doc: 更新 man 页以解释 ceph-volume 对 bluestore 的支持 (issue#22663, pr#19960, lijing)

  • doc: 更新手动部署 (issue#20309, pr#15811, Jens Rosenboom)

  • doc: 更新 mgr/dashboard 文档关于备用节点 (pr#19879, John Spray)

  • doc: 更新 mgr 文档,说明如何启用 Zabbix 模块 (pr#16861, Wido den Hollander)

  • doc: 更新与 mgr 相关的认证设置 (pr#20126, Kefu Chai)

  • doc: 更新 monitoring.rst (pr#20630, Jos Collin)

  • doc: 更新 rbd-mirroring 文档 (issue#20701, pr#16908, Jason Dillaman)

  • doc: 更新引用以使用 ceph-volume (pr#19241, Alfredo Deza)

  • doc: 将版本更新至当前状态 (pr#17364, Abhishek Lekshmanan)

  • doc: bluestore 迁移文档更新 (pr#17602, David Galloway)

  • doc: v12.2.5 luminous 版本说明 (pr#21621, Abhishek Lekshmanan)

  • doc: 各种清理工作 (pr#18480, Kefu Chai)

  • examples: 修复 librados 示例 Makefile 中的链接顺序 (pr#17842, Mahati Chamarthy)

  • 修复 ceph-mgr 重启问题 (pr#22051, Boris Ranto)

  • atomic_t 旋转锁的后续修复 (pr#17611, Jesse Williamson)

  • githubmap: 添加 ktdreyer (pr#19209, Jos Collin)

  • include/buffer.h: 修复注释中的拼写错误 (pr#17489, mychoxin)

  • include/ceph_features: 修复 OS_PERF_STAT_NS 的实现 (pr#21467, Kefu Chai)

  • install-deps.sh: 修复错误条件表达式 (pr#20819, Yao Guotao)

  • java/native: 修复毫秒到 mtime/atime 的转换 (pr#17460, dengquan)

  • java/native: s/jni: lstat/jni: stat 在 native_ceph_stat 中 (pr#20142, Shangzhong Zhu)

  • KStore: statfs 在 FreeBSD 上需要额外的包含文件 (pr#21429, Willem Jan Withagen)

  • kv/leveldb: 修复关闭 db 时的死锁问题 (pr#16643, Zengran)

  • kv: 统一 {create_and_,}open() 方法 (pr#18177, Kefu Chai)

  • librados: 添加用于与 Networking TS 一起使用的异步接口 (pr#19054, Casey Bodley)

  • librados: 阻塞 MgrClient::start_command 直到 mgrmap (pr#21832, John Spray, Kefu Chai)

  • librados: 扩展 C API 以接受带 NUL 字符的键 (pr#20314, Piotr Dałek)

  • librados: 修复 buffer::list::claim_prepend(list& b… 中潜在的风险 (issue#21338, pr#17661, Guan yunfei)

  • librados: 修复 notify 立即失败时潜在的竞争条件 (issue#23966, pr#21859, Jason Dillaman)

  • librados: 获取最低兼容客户端版本的 getter (pr#20080, Jason Dillaman)

  • librados: rados_getxattrs_next() 中的无效 free() (issue#22042, pr#20260, Gu Zhongyan)

  • librados: 将 rados_remove() 的默认值设为 OPERATION_FULL_FORCE (issue#22413, pr#20534, Kefu Chai)

  • librbd: 抽象 IO 路径上的硬编码的 journal 和 cache hook (pr#20682, Jason Dillaman)

  • librbd: 添加一个列出 watcher 的函数 (pr#19188, Adam Wolfe Gordon)

  • librbd: 添加获取镜像名称的 API 函数 (pr#20935, Mykola Golub)

  • librbd: 添加用于检测 compare-and-write 支持的预处理器宏 (issue#22036, pr#18708, Jason Dillaman)

  • librbd: 添加 eventtrace 支持 (pr#19251, Mahati Chamarthy)

  • librbd: 为新的操作功能位添加初步支持 (pr#19903, Jason Dillaman)

  • librbd: 解决 coverity 误报问题 (pr#17696, Amit Kumar)

  • librbd: 解决 coverity 误报问题 (pr#17721, Amit Kumar)

  • librbd: 当镜像被删除时自动移除垃圾快照 (issue#22873, pr#20376, Jason Dillaman)

  • librbd: 默认情况下为深拷贝目标使用新格式 (pr#20222, Mykola Golub)

  • librbd: 缓存最后一个索引位置以加速快照创建/删除 (issue#22716, pr#19974, Song Shun)

  • librbd: 如果有超过 64 个键/值对,则无法克隆所有镜像元数据 (pr#18327, PCzhangPC)

  • librbd: 如果有超过 64 个键/值对,则无法复制所有镜像元数据 (pr#18328, PCzhangPC)

  • librbd: 清理 ManagedLock 日志前缀 (pr#20159, shun-s)

  • librbd: 与克隆进行比较和写入可能会导致失败 (issue#20789, pr#18887, Jason Dillaman)

  • librbd: deep_copy: 不要在 snap_id_end 以上创建快照 (pr#19383, Mykola Golub)

  • librbd: 默认情况下,将父读取本地化设置为 false (issue#20941, pr#16882, Jason Dillaman)

  • librbd: 默认情况下,对任何大于 64K 的 IO 操作使用稀疏读取 (issue#21849, pr#18405, Jason Dillaman)

  • librbd: 在对象缓存器中禁用 ENOENT 跟踪 (issue#23597, pr#21308, Jason Dillaman)

  • librbd: 不允许创建 v1 镜像格式 (pr#20460, Julien COLLET, Julien Collet)

  • librbd: 在打开镜像时不要读取两次元数据 (pr#18542, Mykola Golub)

  • librbd: 删除 ImageCtx 的多余的空指针检查 (pr#18265, Jianpeng Ma)

  • librbd: 过滤掉与镜像重命名相关的潜在竞争条件 (issue#18435, pr#19618, Jason Dillaman)

  • librbd: 修复 coverity 警告,关于未初始化的成员 (pr#18129, Li Wang)

  • librbd: 修复深拷贝子镜像 (pr#20099, songweibin)

  • librbd: 修复在条带化未启用时不要发送 get_stripe_unit_count (issue#21360, pr#17660, Yanhu Cao)

  • librbd: 修复在升级测试中发现的克隆 v2 中的问题 (issue#22979, pr#20406, Jason Dillaman)

  • librbd: 修复 NotifyMessage::get_notify_op 中缺失的 return (pr#20656, Yao Zongyou)

  • librbd: 修复 rbd 关闭与重连时的竞争条件 (pr#21141, Song Shun)

  • librbd: 修复重连时拒绝释放 cookie 相同的锁 (pr#20868, Song Shun)

  • librbd: 修复 rbd_mirror_image_get_info/status 中的结构大小检查 (pr#20478, Mykola Golub)

  • librbd: 强制移除快照不能忽略子快照 (issue#22791, pr#20105, Jason Dillaman)

  • librbd: 通用的深拷贝函数 (pr#16238, Mykola Golub)

  • librbd: 组和快照清理 (pr#19990, Jason Dillaman)

  • librbd: 组快照 (pr#11544, Victor Denisov, Jason Dillaman)

  • librbd: 在清除缓存不存在标志时持有 cache_lock (issue#21558, pr#17992, Jason Dillaman)

  • librbd: image-meta 配置覆盖应该被动态刷新 (issue#21529, pr#18042, Dongsheng Yang, Jason Dillaman)

  • librbd: 为克隆 v2 支持添加初始钩子 (pr#20176, Jason Dillaman)

  • librbd: 状态成员变量的初始化 (pr#16866, amitkuma)

  • librbd: 初始化成员 image,operation,journal (pr#16934, amitkuma)

  • librbd: 初始化成员变量 (pr#16867, amitkuma)

  • librbd: journal 应该忽略 compare-and-write 中的 -EILSEQ 错误 (issue#21628, pr#18099, Jason Dillaman)

  • librbd,librados: 不要在 C++ 头文件中包含 stdbool.h (pr#19945, Kefu Chai)

  • librbd: list_children 不应该尝试刷新镜像 (issue#21670, pr#18114, Jason Dillaman)

  • librbd: IO 路径的小清理 (pr#20560, Jason Dillaman)

  • librbd: 小代码清理 (pr#21165, songweibin)

  • librbd: deep_copy::ObjectCopyRequest::send_read_object 中缺少 return (pr#21493, Mykola Golub)

  • librbd: 新标签应使用磁盘上的已提交位置 (issue#22945, pr#20423, Jason Dillaman)

  • librbd: 对象映射批量更新可能导致 OSD 进程崩溃 (issue#21797, pr#18315, Jason Dillaman)

  • librbd: 同步维护操作可能导致死锁 (issue#22120, pr#18909, Jason Dillaman)

  • librbd: 如果对象映射检查遇到错误,可能导致崩溃 (issue#22819, pr#20214, Jason Dillaman)

  • librbd: discard 和 writeback 之间的潜在竞争条件 (pr#21248, Jason Dillaman)

  • librbd: RewatchRequest 在重置 watch_handle 时的潜在竞争条件 (pr#20420, Mykola Golub)

  • librbd: 优先使用模板而不是宏 (pr#19912, Adam C. Emerson)

  • librbd: 防止 discard API 结果代码溢出 (issue#21966, pr#18923, Jason Dillaman)

  • librbd: 防止 watcher 在执行中的操作时取消注册 (issue#23955, pr#21763, Jason Dillaman)

  • librbd: 在应用新元数据后刷新镜像 (issue#21711, pr#18158, Jason Dillaman)

  • librbd: 在执行深拷贝进度回调时释放锁 (issue#23929, pr#21727, Mykola Golub)

  • librbd: 移除 FlattenRequest 中未使用的成员 (pr#19416, Mykola Golub)

  • librbd: 从 ReadResult 重构中移除未使用的变量 (pr#18277, Jason Dillaman)

  • librbd: 重命名不存在的镜像会导致段错误 (issue#21248, pr#17502, Jason Dillaman)

  • librbd: 将已删除的父指针设置为 null (issue#22158, pr#19003, Jason Dillaman)

  • librbd: 不应将自身设置为远程对等节点 (pr#17300, songweibin)

  • librbd: 对最近合并的代码进行的小清理 (pr#20578, Mykola Golub)

  • librbd: 快照应针对数据池创建/删除 (issue#21567, pr#18043, Jason Dillaman)

  • librbd: 加快对象映射磁盘使用和调整大小 (pr#20218, shun-s)

  • librbd: 当对象映射可用时,加速稀疏复制 (pr#18967, Song Shun)

  • librbd: 根据代码更新 mirror::EnableRequest 图 (pr#19130, Mykola Golub)

  • librbd: 使用 steady clock 来测量 AioCompletion 中的经过时间 (pr#20007, Mohamad Gebai)

  • librbd: 验证目标组快照名称是否与源相同 (pr#20395, songweibin)

  • log: 修复 AddressSanitizer: new-delete-type-mismatch (issue#23324, pr#20930, Brad Hubbard)

  • log: 在 osx 上修复构建问题 (pr#18213, Kefu Chai)

  • log: 抑制 -Wsign-compare 警告 (pr#18326, Jos Collin)

  • log: 在日志时间戳中使用粗略的真实时间时钟 (pr#18141, Adam C. Emerson)

  • mds: 检查元数据池是否已满,而不是集群是否已满 (issue#22483, pr#19602, Patrick Donnelly)

  • mds: 修复 CEPH_STAT_RSTAT 定义 (pr#21633, “Yan, Zheng”)

  • mds: 移除循环内不必要的“if”检查 (pr#18904, dongdong tao)

  • mds: 删除多余的空指针检查 (pr#19750, Brad Hubbard)

  • mds: 简化 replay_alloc_ids 中的代码逻辑 (pr#18893, dongdong tao)

  • mempool: 修复 mempool:dump 输出中 JSON 格式的池名称缺失问题 (pr#18329, Igor Fedotov)

  • messages: 各种类的未初始化成员初始化 (pr#16848, amitkuma)

  • messages/MDentryLink: 为成员函数添加 const (pr#15479, yonghengdexin735)

  • messages,test,msg: 初始化 h,reply_type,owner (pr#17767, Amit Kumar)

  • mgr: 使用元数据(主机名)将 mgr 守护进程添加到 DaemonStateIndex (issue#23286, pr#20875, Jan Fajerski)

  • mgr: 添加缺失的 pick_addresses 调用 (issue#20955, pr#16940, John Spray)

  • mgr: 添加备用节点的 IP 地址 (pr#16476, huanwen ren)

  • mgr: 为性能计数器添加单位 (issue#22747, pr#20152, Rubab Syed)

  • mgr: 允许服务守护进程从 ServiceMap 中注销 (pr#20761, Sage Weil)

  • mgr: 为 perf counter prios 应用阈值 (pr#16699, John Spray)

  • mgr: balancer: 修复了拼写错误 “AttributeError: ‘Logger’ object has no attribute ‘err’” (pr#20130, Konstantin Shalygin)

  • mgr: 集中设置/获取 mgr 配置 (pr#21442, John Spray, Rubab Syed)

  • mgr: ceph-mgr: 无法更改 mgr 的 prometheus 端口 (pr#17746, wujian)

  • mgr: TSDB 模块的通用接口 (pr#17735, Jan Fajerski, John Spray, My Do)

  • mgr/dashboard: 如果未设置 server_addr,则调整帮助文本 (pr#21640, Volker Theile)

  • mgr/dashboard: 调整 RBD 表单以适应新的 application_metadata 类型 (pr#21602, Volker Theile)

  • mgr/dashboard: 添加 Api 模块 (pr#21126, Tiago Melo)

  • mgr/dashboard: 添加 ‘autofocus’ 指令 (pr#21559, Volker Theile)

  • mgr/dashboard: 添加 CdDatePipe (pr#21087, Ricardo Marques)

  • mgr/dashboard: 添加 ‘cd-error-panel’ 组件以显示错误消息 (pr#21558, Volker Theile)

  • mgr/dashboard: 添加 ‘cd-loading-panel’ 组件 (pr#21618, Volker Theile)

  • mgr/dashboard: 添加自定义验证器 (pr#21041, Volker Theile)

  • mgr/dashboard: 添加 DimlessBinaryDirective (pr#20972, Ricardo Marques)

  • mgr/dashboard: 添加 ErasureCodeProfile 控制器 (issue#23345, pr#20920, Sebastian Wagner, Stephan Müller)

  • mgr/dashboard: 为 datatable 添加 ‘forceIdentifier’ 属性 (pr#21497, Volker Theile)

  • mgr/dashboard: 添加辅助组件 (pr#20971, Ricardo Marques)

  • mgr/dashboard: 阻止页面附加修复 (pr#20941, Jason Dillaman)

  • mgr/dashboard: 添加最小化的可浏览 API (pr#20873, Sebastian Wagner)

  • mgr/dashboard: 添加通知服务/组件 (pr#21078, Tiago Melo)

  • mgr/dashboard: 添加 Pool-create 到后端 (issue#23345, pr#20865, Sebastian Wagner)

  • mgr/dashboard: 添加 RGW 用户和存储桶管理功能 (pr#21351, Volker Theile)

  • mgr/dashboard: 添加可重用的删除对话框 (pr#20899, Stephan Müller, Tiago Melo)

  • mgr/dashboard: 添加提交按钮组件 (pr#21011, Tiago Melo)

  • mgr/dashboard: 添加使用量条形图组件 (pr#21128, Ricardo Marques)

  • mgr/dashboard: Angular 模块清理 (pr#21402, Tiago Melo)

  • mgr/dashboard: 异步任务(前端) (pr#20962, Ricardo Marques)

  • mgr/dashboard: awsauth: 修复 python3 字符串解码问题 (pr#21875, Ricardo Dias)

  • mgr/dashboard: 更改复选框的字体 (pr#21787, Tiago Melo)

  • mgr/dashboard: 清理 Pylint 警告 (pr#21694, Sebastian Wagner)

  • mgr/dashboard: 将浮点值转换为字节 (pr#21677, Stephan Müller)

  • mgr/dashboard: 将 RBD 功能名称转换为字符串列表 (pr#21024, Tatjana Dehler)

  • mgr/dashboard: 删除对话框在按“取消”时错误地执行删除操作 (pr#22032, Volker Theile)

  • mgr/dashboard: 如果 RGW 未配置,则显示通知 (pr#21977, Volker Theile)

  • mgr/dashboard: 在提交时显示 RBD 表单错误 (pr#21529, Ricardo Marques)

  • mgr/dashboard: 在 KV-table 中启用对象渲染 (pr#21701, Stephan Müller)

  • mgr/dashboard: 修复块设备 iSCSI 状态页上的 500 错误 (pr#20928, Jason Dillaman)

  • mgr/dashboard: 修复 dashboard 的 python 3 支持 (pr#21007, Ricardo Dias)

  • mgr/dashboard: 修复数据竞争和使用前分配 (pr#21590, Sebastian Wagner)

  • mgr/dashboard: 修复 Auth 控制器中的密码生成 (issue#23404, pr#21006, Ricardo Dias)

  • mgr/dashboard: 修复文档链接 - 在新标签页打开 (pr#22262, Kanika Murarka)

  • mgr/dashboard: 修复 RBD 表单中的类型错误 (pr#21681, Stephan Müller)

  • mgr/dashboard: 修复前端 e2e 测试 (pr#20943, Tiago Melo)

  • mgr/dashboard: 修复旧 MDS 守护进程上的 FS 状态 (issue#20692, pr#16960, John Spray)

  • mgr/dashboard: 修复 linting 问题 (pr#22277, Tiago Melo)

  • mgr/dashboard: 修复删除模态框中的缺失 $event (pr#21667, Ricardo Marques)

  • mgr/dashboard: 修复 moment.js 弃用警告 (pr#22052, Tiago Melo)

  • mgr/dashboard: 修复名为 default 的对象无法访问 (pr#20976, Sebastian Wagner)

  • mgr/dashboard: 修复 RBD 任务元数据 (pr#22152, Tiago Melo)

  • mgr/dashboard: 修复没有 fetchData 的表 (pr#21086, Ricardo Marques)

  • mgr/dashboard: 修复数据表操作选择器 (pr#21270, Stephan Müller)

  • mgr/dashboard: 修复 mypy 发现的两个类型错误 (pr#21774, Sebastian Wagner)

  • mgr/dashboard: 处理删除过程中的错误 (pr#22029, Volker Theile)

  • mgr/dashboard: 实现 RGW 代理 (pr#21258, Volker Theile, Patrick Nawracay)

  • mgr/dashboard: 改进后台任务样式 (pr#21462, Ricardo Marques)

  • mgr/dashboard: 改进错误处理 (pr#18182, Nick Erdmann)

  • mgr/dashboard: 改进错误面板 (pr#21978, Volker Theile)

  • mgr/dashboard: 改进 npm start 脚本 (pr#20989, Ricardo Marques)

  • mgr/dashboard: 改进表搜索 (pr#20807, Stephan Müller)

  • mgr/dashboard: 在组件初始化时加载 datatable 内容 (pr#21595, Volker Theile)

  • mgr/dashboard: 导航栏下拉按钮在移动浏览器上没有响应 (pr#21979, Volker Theile)

  • mgr/dashboard: 通知改进 (pr#21350, Tiago Melo)

  • mgr/dashboard: pool: 修复 python3 dict_keys 错误 (pr#21636, Ricardo Dias)

  • mgr/dashboard: Pool 列表 (pr#21353, Stephan Müller)

  • mgr/dashboard: rbd: 为 snapshots 控制器添加 @AuthRequired (pr#21517, Ricardo Dias)

  • mgr/dashboard: RBD 复制, RBD 扁平化和快照克隆 (前端) (pr#21526, Ricardo Marques, Ricardo Dias)

  • mgr/dashboard: RBD 管理 (前端) (pr#21385, Ricardo Marques)

  • mgr/dashboard: 重构多个重复的 get_rate() (pr#21022, Sebastian Wagner)

  • mgr/dashboard: 重构 RGW 后端 (pr#21855, Volker Theile)

  • mgr/dashboard: 重命名并重构 ApiInterceptorService 类 (pr#21386, Volker Theile)

  • mgr/dashboard: 将 font-awesome 替换为 fork-awesome (pr#21327, Lenz Grimmer)

  • mgr/dashboard: restcontroller: 修复 element 请求中 id 参数的检测 (pr#21290, Ricardo Dias)

  • mgr/dashboard: RESTController 改进 (pr#21516, Ricardo Dias)

  • mgr/dashboard: run-tox: 将 CEPH_BUILD_DIR 值传递给 tox 脚本 (pr#21445, Ricardo Dias)

  • mgr: dashboard: 在 health 页面显示每个池的 IOPS (#22495) (issue#22495, pr#19981, Konstantin Shalygin)

  • mgr/dashboard: 为 ‘cd-view-cache’ 添加附加信息 (pr#21060, Ricardo Marques)

  • mgr/dashboard: TaskManager 错误修复 (pr#21240, Ricardo Dias)

  • mgr/dashboard: 在表刷新时更新选中的项 (pr#21099, Ricardo Marques)

  • mgr/dashboard: 使用 Bootstrap CSS (pr#21780, Volker Theile)

  • mgr/dashboard: 使用 RoutesDispatcher 作为 HTTP 请求调度器 (pr#21239, Ricardo Dias)

  • mgr/dashboard_v2: 将 mgr 添加到性能计数器列表中 (pr#20783, Tiago Melo)

  • mgr/dashboard_v2: 添加 TcmuIscsiService 的模拟服务提供商 (pr#20775, Tiago Melo)

  • mgr/dashboard_v2: 添加可切换的列 (pr#20806, Stephan Müller)

  • mgr/dashboard_v2: 配置设置支持 (pr#20743, Ricardo Dias)

  • mgr/dashboard_v2: 修复和改进表详细信息 (pr#20811, Tiago Melo)

  • mgr/dashboard_v2: 修复 cephfs 模板表用法 (pr#20804, Stephan Müller)

  • mgr/dashboard_v2: 修复集群配置页面 (pr#20821, Tiago Melo)

  • mgr/dashboard_v2: 改进图表工具提示 (pr#20757, Tiago Melo)

  • mgr/dashboard_v2: Pool 控制器 (pr#20823, Ricardo Dias)

  • mgr/dashboard_v2: 加载时旋转刷新图标 (pr#20805, Stephan Müller)

  • mgr: bind() 失败时退出 (pr#20595, John Spray)

  • mgr: 收到报告时断开未注册的服务守护进程 (issue#22286, pr#19261, Jason Dillaman)

  • mgr: serve() 异常时发出集群日志消息 (issue#21999, pr#18672, John Spray)

  • mgr: 暴露 rgw 性能计数器 (pr#21269, Boris Ranto)

  • mgr: 修复“访问被拒绝”消息 (pr#19518, John Spray)

  • mgr: 修复 DaemonStateIndex::get 调用崩溃问题 (issue#17737, pr#17933, John Spray)

  • mgr: 修复 MonCommandCompletion 中的崩溃 (issue#21157, pr#17308, John Spray)

  • mgr: 修复 python 错误处理 (issue#23406, pr#21005, Ricardo Dias)

  • mgr: 修复 MSG_MGR_MAP 处理 (pr#20892, Gu Zhongyan)

  • mgr: 修复“osd status”命令异常,如果 OSD 不在 pgmap 统计信息中 (issue#21707, pr#18173, Yanhu Cao)

  • mgr: 修复 py3 支持 (issue#22880, pr#20362, Kefu Chai)

  • mgr: 修复 dne 服务性能计数器的 py 调用 (issue#21253, pr#17605, John Spray)

  • mgr: 实现 osd MetadataUpdate 的完成 (issue#21159, pr#16925, Yanhu Cao)

  • mgr: 实现“osd safe-to-destroy”和“osd ok-to-stop”命令 (pr#16976, Sage Weil)

  • mgr: 改进模块加载以报告错误等 (issue#21999, issue#21683, issue#21502, pr#19235, John Spray)

  • mgr: 改进关于不可加载模块的报告 (issue#23358, pr#20921, John Spray)

  • mgr: 增加 Commit/Apply OSD 延迟的时间分辨率 (pr#19232, Коренберг Марк)

  • mgr: 更早地初始化 PyModuleRegistry (issue#22918, pr#20321, John Spray)

  • mgr: 插件中的“module”类不再需要命名为“Module” (issue#17454, pr#18526, Kefu Chai, bhavishyagopesh)

  • mgr: 锁定修复 (issue#21158, pr#17309, John Spray)

  • mgr: mgr/balancer: 将配置值转换为 int 或 float (issue#22429, pr#19493, Dan van der Ster)

  • mgr: mgr/balancer: 不要在命令中使用“foo”标签 (issue#22361, pr#19482, John Spray)

  • mgr: mgr/balancer: 修复 balancer rm 中的 KeyError (issue#22470, pr#19578, Dan van der Ster)

  • mgr: mgr/balancer: 修复 OPTIONS 定义 (pr#21620, John Spray)

  • mgr: mgr/balancer: 修复 upmap;默认启用 balancer 模块 (pr#18691, Sage Weil)

  • mgr: mgr/balancer: 使 crush-compat 模式工作 (pr#17983, Sage Weil)

  • mgr: mgr/balancer: 自动跨 OSD 平衡 PG 的 mgr 模块 (pr#16272, Spandan Kumar Sahu, Sage Weil)

  • mgr: mgr/balancer: 更多的池特定增强功能 (pr#20225, xie xingguo)

  • mgr: mgr/balancer: 池特定优化支持和错误修复 (pr#20154, xie xingguo)

  • mgr: mgr/balancer: 替换 DEFAULT_CHOOSE_ARGS 的魔术值 -1 (pr#20258, Kefu Chai)

  • mgr: mgr/balancer: 跳过 CRUSH_ITEM_NONE (pr#18894, Sage Weil)

  • mgr: mgr/balancer: 另外两个修复 (pr#20180, xie xingguo)

  • mgr: mgrc: 在 handle_mgr_close 中释放 MMgrClose (issue#23846, pr#21626, Casey Bodley)

  • mgr: mgr/DaemonServer: 将 overrides 值添加到 ‘config show’ (pr#21093, Gu Zhongyan)

  • mgr: mgr/DaemonServer.cc: [清理] 更改为使用 get_val 模板函数 (pr#18717, Shinobu Kinjo)

  • mgr: mgr/DaemonServer: [清理] 删除多余的代码 (pr#18716, Shinobu Kinjo)

  • mgr: mgr/dashboard: 添加配置设置浏览器 (issue#22522, pr#20043, Rubab Syed)

  • mgr: mgr/dashboard: 在 mgr rbd 信息中添加镜像 ID,而不是 block_name_prefix (pr#20884, zouaiguo)

  • mgr: mgr/dashboard: 添加 monitor 列表 (pr#19632, Rubab Syed)

  • mgr: mgr/dashboard: 添加 RGW 用户和存储桶列表 (只读) (pr#20869, Volker Theile)

  • mgr: mgr/dashboard: 添加 TLS (pr#21627, John Spray)

  • mgr: mgr/dashboard: 向 FormatterService 添加 toBytes() 方法 (pr#20978, Volker Theile)

  • mgr: mgr/dashboard: 异步任务支持 (pr#20870, Ricardo Dias)

  • mgr: mgr/dashboard: 根据使用情况更改原始使用量图的颜色 (pr#17421, Nick Erdmann)

  • mgr: mgr/dashboard: 修复审计日志加载 (pr#18848, John Spray)

  • mgr: mgr/dashboard: 修复新版 CherryPy 的后端测试 (pr#20778, Patrick Nawracay)

  • mgr: mgr/dashboard: 修复 PG 状态着色 (pr#19431, Wido den Hollander)

  • mgr: mgr/dashboard: 将工具提示的标签格式化为用户友好的字符串 (pr#18769, Yao Zongyou)

  • mgr: mgr/dashboard: 处理 format_number 中的 null (issue#21570, pr#17991, John Spray)

  • mgr: mgr/dashboard: HTTP 请求日志记录 (pr#20797, Ricardo Dias)

  • mgr: mgr/dashboard: 改进认证拦截器 (pr#20847, Volker Theile)

  • mgr: mgr/dashboard: 性能计数器浏览器 (issue#22521, pr#19922, Rubab-Syed)

  • mgr: mgr/dashboard: RBD 管理 (后端) (pr#21360, Ricardo Dias)

  • mgr: mgr/dashboard: 移除未使用的代码 (pr#21045, Volker Theile)

  • mgr: mgr/dashboard: 移除无用的代码 (pr#20958, Volker Theile)

  • mgr: mgr/dashboard: 当数据过时或 mon 宕机时显示警告 (pr#18847, John Spray)

  • mgr: mgr/dashboard: 在 OSD 列表中对服务器和 OSD 进行排序 (issue#21572, pr#17993, John Spray)

  • mgr: mgr/dashboard: 为 favicon 使用 rel=”icon” (pr#18013, Kefu Chai)

  • mgr: mgr/dashboard v2: 为必需的表单字段添加 CSS 类 (pr#20747, Volker Theile)

  • mgr: mgr/dashboard_v2: 将 RBD 创建功能添加到 Python 后端 (pr#20751, Tatjana Dehler)

  • mgr: mgr/dashboard v2: 为性能计数器添加单位 (pr#20742, Volker Theile)

  • mgr: mgr/dashboard v2: 在首次加载时显示数据表中的加载指示器 (pr#20744, Volker Theile)

  • mgr: mgr/dashboard v2: 选择多个 OSD 时不显示详细信息 (pr#20772, Volker Theile)

  • mgr: mgr/dashboard v2: 实现 can_run 方法 (pr#20728, John Spray)

  • mgr: mgr/dashboard_v2: 提交基于 Web 的管理 UI(现有 dashboard 的替代品) (pr#20103, Stephan Müller, Lenz Grimmer, Tiago Melo, Ricardo Marques, Sebastian Wagner, Patrick Nawracay, Ricardo Dias, Volker Theile, Kai Wagner, Tatjana Dehler)

  • mgr: mgr/dashboard v2: 引入 CdTableSelection 模型 (pr#20746, Volker Theile)

  • mgr: mgr/dashboard_v2: 移除了未使用的 tools.detail_route() (pr#20765, Sebastian Wagner)

  • mgr: mgr/influx: 添加了额外的统计信息 (pr#21424, mhdo2)

  • mgr: mgr/influx: 添加 InfluxDB SSL 选项 (pr#19374, Tobias Gall)

  • mgr: mgr/influx: 仅在第一个点 (.) 出现时分割字符串 (issue#23996, pr#21795, Wido den Hollander)

  • mgr: mgr/influx: PEP-8 和 Influx 模块的其他修复 (pr#19229, Wido den Hollander)

  • mgr: mgr/influx: 各种修复和改进 (pr#20187, Wido den Hollander)

  • mgr: mgr/influx: 各种时间修复 (pr#20494, Wido den Hollander)

  • mgr: mgr/localpool: 默认设置为 3x;允许调整 min_size (pr#18089, Sage Weil)

  • mgr: mgr/MgrClient: 使用锁保护 send_pgstats() (issue#23370, pr#20909, Kefu Chai)

  • mgr: mgr/MgrClient: 服务注册按服务名称而不是守护进程名称过滤 (pr#21459, runsisi)

  • mgr: mgr/PGMap: 删除 REQUEST_{SLOW,STUCK} HEALTH_WARNs (pr#19114, Kefu Chai)

  • mgr: mgr/prometheus: 添加 ceph_disk_occupation 系列 (issue#21594, pr#18021, John Spray)

  • mgr: mgr/prometheus: 在 ceph-mgr prometheus 插件中添加缺失的“deep”状态到 PG_STATES (issue#22116, pr#18890, Peter Woodman)

  • mgr: mgr/prometheus: 修复 MDS 指标 (issue#20899, pr#17318, John Spray, Jeremy H Austin)

  • mgr: mgr/prometheus: 修复 PG 状态名称 (pr#21288, John Spray)

  • mgr: mgr/prometheus: 跳过虚假条目 (pr#20456, Boris Ranto)

  • mgr: mgr/prometheus: 如果 OSD 缺少 CRUSH 设备,则跳过 OSD 输出 (pr#20644, John Spray)

  • mgr: mgr/restful: 几个 restful 修复 (pr#18649, Boris Ranto)

  • mgr: mgr/restful: 未配置时显示更清晰的消息 (issue#21292, pr#17573, John Spray)

  • mgr: mgr/smart: 修复 python3 模块加载 (pr#21047, Ricardo Dias)

  • mgr: mgr/status: 修复 ceph fs status 返回错误 (issue#21752, pr#18233, Yanhu Cao)

  • mgr: mgr/status: 以 2 的幂倍数格式化字节数量 (issue#21189, pr#17380, John Spray)

  • mgr: mgr/telemetry: 添加 Ceph Telemetry 模块以将报告发送回项目 (pr#21970, Wido den Hollander)

  • mgr: mgr/zabbix: 修复除以零 (issue#21518, pr#17931, John Spray)

  • mgr: mgr/zabbix: 忽略容量为 0 KB 的 osd (issue#21904, pr#18809, Ilja Slepnev)

  • mgr: mgr/zabbix: 实现健康检查 (pr#20198, Wido den Hollander)

  • mgr: mgr/zabbix: 将 OSD 的最大、最小和平均 PG 发送给 Zabbix (pr#21043, Wido den Hollander)

  • mgr: mgr/Zabbix: Zabbix 模块的各种修复 (pr#19452, Wido den Hollander)

  • mgr: mimic: mgr/telegraf: 用于 Ceph Mgr 的 Telegraf 模块 (pr#22013, Wido den Hollander)

  • mgr: 修改 mgr-influx 模块数据库检查,使其不需要管理员权限 (pr#18102, Benjeman Meekhof)

  • mgr: mon,mgr: 改进“mgr module disable”命令 (pr#21188, Gu Zhongyan)

  • mgr: mon, mgr: 将“osd pool stats”命令移动到 mgr 和 mgr python 模块 (pr#19985, Chang Liu)

  • mgr: mon/MgrStatMonitor: 修复 pending_digest 的格式化 (issue#22991, pr#20426, Patrick Donnelly)

  • mgr,mon: mon/MgrMonitor: 在 update_from_paxos() 时读取空的 cmd descs (issue#21300, pr#17846, Joao Eduardo Luis)

  • mgr,mon: mon,mgr: 从 ceph 命令行的描述中删除单个通配符‘*’ (pr#21139, Gu Zhongyan)

  • mgr,mon: mon/mgr: 将“mgr_command_descs”,"osd_metadata" 和 "mgr_metadata" 前缀同步到新的 mon (pr#17929, huanwen ren)

  • mgr,mon: mon/MonCommands: mgr 元数据 - 改进参数命名一致性 (issue#23330, pr#20866, Jan Fajerski)

  • mgr: 防止 DaemonState 中出现空白主机名 (issue#20887, issue#21060, pr#17138, liuchang0812)

  • mgr: prometheus: 添加 osd commit/apply 延迟指标 (#22718) (issue#22718, pr#19980, Konstantin Shalygin)

  • mgr: prometheus: 遇到无元数据的 OSD 时不要崩溃 (pr#20539, Christopher Blum)

  • mgr: prometheus 修复元数据标签 (pr#21557, Jan Fajerski)

  • mgr: prometheus: 将元数据指标值设置为 '1' (#22717) (issue#22717, pr#19979, Konstantin Shalygin)

  • mgr: pybind/mgr/balancer: 添加对空 adjusted_map 的健全性检查 (pr#20836, xie xingguo)

  • mgr: pybind/mgr/balancer: 修复池删除与自动优化之间的竞争条件 (pr#20706, xie xingguo)

  • mgr: pybind/mgr/balancer: 添加对空 weight-set 的健全性检查 (pr#20278, xie xingguo)

  • mgr: pybind/mgr/balancer: 正确增加 bad_steps (pr#20194, xie xingguo)

  • mgr: pybind/mgr/balancer: 从 ms 加载 weight-set (pr#20197, xie xingguo)

  • mgr: pybind/mgr/balancer: 更具体的命令输出 (pr#20305, xie xingguo)

  • mgr: pybind/mgr/balancer: 正确移除优化计划 (pr#20224, xie xingguo)

  • mgr: pybind/mgr/balancer: 另外两个修复 (pr#20788, xie xingguo)

  • mgr: pybind/mgr/dashboard: 添加 url_prefix (issue#20568, pr#17119, Nick Erdmann)

  • mgr: pybind/mgr/dashboard: 修复 html href 中的重复斜杠 (issue#22851, pr#20229, Shengjing Zhu)

  • mgr,pybind: mgr/dashboard: 修复池大小基数转换 (pr#16771, Yixing Yan)

  • mgr: pybind/mgr/dashboard: 修复反向代理支持 (issue#22557, pr#19758, Nick Erdmann)

  • mgr,pybind: mgr/iostat: 将输出打印为表格 (pr#21338, Mohamad Gebai)

  • mgr: pybind/mgr/localpool: 自动创建本地化池的模块 (pr#17528, Sage Weil)

  • mgr: pybind/mgr/mgr_module: 为 MgrStandbyModule.get_con… 添加默认参数 (pr#19948, Kefu Chai)

  • mgr: pybind/mgr/mgr_module: 使 rados handle 可用于所有模块 (pr#19972, Sage Weil)

  • mgr: pybind/mgr_module: 将 PRIO_* 和 PERFCOUNTER_* 移动到 MgrModule 类 (pr#18251, Jan Fajerski)

  • mgr: pybind/mgr: 新的“hello world”mgr 模块骨架 (pr#19491, Yaarit Hatuka)

  • mgr: pybind/mgr/prometheus: 添加 file_sd_config 命令 (pr#21061, Jan Fajerski)

  • mgr: pybind/mgr/prometheus: 添加 osd_in/out 指标;使 osd_weight 成为指标 (pr#18243, Jan Fajerski)

  • mgr: pybind/mgr/prometheus: 添加 StandbyModule 并处理失败的 MON 集群 (pr#19744, Jan Fajerski)

  • mgr: pybind/mgr/prometheus: 遇到未知的 PG 状态时不要崩溃 (pr#18903, Jan Fajerski)

  • mgr: pybind/mgr/prometheus: 不导出已死守护进程的指标;新指标 (pr#20506, Jan Fajerski)

  • mgr: pybind/mgr/prometheus: 修复 osd_metadata 指标的创建 (pr#21530, Jan Fajerski)

  • mgr: pybind/mgr/prometheus: 修复指标类型 undef -> untyped (issue#22313, pr#19524, Ilya Margolin)

  • mgr: pybind/mgr/prometheus: 修复指标类型 undef -> untyped (pr#18208, Jan Fajerski)

  • mgr,pybind: pybing/mgr/prometheus: 如果 config-key get 返回…则返回默认端口 (pr#21696, Jan Fajerski)

  • mgr: python 接口重构 + 使模块可以在待机模式下运行 (issue#21593, issue#17460, pr#16651, John Spray, Sage Weil)

  • mgr: 降低关于丢失 OSD 统计信息的日志记录 (pr#20485, John Spray)

  • mgr,rbd: mgr/dashboard: 添加了 iSCSI IOPS/吞吐量指标 (issue#21391, pr#18653, Jason Dillaman)

  • mgr,rbd: mgr/dashboard: 修复 iSCSI 状态页上列出的重复镜像 (issue#21017, pr#17055, Jason Dillaman)

  • mgr: reconciles can_run 检查和 selftest (pr#21607, John Spray, Kefu Chai)

  • mgr: 删除一些垃圾行 (pr#20005, John Spray)

  • mgr: 从 dashboard 模块中移除未使用的静态文件 (pr#16762, John Spray)

  • mgr: 收到未知服务器的报告时,请求守护进程的元数据 (issue#21687, pr#18484, Chang Liu)

  • mgr,rgw: mgr/dashboard: RGW 页面 (pr#19512, Chang Liu)

  • mgr,rgw: prometheus: 实现 rgw_metadata 指标 (pr#21383, Boris Ranto)

  • mgr: pyThreadState 使用的安全检查 (pr#18093, John Spray)

  • mgr: 设置显式线程名称 (issue#21404, pr#17756, John Spray)

  • mgr: 抑制 -Wsign-compare 警告 (pr#17881, Jos Collin)

  • mgr: 跳过 PGMap::apply_incremental() 中的第一个非零增量 (issue#21773, pr#18347, Aleksei Gutikov)

  • mgr/status: 输出到 stdout,而不是 stderr (issue#24175, pr#22135, John Spray)

  • mgr: 在 MgrSession 中存储 declared_types (issue#21197, pr#17932, John Spray)

  • mgr: systemd: 重启 ceph-mgr 前等待 10 秒 (issue#23083, pr#20533, Wido den Hollander)

  • mgr,tests: mgr/dashboard: 为非 bluestore 集群跳过数据池测试用例 (pr#21004, Tatjana Dehler)

  • mgr,tests: mgr/dashboard_v2: 修复 test_perf_counters_mgr_get (pr#20916, Tiago Melo)

  • mgr,tests: qa: 将新的 prometheus 测试添加到 rados/mgr 套件 (pr#20047, John Spray)

  • mgr,tests: qa: 在 selftest 前正确配置 zabbix (issue#22514, pr#19634, John Spray)

  • mgr,tests: qa: 修复 mgr _load_module 帮助函数 (pr#18685, John Spray)

  • mgr,tools: mgr/iostat: 将“ceph iostat”实现为 mgr 插件 (pr#20100, Mohamad Gebai)

  • mgr: 使用新风格的配置选项 + 添加元数据 (pr#17374, John Spray)

  • mgr/zabbix: 修复错误的日志消息 (pr#21237, Gu Zhongyan)

  • mgr/zabbix: 监控模板改进 (pr#19901, Marc Schoechlin)

  • mon: 添加 ceph osd get-require-min-compat-client 命令 (pr#19015, hansbogert)

  • mon: 添加“ceph osd pool get erasure allow_ec_overwrites”命令 (pr#21102, Mykola Golub)

  • mon: 重新添加 MMonHealth (issue#22462, pr#20528, Kefu Chai)

  • mon: 添加 mon_health_preluminous_compat_warning (pr#16902, Sage Weil)

  • mon: 几次转换为单调时钟 (pr#18595, Patrick Donnelly)

  • mon: 对齐 lspools 输出 (pr#19597, Jos Collin)

  • mon: 允许集群和调试日志输出到 stderr,并带有适当的前缀 (pr#19385, Sage Weil)

  • mon: 缓存重新编码的 osdmaps (issue#23713, pr#21605, Sage Weil, Xiaoxi CHEN)

  • mon: 集中配置 (pr#20172, Sage Weil)

  • mon: “ceph osd crush rule rename” 支持 (pr#17029, xie xingguo)

  • mon: 检查 monitor 地址配置 (pr#18073, Li Wang)

  • mon: 清理 mon 事件上的集群日志记录 (issue#22082, pr#18822, John Spray)

  • mon: 清理 optracker 代码 (pr#21371, John Spray)

  • mon: 清理未使用的选项 mon_health_data_update_interval (pr#17728, Yao Guotao)

  • mon: common/options: 设置 max_background_jobs 而不是 max_background_compactions (pr#18397, Kefu Chai)

  • mon: 压缩未擦洗或深度擦洗的 pg 的警告 (pr#17295, Zhi Zhang)

  • mon: 不使用 per_pool_sum_delta 来显示恢复摘要 (issue#22727, pr#20009, Chang Liu)

  • mon: 升级时不丢弃 bootstrap-mgr (issue#20950, pr#18399, John Spray)

  • mon: 将 mon_mgr_mkfs_grace 从 60s 增加到 120s (pr#20955, Sage Weil)

  • mon: 删除多余的访问说明符等(清理) (pr#19028, Shinobu Kinjo)

  • mon: 以浮点数显示 percent_used PGMap 字段 (pr#20439, John Spray)

  • mon: 与 MgrStatMonitor dump 信息一起 dump servicemap (pr#18760, Zhi Zhang)

  • mon: 扩展 mgr, osd, mds 的 cap 有效性检查 (issue#22525, pr#21311, Jing Li, Sage Weil)

  • mon: final luminous compatset 功能和 osdmap 标志 (pr#17333, Sage Weil)

  • mon: 修复 mon 集群升级期间广告的命令 (pr#16871, Sage Weil)

  • mon: 修复在 active mgr (#21260) 时丢弃 mgr 元数据 (issue#21260, pr#17571, John Spray)

  • mon: 修复“fs new”池元数据更新,测试 (issue#20959, pr#16954, Greg Farnum)

  • mon: 修复升级期间“ceph status”中的旧健康检查;修复 jewel-x 升级组合 (pr#16967, Sage Weil)

  • mon: 修复 mgr 使用 auth_client_required 策略 (pr#20048, John Spray)

  • mon: 修复 osd out clog 消息 (issue#21249, pr#17525, John Spray)

  • mon: 修复 mon 上的慢操作警告,改进慢操作警告 (issue#23769, pr#21684, Sage Weil)

  • mon: 修复“features”命令结构 (pr#20115, Sage Weil)

  • mon: 修复两个遗留的 get_health() 调用者 (pr#17269, Sage Weil)

  • mon: 修复“ceph features”命令的错误 mon-num 计算逻辑 (pr#16887, xie xingguo)

  • mon: 优雅地处理错误的快照删除请求 (issue#18746, pr#20835, Paul Emmerich)

  • mon: 处理杀死 mgrs 时的 monitor 延迟 (issue#20629, pr#18268, John Spray)

  • mon: “ceph df”中的 MAX AVAIL 不正确 (issue#21243, pr#17513, liuchang0812)

  • mon: 查询池参数时返回的 JSON 无效 (issue#23200, pr#20745, Chang Liu)

  • mon/LogMonitor: 对忽略的日志消息调用 no_reply() (pr#22104, Sage Weil)

  • mon: 将 mgr 报告标记为 no_reply (issue#22114, pr#21057, Kefu Chai)

  • mon: 标记 mon_allow_pool_delete 为已观察 (pr#18125, Dan van der Ster)

  • mon: 将 osd beacon 和 pg_create 消息标记为 no_reply (issue#22114, pr#20517, Greg Farnum)

  • mon: mon/AuthMonitor: 不使用 valid_caps() 验证 fs authorize caps (pr#21418, Joao Eduardo Luis)

  • mon: mon/ConfigMonitor: 清理 prepare_command() (pr#20911, Gu Zhongyan)

  • mon: mon/Elector: 启动时强制增加选举 epoch (issue#20949, pr#16944, Sage Weil)

  • mon: mon/Elector: 移除未使用的成员字段 start_stamp 和 ack_stamp (pr#21091, runsisi)

  • mon: mon/LogMonitor: “log last”应返回最多 n 条条目 (pr#18759, Kefu Chai)

  • mon: mon/MDSMonitor: 修复 clang 构建失败 (pr#20637, Willem Jan Withagen)

  • mon: mon,mgr: 使 osd_metric 更常用并向 mgr 报告慢操作 (issue#23045, pr#20660, lvshanchun)

  • mon: mon/MgrMonitor: 限制 mgrmap 历史记录 (issue#22257, pr#19185, Sage Weil)

  • mon: mon/MonCommands: 修复复制粘贴错误 (pr#17271, xie xingguo)

  • mon: mon,option: 为 mon_dns_srv_name 设置默认值 (issue#21204, pr#17539, Kefu Chai)

  • mon: mon/OSDMonitor: 为“crush add-bucket”命令添加位置选项 (pr#17125, xie xingguo)

  • mon: mon/OSDMonitor: 添加‘osd crush set-all-straw-buckets-to-straw2’ (pr#18460, Sage Weil)

  • mon: mon/OSDMonitor: 为“crush class ls-osd”命令添加纯文本输出 (pr#17034, xie xingguo)

  • mon: mon/OSDMonitor: 在日志消息中 __func__ 后添加空格 (pr#19127, Kefu Chai)

  • mon: mon/OSDMonitor: 改进 prepare_command_pool_set E2BIG 错误消息 (pr#19944, Brad Hubbard)

  • mon: mon/OSDMonitor.cc: 修复 expected_num_objects 解释错误 (issue#22530, pr#19651, Yang Honggang)

  • mon: mon/OSDMonitor.cc : 创建复制池时将 erasure-code-profile 设置为“” (pr#19673, zouaiguo)

  • mon: mon/OSDMonitor: 在发送 create 时检查 last_scan_epoch (issue#20785, pr#17248, Kefu Chai)

  • mon: mon/OSDMonitor: 清理 cmd 'osd tree-from' (pr#20839, Gu Zhongyan)

  • mon: mon/OSDMonitor: do not send_pg_creates with stale info (issue#20785, pr#17065, Kefu Chai)

  • mon: mon/OSDMonitor: error out if setting ruleset-* ec profile property (pr#17848, Sage Weil)

  • mon: mon/OSDMonitor: fix improper input/testing range of crush somke testing (pr#17179, xie xingguo)

  • mon: mon/OSDMonitor: fix ‘osd pg temp’ unable to cleanup pg-temp (pr#16892, xie xingguo)

  • mon: mon/OSDMonitor: implement ‘osd crush ls <node>’ (pr#16920, Sage Weil)

  • mon: mon/OSDMonitor: kill pending upmap changes too if pool is gone (pr#20704, xie xingguo)

  • mon: mon/OSDMonitor: logging non-active osd id when handling osd beacon (pr#21092, runsisi)

  • mon: mon/OSDMonitor: make ‘osd crush rule rename’ idempotent (issue#21162, pr#17329, xie xingguo)

  • mon: mon/OSDMonitor: “osd pool application get” support (issue#20976, pr#16955, xie xingguo)

  • mon: mon/OSDMonitor: txsize should be greater or eq to prune_interval - 1 (pr#21430, Kefu Chai)

  • mon: mon/PGMap: drop DISK LOG column (pr#17617, Sage Weil)

  • mon: mon/PGMap: fix “0 stuck requests are blocked > 4096 sec” warn (pr#17099, xie xingguo)

  • mon: mon/PGMap: nice numbers for ‘data’ section of ‘ceph df’ command (pr#17368, xie xingguo)

  • mon: mon/PGMap: Remove unnecessary header (pr#18343, Shinobu Kinjo)

  • mon: mon/PGMap: reweight::by_utilization - skip DNE osds (issue#20970, pr#17064, xie xingguo)

  • mon: mon/pgmap: update pool nearfull display (pr#17043, huanwen ren)

  • mon: more aggressively convert crush rulesets -> distinct rules (pr#17508, John Spray, Sage Weil)

  • mon: more constness (pr#17748, Kefu Chai)

  • mon: node ls improvement (pr#20820, Gu Zhongyan)

  • mon: ‘node ls’ mgr support (pr#20711, Gu Zhongyan)

  • mon: NULL check of logger before use (pr#18788, Amit Kumar)

  • mon,osd: dump “compression_algorithms” in “mon metadata” (issue#24135, issue#22420, pr#22004, Kefu Chai, Casey Bodley)

  • mon: osd feature checks with 0 up osds (issue#21471, issue#20751, pr#17831, Brad Hubbard, Sage Weil)

  • mon: osdmap prune (pr#19331, Joao Eduardo Luis)

  • mon/OSDMonitor: cleanup: move bufferlist before use (pr#18258, Shinobu Kinjo)

  • mon/OSDMonitor: use new style options (pr#18209, Kefu Chai)

  • mon: osd/OSDMap.h: toss osd out if it has no more pending states (pr#19642, xie xingguo)

  • mon: paxos cleanup (pr#20078, huanwen ren)

  • mon/PGMap: let pg_string_state() return boost::optional<> (issue#21609, pr#18218, Kefu Chai)

  • mon/PGMap: use new-style options and cleanup (pr#18647, Kefu Chai)

  • mon: post-luminous cleanup (part 3 of ?) (pr#17607, Sage Weil)

  • mon: rate limit on health check update logging (issue#20888, pr#16942, John Spray)

  • mon: reenable timer to send digest when paxos is temporarily inactive (issue#22142, pr#19404, Jan Fajerski)

  • mon: remove health service (pr#20119, Chang Liu)

  • mon: remove_is_write_ready() (pr#19191, Kefu Chai)

  • mon: remove pre-luminous compat cruft (2 of many) (pr#17322, Sage Weil)

  • mon: remove unused waiting_for_commit (pr#18617, Kefu Chai)

  • mon: return directly after health_events_cleanup (pr#16964, wang yang)

  • mon: revert mds metadata argument name change (issue#22527, pr#19926, Patrick Donnelly)

  • mon: show feature flags when printing MonSession (pr#17535, Paul Emmerich)

  • mon: some cleanup (pr#17067, huanwen ren)

  • mon,tests: vstart: set osd_pool_default_erasure_code_profile in initial ceph.conf (pr#21008, Mykola Golub)

  • mon: update get_store_prefixes implementations (issue#21534, pr#17940, John Spray, huanwen ren)

  • mon: update PaxosService::cached_first_committed in PaxosService::maybe_trim() (issue#11332, pr#19397, Xuehan Xu, yupeng chen)

  • mon: use ceph_clock_now if message is self-generated (pr#17311, huangjun)

  • mon: warn about using osd new instead of osd create (issue#21023, pr#17242, Neha Ojha)

  • msg/async/AsyncConnection: remove legacy feature case handle (pr#18469, Haomai Wang)

  • msg/async: avoid referencing the temporary string (pr#20640, Kefu Chai)

  • msg/async: batch handle msg_iovlen (pr#18415, Jianpeng Ma)

  • msg/async/dpdk: remove xsky copyright and LGPL copying (pr#21121, Kefu Chai)

  • msg/async/EventKqueue: assert on OOM (pr#21488, Kefu Chai)

  • msg/async: fix ms_dpdk_coremask and ms_dpdk_coremask conflict (pr#18678, chunmei)

  • msg/async:fix the incoming parameter type of EventCenter::process_events() (pr#20607, shangfufei)

  • msg/async misc cleanup (pr#18531, Jianpeng Ma)

  • msg/async: misc cleanup (pr#18575, Jianpeng Ma)

  • msg/async/rdma: a tiny typo fix (pr#18660, Yan Lei)

  • msg/async/rdma: fix a coredump introduced by PR #18053 (pr#18204, Yan Lei)

  • msg/async/rdma: fix a potential coredump when handling tx_buffers under heavy RDMA (pr#18036, Yan Lei)

  • msg/async/rdma: fixes crash for multi rados client within one process (pr#16981, Alex Mikheev, Haomai Wang, Adir Lev)

  • msg/async/rdma: fix Tx buffer leakage that can introduce “heartbeat no reply” (pr#18053, Yan Lei)

  • msg/async/rdma: refactor rx buffer pool allocator (pr#17018, Alex Mikheev)

  • msg/async/rdma: unnecessary reinitiliazation of an iterator (pr#18190, JustL)

  • msg/async: size of EventCenter::file_events should be greater than fd (issue#23253, pr#20764, Yupeng Chen)

  • msg/async: use bitset<> to do the popcnt (pr#18681, Kefu Chai)

  • msg/async: use device before checking (pr#19738, Xiaoyan Li)

  • msg: drop duplicate include (pr#19623, /bin/bash)

  • msg: drop the unnecessary polling_stop() (pr#17079, Jos Collin)

  • msg: Initialize lkey,bound,port_cnt,num_chunk,gid_idx (pr#17797, Amit Kumar)

  • msg: Initializing class members in module msg (pr#17568, Amit Kumar)

  • msg: reimplement sigpipe blocking (pr#18105, Greg Farnum)

  • msg: remove the ),it’s redundant (pr#17544, linxuhua)

  • msg: resurrect support for !CEPH_FEATURE_MSG_AUTH (pr#19044, Ilya Dryomov)

  • msgr: Optimization for connection establishment (pr#16006, shangfufei)

  • msg/simple: pass a char for reading from shutdown_rd_fd (pr#19094, Kefu Chai)

  • NVMDevice: fix issued caused by #17002 (pr#17112, Ziye Yang)

  • objclass-sdk: expose __cls_init() to the world (pr#21581, Kefu Chai)

  • objecter: minor cleanups (pr#19994, runsisi)

  • os/bluestore/bluestore_tool: Move redundant code into one method (pr#19160, Shinobu Kinjo)

  • os/bluestore: implement BlueRocksEnv::AreFilesSame() (issue#21842, pr#18392, Kefu Chai)

  • os/bluestore: simplify and fix SharedBlob::put() (issue#24211, pr#22170, Sage Weil)

  • osd: additional protection for out-of-bounds EC reads (issue#21629, pr#18088, Jason Dillaman)

  • osd: add multiple objecter finishers (pr#16521, Myoungwon Oh)

  • osd: add num_object_manifest (pr#20690, Myoungwon Oh)

  • osd: add numpg_removing metric (pr#18450, Sage Weil)

  • osd: add processed_subop_count for cls_cxx_subop_version() (issue#21964, pr#18610, Casey Bodley)

  • osd: add scrub week day constraint (pr#18368, kungf)

  • osd: adjust osd_min_pg_log_entries (issue#21026, pr#17075, J. Eric Ivancich)

  • osd: allow FULL_TRY after failsafe (pr#17177, Pan Liu)

  • osd: allow PG recovery scheduling preemption (pr#17839, Sage Weil)

  • osd: async recovery (pr#19811, Neha Ojha)

  • osd: avoid encoding the same log entries repeatedly for different peers (pr#20201, Jianpeng Ma)

  • osd: avoid the config’s get_val() overhead on the read path (pr#20217, Radoslaw Zarzynski)

  • osd: avoid unnecessary ref-counting across PrimaryLogPG::get_rw_locks (pr#21028, Radoslaw Zarzynski)

  • osd: be more precise about our asserts and cases when rebuilding missing sets (issue#20985, pr#17000, Greg Farnum)

  • osd: bring in dmclock library changes (pr#16755, J. Eric Ivancich)

  • osd: bring in latest dmclock library updates (pr#17997, J. Eric Ivancich)

  • osd: cap snaptrimq_len at 2^32 (pr#21107, Kefu Chai)

  • osd: change log level when withholding pg creation (issue#22440, pr#20167, Dan van der Ster)

  • osd: change op delayed state to ‘waiting for scrub’ (pr#19295, kungf)

  • osd: Change shard digests to hex like object info digests (pr#21362, David Zafman)

  • osd: change the conditional in _update_calc_stats (pr#13383, Zhiqiang Wang)

  • osd: check feature bits when encoding objectstore_perf_stat_t (pr#20378, Kefu Chai)

  • osd: clean up dup index logic; maintain index flag logic in fewer places (pr#16829, J. Eric Ivancich)

  • osd: clean up pre-luminous compat cruft (part 1 of many) (pr#17247, Sage Weil)

  • osd: cleanups (pr#17753, Kefu Chai)

  • osdc/Objecter: using coarse_mono instead (pr#18473, Haomai Wang)

  • osdc/Objector: use std::shared_mutex instead of boost::shared_mutex (issue#23910, pr#21702, Abhishek Lekshmanan)

  • osd: correct several spell errors in comments (pr#21064, songweibin)

  • osdc: Remove a bit too redundant public label (pr#19466, Shinobu Kinjo)

  • osdc: self-managed snapshot helper should catch decode exception (issue#24103, issue#24000, pr#21958, Jason Dillaman)

  • osd: debug dispatch_context cases where queries not sent (pr#20917, Sage Weil)

  • osd: Deleting dead code PrimaryLogPG.cc (pr#17339, Amit Kumar)

  • osd: don’t crash on empty snapset (issue#23851, pr#21058, Mykola Golub, Igor Fedotov)

  • osd: Don’t include same header twice (pr#18319, Shinobu Kinjo)

  • osd: Don’t initialze pointers by NULL or 0 (pr#18311, Shinobu Kinjo)

  • osd: don’t memcpy hobject_t in PrimaryLogPG::close_op_ctx() (pr#21029, Radoslaw Zarzynski)

  • osd: don’t process ostream strings when not debugging (pr#20298, Mark Nelson)

  • osd: drop redundant comment (pr#20347, songweibin)

  • osd: Drop the unused code in OSD::_collect_metadata (pr#17131, Luo Kexue)

  • osd: drop unused osd_disk_tp related options (pr#21339, Gu Zhongyan)

  • osd: eliminate ineffective container operations (pr#19099, Igor Fedotov)

  • osd: enumerate device names in a simple way (pr#18453, Sage Weil)

  • osd: exit(1) directly without lock if init fails (pr#16647, Kefu Chai)

  • osd: fast dispatch of peering events and pg_map + osd sharded wq refactor (pr#19973, Sage Weil)

  • osd: fine-grained statistics of logical object space usage (pr#15199, xie xingguo)

  • osd: Fix assert when checking missing version (issue#21218, pr#20410, David Zafman)

  • osd: fix a valgrind issue (conditional jump depends on uninitialized value) (issue#22641, pr#19874, Myoungwon Oh)

  • osd: fix bug which cause can’t erase OSDShardPGSlot (pr#21771, Jianpeng Ma)

  • osd: fix build_initial_pg_history (issue#21203, pr#17423, w11979, Sage Weil)

  • osd: fix crash caused by divide by zero in heartbeat code (pr#21373, Piotr Dałek)

  • osd: fix dpdk memzon mz_name setting issue (pr#19809, chunmei Liu)

  • osd: fix dpdk runtime issue based on spdk/dpdk libarary (pr#19559, chunmei Liu)

  • osd: fix dpdk worker references issue (pr#19886, chunmei Liu)

  • osd: Fixes for osd_scrub_during_recovery handling (issue#18206, pr#17039, David Zafman)

  • osd: fix out of order caused by letting old msg from down osd be processed (issue#22570, pr#19796, Mingxin Liu)

  • osd: fix _process handling for pg vs slot race (pr#21745, Sage Weil)

  • osd: fix recovery reservation bugs, and implement remote reservation preemption (pr#18485, Sage Weil)

  • osd: fix replica/backfill target handling of REJECT (issue#21613, pr#18070, Sage Weil)

  • osd: fix reqid assignment for reply messages in OpRequest (pr#17060, Yingxin Cheng)

  • osd: fix s390x build failure (issue#23238, pr#20969, Nathan Cutler)

  • osd: fix typos and some cleanups (pr#19211, Enming Zhang)

  • osd: fix unordered read bug (for chunked object) (issue#22369, pr#19464, Myoungwon Oh)

  • osd: fix waiting_for_peered vs flushing (issue#21407, pr#17759, Sage Weil)

  • osd: flush operations for chunked objects (pr#19294, Myoungwon Oh)

  • osd: generalize queueing and lock interface for OpWq (pr#16030, Myoungwon Oh, Kefu Chai, Samuel Just)

  • osd: get loadavg per cpu for scrub load threshold check (pr#17718, kungf)

  • osd: get rid off extent map in object_info (pr#19616, Igor Fedotov)

  • osd: hold lock while accessing recovery_needs_sleep (issue#21566, pr#18022, Neha Ojha)

  • osd: Improve recovery stat handling by using peer_missing and missing_loc info (issue#22837, pr#20220, Sage Weil, David Zafman)

  • osd: Improve size scrub error handling and ignore system attrs in xattr checking (issue#20243, issue#18836, pr#16407, David Zafman)

  • osd: include front_iface+back_iface in metadata (issue#20956, pr#16941, John Spray)

  • osd: Initialization of data members (pr#17691, Amit Kumar)

  • osd: Initialization of pointer cls (pr#17115, amitkuma)

  • osd: Initializing start_offset,last_offset,offset (pr#19333, Amit Kumar)

  • osd: initial minimal efforts to clean up PG interface (pr#17708, Sage Weil)

  • osd: introduce sub-chunks to erasure code plugin interface (issue#19278, pr#15193, Myna Vajha)

  • osd: kill snapdirs (pr#17579, Sage Weil)

  • osd: Make dmclock’s anticipation timeout be configurable (pr#18827, Taewoong Kim)

  • osd: make operations on ReplicatedBackend::in_progress_ops more effective (pr#19035, Igor Fedotov)

  • osd: make PG::*Force* event structs public (pr#21312, Willem Jan Withagen)

  • osd: make scrub no deadline when max interval is zero (pr#18354, kungf)

  • osd: make scrub right now when pg stats_invalid is true (pr#17884, kungf)

  • osd: make scrub wait for ec read/modify/writes to apply (issue#23339, pr#20944, Sage Weil)

  • osd: make snapmapper warn+clean up instead of assert (issue#22752, pr#20040, Sage Weil)

  • osd: make stat_bytes and stat_bytes_used counters PRIO_USEFUL (issue#21981, pr#18637, Yao Zongyou)

  • osd: make the PG’s SORTBITWISE assert a more generous shutdown (issue#20416, pr#18047, Greg Farnum)

  • osd: Making use of find to reduce computational complexity (pr#19732, Shinobu Kinjo)

  • osd: migrate PGLOG_* macros to constexpr (issue#20811, pr#19352, Jesse Williamson)

  • osd: minor optimizations for op wq (pr#17704, Sage Weil, J. Eric Ivancich)

  • osd: min_pg_log_entries == max == pg_log_dups_tracked (pr#20394, Sage Weil)

  • osd: misc cleanups (pr#17430, songweibin)

  • osd: miscellaneous cleanups (pr#21431, songweibin)

  • osd: more debugging for snapmapper bug (issue#21557, pr#19366, Sage Weil)

  • osd: object added to missing set for backfill, but is not in recovering, error! (issue#18162, pr#18145, David Zafman)

  • osd: only exit if *latest* map(s) say we are destroyed (issue#22673, pr#19988, Sage Weil)

  • osd: Only scan for omap corruption once (issue#21328, pr#17705, David Zafman)

  • osd,os,io: Initializing C_ProxyChunkRead members,queue,request (pr#19336, amitkuma)

  • osd: pass ops_blocked_by_scrub() to requeue_scrub() (pr#20319, Kefu Chai)

  • osd: pass pool options to ObjectStore on pg create (issue#22419, pr#19486, Sage Weil)

  • osd/PG: fix clang build vs private state events (pr#18217, Sage Weil)

  • osd/PG: handle flushed event directly (pr#19441, wumingqiao)

  • osd/PrimaryLogPG: derr when object size becomes over osd_max_object_size (pr#19049, Shinobu Kinjo)

  • osd: process _scan_snaps() with all snapshots with head (issue#22881, issue#23909, pr#21546, David Zafman)

  • osd: publish osdmap to OSDService before starting wq threads (issue#21977, pr#21623, Sage Weil)

  • osd: pull latest dmclock subtree (pr#19345, J. Eric Ivancich)

  • osd: put peering events in main sharded wq (pr#18752, Sage Weil)

  • osd: put pg removal in op_wq (pr#19433, Sage Weil)

  • osd: reduce all_info map find to get primary (pr#19425, kungf)

  • osd: refcount for manifest object (redirect, chunked) (pr#19935, Myoungwon Oh)

  • osd: remove cost from mclock op queues; cost not handled well in dmclock (pr#21428, J. Eric Ivancich)

  • osd: Remove double space (pr#19296, Shinobu Kinjo)

  • osd: remove duplicated “commit_queued_for_journal_write” in OpTracker (issue#23440, pr#21018, ashitakasam)

  • osd: remove duplicated function ec_pool in pg_pool_t (pr#18059, Chang Liu)

  • osd: Remove redundant local variable declaration (pr#19812, Shinobu Kinjo)

  • osd: Remove unnecessary headers (pr#19735, Shinobu Kinjo)

  • osd: remove unused ReplicatedBackend::objects_read_async() (pr#18779, Kefu Chai)

  • osd: remove unused variable in do_proxy_write (pr#17391, Myoungwon Oh)

  • osd: replace mclock subop opclass w/ rep_op opclass; combine duplicated code (pr#18194, J. Eric Ivancich)

  • osd: replace vectors_equal() with operator==(vector<>, vector<>) (pr#18064, Kefu Chai)

  • osd: request new map from PG when needed (issue#21428, pr#17795, Josh Durgin)

  • osd: resend osd_pgtemp if it’s not acked (issue#23610, pr#21310, Kefu Chai)

  • osd: Revert use of dmclock message feature bit since not yet finalized (pr#21398, J. Eric Ivancich)

  • osd,rgw,librbd: SCA fixes (pr#18495, Danny Al-Gaaf)

  • osd: set min_version to newest version in maybe_force_recovery (pr#17752, Xinze Chi)

  • osd: Sign in early SIGHUP signal (issue#22746, pr#19958, huanwen ren)

  • osd: silence maybe-uninitialized false positives (pr#19820, Yao Zongyou)

  • osd: silence warnings from -Wsign-compare (pr#17872, Jos Collin)

  • osd: skip dumping logical devices (pr#20740, songweibin)

  • osd: speed up get_key_name (issue#21026, pr#17071, J. Eric Ivancich)

  • osd: s/random_shuffle()/shuffle()/ (pr#19872, Willem Jan Withagen, Kefu Chai, Greg Farnum)

  • osd: subscribe osdmaps if any pending pgs (issue#22113, pr#18916, Kefu Chai)

  • osd: subscribe to new osdmap while waiting_for_healthy (issue#21121, pr#17244, Sage Weil)

  • osd: support class method whitelisting within caps (pr#19786, Jason Dillaman)

  • osd: treat successful and erroroneous writes the same for log trimming (issue#22050, pr#20827, Josh Durgin)

  • osd: two cleanups (pr#20830, songweibin)

  • osd: update dmclock library w git subtree pull (pr#17737, J. Eric Ivancich)

  • osd: update info only if new_interval (pr#17437, Kefu Chai)

  • osd: update store with options after pg is created (issue#22419, pr#20044, Kefu Chai)

  • osd: use dmclock library client_info_f function dynamically (pr#17063, bspark)

  • osd: use existing osd_required variable for messenger policy (pr#20223, Yan Jun)

  • osd: use prefix increment for non trivial iterator (pr#19097, Kefu Chai)

  • osd: Use specializations, typedefs instead (pr#19354, Shinobu Kinjo)

  • osd: Warn about objects with too many omap entries (pr#16332, Brad Hubbard)

  • os/filestore/HashIndex.h: fixed a typo in comment (pr#17685, yaoguotao)

  • os: Initializing uninitialized members aio_info (pr#17066, amitkuma)

  • os: Removing dead code from LFNIndex.cc (pr#17297, Amit Kumar)

  • prometheus: Handle the TIME perf counter type metrics (pr#21749, Boris Ranto)

  • pybind: add return note in rbd.pyx (pr#21768, Zheng Yin)

  • pybind/ceph_daemon: expand the order of magnitude of (issue#23962, pr#21836, Guan yunfei)

  • pybind: fix chart size become bigger when refresh (issue#20746, pr#16857, Yixing Yan)

  • pybind: mgr/dashboard: fix rbd’s pool sub menu (pr#16774, yanyx)

  • pybind,rbd: pybind/rbd: support open the image by image_id (pr#19361, songweibin)

  • pybind: remove unused get_ceph_version() (pr#17727, Kefu Chai)

  • qa: add cbt repo parameter (pr#18543, Neha Ojha)

  • qa: Add cephmetrics suite (pr#18451, Zack Cerza)

  • qa: add upgrade/luminous-x suite (pr#17160, Yuri Weinstein)

  • qa/crontab: run the perf-basic suite every day (pr#21252, Neha Ojha)

  • qa: Decreased amount of jobs on master, kraken, luminous runs (pr#17069, Yuri Weinstein)

  • qa: install collectl with cbt task (pr#19324, Neha Ojha)

  • qa: mimic-dev1 backports to avoid trusty nodes (pr#19600, Kefu Chai)

  • qa: preserve cbt task results (pr#19364, Neha Ojha)

  • qa/ceph-disk: enlarge the simulated SCSI disk (issue#22136, pr#19199, Kefu Chai)

  • qa/suites/perf-basic: add desc regarding test machines (pr#21183, Neha Ojha)

  • qa/suites/rados/multimon/tasks/mon_lock_with_skew: whitelist PG (pr#17004, Sage Weil)

  • qa/suites/rados/perf: add optimized settings (pr#17786, Neha Ojha)

  • qa/suites/rados/perf: add workloads (pr#18573, Neha Ojha)

  • qa/suites/rados/verify/validater/valgrind: whitelist PG (pr#17005, Sage Weil)

  • qa/suites/upgrade/jewel-x/parallel: tolerate laggy mgr (pr#17227, Sage Weil)

  • qa/suites/upgrade/kraken-x: fixes (pr#16881, Sage Weil)

  • qa/suites/upgrade/luminous-x fixes (pr#22101, Sage Weil)

  • qa/tests - Added options to use both cases: mon.a and installer.0 (pr#19745, Yuri Weinstein)

  • qa/tests - Fixed typo in crontab entry (pr#21482, Yuri Weinstein)

  • qa/tests: fixed typo (pr#21728, Yuri Weinstein)

  • qa/tests - minor clean ups and made perf-suite run 3 times, so we can… (pr#21309, Yuri Weinstein)

  • qa/tests - one more typo fixed :( (pr#21483, Yuri Weinstein)

  • qa/tests: removed rest suite from the mix (pr#21743, Yuri Weinstein)

  • qa: wait longer for osd to flush pg stats (issue#24321, pr#22288, Kefu Chai)

  • qa/workunits/ceph-disk: --no-mon-config (pr#21956, Kefu Chai)

  • rados: make ceph_perf_msgr_client work for multiple jobs (issue#22103, pr#18877, Jeegn Chen)

  • rbd: add deep cp CLI method (pr#19996, songweibin)

  • rbd: add group rename methods (issue#22981, pr#20577, songweibin)

  • rbd: add notrim option to rbd map (pr#21056, Hitoshi Kamei)

  • rbd: add parent info when moving child into trash bin (pr#19280, songweibin)

  • rbd: adjusted “lock list” JSON and XML formatted output (pr#19900, Jason Dillaman)

  • rbd: adjusted “showmapped” JSON and XML formatted output (pr#19937, Mykola Golub)

  • rbd: allow remove all unprotected snapshots (issue#23126, pr#20608, songweibin)

  • rbd: allow trash rm/purge when pool quota is full used (pr#20697, songweibin)

  • rbd: backport of mimic bug fixes (issue#24009, issue#24008, pr#21930, Jason Dillaman)

  • rbd: check if an image is already mapped before rbd map (issue#20580, pr#16517, Jing Li)

  • rbd: children list should support snapshot id optional (issue#23399, pr#20966, Jason Dillaman)

  • rbd: cleanup handling of IEC byte units (pr#21564, Jason Dillaman)

  • rbd: clean up warnings when mirror commands used on non-setup pool (issue#21319, pr#17636, Jason Dillaman)

  • rbd: cls/journal: ensure tags are properly expired (issue#21960, pr#18604, Jason Dillaman)

  • rbd: cls/journal: fixed possible infinite loop in expire_tags (issue#21956, pr#18592, Jason Dillaman)

  • rbd: cls/journal: possible infinite loop within tag_list class method (issue#21771, pr#18270, Jason Dillaman)

  • rbd: cls/rbd: group_image_list incorrectly flagged as RW (issue#23388, pr#20939, Jason Dillaman)

  • rbd: cls/rbd: metadata_list not honoring max_return parameter (issue#21247, pr#17499, Jason Dillaman)

  • rbd: cls/rbd: Silence gcc7 maybe-uninitialized warning (pr#18504, Brad Hubbard)

  • rbd: common/options,librbd/Utils: refactor RBD feature validation (pr#20014, Sage Weil)

  • rbd: disk usage on empty pool no longer returns an error message (issue#22200, pr#19045, Jason Dillaman)

  • rbd: do not show title if there is no group snapshot (pr#20311, songweibin)

  • rbd: don’t overwrite the error code from the remove action (pr#20481, Jason Dillaman)

  • rbd: drop unnecessary using declaration, etc (pr#19005, Shinobu Kinjo)

  • rbd: eager-thick provisioning support (pr#18317, Hitoshi Kamei)

  • rbd: export/import image-meta when we export/import an image (pr#17134, PCzhangPC)

  • rbd: filter out UserSnapshotNamespace in do_disk_usage (pr#20532, songweibin)

  • rbd: fix crash during map when “rw” option is specified (issue#21808, pr#18313, Peter Keresztes Schmidt)

  • rbd: fix logically dead code in function list_process_image (pr#16971, Luo Kexue)

  • rbd: fix rbd children listing when child is in trash (issue#21893, pr#18483, songweibin)

  • rbd: fix thread_offsets calculation of rbd bench (pr#20590, Hitoshi Kamei)

  • rbd: group misc cleanup and update rbd man page (pr#20199, songweibin)

  • rbd: group snapshot rename (pr#12431, Victor Denisov)

  • rbd: implement image qos in tokenbucket algorithm (pr#17032, Dongsheng Yang)

  • rbd: import with option --export-format 2 fails to protect snapshot (issue#23038, pr#20613, songweibin)

  • rbd: improve ‘import-diff’ corrupt input error messages (issue#18844, pr#21249, Jason Dillaman)

  • rbd: Initializing m_finalize_ctx (pr#17563, Amit Kumar)

  • rbd: introduce commands of “image-meta ls/rm” (pr#16591, PCzhangPC)

  • rbd: journal: limit number of appends sent in one librados op (issue#23526, pr#21157, Mykola Golub)

  • rbd: journal: trivial cleanup (pr#19317, Shinobu Kinjo)

  • rbd: krbd: include sys/sysmacros.h for major, minor and makedev (pr#20773, Ilya Dryomov)

  • rbd: krbd: rewrite “already mapped” code (pr#17638, Ilya Dryomov)

  • rbd: librados/snap_set_diff: don’t assert on empty snapset (pr#20648, Mykola Golub)

  • rbd: librbd: create+truncate for whole-object layered discards (issue#23285, pr#20809, Ilya Dryomov)

  • rbd: librbd: make rename request complete with filtered code (issue#23068, pr#20507, Mykola Golub)

  • rbd: librbd misc cleanup (pr#18419, Jianpeng Ma)

  • rbd: librbd: skip head object map update when deep copying object beyond image size (pr#21586, Mykola Golub)

  • rbd: librbd: sync flush should re-use existing async flush logic (pr#18403, Jason Dillaman)

  • rbd: librbd,test: address coverity false positives (pr#17825, Amit Kumar)

  • rbd: mimic: librbd: deep copy optionally support flattening cloned image (issue#22787, pr#22038, Mykola Golub)

  • rbd: mimic: rbd-mirror: optionally support active/active replication (pr#22105, Jason Dillaman)

  • rbd: mimic: rbd-mirror: potential deadlock when running asok ‘flush’ command (issue#24141, pr#22039, Mykola Golub)

  • rbd-mirror: additional thrasher testing (pr#21697, Jason Dillaman)

  • rbd-mirror: clean up spurious error log messages (issue#21961, pr#18601, Jason Dillaman)

  • rbd-mirror: cluster watcher should ensure it has latest OSD map (issue#22461, pr#19550, Jason Dillaman)

  • rbd-mirror: ensure unique service daemon name is utilized (pr#19492, Jason Dillaman)

  • rbd-mirror: fix potential infinite loop when formatting status message (issue#22932, pr#20349, Mykola Golub)

  • rbd-mirror: forced promotion can result in incorrect status (issue#21559, pr#17979, Jason Dillaman)

  • rbd-mirror: ImageMap memory leak fixes (pr#19163, Venky Shankar)

  • rbd-mirror: Improve data pool selection when creating images (pr#18006, Adam Wolfe Gordon)

  • rbd-mirror: integrate image map policy as incremental step to active-active (pr#21300, Jason Dillaman)

  • rbd-mirror: introduce basic image mapping policy (issue#18786, pr#15691, Venky Shankar)

  • rbd-mirror: missing lock when re-sending update_sync_point (pr#19011, Mykola Golub)

  • rbd-mirror: persist image map timestamp (pr#19338, Venky Shankar)

  • rbd-mirror: primary image should register in remote, non-primary image’s journal (issue#21561, pr#18136, Jason Dillaman)

  • rbd-mirror: properly translate remote tag mirror uuid for local mirror (issue#23876, pr#21657, Jason Dillaman)

  • rbd-mirror: removed dedicated thread from image deleter (issue#15322, pr#19000, Jason Dillaman)

  • rbd-mirror: rename asok hook to match image name when not replaying (issue#23888, pr#21682, Jason Dillaman)

  • rbd-mirror: rollback state transitions in image policy (pr#19577, Venky Shankar)

  • rbd-mirror: Set the data pool correctly when creating images (issue#20567, pr#17073, Adam Wolfe Gordon)

  • rbd-mirror: simplify notifications for image assignment (issue#15764, pr#16642, Jason Dillaman)

  • rbd-mirror: strip environment/CLI overrides for remote cluster (issue#21894, pr#18490, Jason Dillaman)

  • rbd-mirror: support deferred deletions of mirrored images (pr#19536, Jason Dillaman)

  • rbd-mirror: sync image metadata when transfering remote image (issue#21535, pr#18026, Jason Dillaman)

  • rbd-mirror: track images in policy map in support of A/A (issue#18786, pr#15788, Venky Shankar)

  • rbd-mirror: update asok hook name on image rename (issue#20860, pr#16998, Mykola Golub)

  • rbd-mirror: use next transition state to check transition completeness (pr#18969, Venky Shankar)

  • rbd-nbd: allow to unmap by image or snap spec (pr#19666, Mykola Golub)

  • rbd-nbd: bug fix when running in container (issue#22012, issue#22011, pr#18663, Li Wang)

  • rbd-nbd: certain kernels may not discover resized block devices (issue#22131, pr#18947, Jason Dillaman)

  • rbd-nbd: cleanup for NBDServer shut down (pr#17283, Pan Liu)

  • rbd-nbd: fix ebusy when do map (issue#23528, pr#21142, Li Wang)

  • rbd-nbd: fix generic option issue (issue#20426, pr#17375, Pan Liu)

  • rbd-nbd: output format support for list-mapped command (pr#19704, Mykola Golub)

  • rbd-nbd: support optionally setting device timeout (issue#22333, pr#19436, Mykola Golub)

  • rbd: null check before pool_name use (pr#18790, Amit Kumar)

  • rbd: output notifyOp request name when watching (pr#20551, shun-s)

  • rbd: parallelize “rbd ls -l” (pr#15579, Piotr Dałek)

  • rbd: pool_percent_used should not divided by 100 (pr#20795, songweibin)

  • rbd: properly pass ceph global command line args to subprocess (pr#19821, Mykola Golub)

  • rbd: pybind/rbd: add deep_copy method (pr#19406, Mykola Golub)

  • rbd: pybind/rbd: fix metadata functions error handling (issue#22306, pr#19337, Mykola Golub)

  • rbd: python bindings fixes and improvements (issue#23609, pr#21304, Ricardo Dias)

  • rbd: rbd-ggate: fix parsing ceph global options (pr#19822, Mykola Golub)

  • rbd: rbd-ggate: fix syntax error (pr#19919, Willem Jan Withagen)

  • rbd: rbd-ggate: make list command produce valid xml format output (pr#19823, Mykola Golub)

  • rbd: rbd-ggate: small fixes and improvements (pr#19679, Mykola Golub)

  • rbd: rbd-ggate: tool to map images on FreeBSD via GEOM Gate (pr#15339, Mykola Golub)

  • rbd: rbd:introduce rbd bench rw(for read and write mix) test (pr#17461, PCzhangPC)

  • rbd: rbd: set a default value for options in nbd map (pr#20529, songweibin)

  • rbd: replace positional_path parameter with arg_index in get_path() (pr#19722, songweibin)

  • rbd: replace trash delay option, add rbd trash purge command (pr#18323, Theofilos Mouratidis)

  • rbd: resource agent needs to be executable (issue#22980, issue#22362, pr#20397, Tim Bishop)

  • rbd:rm unnecessary conversion from string to char* in image-meta function (pr#17184, PCzhangPC)

  • rbd: show read:write proportion in the infomation of readwrite bench test (pr#18249, PCzhangPC)

  • rbd: snap limit should’t be set smaller than the number of existing snaps (pr#16597, PCzhangPC)

  • rbd: support cloning an image from a non-primary snapshot (issue#18480, pr#19724, Jason Dillaman)

  • rbd: support iterating over metadata items when listing (issue#21179, pr#17532, Jason Dillaman)

  • rbd: support lock_timeout in rbd mapping (pr#21344, Dongsheng Yang)

  • rbd: support osd_request_timeout in rbd map command (issue#23073, pr#20792, Dongsheng Yang)

  • rbd: switched from legacy to new-style configuration options (issue#20737, pr#16737, Jason Dillaman)

  • rbd,tests: qa: additional krbd discard test cases (pr#20499, Ilya Dryomov)

  • rbd,tests: qa: fix POOL_APP_NOT_ENABLED warning in krbd:unmap suite (pr#16966, Ilya Dryomov)

  • rbd,tests: qa: introduce rbd-mirror thrasher to existing tests (issue#18753, pr#21541, Jason Dillaman)

  • rbd,tests: qa: krbd_exclusive_option.sh: add lock_timeout test case (pr#21522, Ilya Dryomov)

  • rbd,tests: qa: krbd_fallocate.sh: add notrim test case (pr#21513, Ilya Dryomov)

  • rbd,tests: qa: krbd huge-image test (pr#20692, Ilya Dryomov)

  • rbd,tests: qa: krbd latest-osdmap-on-map test (pr#20591, Ilya Dryomov)

  • rbd,tests: qa: krbd msgr-segments test (pr#20714, Ilya Dryomov)

  • rbd,tests: qa: krbd parent-overlap test (pr#20721, Ilya Dryomov)

  • rbd,tests: qa: krbd whole-object-discard test (pr#20750, Ilya Dryomov)

  • rbd,tests: qa/suites/krbd: add krbd BLKROSET test (pr#18652, Ilya Dryomov)

  • rbd,tests: qa/suites/krbd: enable generic/050 and generic/448 (pr#18795, Ilya Dryomov)

  • rbd,tests: qa/suites/krbd: enable xfstests blockdev tests (pr#17621, Ilya Dryomov)

  • rbd,tests: qa/suites/krbd: exclude shared/298 (pr#17971, Ilya Dryomov)

  • rbd,tests: qa/suites/krbd: rbd_xfstests job overhaul (pr#17346, Ilya Dryomov)

  • rbd,tests: qa/suites/rbd: fewer socket failures (pr#19617, Sage Weil)

  • rbd,tests: qa/suites/rbd: miscellaneous test fixes (issue#21251, pr#17504, Jason Dillaman)

  • rbd,tests: qa/suites/rbd: segregated v1 image format tests (issue#22738, pr#20729, Jason Dillaman)

  • rbd,tests: qa/suites/rbd: set qemu task time_wait param (pr#21131, Mykola Golub)

  • rbd,tests: qa/tasks/cram: include /usr/sbin in the PATH for all commands (pr#18793, Ilya Dryomov)

  • rbd,tests: qa/tasks/rbd: run all xfstests runs to completion (pr#18583, Ilya Dryomov)

  • rbd,tests: qa/workunits/rbd: fix cli_generic test_purge for rbd default format 1 (pr#20389, Mykola Golub)

  • rbd,tests: qa/workunits/rbd: fixed variable name for resync image id (issue#21663, pr#18097, Jason Dillaman)

  • rbd,tests: qa/workunits/rbd: fix issues within permissions test (issue#23043, pr#20491, Jason Dillaman)

  • rbd,tests: qa/workunits/rbd: pool create may fail for small cluster (pr#18067, Mykola Golub)

  • rbd,tests: qa/workunits/rbd: potential race in mirror disconnect test (issue#23938, pr#21733, Mykola Golub)

  • rbd,tests: qa/workunits/rbd: relax greps to support upgrade formatting change (issue#21181, pr#17559, Jason Dillaman)

  • rbd,tests: qa/workunits/rbd: remove sanity check in journal.sh test (pr#20490, Jason Dillaman)

  • rbd,tests: qa/workunits/rbd: remove sanity check in test_admin_socket.sh (pr#21116, Mykola Golub)

  • rbd,tests: qa/workunits/rbd: remove “trash purge --threshold” test (issue#22803, pr#20170, Mykola Golub)

  • rbd,tests: qa/workunits/rbd: 简化 split-brain 测试以避免潜在的竞态条件 (issue#22485, pr#19604, Jason Dillaman)

  • rbd,tests: qa/workunits/rbd: 将 devstack tempest 切换到 17.2.0 标签 (issue#22961, pr#20599, Jason Dillaman)

  • rbd,tests: qa/workunits/rbd: 将 devstack 切换到 pike 发布版本 (pr#20124, Jason Dillaman)

  • rbd,tests: qa/workunits/rbd: 确保数据池被正确镜像 (pr#17062, Mykola Golub)

  • rbd,tests: qa/workunits/rbd: 在失败移除后不必要的睡眠 (pr#18619, Mykola Golub)

  • rbd,tests: qa/workunits/rbd: 使用命令行选项指定 watcher asok (issue#20954, pr#16917, Mykola Golub)

  • rbd,tests: qa/workunits/rbd: 等待 demote 状态传播 (pr#19073, Mykola Golub)

  • rbd,tests: qa/workunits/rbd: 仅当守护进程已启动时才等待状态传播 (pr#19082, Mykola Golub)

  • rbd,tests: rbd/test: 为 ex/import 添加快照保护测试 (pr#20689, songweibin)

  • rbd,tests: stop.sh: 在尝试取消映射 rbd 设备时使用 --no-mon-config (pr#21020, Mykola Golub)

  • rbd,tests: test: 解决 coverity 误报 (pr#17803, Amit Kumar)

  • rbd,tests: test/cls_rbd: 屏蔽较新的功能位以支持升级测试 (issue#21217, pr#17509, Jason Dillaman)

  • rbd,tests: test/librados_test_stub: 始终创建传递给操作的缓冲区的副本 (pr#21074, Mykola Golub)

  • rbd,tests: test/librbd: 向 test_notify 添加 update_features RPC 消息 (issue#21936, pr#18561, Jason Dillaman)

  • rbd,tests: test/librbd: 清理多个 mock 函数测试 (pr#18952, Jason Dillaman)

  • rbd,tests: test/librbd: 不要实例化 TrimRequest 模板类 (pr#19402, Boris Ranto)

  • rbd,tests: test/librbd: 确保 OutOfOrder 测试有足够的并发管理操作 (pr#21436, Mykola Golub)

  • rbd,tests: test/librbd: 修复 set_journal_policy 的 mock 方法宏 (pr#17216, Yan Jun)

  • rbd,tests: test/librbd: 修复 OSD 图刷新时的竞态条件 (issue#20918, pr#16877, Jason Dillaman)

  • rbd,tests: test/librbd: 修复 valgrind 内存泄漏警告 (pr#17187, Mykola Golub)

  • rbd,tests: test/librbd: 初始化 on_finish, locker, force, snap_id (pr#17800, Amit Kumar)

  • rbd,tests: test/librbd: 使 fsx 在非 Linux 平台构建 (pr#16939, Mykola Golub)

  • rbd,tests: test/librbd: 最近添加的测试中的内存泄漏 (pr#18478, Mykola Golub)

  • rbd,tests: test/librbd: fsx 的 rbd-ggate 模式 (pr#19315, Mykola Golub)

  • rbd,tests: test/librbd: 测试 metadata_set/remove 是否已应用 (pr#18288, Mykola Golub)

  • rbd,tests: test/librbd: TestMirroringWatcher 单元测试应忽略重复项 (issue#21029, pr#17078, Jason Dillaman)

  • rbd,tests: test/librbd: 为缓存层测试使用唯一的池 (issue#11502, pr#20486, Jason Dillaman)

  • rbd,tests: test/librbd: TestMockManagedLockBreakRequest.DeadLockOwner 中的 valgrind 警告 (pr#18940, Mykola Golub)

  • rbd,tests: test/pybind/rbd: 如果未启用分层,则跳过 test_deep_copy_clone (pr#20295, Mykola Golub)

  • rbd,tests: test/rbd: 如果 v1 映像格式或 deep-flatten 被禁用,cli_generic 会失败 (issue#22950, pr#20364, songweibin)

  • rbd,tests: test/rbd_mirror: 修复 unittest 中的 valgrind 警告 (pr#19016, Mykola Golub)

  • rbd,tests: test/rbd-mirror: 映像映射策略测试 (pr#19320, Venky Shankar)

  • rbd,tests: test/rbd-mirror: 提高对失效实例处理的覆盖率 (pr#21403, Jason Dillaman)

  • rbd,tests: test/rbd_mirror: “未初始化值的用法” valgrind 警告 (pr#19437, Mykola Golub)

  • rbd,tools: rbd-fuse: 确保 PATH_MAX 已定义 (pr#18615, Roberto Oliveira)

  • rbd,tools: rbd-replay: 移除 boost 依赖 (pr#21202, Kefu Chai)

  • rbd: tools/rbd: 在 bencher 中使用 steady clock (pr#20008, Mohamad Gebai)

  • rbd: ‘trash list --long’ 在非克隆映像上会返回失败 (pr#19540, Jason Dillaman)

  • rbd: ‘trash ls -l’ 仅在存在非 USER trash 映像时显示列标题 (pr#21343, songweibin)

  • rbd: 使用统一的方式映射不同驱动程序的映像 (pr#19711, Mykola Golub)

  • rbd: 在 bench seq 测试中使用不同的逻辑来干扰线程的偏移量 (pr#17218, PCzhangPC)

  • Revert “ceph-fuse: 删除 Tx 状态下的 inode 的 bufferhead…” (pr#21976, “Yan, Zheng”)

  • Revert “msg/async/rdma: 修复多个 cephcontext 冲突” (pr#16980, Haomai Wang)

  • Revert “os/bluestore: 补偿错误的 freelistmanager 大小/块元数据” (pr#17275, Xie Xingguo)

  • rgw: 能够以无序方式列出存储桶内容以提高效率 (pr#21026, J. Eric Ivancich)

  • rgw: 如果上传元数据对象不存在,则中止 multipart (pr#19918, fang yuxiang)

  • rgw: 通过 RGWEnv 访问 RGWConf (pr#17432, Jos Collin)

  • rgw: 向 Swift API 的响应头添加“Accept-Ranges” (issue#21554, pr#17967, Tone Zhang)

  • rgw: 为区域添加默认重定向字段 (pr#9571, Yehuda Sadeh)

  • rgw: 添加一个选项来清除所有使用条目 (pr#19322, Abhishek Lekshmanan)

  • rgw: 添加一个选项来重新计算用户统计信息 (issue#23335, pr#20853, Abhishek Lekshmanan)

  • rgw: 向 fetch_remote_obj 的压缩添加缓冲过滤器 (issue#23547, pr#21479, Casey Bodley)

  • rgw: 在 cors 选项请求中添加 cors 头规则检查 (issue#22002, pr#18556, yuliyang)

  • rgw: 添加动态重分片文档 (issue#21553, pr#15941, Orit Wasserman)

  • rgw: 如果 RGWPutObj::execute 中的 get_data 返回错误,则添加日志 (pr#18642, Zhang Shaowen)

  • rgw: 将元数据和数据同步相关命令添加到 radosgw-admin 用法中 (pr#18921, lvshanchun)

  • rgw: 在 list_keys_init() 中添加缺失的 override (pr#17254, Jos Collin)

  • rgw: 将 radosgw-admin sync error trim 添加到 trim sync error log 中 (pr#19854, fang yuxiang)

  • rgw: 添加重分片命令 (issue#21617, pr#18180, Orit Wasserman)

  • rgw: 解决因格式代码不正确导致的警告 (pr#18796, J. Eric Ivancich)

    rgw: 添加 retry_raced_bucket_write

  • rgw: 将 rewrite 命令和选项添加到 radosgw-admin 用法和文档中 (pr#18918, Enming Zhang)

  • rgw: 为 beast 前端添加 ssl 支持 (issue#22832, pr#20464, Casey Bodley)

  • rgw: 添加对 Swift 的每个存储策略统计信息的支持 (issue#17932, pr#12704, Radoslaw Zarzynski)

  • rgw: 添加对 Swift 反向账户列表的支持 (issue#21148, pr#17320, Radoslaw Zarzynski)

  • rgw: 为策略添加标签和其他条件的支持 (pr#17094, Abhishek Lekshmanan)

  • rgw: 添加 tail tag 来跟踪 tail 实例 (issue#20234, pr#16145, Yehuda Sadeh)

  • rgw: 在 RGWDeleteLC::execute() 中为 shard_id 添加租户 (pr#10460, Wei Qiaomiao)

  • rgw: 在 parse_v4_auth_header 函数中添加时间偏移检查 (issue#22418, pr#19476, Bingyin Zhang)

    rgw: 添加 try_refresh_bucket_info 函数

  • rgw: 在 RGWCopyObj_ObjStore_S3 响应消息中添加 xml 输出头 (issue#22416, pr#19475, Enming Zhang)

  • rgw: 调整生命周期的日志格式 (pr#19576, Bingyin Zhang)

  • rgw: admin api - 添加从 admin api 同步用户统计信息的功能 (issue#21301, pr#17589, Nathan Johnson)

  • rgw: 管理 API 支持存储桶配额更改 (issue#21811, pr#18324, Jeegn Chen)

  • rgw: admin rest api 在获取用户统计信息时,如果用户尚未创建任何存储桶,不应返回错误 (pr#21551, Zhang Shaowen)

  • rgw: 允许 beast 前端监听特定 IP 地址 (issue#22778, pr#20000, Yuan Zhou)

  • rgw: 允许删除 Swift ACL (issue#22897, pr#20471, Marcus Watts)

  • rgw: 在未配置的情况下避免记录 keystone 撤销消息 (issue#21400, pr#17775, Abhishek Lekshmanan)

  • rgw: aws4 认证支持 PutBucketRequestPayment (issue#23803, pr#21569, Casey Bodley)

  • rgw: AWS v4 授权在 INIT_MULTIPART 被分块时工作 (issue#22129, pr#18956, Jeegn Chen)

  • rgw: beast 前端可以监听多个端点 (issue#22779, pr#20188, Casey Bodley)

  • rgw: beast 前端不再是实验性的 (pr#21272, Casey Bodley)

  • rgw: 更好的 ERANGE 错误消息 (issue#22351, pr#20023, Brad Hubbard)

  • rgw: 避免无限期发送数据日志列表 (issue#20951, pr#16926, fang.yuxiang)

  • rgw: 存储桶重分片不应更新存储桶 ACL 或用户统计信息 (issue#22742, issue#22124, pr#20038, Orit Wasserman)

  • rgw: 在 barrelhead 上缓存 (issue#22517, pr#19581, Adam C. Emerson)

  • rgw: 缓存注册!(issue#22604, issue#22603, pr#20144, Adam C. Emerson)

  • rgw: 启用压缩时无法下载带有 range 的对象 (issue#22852, pr#20226, fang yuxiang)

  • rgw: ceph-dencoder: 为 RGWObjManifest 添加缺失的 begin_iter & end_iter 项 (pr#19509, wangsongbo)

  • rgw: ceph-dencoder: 为 cls_rgw_lc_obj_head 添加支持 (pr#18920, Yao Zongyou)

  • rgw: ceph-dencoder: 添加对 RGWLifecycleConfiguration 的支持 (pr#18959, wangsongbo)

  • rgw: 将 ObjectCache::lru 从 deque 改回 list (issue#22560, pr#19768, Casey Bodley)

  • rgw: 更改以支持 ragweed (pr#13644, Yehuda Sadeh)

  • rgw: 在策略中检查存储桶 CORS 操作 (issue#21578, pr#18000, Adam C. Emerson)

  • rgw: 在策略中检查存储桶 GetBucketLocation (issue#21582, pr#18002, Adam C. Emerson)

  • rgw: 在策略中检查存储桶 Website 操作 (issue#21597, pr#18024, Adam C. Emerson)

  • rgw: 在生命周期处理时检查 going_down() (issue#22099, pr#18846, Yao Zongyou)

  • rgw: 在策略中检查 payment 操作 (issue#21389, pr#17742, Adam C. Emerson)

  • rgw: 在 RGWRados::copy_obj_data 中检查 read_op.read 的返回值 (pr#18962, Enming Zhang)

  • rgw: civetweb 1.1 版本升级修复 (pr#21123, Abhishek Lekshmanan)

  • rgw: 使用辅助函数 dump_header_if_nonempty 清理代码 (pr#18979, Xinying Song)

  • rgw: 清理和修复一些加密相关的 bug (issue#21581, pr#17882, Enming Zhang)

  • rgw: 使用 std::min 清理 MIN 宏 (pr#17546, Jiaying Ren)

  • rgw: 清理 RGWRados::copy_obj_data 中未使用的参数 (pr#18917, Enming Zhang)

  • rgw: 云同步修复 (pr#21648, Yehuda Sadeh)

  • rgw: cls/log: cls_log_list 始终返回下一个标记 (issue#20906, pr#17024, Casey Bodley)

  • rgw: cls/rgw: 修复 bi_log_iterate_entries 返回错误的截断 (issue#22737, pr#20021, Tianshan Qu)

  • rgw: cls/rgw: 未初始化成员的初始化 (pr#16932, amitkuma)

  • rgw: cls/rgw: rgw_bucket_dir_entry_meta 中的 mtime 未真正解码 (issue#22148, pr#18981, Yao Zongyou)

  • rgw: cls/rgw: 移除未使用的变量 bl (pr#19570, Yao Zongyou)

  • rgw: cls/rgw: 在 get_obj_vals 中使用更有效的容器操作 (issue#22234, pr#19131, Abhishek Lekshmanan)

  • rgw: cls_rgw: 在 get_obj_vals 中使用更有效的容器操作 (pr#19272, Xinying Song)

  • rgw: 有符号和无符号整数表达式之间的比较 (pr#21105, ashitakasam)

  • rgw: 整合实现哈希算法的代码 (pr#18248, J. Eric Ivancich)

  • rgw: 复制对象添加响应错误消息 (pr#18291, Enming Zhang)

  • rgw: 修正 parse_credentials 函数中的注释 (pr#19275, Bingyin Zhang)

  • rgw: 修正 RGWListBucketIndexesCR 中元数据部分名称的日志输出 (pr#19508, Xinying Song)

  • rgw: 仅允许管理员用户操作角色,进行权限评估 (pr#20332, Pritha Srivastava)

  • rgw: 修正拼写错误 refity 为 refit (pr#19064, Bingyin Zhang)

  • rgw: 修正拼写错误 UNKOWN 为 UNKNOWN (pr#19273, Bingyin Zhang)

  • rgw: 在执行 radosgw-admin data sync run 时创建 sync-module 实例 (issue#22080, pr#18898, lvshanchun)

  • rgw: 在 radosgw-admin sync run 时创建 sync-module 实例 (pr#20611, lvshanchun)

  • rgw: curl* 重用,并在 debian 中使用 openssl 而不是 gnutls (pr#20635, Marcus Watts)

  • rgw: 数据加密不遵循 AWS 协议 (pr#15994, hechuang)

  • rgw: datalog 列表支持 --shard-id 和 --marker (pr#20649, Tianshan Qu)

  • rgw: data sync: 在构建 full maps 时设置 num_shards (issue#22083, pr#18852, Abhishek Lekshmanan)

  • rgw: 删除 to_string 函数。stringify 定义在 include/stringify.h 中可以提供相同的功能 (pr#18522, zhangwen)

  • rgw: 在多站点环境中禁用动态重分片 (issue#21725, pr#18184, Orit Wasserman)

  • rgw: 如果不是当前周期,则不反映周期 (issue#22844, pr#20212, Tianshan Qu)

  • rgw: 在创建带有 exclusive 标志的系统对象时,不要更新所有网关缓存 (pr#19384, J. Eric Ivancich)

  • rgw: 在更新 olh 时,不要更改 rados 对象的 mtime (issue#21743, pr#18214, Shasha Lu)

  • rgw: 在前端 I/O 时不要持有 data_lock (pr#20621, Casey Bodley)

  • rgw: 不会泄漏 S3 LDAPHelper (pr#12427, Matt Benjamin)

  • rgw: 在“sync error list”中不记录 EBUSY 错误 (issue#22473, pr#19580, Casey Bodley)

  • rgw: 对于 get_bucket_info(),不要重用过时的 RGWObjectCtx (issue#21506, pr#17916, Casey Bodley)

  • rgw: 在 bucket_link/unlink 时,如果 bucket_header 未更改,则不写入 (pr#17356, Shasha Lu)

  • rgw: 在 rgw_bucket_prepare_op 中,如果 bucket_header 未更改,则不写入 (pr#18763, Xinying Song)

  • rgw: 下载对象可能因本地不变量未初始化而失败 (issue#23146, pr#20612, fang yuxiang)

  • rgw: 为 encode_xml() 删除重复的语句 (pr#20195, luomuyao)

  • rgw: 删除注释掉的函数 (pr#19671, Jos Collin)

  • rgw: 删除 dump_uri_from_state(),因为它不再被使用 (pr#19924, Radoslaw Zarzynski)

  • rgw: 删除 rgw_op.cc 中的 iter (pr#19583, Bingyin Zhang)

  • rgw: 删除 RGWLC::process() 中的 marker (pr#19591, Bingyin Zhang)

  • rgw: 删除过时的函数文档 (pr#18370, Jiaying Ren)

  • rgw: 从 radosgw-admin 中删除“realm remove” (pr#18212, Shasha Lu)

  • rgw: 删除冗余的 RGW_OP_STAT_OBJ 检查 (pr#19933, Bingyin Zhang)

  • rgw: 删除 Swift 的 X-Storage-Policy 对对象的处理 (pr#16383, Jiaying Ren)

  • rgw: 删除未使用的 init_anon_user() 函数 (pr#16874, Radoslaw Zarzynski)

  • rgw: 删除不必要的 return (pr#17520, Jos Collin)

  • rgw: 删除未使用的 apply_epoch 函数 (pr#17593, Shasha Lu)

  • rgw: 删除 XMLObj::find_first 中未使用的 iter (pr#19709, luomuyao)

  • rgw: 删除 bucket_instance_ids 未使用的变量 (pr#19708, Bingyin Zhang)

  • rgw: 删除 copy_obj_data() 中未使用的变量 (pr#18477, Enming Zhang)

  • rgw: 删除未使用的 vector 元素 (pr#19815, Bingyin Zhang)

  • rgw: 删除 rgw_{main.cc, common.h} 中无用的 include (pr#19109, Jiaying Ren)

  • rgw: 删除无用的行 (pr#19817, Bingyin Zhang)

  • rgw: 删除无用的类型转换 (pr#19824, Bingyin Zhang)

  • rgw: 删除 rgw_op.cc 中的变量 bl (pr#19584, Bingyin Zhang)

  • rgw: Drop #warning TODO (issue#19851, pr#17012, Jos Collin)

  • rgw: 在 Swift 的 GET/HEAD 存储桶响应中转储 Last-Modified (issue#20883, pr#16757, Radoslaw Zarzynski)

  • rgw: 启用 'qlen' & 'qactive' 性能计数器 (pr#20842, Mark Kogan)

  • rgw: 编码修复 (issue#23779, pr#21500, Yehuda Sadeh)

  • rgw: read_line() 返回值错误检查 (pr#17880, Amit Kumar)

  • rgw: es 模块: 正确设置压缩类型 (issue#22758, pr#20796, Abhishek Lekshmanan)

  • rgw: 评估 GetACL 存储桶操作的正确存储桶操作 (issue#21013, pr#17050, Abhishek Lekshmanan)

  • rgw: 如果 rgw_bucket_set_attrs() 失败,则提前退出 (pr#17041, dengxiafubi)

    rgw: 使存储桶信息缓存中的条目过期

  • rgw_file: 修复写入偏移量重叠时的写入错误 (issue#21455, pr#17809, Yao Zongyou)

  • rgw: 修复 delete_system_obj 和 get_system_obj 中 rgw 缓存的 bug (pr#10992, zhangshaowen)

  • rgw: 修复 PrefixableSignatureHelper 中访问过期内存 (issue#21085, pr#17206, Radoslaw Zarzynski)

  • rgw: 修正注释中的拼写错误 (pr#19608, luomuyao)

  • rgw: 修正注释中的拼写错误 (pr#20164, luomuyao)

  • rgw: 修正注释中的拼写错误 (pr#20355, luomuyao)

  • rgw: 修正 rgw_perms[] 中的拼写错误 (pr#20024, luomuyao)

  • rgw: 修复 multipart complete 上的 bilog 条目 (issue#21772, pr#18271, Casey Bodley)

  • rgw: 修复 BZ 1500904,对象删除后仍然存在过时的存储桶索引条目 (pr#18709, J. Eric Ivancich)

  • rgw: 修复链式缓存无效以防止缓存大小增长 (issue#22410, pr#19455, Mark Kogan)

  • rgw: 修复 Prefix 的闭合标签 (pr#17663, Shasha Lu)

  • rgw: 修复 cls_bucket_head 结果顺序一致性 (pr#18700, Tianshan Qu)

  • rgw: 修复协程中的 collect() 返回值 (pr#19606, Xinying Song)

  • rgw: 修复 radosgw-admin 的命令参数错误 (issue#21723, pr#18175, Yao Zongyou)

  • rgw: 修复没有 'x-amz-copy-source-range' 的 'copy part' (issue#22729, pr#20002, Malcolm Lee)

  • rgw: 修复启用压缩时没有 'x-amz-copy-source-range' 的 'copy part' (issue#23196, pr#20686, fang yuxiang)

  • rgw: 修复 rgw_run_sync_thread 为 false 时的崩溃 (issue#20448, pr#20769, Orit Wasserman)

  • rgw: 修复空 optional 的解引用 (issue#21962, pr#18602, Adam C. Emerson)

  • rgw: 修复 GET ?torrent 的错误处理 (issue#23506, pr#21576, Casey Bodley)

  • rgw: 修复浏览器上传中的错误处理 (pr#15054, Radoslaw Zarzynski)

  • rgw: 修复 ListBucketIndexesCR 中的错误处理 (issue#21735, pr#18198, Casey Bodley)

  • rgw: 修复加密对象多站点复制的 bug (issue#20668, issue#20671, pr#16612, Casey Bodley)

  • rgw: 修复 PutObj 过滤器中的 extra_data_len 处理 (issue#21895, pr#18489, Casey Bodley)

  • rgw: 修复 beast 前端中空的查询字符串 (issue#22797, pr#20120, Casey Bodley)

  • rgw: 修复 issue #21647 (issue#23859, pr#21647, Yehuda Sadeh)

  • rgw: 修复 beast 前端暂停 (issue#21831, pr#18402, Casey Bodley)

  • rgw: 修复使用情况截断标志 (pr#20926, Yehuda Sadeh, Greg Farnum, Robin H. Johnson)

  • rgw: 修复 RGWEnv 中的 getter 函数名 (pr#18377, Jos Collin)

  • rgw: 修复 GET 网站响应错误代码 (issue#22272, pr#19236, Dmitry Plyakin)

  • rgw: 修复 RGWRadosGetOmapKeysCR 中 ENOENT 的处理 (pr#19878, Casey Bodley)

  • rgw: 修复索引取消操作未更新头 (pr#20396, Tianshan Qu)

  • rgw: 修复重分片存储桶时 bi 列表的无限调用 (issue#22721, pr#21584, Orit Wasserman)

  • rgw: 修复 lc 处理仅调度 lc 对象的第一个项目 (issue#21022, pr#17061, Shasha Lu)

  • rgw:修复 list objects with marker 错误结果,当存储桶启用版本控制时 (issue#21500, pr#17934, yuliyang)

  • rgw: 修复从客户端读取数据时的内存碎片问题 (pr#20724, Marcus Watts)

  • rgw: 修复多站点同步失败,当读写删除… (issue#22804, pr#20814, Niu Pengju)

  • rgw: 修复接收 SIGHUP 信号时无响应 (pr#16854, Yao Zongyou)

  • rgw: 修复空指针崩溃 (pr#18861, Sibei Gao)

  • rgw: 修复从远程网关复制的对象 acl full_control 问题 (issue#20658, pr#16127, Enming Zhang)

  • rgw: 修复 opslog 无法记录 remote_addr (issue#20931, pr#16860, Jiaying Ren)

  • rgw: 修复使用 curl 作为客户端时 opslog 无法记录 referrer (issue#20935, pr#16863, Jiaying Ren)

  • rgw: 按照 Amazon s3 修复 opslog uri (issue#20971, pr#16958, Jiaying Ren)

  • rgw: 修复 radosgw-admin bucket rm 带 --purge-objects 和 --bypass-gc (issue#22122, issue#19959, pr#18922, Aleksei Gutikov)

  • rgw: 修复 radosgw-admin quota enable 返回值 bug (issue#21608, pr#18057, baixueyu)

  • rgw: 修复 radosgw 与 WITH_RADOSGW_BEAST_FRONTEND=OFF 的链接 (issue#23680, pr#21380, Casey Bodley)

  • rgw: 修复递归锁 (pr#19430, Tianshan Qu)

  • rgw: 修复 rgw_bucket.cc 和 rgw_user.cc 中的资源泄露 (issue#21214, pr#17353, Luo Kexue)

  • rgw: 修复 v2/v4 认证的返回值 (issue#22439, pr#19310, Bingyin Zhang)

  • rgw: 修复 rewrite 版本化对象创建新对象的 bug (issue#21984, pr#18662, Enming Zhang)

  • rgw: 修复 rewrite 选项用法文本 (pr#18968, Jos Collin)

  • rgw: 修复 going down 后 RGWCompletionManager get_next 卡死 (issue#22799, pr#20095, Tianshan Qu)

  • rgw: 修复 RGWLibIO 未初始化 RGWEnv (pr#19065, Tianshan Qu)

  • rgw: 修复 s3 网站重定向错误 (pr#19252, yuliyang)

  • rgw: 修复 s3website 重定向 location 字符串长度 (pr#19826, yuliyang)

  • rgw: 修复 Swift 存储桶命名规则 (issue#19264, pr#13992, Robin H. Johnson)

  • rgw: 修复 Swift 对象过期未删除对象 (issue#22084, pr#18821, Pavan Rallabhandi)

  • rgw: 修复云同步与同步状态冲突 (pr#21425, Casey Bodley)

  • rgw: 修复 radosgw-admin zonegroup set 需要 realm 的 bug (issue#21583, pr#19061, lvshanchun)

  • rgw: 修复 max-uploads 参数不工作 (issue#22825, pr#20158, Xin Liao)

  • rgw: 修复返回类型错误 (pr#19773, hechuang)

  • rgw: 按照 AWS S3 将 total_time 修正为 msec (pr#17541, Jiaying Ren)

  • rgw: 修正拼写错误 anynoymous 为 anonymous (pr#19281, Bingyin Zhang)

  • rgw: 修正拼写错误 compete 为 complete (pr#19675, Bingyin Zhang)

  • rgw: 修复注释中的拼写错误 (pr#21032, Simran Singhal)

  • rgw: 修正 GetOmapKeysCR 中的拼写错误 (pr#19713, lvshanchun)

  • rgw: 修正拼写错误 signle 为 single (pr#19517, Bingyin Zhang)

  • rgw: 修正拼写错误 woild 为 would (pr#19472, Bingyin Zhang)

  • rgw: 修复 IAM 策略解析器中的使用后释放 (pr#16823, Adam C. Emerson)

  • rgw: 修复使用 libcurl 时带有空头部的写入 (issue#23663, pr#21358, Casey Bodley)

  • rgw: 格式化 rgw_lc.cc 文件中的日志 (pr#19615, Bingyin Zhang)

  • rgw: 在 ceph-dencoder 中格式化 rgw_bucket_dir_header (pr#19753, Bingyin Zhang)

  • rgw: gc 使用 aio (pr#20546, Yehuda Sadeh)

    rgw: 处理 RGWDeleteBucketPolicy 中的过时存储桶信息 rgw: 处理 RGWDeleteBucketWebsite 中的过时存储桶信息 rgw: 处理 RGWPutBucketPolicy 中的过时存储桶信息 rgw: 处理 RGWPutMetadataBucket 中的过时存储桶信息 rgw: 处理 RGWSetBucketVersioning 中的过时存储桶信息 rgw: 处理 RGWSetBucketWebsite 中的过时存储桶信息

  • rgw: 在比较时考虑 rgw_bucket 的租户部分 (issue#20897, pr#16796, Radoslaw Zarzynski)

  • rgw: iam 策略打印清理 (pr#18961, Kefu Chai)

  • rgw: 忽略返回值 (pr#17907, Amit Kumar)

  • rgw: 为存储桶策略的 s3:SourceIp 条件实现 ipv4 (pr#19167, yuliyang)

  • rgw: 改进对 Swift 错误消息和限制的处理 (issue#17938, issue#21169, issue#17935, issue#17934, issue#17936, pr#15369, Radoslaw Zarzynski)

  • rgw: 改进同步状态:显示落后的存储桶分片 (pr#20027, lvshanchun)

  • rgw: 改进同步状态 (pr#19573, lvshanchun)

  • rgw: 在加密上传响应中包含 SSE-KMS 头 (issue#21576, pr#17999, Casey Bodley)

  • rgw: 整合 CivetWeb 的 Transfer-Encoding 修复 (issue#21015, pr#17072, Radoslaw Zarzynski)

  • rgw: epoch,len 的初始化 (pr#17722, Amit Kumar)

  • rgw: 初始化 is_master, max_aio, size (pr#16933, amitkuma)

  • rgw: 初始化未初始化成员 (pr#16855, Amit Kumar)

  • rgw: 设置 run_sync_thread 后初始化 oldest period (issue#21996, pr#18664, Orit Wasserman, Casey Bodley)

  • rgw: 保持 s3 Multipart 各部分之间的压缩类型一致 (pr#19740, fang yuxiang)

  • rgw: keystone: 收到错误时提高日志级别 (issue#22151, pr#18985, Abhishek Lekshmanan)

  • rgw: lc 修复过期时间 (issue#21533, pr#17824, Shasha Lu)

  • rgw: lc 支持 Content-MD5 请求头并修复 rgw 崩溃 bug (issue#21980, pr#18534, Enming Zhang)

  • rgw: lease_cr->go_down 被调用两次,移除不必要的调用 (pr#19394, Zhang Shaowen)

  • rgw: librgw: 导出多租户支持 (pr#19358, Tao Chen)

  • rgw: librgw: 修复关闭时资源未清理的错误 (issue#22296, pr#19279, Tao Chen)

  • rgw: 生命周期 omap 条目在异常情况下被移除 (pr#19921, fang yuxiang)

  • rgw: list_objects() 忽略 end_marker,无论命名空间如何 (issue#18977, pr#15273, Radoslaw Zarzynski)

  • rgw: loadgen 修复生成随机对象名称导致 rgw 崩溃的问题 (issue#22006, pr#18536, Enming Zhang)

  • rgw: 在 civetweb 前端的访问日志中记录正确的 http 状态码 (issue#22538, pr#19678, Yao Zongyou)

  • rgw: 将 unlink_instance 的 mtime 记录为对象的 mtime (issue#18885, pr#20016, Yehuda Sadeh)

  • rgw: lttng: 跟踪 rgw 数据传输、bi 条目和对象头更新过程 (pr#20556, Yang Honggang)

  • rgw: 使 init env 方法返回错误 (issue#23039, pr#20488, Abhishek Lekshmanan)

  • rgw: 使 radosgw 对象 stat RGW_ATTR_COMPRESSION 转储可读 (pr#19846, fang yuxiang)

  • rgw: mfa 支持 (pr#19283, Yehuda Sadeh)

  • rgw: mimic: rgw: policy: 将 s3:ListBucketMultiPartUploads 修改为 s3:ListBucketMul (issue#24062, pr#21916, xiangxiang)

  • rgw: 修改 s3 类型子用户访问权限,通过 admin rest api 失败 (issue#21983, pr#18641, yuliyang)

  • rgw: 将所有池创建移至 rgw_init_ioctx (issue#23480, pr#21534, Casey Bodley)

  • rgw: mrgw.sh 使用实例名 'client.rgw' (pr#18404, Casey Bodley)

  • rgw: 多站点日志跟踪 (pr#16492, Yehuda Sadeh, Casey Bodley)

  • rgw,nfs: 添加提示使用 -o sync 挂载 (pr#16210, Adam Kupczyk)

  • rgw: get_data 中无需处理 md5 头 (pr#19144, Zhang Shaowen)

  • rgw: 优化 abort_bucket_multiparts 函数 (pr#19710, Bingyin Zhang)

  • rgw: 优化 bucket_lc_prepare 函数 (pr#19613, Bingyin Zhang)

  • rgw: 优化 parse_raw_oid 函数 (pr#19814, Bingyin Zhang)

  • rgw: 优化 RGWHandler::do_init_permissions 函数 (pr#19700, Bingyin Zhang)

  • rgw: 优化 rgw_bucket::get_key 中的内存使用 (pr#19391, Bingyin Zhang)

  • rgw: 优化生命周期的下一个开始时间 (pr#19596, Bingyin Zhang)

  • rgw: 优化 rgw-attr del 代码逻辑 (pr#18895, wangsongbo)

  • rgw: 优化时间偏移检查 (pr#19511, Bingyin Zhang)

  • rgw: 正确解析带有命名空间的旧 rgw_obj (issue#22982, pr#20425, Yehuda Sadeh)

  • rgw: policy: 为 ListBucket 操作添加 s3 条件支持 (pr#16628, Abhishek Lekshmanan)

  • rgw: 可能修复 POST 时的 500 错误 (pr#18954, Adam C. Emerson)

  • rgw: 防止缓存的统计值溢出 (issue#20934, pr#17116, Aleksei Gutikov)

  • rgw: tier_type 不存在时,提供正确的错误消息 (issue#22469, pr#19575, lvshanchun, Chang Liu)

  • rgw: 拉取 beast 子模块并更新前端 (pr#17923, Casey Bodley)

  • rgw: put bucket policy 导致 RGW 进程崩溃 (issue#22541, pr#19687, Bingyin Zhang)

  • rgw: radosgw-admin 为空的 uid 提前中止用户统计信息 (issue#23322, pr#20846, Abhishek Lekshmanan)

  • rgw: radosgw-admin 不应为只读命令使用元数据缓存 (issue#23468, pr#21129, Orit Wasserman)

  • rgw: radosgw-admin zonegroup get 和 zone get 在没有 realm 的情况下返回默认值 (issue#21615, pr#18667, lvshanchun)

  • rgw: radosgw: 修复 awsv4 头行排序顺序 (issue#21607, pr#18046, Marcus Watts)

  • rgw: radosgw: usage: 修复 bytes_sent bug (issue#19870, pr#16834, Marcus Watts)

  • rgw: 在协程关闭错误时提高日志级别 (issue#23974, pr#21791, Casey Bodley)

  • rgw: 恢复角色错误代码映射 (pr#20309, Pritha Srivastava)

  • rgw: 在支持之前拒绝加密对象的 COPY (issue#23232, pr#20739, Jeegn Chen)

  • rgw: 如果在 RGWCompleteMultipart 中获取到 cls 锁,则释放它 (issue#21596, pr#18104, Matt Benjamin)

  • rgw: 移除 IAM 策略中的断言 (pr#18225, Adam C. Emerson)

  • rgw: 在 RGWDeleteLC::execute 和 RGWDeleteCORS::execute 函数中移除 get_system_obj_attrs (pr#19582, Bingyin Zhang)

  • rgw: 从 rgw_link_bucket() 中移除 placement_rule (issue#21990, pr#18657, Casey Bodley)

  • rgw: 在日志中移除冗余的括号 (pr#19375, Bingyin Zhang)

  • rgw: 移除冗余的 S3AnonymousEngine (pr#19474, Bingyin Zhang)

  • rgw: 移除 LocalEngine::authenticate 中冗余的签名比较 (pr#19676, Bingyin Zhang)

  • rgw: 移除列出区域时无用的输出 (pr#17434, iliul)

  • rgw: 移除未使用的 cls_user_add_bucket (pr#19917, Yao Zongyou)

  • rgw: 移除未使用的 disable_signal_fd (pr#18875, Yao Zongyou)

  • rgw: 移除未使用的 get_system_obj_attrs 函数 (pr#19852, Yao Zongyou)

  • rgw: Remove unused Parameter in Function RGWConf::init() (pr#17129, Wen Zhang)

  • rgw: 移除 AWSGeneralAbstractor::get_auth_data_v4 中未使用的参数 (pr#19250, Bingyin Zhang)

  • rgw: 移除 get_bucket_instance_policy_from_attr 中未使用的参数 (pr#19129, Bingyin Zhang)

  • rgw: 移除未使用的变量 (pr#16649, Zhang Lei)

  • rgw: 移除 RGWDeleteBucket::execute 中无用的行 (pr#19699, Bingyin Zhang)

  • rgw: reshard cancel 命令应清除存储桶重分片标志 (issue#21619, pr#21120, Orit Wasserman)

  • rgw: 重分片在链接新存储桶实例时不应更新统计信息 (issue#22124, pr#19253, Orit Wasserman)

  • rgw: 在 ECANCELLED 上重试 CORS put/delete 操作 (issue#22517, pr#19601, Adam C. Emerson)

  • rgw: 使用 XMLHttpRequest 设置和删除存储桶网站时,返回 'Access-Control-Allow-Origin' 头 (pr#17632, yuliyang)

  • rgw: 使用 XMLHttpRequest 设置存储桶版本时,返回 'Access-Control-Allow-Origin' 头 (pr#17631, yuliyang)

  • rgw: 无论存储桶位于哪个区域组,都返回存储桶的位置 (issue#21125, pr#17250, Shasha Lu)

  • rgw: 如果 max_keys 无法正确转换,则返回 EINVAL (issue#23586, pr#21285, yuliyang)

  • rgw: 如果存储桶策略包含未定义的动作,则返回错误 (pr#17433, zhangwen)

  • rgw: dst_ioctx.operate() 返回错误时返回 (pr#17873, Amit Kumar)

  • rgw: 返回有效的 Location 元素,CompleteMultipartUpload (pr#19902, Matt Benjamin)

  • rgw: 撤销 PR #8765 (pr#16807, fang.yuxiang)

  • rgw: Revert “radosgw: 修复 awsv4 头行排序顺序。” (issue#21832, pr#18381, Casey Bodley)

  • rgw: Revert “rgw_file: 禁用 FLAG_EXACT_MATCH 执行” (issue#22827, pr#20171, Matt Benjamin)

  • rgw: Revert “rgw: reshard 在链接新存储桶实例时不应更新统计信息” (pr#20052, Orit Wasserman)

  • rgw: 重写 json/xml 转义使用,遵循 #19806 (pr#19845, fang yuxiang)

  • rgw: rgw-admin: 检查输入参数以获得友好提示 (pr#17343, Yao Zongyou)

  • rgw: rgw-admin: 检查数据额外池是否支持 omap (pr#18978, Yao Zongyou)

  • rgw: rgw-admin: 按 user_id 或 bucket_name 正确过滤存储桶统计信息 (pr#19401, Yao Zongyou)

  • rgw: rgw-admin: 使用 --inconsistent_index 时,需要 --yes-i-really-mean-it (issue#20777, pr#17185, Orit Wasserman)

  • rgw: rgw-admin: 支持处理所有 gc 对象,包括未过期的 (pr#17482, Yao Zongyou)

  • rgw: RGW: 将函数参数从值更改为引用 (pr#18355, Sibei Gao)

  • rgw: RGWCivetWeb::read_data: 修复 mg_read() 调用的参数 (issue#23596, pr#21291, Nathan Cutler)

  • rgw: rgw 清理: 移除未引用的纯虚类 StreamObjData (pr#18799, J. Eric Ivancich)

  • rgw: rgw 清理: 移除 RGWRados::SystemObject 中未使用的 var & func (pr#18987, J. Eric Ivancich)

  • rgw: rgw 清理: 一些不必要的函数调用和重复赋值 (pr#18817, Enming Zhang)

  • rgw: rgw 云同步 (issue#21802, pr#18932, lvshanchun, Yehuda Sadeh, Chang Liu, Abhishek Lekshmanan)

  • rgw: RGWEnv::set() 接受 std::string (issue#22101, pr#18866, Casey Bodley)

  • rgw: rgw_file: 修复 lru 逐出时的死锁 (pr#20034, Matt Benjamin)

  • rgw: rgw_file: 避免对 readdir 偏移量评估 nullptr (pr#20145, Matt Benjamin)

  • rgw: rgw_file: 在直接删除时有条件地取消链接句柄 (issue#23299, pr#20834, Matt Benjamin)

  • rgw: rgw_file: 显式 NFSv3 open() 仿真 (pr#18365, Matt Benjamin)

  • rgw: rgw_file: 修复 evict_block() 中的 LRU 队列锁 (issue#21141, pr#17267, Matt Benjamin)

  • rgw: rgw_file: 实现变体偏移量 readdir 处理 (pr#18335, Matt Benjamin)

  • rgw: rgw_file: 引入新的 fsid 和 rgw_mount (pr#15330, Gui Hecheng)

  • rgw: rgw_file: 从 bytes_written 设置 s->obj_size (issue#21940, pr#18571, Matt Benjamin)

  • rgw: rgw_file: 屏蔽未使用的函数警告 (pr#19278, Brad Hubbard)

  • rgw: RGW:修复比较单位不一致的 bug(issue#21590pr#17958,gaosibei)

  • rgw:rgw.iam:在函数 print_actions 中将 '1' 更改为 '1ULL'(pr#18900,Bingyin Zhang)

  • rgw:rgw_lc:添加对可选过滤器参数的支持,并使 ID 可选(issue#19587issue#20872pr#16818,Abhishek Lekshmanan)

  • rgw:rgw_lc:支持 AWSv4 身份验证(pr#16734,Abhishek Lekshmanan)

  • rgw:rgw_log、rgw_file:考虑新的必需环境变量(issue#21942pr#18572,Matt Benjamin)

  • rgw:Rgw master 修复 plus(issue#21000issue#21003issue#20501pr#17040,Zhang Shaowen,Marcus Watts)

  • rgw:rgw、mon:在管理控制台中规范化 delete/remove(cleanup 22444)(issue#14363issue#22444pr#19439,Jesse Williamson)

  • rgw:RGW:Multipart 上传可能会将配额加倍(issue#21586pr#17959,Sibei Gao)

  • rgw:rgw multisite:自动修剪存储桶索引日志(issue#18229pr#17761,Casey Bodley)

  • rgw:RGW NFS:挂载命令行示例缺少 -osync(pr#15855,Matt Benjamin)

  • rgw:RGW-NFS:使用 rados cluster_stat 报告文件系统使用情况(issue#22202pr#20093,Supriti Singh)

  • rgw:rgw_op:从日志中删除旧的 LifecycleConfiguration(pr#16821,Abhishek Lekshmanan)

  • rgw:rgw_op:如果对象在 GetObjectTagging 中没有属性,则提前退出(issue#21010pr#17048,Abhishek Lekshmanan)

  • rgw:RGWPutLC 在 lifecycle.xml 中缺少 <Rule> 标签时返回 ERR_MALFORMED_XML(issue#21377pr#17683,Shasha Lu)

  • rgw:rgw_put_system_obj 采用 bufferlist(pr#19897,Casey Bodley)

  • rgw:rgw_rados:set_attrs 现在为 BI 和对象设置相同的时间(issue#21200pr#17400,Abhishek Lekshmanan)

  • rgw:rgw/rgw_op.cc:修复 rgw_user_get_all_buckets_stats 中的错误消息(pr#18781,iliul)

  • rgw:rgw:跨存储桶复制后,“default.rgw.buckets.data”中的源数据可能不会被删除(issue#21819pr#18369,baixueyu)

  • rgw:RGW:支持生命周期策略中的标记(pr#17305,Abhishek Lekshmanan)

  • rgw:RGW:更新 S3 POST 策略对 Content-Type 的处理(issue#20201pr#18658,Matt Benjamin)

  • rgw:rgw:在请求头中使用 camelcase 格式(pr#19210,lvshanchun,Chang Liu)

  • rgw:RGWUser::init 不再覆盖 user_id(issue#21685pr#18137,Casey Bodley)

  • rgw:S3 存储桶策略条件 IpAddress 和 NotIpAddress 不起作用(issue#20991pr#17010,John Gibson)

  • rgw:s3website 错误处理程序使用原始对象名称(issue#23201pr#20693,Casey Bodley)

  • rgw:上传文件时发送 x-amz-version-id 头(pr#18935,Xinying Song)

  • rgw:设置存储桶版本控制,如果 xml 中缺少 status,则不更改版本控制状态(issue#21364pr#17662,Shasha Lu)

  • rgw:在 'radosgw-admin data sync init' 上设置 num_shards(issue#22083pr#18883,Casey Bodley)

  • rgw:设置 perf 计数器的优先级(pr#20006,John Spray)

  • rgw:当看不到值时,将 sync_from_all 设置为 true(issue#22062pr#18926,Abhishek Lekshmanan)

  • rgw:为 libopenssl 设置锁(issue#22951issue#23203pr#20390,Abhishek Lekshmanan,Jesse Williamson)

  • rgw:在 v2 和 v4 身份验证之间共享时间偏移检查(pr#20013,Casey Bodley)

  • rgw:静默 maybe-uninitialized 误报(pr#19274,Brad Hubbard)

  • rgw:静默不允许注册存储类别说明符警告(pr#19859,Yao Zongyou)

  • rgw:简化 iam 中 map::emplace 的使用(pr#18706,Casey Bodley)

  • rgw:小的重构和两个 bug 修复(issue#21901issue#21896pr#18606,Adam C. Emerson)

  • rgw:同步状态的一些清理(pr#20894,Enming Zhang)

  • rgw:仅在已启动时停止/加入 TokenCache 撤销线程(issue#21666pr#18106,Karol Mroz)

  • rgw:流元数据完全同步初始化(issue#18079pr#12429,Yehuda Sadeh)

  • rgw:submodule:将 Beast 更新到 ceph/ceph-master 分支(pr#19182,Casey Bodley)

  • rgw:将 Beast 前端切换回 stackful coroutine(issue#20048pr#20449,Casey Bodley)

  • rgw:同步跟踪修复(issue#22833pr#20191,Yehuda Sadeh)

  • rgw:租户修复,用于动态重分片(issue#22046pr#18811,Orit Wasserman)

  • rgw,tests:修复一段时间以来失败的 s3atests(pr#20678,Vasu Kulkarni)

  • rgw,tests:qa:修复 openssl_keys 任务的覆盖(pr#20981,Casey Bodley)

  • rgw,tests:qa:重新启用 LC 测试(pr#17020,Abhishek Lekshmanan)

  • rgw,tests:qa/rgw:将 Beast 前端添加到一些 rgw 套件中(pr#17977,Casey Bodley)

  • rgw,tests:qa/rgw:将 swift、s3tests、ragweed 合并到单个 verify 任务中(pr#20756,Casey Bodley)

  • rgw,tests:qa/rgw:在 multisite 套件中禁用日志修剪(pr#19438,Casey Bodley)

  • rgw,tests:qa/rgw:hadoop-s3a 套件以 centos_latest 为目标(pr#17777,Casey Bodley)

  • rgw,tests:qa/rgw:忽略 'pool application enable' 的错误(issue#21715pr#18193,Casey Bodley)

  • rgw,tests:qa/rgw:删除 civetweb 的一些覆盖,以用于 Beast 测试(issue#23002pr#20440,Casey Bodley)

  • rgw,tests:qa/rgw:将 ssl 任务重命名为 openssl_keys(pr#20863,Ricardo Dias)

  • rgw,tests:qa/rgw:在创建的存储桶上使用 'ceph osd pool application enable'(pr#17162,Casey Bodley)

  • rgw,tests:qa/rgw:验证套件测试 civetweb 与 ssl(pr#20444,Casey Bodley)

  • rgw,tests:qa/smoke:为 s3tests 添加 rgw crypto 配置(pr#17700,Casey Bodley)

  • rgw,tests:qa/tasks/swift:为 “force-branch” 可配置项添加支持(pr#21027,Radoslaw Zarzynski)

  • rgw,tests:rgw,qa:集成 Tempest 以验证 RadosGW 对 Swift API 的合规性(pr#16344,Radoslaw Zarzynski)

  • rgw,tests:test/rgw:修复 3 个以上区域的 test_encrypted_object_sync(pr#17377,Casey Bodley)

  • rgw:与前端相关的元变量不会被扩展(pr#19689,root)

  • rgw,tools:tools/rgw:添加脚本以检查管理套接字“cr dump”(pr#15554,Casey Bodley)

  • rgw:不支持使用 SSE-C 加密的对象的 Torrents(issue#21720pr#17956,Zhang Shaowen)

  • rgw:修剪元数据值中的所有空格(issue#23301pr#20841,Orit Wasserman)

  • rgw:使用 bi purge 更新 radosgw-admin(pr#18245,Yao Zongyou)

  • rgw:将已删除的存储桶从存储桶的拥有者处取消链接(issue#22248pr#20017,Casey Bodley)

  • rgw:RGWRados::trim_bi_log_entries 中的不可达返回(pr#17367,Amit Kumar)

  • rgw:更新生命周期相关日志级别(pr#18845,Yao Zongyou)

  • rgw:更新过时的 debug 函数名称(pr#17440,Jiaying Ren)

  • rgw:使用压缩添加/删除对象时配额不一致(issue#22568pr#19772,fang yuxiang)

  • rgw:在截断场景下更新 usage 读取迭代器(issue#21196pr#17939,Mark Kogan)

  • rgw:使用状态更新 usage()(pr#18178,Jos Collin)

  • rgw:更新 vstart.sh 以支持 rgw ssl 端口表示法:“--rgw_port 443s”(issue#21151pr#17989,Mark Kogan)

  • rgw:上传配额已满时,更新 max-buckets(pr#20063,zhaokun)

  • rgw:URL 解码 S3 和 Swift 对象复制 URL(issue#22121pr#19936,Matt Benjamin)

  • rgw:在 es sync 模块中对 key 名称和 instance 进行 URL 编码(pr#20707,Chang Liu)

  • rgw:使用显式的索引池放置(issue#22928pr#20352,Yehuda Sadeh)

  • rgw:为 lc_pool 和 roles_pool 使用命名空间(issue#20177pr#16889,Orit Wasserman)

  • rgw:rgw_admin.cc 中的各种清理和选项更新(pr#18302,Jos Collin)

  • rgw:vstart.sh:修复 mstop.sh 无法停止 rgw(pr#17438,Jiaying Ren)

  • rgw:“zone placement”命令验证压缩类型(issue#21775pr#18273,Casey Bodley)

  • rocksdb:与上游同步(issue#21603pr#18262,Kefu Chai)

  • rpm:删除注释中的宏(issue#22250pr#17070,Ken Dreyer)

  • script/build-integration-branch:检查错误(pr#17578,Sage Weil)

  • script/build-integration-branch:python3 兼容性和 pep8 清洁(pr#18035,Kefu Chai)

  • scripts:新的 backport-create-issue 脚本(pr#21480,Nathan Cutler)

  • selinux:允许 ceph 执行 ldconfig(pr#21974,Boris Ranto)

  • selinux:允许对 lnk sysfs 文件进行 getattr(pr#17891,Boris Ranto)

  • spdk:前进到上游 dc82989d(pr#20713,Nathan Cutler)

  • src:修复各种日志消息(pr#21112,Gu Zhongyan)

  • src/msg/rdma:修复 notify() 中的断言失败(pr#17007,Alex Mikheev)

  • suites/cephmetrics:添加 Centos 7(pr#18594,Zack Cerza)

  • test:断言检查负返回值(pr#17296,Amit Kumar)

  • test/fio:生成 db 直方图以帮助调试 rocksdb 性能(pr#16808,Pan Liu,Xiaoyan Li)

  • test:修复 shebangs 中的 bash 路径(第 2 部分)(pr#17955,Alan Somers)

  • test:修复 CLI 单位格式化测试(pr#22260,Jason Dillaman)

  • test:转换为 double 时不正确(pr#18963,Amit Kumar)

  • test/librados:重新排序 ASSERT_EQ() 参数(pr#16625,Yan Jun)

  • test,osd,kvstore_tool:静默警告并以正确方式准备测试缓冲区(pr#18406,Adam C. Emerson)

  • tests:bluestore/fio:修复了所有对象具有相同哈希的问题(pr#17770,Adam Kupczyk)

  • tests:CentOS 7.4 现在是最新版本(pr#17776,Nathan Cutler)

  • tests - ceph-ansible 变量添加(issue#21822pr#18378,Yuri Weinstein)

  • tests:ceph-disk:在 flake8 测试中忽略 E722(issue#22207pr#19072,Nathan Cutler)

  • tests:ceph-disk:模拟 get fsid(pr#19254,Kefu Chai)

  • tests:ceph-disk:删除 sitepackages=True(issue#22823pr#20151,Brad Hubbard)

  • tests:ceph-objectstore-tool:在事务完成之前不要销毁 SnapMapper(issue#23121pr#20593,Kefu Chai)

  • tests:为 teuthology 的 systemd 支持所需的更改(pr#18380,Zack Cerza)

  • tests:检查 test_dump_pgstate_history 中的空输出(pr#20838,Brad Hubbard)

  • tests:cleanup:删除 calamari 任务(pr#17531,Nathan Cutler)

  • tests:cleanup:删除 upgrade/jewel-x/point-to-point-x(issue#22888pr#20245,Nathan Cutler)

  • tests:cmake,test/mgr:重构 dashboard 测试和 cmake 相关修复(pr#20768,Kefu Chai)

  • tests:common/obj_bencher:如果运行时长 < 1 秒,则设置 {min,max}_iops(pr#17182,Kefu Chai)

  • tests:c_read_operations.cc:静默 tautological-compare 编译器警告(pr#19953,Brad Hubbard)

  • tests:修复 coverity 扫描发现的未初始化值(pr#17895,J. Eric Ivancich)

  • tests:增加 test_pidfile.sh 中的 sleep 时间(pr#17052,David Zafman)

  • tests:librgw_file:删除未使用的 using 语句(pr#17085,Yao Zongyou)

  • tests:mark_unfound_lost 修复和一些其他小改动(issue#21907pr#18449,David Zafman)

  • tests:mgr/dashboard:允许 source run-backend-api-tests.shpr#20874,Sebastian Wagner)

  • tests:mgr/dashboard:为运行 tox 创建 venv(pr#21490,Kefu Chai)

  • tests:mgr/dashboard:通知队列:修复优先级测试(pr#21147,Ricardo Dias)

  • tests:mimic:qa:修复“ceph fs set cephfs allow_new_snaps”上的测试(pr#21830,Kefu Chai)

  • tests:mimic:qa/workunits/rados/test_envlibrados_for_rocksdb:安装 g++ 而不是 g++-4.7(pr#22117,Kefu Chai)

  • tests:mimic:test:需要转义 log-whitelist 中的括号以用于 grep(pr#22075,David Zafman)

  • tests:mimic:test:wait_for_pg_stats() 应该在最后 13 秒后进行另一次检查……(pr#22199,David Zafman)

  • tests:misc:修复 shebangs 中的 bash 路径(pr#16494,Alan Somers)

  • tests:mstart.sh:在 /bin/sh 脚本中删除 bashism(pr#18541,Mykola Golub)

  • tests:point-to-point-x:与集群节点一起升级 client.1 到 -x(issue#21499pr#17910,Nathan Cutler)

  • tests:qa:添加 cbt 任务以进行性能测试(pr#17583,Neha Ojha)

  • tests:qa:添加 cosbench 工作负载并覆盖 teuthology 默认设置(pr#21710,Neha Ojha)

  • tests/qa:添加 $ distro mix - rgw(pr#22070,Yuri Weinstein)

  • tests/qa:添加 rados/.. 目录(pr#22068,Yuri Weinstein)

  • tests:qa:在 ceph-ansible 套件中将“restful”添加到 ceph_mgr_modules(pr#18634,Kefu Chai)

  • tests:qa:添加简单且简陋的脚本来查找正在使用的端口(pr#19102,Joao Eduardo Luis)

  • tests:qa:big:添加 openstack.yaml(pr#16864,Nathan Cutler)

  • tests:qa:清理 dnsmasq 任务并修复 EPERM 错误(pr#20680,Casey Bodley)

  • tests:create_cache_pool 不再运行 'pool application enable'(issue#21155pr#17312,Casey Bodley)

  • tests:qa:将 msg_inject_socket_failures 从 1/500 减少到 1/1000(issue#22093pr#19542,Kefu Chai)

  • tests:qa:在 upgrade 测试中禁用 mon-health-to-clog(pr#19233,Kefu Chai)

  • tests:qa:在编译 env_librados_test 时禁用 -Werror(pr#21433,Kefu Chai)

  • tests:qa:在没有 cephfs fs 的情况下不执行“ceph fs get cephfs”(pr#18533,Kefu Chai)

  • tests:qa:在 pg 收敛时不要等待 down/out osd(pr#18808,Kefu Chai)

  • tests/qa - 在 mira 节点上启用了 ceph-deploy 运行(pr#21253,Yuri Weinstein)

  • tests:qa:修复与 pool-quota 相关的测试(issue#21409pr#17763,xie xingguo)

  • tests:qa:修复 openstack 脚本的 shebangs(pr#16546,Alan Somers)

  • tests:qa:将“mon client hunt interval max multiple”减少到所有客户端的 2(pr#21658,Kefu Chai)

  • tests:qa:将 mon-client-hunt-interval-max-multiple 减少到 2(pr#18283,Kefu Chai)

  • tests:qa:恢复“qa:使用 config_path 属性而不是字面值”(pr#17850,Patrick Donnelly)

  • tests:qa/run-standalone.sh:也为 FreeBSD 设置 PYTHONPATH(pr#20646,Kefu Chai)

  • tests:qa:s/backfill/backfilling/(pr#18235,Kefu Chai)

  • tests:qa/stanalone:使用 --<option-name>=<value> 传递选项(pr#19544,Kefu Chai)

  • tests:qa/standalone:为信号添加 trap 以恢复内核核心转储模式(pr#17026,David Zafman)

  • tests:qa/standalone/ceph-helpers.sh:为 dirname 提供参数(issue#23805pr#21552,Nathan Cutler)

  • tests:qa/standalone/ceph-helpers.sh:静默 ceph-disk DEPRECATION_WARNING(pr#19478,Kefu Chai)

  • tests:qa/standalone:提取 delete_pool()(pr#20634,Kefu Chai)

  • tests:qa/standalone:misc 修复(issue#20465issue#20921pr#16709,David Zafman)

  • tests:qa/standalone/mon/misc.sh:添加 osdmap-prune 测试(issue#23621pr#21318,Brad Hubbard)

  • tests:qa/standalone/osd/osd-mark-down:创建存储桶以更快地获取更新的 osdmap(pr#18191,huangjun)

  • tests:qa/standalone:删除 osd-map-max-advance 相关测试(issue#22596pr#19816,Kefu Chai)

  • tests:qa/standalone:尊重 $TEMPDIR(pr#17747,Kefu Chai)

  • tests:qa/standalone/scrub/osd-scrub-repair.sh:将 extents 标志添加到 object_info_t(issue#21618pr#18094,xie xingguo)

  • tests:qa/standalone/scrub/osd-scrub-repair.sh:删除 omap_digest 标志(pr#18150,xie xingguo,Sage Weil)

  • tests:qa/standalone:s/delete_erasure_pool/delete_erasure_coded_pool/(pr#20667,Kefu Chai)

  • tests:qa:停止测试已弃用的“ceph osd create”(issue#21993pr#18659,Kefu Chai)

  • tests:qa/suites:添加最小性能套件(pr#21104,Neha Ojha)

  • tests:qa/suites/cephmetrics:新版本更新(pr#21146,Zack Cerza)

  • tests:qa/suites:将 fixed-2.yaml 用户更改为获取 4 个 openstack 磁盘(pr#16873,Sage Weil)

  • tests:qa/suites:mds.0 -> mds.a(pr#20848,Sage Weil)

  • tests:qa/suites/rados:禁用 scrub backoff(issue#23578pr#21295,Brad Hubbard)

  • tests:qa/suites/rados/mgr/tasks/dashboard:将 MDS_ALL_DOWN 添加到白名单(pr#21549,Ricardo Dias)

  • tests:qa/suites/rados/mgr/tasks/dashboard_v2:添加 fail_on_skip = false(pr#20925,Ricardo Dias)

  • tests:qa/suites/rados/multimon:白名单 mgr down vs clock skew 测试(pr#16996,Sage Weil)

  • tests:qa/suites/rados/singleton:更多白名单(pr#19225,Kefu Chai)

  • tests:qa/suites/rados/thrash-old-clients:ms_type=simple(issue#23922pr#21739,Kefu Chai)

  • tests:qa/suites/rados/upgrade/jewel-x-singleton:容忍松懈的 past_intervals(pr#17293,Kefu Chai)

  • tests:qa/suites/rest/basic/tasks/rest_test:更多白名单(issue#21425pr#17794,huangjun)

  • tests:qa/suites/rest/basic/tasks/rest_test:白名单 OSD_DOWN(issue#21425pr#18144,huangjun)

  • tests:qa/suites/upgarde/jewel-x/parallel:容忍 mgr 警告(pr#17203,Sage Weil)

  • tests:qa/suites/upgarde/jewel-x/point-to-point-x:禁用应用程序警告(pr#16947,Sage Weil)

  • tests:qa:白名单 SLOW_OPS(issue#23495pr#21324,Kefu Chai)

  • tests:qa/tasks:为 wait for pg clean 任务添加默认超时(pr#21313,Vasu Kulkarni)

  • tests:qa/tasks/ceph_deploy:在 mgr 部署之前收集密钥(pr#17224,Sage Weil)

  • tests:qa/tasks/ceph_manager:在恢复的 osd 上使用 set_config(pr#20901,Neha Ojha)

  • tests:qa/tasks/mgr/dashboard:修复登录过期太快(pr#21021,Sebastian Wagner)

  • tests:qa/tasks:将 revive_osd() 超时延长至 6 分钟(issue#21474pr#17902,Kefu Chai)

  • tests:qa/tasks:将 revive_osd() 超时延长至 6 分钟(issue#21474pr#19024,Kefu Chai)

  • tests:qa/tasks:使用 CBT 任务运行 cosbench(pr#21656,Neha Ojha)

  • tests:qa/tasks:更新 ceph-deploy 任务以使用更新的 ceph-volume 语法(pr#19244,Vasu Kulkarni)

  • tests:qa/tests:由于上游更改,添加了额外的必需 ceph-ansible 变量(pr#17757,Vasu Kulkarni)

  • tests:qa/tests:添加 ceph-deploy 升级测试(issue#20950pr#16826,Vasu Kulkarni)

  • tests:qa/tests:为 ceph-volume 添加 openstack volume info + lvs(pr#20243,Vasu Kulkarni)

  • tests:qa/tests:修复因无效远程名称导致的 get_system_type 失败(pr#17650,Vasu Kulkarni)

  • tests:qa/tests:为 systemd 测试修复 rbd 存储桶创建(pr#17536,Vasu Kulkarni)

  • tests:[qa/tests]:misc ceph-ansible 修复和更新(pr#17096,Vasu Kulkarni)

  • tests:qa/tests/rados:删除不支持的 2-size-1-min-size 配置(pr#17576,Vasu Kulkarni)

  • tests:qa/tests:对单节点测试使用 ceph-deploy stable 分支(pr#20979,Vasu Kulkarni)

  • tests:qa/tests:为 smoke 套件的各种白名单(issue#21376pr#17680,Vasu Kulkarni)

  • tests:qa/tests:Wip ceph deploy 升级(pr#17651,Vasu Kulkarni)

  • tests:qa/workunits/rados/test_large_omap_detection:扫描 pg 而不是 osd(pr#21410,Brad Hubbard)

  • tests:qa/workunits:为 ceph-disk 测试静默 py 警告(issue#22154pr#19075,Kefu Chai)

  • tests:rados:在 ceph_perf_msgr_client 中复制 payload(issue#22100pr#18862,Jeegn Chen)

  • tests:rados:初始化成员类 StriperTest(pr#16843,amitkuma)

  • tests:删除 TestPGLog ASSERT_DEATH 测试(issue#23504pr#21117,Nathan Cutler)

  • tests:run-standalone.sh 改进错误消息(pr#17093,David Zafman)

  • tests:run-standalone.sh 如果已设置,则跳过 core_pattern(pr#17098,David Zafman)

  • tests:test/admin_socket_output:添加 --vstart=path/to/asok 选项(pr#20371,Kefu Chai)

  • tests:test/admin_socket_output:更好的错误报告(pr#20409,Brad Hubbard)

  • tests:test/admin_socket_output:切换到 std::experimental::filesystem(pr#20307,Kefu Chai)

  • tests:test/ceph_test_objectstore:使设置更新和恢复更不容易出错(pr#21145,Igor Fedotov)

  • tests:test:检查 creat() 的负返回值(pr#18090,amitkuma)

  • tests:test/CMakeLists:禁用 test_pidfile.sh(issue#20975pr#16977,Sage Weil)

  • tests:test/CMakeLists:禁用 test-pidfile.sh(pr#17401,Sage Weil)

  • tests:test/coredumpctl:支持 freebsd(pr#17447,Kefu Chai)

  • tests:test/dashboard:硬编码 .coverage 路径以规避 tox bug(pr#21485,Kefu Chai)

  • tests:test/dashboard:使用 tox.ini 指定 workdir(issue#23709pr#21416,Kefu Chai)

  • tests:test:在使用 EXPECT_DEATH 时不要转储核心(pr#17390,Kefu Chai)

  • tests:test/fio:扩展 fio objectstore 插件以更好地模拟 OSD 行为(pr#19101,Igor Fedotov)

  • tests:test/fio:修复 fio_ceph_objectstore 插件的构建(pr#18332,Radoslaw Zarzynski)

  • tests:test:修复并启用 test_pidfile.sh(issue#20770pr#16987,David Zafman)

  • tests:test:修复 ceph-objectstore-tool 使用检查(pr#17785,David Zafman)

  • tests:test:修复 misc fiemap 测试(issue#21716pr#18240,Kefu Chai,Ning Yao)

  • tests:test:初始化 *comp_racing_read 类 CopyFromOp(pr#17369,Amit Kumar)

  • tests:test:初始化 ChunkReadOp 成员(pr#19334,amitkuma)

  • tests:test/journal:初始化成员变量 m_work_queue(pr#17089,amitkuma)

  • tests:test/librados:对 timed lock 测试更宽容(issue#20086pr#20161,Kefu Chai)

  • tests:test/librados:增加 pgp_num 随 pg_num 一起增加(issue#23763pr#21555,Kefu Chai)

  • tests:test/librados:s/invoke_result_t/result_of_t/(pr#20379,Kefu Chai)

  • tests:test/librados_test_stub:将 snap context 传递给 zero op(pr#17186,Mykola Golub)

  • tests:test/log:修复 libc++ 崩溃(pr#20233,Casey Bodley)

  • tests:test:通过将代码移出循环使之更清晰(pr#20759,David Zafman)

  • tests:test/objectstore/test_bluefs:清理(pr#17909,Kefu Chai)

  • tests:test:仅在启用了 dashboard_v2 时才对其进行测试(pr#20777,Willem Jan Withagen)

  • tests:test:仅测试启用的 python 绑定(pr#21293,Kefu Chai)

  • tests:test/osd:在 WeightedTestGenerator 中初始化非静态类成员(pr#15922,Jos Collin)

  • tests:test/osd:在 UnsetRedirectOp 中未初始化非静态类成员(pr#15921,Jos Collin)

  • tests:test/osd:静默 -Wsign-compare 的警告(pr#17027,Jos Collin)

  • tests:test:在 ifdef WITH_BLUESTORE 中放置新的 BlueStore 测试(pr#20576,Willem Jan Withagen)

  • tests:test:qa:infra - 每天运行更新并使用 bash(pr#21218,David Galloway)

  • tests:test:qa:infra - teuthology crontab 项(截至 3/27/18)(pr#21075,Yuri Weinstein)

  • tests:test:减少出现降级 PG 的几率(issue#22711pr#20046,Kefu Chai)

  • tests:test:在 distro detect 测试中删除 distro_version assert(pr#21052,Shengjing Zhu)

  • tests:test:用 printf 命令替换 bc 命令(pr#21013,David Zafman)

  • tests:test:静默 -Wsign-compare 的警告(pr#17790,Jos Collin)

  • tests:test:静默 -Wsign-compare 的警告(pr#17962,Jos Collin)

  • tests:tests - 将对“centos 7.3”的请求替换为 centos_latest(pr#19262,Yuri Weinstein)

  • tests:test/store_test:修复 FTBFS,因为 Sequencer 已被移除(pr#20382,Kefu Chai)

  • tests:test/store_test:更新 Many4KWritesTest* 测试用例以最终确定……(pr#20230,Igor Fedotov)

  • tests:test/throttle:删除测试已执行 Throttle 类析构函数(pr#17442,Kefu Chai)

  • tests:test/unittest_bufferlist:检查 syscall 的返回值(pr#18238,Kefu Chai)

  • tests:test/unittest_pg_log:静默 gcc 警告(pr#17328,Kefu Chai)

  • tests:test:以兼容的方式使用 jq 并简化 diff 分析(pr#21450,David Zafman)

  • tests:test:白名单更正(pr#22167,David Zafman)

  • tests,tools:crushtool:将错误消息打印到 stderr 而不是 dout(1)(issue#21758pr#18242,Kefu Chai)

  • tests:unittest_crypto:不要超过 getentropy 的限制(pr#18505,Brad Hubbard)

  • tests:vstart:修复没有 ceph.conf 时的初始启动(pr#21019,Jianpeng Ma)

  • The Day Has Come!(pr#19657,Adam C. Emerson)

  • tools:Align use of uint64_t in service_daemon::AttributeType(pr#16938,James Page)

  • tools:ceph-disk:擦除 110MB 以销毁现有的 bluestore(issue#22354pr#20400,Kefu Chai)

  • tools:ceph-disk:修复 ceph-osd 服务省略 '--runtime'(issue#21498pr#17904,Carl Xiong)

  • tools:ceph-disk:调用 major 时修复有符号整数大于最大值(pr#19196,Song Shun)

  • tools:ceph-disk:在异常中包含失败命令的输出(pr#20497,Kefu Chai)

  • tools:ceph-disk:当指定磁盘时,提供更精确的错误消息(pr#18018,Kefu Chai)

  • tools:ceph-disk:减少 activate_lock 的范围(pr#20114,zhaokun)

  • tools:ceph-disk:在 OSError 上重试(issue#21728pr#18162,Kefu Chai)

  • tools:ceph-disk:激活时解锁所有分区(pr#17363,Kefu Chai)

  • tools:ceph-disk:将日志写入 /var/log/ceph 而不是 /var/run/ceph(pr#18375,Kefu Chai)

  • tools:ceph:修复“tell <service>.*”命令(issue#21230pr#17463,Kefu Chai)

  • tools:ceph-kvstore-tool:使其更友好一些(pr#21477,Sage Weil)

  • tools:ceph-kvstore-tool:使用 unique_ptr<> 管理 bluestore 的生命周期(pr#18221,Kefu Chai)

  • tools:ceph-objectstore-tool:添加“dump-import”选项来检查导出(issue#22086pr#19368,David Zafman)

  • tools:ceph-objectstore-tool:set-size 修复,如果更改则清除 data_digest……(pr#18885,David Zafman)

  • tools:ceph-objectstore-tool:“$OBJ get-omaphdr”和“$OBJ list-omap”扫描所有 pg 而不是使用特定的 pg(issue#21327pr#17985,David Zafman)

  • tools:ceph-objectstore-tool:跳过具有生成版本号的对象(pr#18507,huangjun)

  • tools:ceph-syn:静默 clang analyzer 警告(pr#18577,Kefu Chai)

  • tools:ceph-volume:使用分隔的 CLI 输出解析器而不是 JSON(pr#17097,Alfredo Deza)

  • tools:cleanup:移除 ceph-rest-api(issue#21264issue#22457pr#17530,Nathan Cutler)

  • tools:正确格式化总大小(pr#21641,Zheng Yin)

  • tools:crushtool:添加 --add-bucket 和 --move 选项(pr#20183,Kefu Chai)

  • tools:FreeBSD 的基本 getopt 不使用 --options(pr#21148,Willem Jan Withagen)

  • tools:初始化 *server, command 变量(pr#17135,amitkuma)

  • tools:使 rados get/put/append 命令的帮助文本更清晰(issue#22958pr#20363,lvshuhua)

  • tools:修改“rados df”头部的对齐方式(pr#17549,iliul)

  • tools:rados 添加一个清除 omap 键的 cli 选项(issue#22255pr#19180,Abhishek Lekshmanan)

  • tools:rados/tool:修复 rados stat 命令提示(pr#16983,huanwen ren)

  • tools:script:build-integration-branch:避免 Unicode 错误(issue#24003pr#21918,Nathan Cutler)

  • tools:script:ceph-release-notes:split_component 的小修复(pr#16605,Abhishek Lekshmanan)

  • tools:特殊 scrub 处理 hinfo_key 错误(issue#23428issue#23364pr#20947,David Zafman)

  • tools:src/vstart.sh:为 FreeBSD 默认 os 为 filestore(pr#17454,xie xingguo)

  • tools:stop.sh:添加 ceph 配置文件位置(pr#20888,Jianpeng Ma)

  • tools:tools/ceph-conf:以纯文本或 json 格式转储解析后的配置(issue#21862pr#18350,Piotr Dałek)

  • tools:tools/ceph_monstore_tool:将 mgrmap 包含在初始 paxos epoch 中(issue#22266pr#19780,Kefu Chai)

  • tools:tools/ceph_monstore_tool:也重建初始 mgrmap(issue#22266pr#19238,Kefu Chai)

  • tools:tools/ceph-objectstore-tool:用于修剪 pg log 的命令(issue#23242pr#20786,Josh Durgin,David Zafman)

  • tools:tools/ceph_objectstore_tool:修复“dup”无法复制 meta PG(pr#17572,xie xingguo)

  • tools:tools/rados:改进 ls 命令用法(pr#21553,Li Wang)

  • tools:tools:rados:将 -f 改为 --format 以与 ceph 工具保持一致(issue#15904pr#20147,Nathan Cutler)

  • tools:tools/rados:在 rados bench 中使用单调时钟(issue#21375pr#18588,Mohamad Gebai)

  • tools:更新 monstore 工具以支持 fsmap、mgrmap(issue#21577pr#18005,John Spray)

  • tools:使用 --no-mon-config,这样 ceph_objectstore_tool.py 测试就不会挂起(pr#21274,David Zafman)

  • tools:vstart.sh:将 rgw 配置移到 client.rgw 部分(pr#18331,Yan Jun)

  • tools:vstart.sh:使用 bluestore 作为默认 osd objectstore 后端(pr#17100,mychoxin)

  • vstart:修复选项(由于引号)并允许禁用 dashboard(issue#23345pr#20986,Joao Eduardo Luis)

  • vstart.sh:修复 vstart.sh 中的拼写错误(pr#18729,iliul)

  • vstart.sh:修复 vstart.sh 中的帮助文本(pr#21071,Marc Koderer)

  • vstart.sh:在显示正在执行的命令时引用 cmd 参数(pr#17057,Jiaying Ren)

  • vstart.sh:仅在必要时引用命令(pr#18181,Kefu Chai)

  • vstart.sh:应引用参数以使它们被引用(pr#18523,Kefu Chai)

  • vstart.sh:简化与 objectstore 相关的逻辑(pr#17749,Kefu Chai)

由 Ceph 基金会为您呈现

Ceph 文档是由非营利性 Ceph 基金会 资助和托管的社区资源。如果您希望支持这项工作和我们的其他努力,请考虑 立即加入