Ceph v12.0.3 Luminous (dev) 发布
TheAnalyst
这是 Luminous 的第四个开发检查点发布,Luminous 是下一个长期稳定版本。此版本在 bluestore、monitor、rbd 和 rgw 方面引入了几项改进。
v12.0.2 的主要变化 ¶
- 已删除 "journaler allow split entries" 配置设置。
值得注意的更改 ¶
- bluestore,core: osd/OSDMap: 如果 osd 不存在,应该更新输入参数 (pr#14863, Kefu Chai)
- bluestore: include/intarith: 模板化 ctz/clz/cbits 助手 (pr#14862, Kefu Chai)
- bluestore: os/bluestore: 将回收大小与 bluefs_alloc_size 对齐 (pr#14744, Haomai Wang)
- bluestore: os/bluestore: 断言 blob map 返回成功 (pr#14473, shiqi)
- bluestore: os/bluestore: 修复延迟写入竞争 (issue#19880, pr#15004, Sage Weil)
- bluestore: os/bluestore: 修复拼写错误(s/trasnaction/transaction/) (pr#14890, xie xingguo)
- bluestore: os/bluestore: 修复 aio_wait 后释放的竞争 (pr#14956, Sage Weil)
- bluestore: os/bluestore: 预先计算要逐出的幽灵缓冲区数量 (pr#15029, xie xingguo)
- bluestore: os/bluestore: 记录 l_bluestore_state_kv_queued_lat for sync_submit_… (pr#14448, Jianpeng Ma)
- bluestore: os/bluestore: 删除 ExtentFreeListManager. (pr#14772, Jianpeng Ma)
- bluestore: os/bluestore: 删除未使用的条件变量 (pr#14973, Igor Fedotov)
- bluestore: os/bluestore: 重命名/修复节流选项 (pr#14717, Sage Weil)
- bluestore: os/bluestore: 将 bluefs 分配四舍五入到 bluefs_alloc_size (pr#14876, Ramesh Chander)
- bluestore: os/bluestore: 为未使用部分使用正确的绑定编码大小 (pr#14731, Haomai Wang)
- bluestore,performance: common/config_opts.h: bluestore/rocksdb 的压缩预读 (pr#14932, Mark Nelson)
- bluestore,performance: os/bluestore/BlueFS: 添加 bluefs_sync_write 选项 (pr#14510, Sage Weil)
- bluestore,performance: os/bluestore: 不要对每个 kv_sync_thread 迭代进行 bluefs 平衡 (pr#14557, Sage Weil)
- bluestore,performance: os/bluestore: 消除一些多余的东西 (pr#14675, Igor Fedotov)
- bluestore,performance: os/bluestore: 摆脱 BitMapAllocator 处的多余锁 (pr#14749, Igor Fedotov)
- bluestore,performance: os/blueStore: 在 osd_tp_thread 中,调用 _txc_finalize_kv. (pr#14709, Jianpeng Ma)
- bluestore,performance: os/bluestore: 使 bluestore_max_blob_size 参数依赖于 hdd/ssd 情况 (pr#14434, Igor Fedotov)
- bluestore,performance: os/bluestore: 重写延迟写入处理 (issue#16644, pr#14491, Sage Weil)
- bluestore,performance: os/bluestore: 使用 denc 进行变长整数编码 (pr#14911, Piotr Dałek)
- bluestore,performance: os/fs/aio: 对 aio_t 使用 small_vector; 清理头文件位置 (pr#14853, Sage Weil)
- bluestore,tests: unittest_alloc: 添加 test_alloc_big (issue#16662, pr#14844, Sage Weil)
- bluestore,tools: ceph-kvstore-tool: 允许 'bluestore-kv' 作为 kvdb 类型; 添加转义、压缩 (pr#14718, Sage Weil)
- build/ops: alpine: 添加 alpine linux 开发支持 (pr#9853, John Coyle)
- build/ops: arch: 使用 __get_cpuid 代替 do_cpuid (issue#7869, pr#14857, Jos Collin)
- build/ops: CMakeLists.txt: 如果不是 Intel,则不进行 crypto/isa-l (pr#14721, Dan Mick)
- build/ops: compressor/zlib: 修复非 Intel 架构的插件 (pr#14947, Dan Mick)
- build/ops: debian/rpm: 将 radosgw-admin 移动到 ceph-common (issue#19577, pr#14940, Ali Maredia)
- build/ops: dmclock: error: ‘function’ in namespace ‘std’ does not name a template type (pr#14909, Jos Collin)
- build/ops: dmclock: dmclock QoS 库的初始提交 (pr#14330, J. Eric Ivancich)
- build/ops: init-ceph: 添加 ceph 库路径到环境 (pr#14693, Mohamad Gebai)
- build/ops: init-ceph: 在 "]" 前应该有一个空格 (pr#14796, Kefu Chai)
- build/ops: 合并 v12.0.2 发布标签 (pr#15091, Jenkins Build Slave User)
- build/ops,mgr: debian/ceph-base.dirs: 创建 bootstrap-mgr 目录 (pr#14838, Sage Weil)
- build/ops,mon: mon/ConfigKeyService: 添加 'config-key dump' 以显示键和值 (pr#14858, Dan Mick)
- build/ops,performance,rbd: byteorder: 为字节交换使用 gcc 内建函数 (pr#15012, Kefu Chai)
- build/ops: rocksdb: 与上游同步 (pr#14818, Nathan Cutler, Kefu Chai)
- build/ops: rpm: 修复 SUSE 的 python-Sphinx 包名称 (pr#15015, Nathan Cutler, Jan Matejek)
- build/ops: rpm: gperftools-devel >= 2.4 (issue#13522, pr#14870, Nathan Cutler)
- build/ops: rpm: 仅在 x86_64 上打包 crypto (pr#14779, Nathan Cutler)
- build/ops: debian: 仅在 amd64 上打包 crypto 插件 (pr#14820, Kefu Chai)
- build/ops: src/init-ceph.in: 允许 one((re)?start|stop) 作为命令 (pr#14560, Willem Jan Withagen)
- build/ops: yasm-wrapper: strip -E (停止 ccache 破坏源文件) (pr#14633, Tim Serong)
- cephfs: ceph-fuse: 默认使用用户空间权限检查 (issue#19820, pr#14907, "Yan, Zheng")
- cephfs: client: client_quota 不再是可选的 (pr#14978, Dan van der Ster)
- cephfs: client: 修复 UserPerm::gid_in_group() (issue#19903, pr#15039, "Yan, Zheng")
- cephfs: client: 在返回 quota/layout xattrs 之前进行 getattr (issue#17939, pr#14018, John Spray)
- cephfs: fs/ceph-fuse: 标准化网络上的文件打开标志 (pr#14822, Jan Fajerski)
- cephfs: mds/Server.cc: 如果...,不要逐出慢速客户端 (issue#17855, pr#12935, Michal Jarzabek)
- cephfs: osdc/Filer: 分批截断大文件 (issue#19755, pr#14769, "Yan, Zheng")
- cephfs: osdc: 删除 journaler_allow_split_entries 选项 (issue#19691, pr#14636, John Spray)
- cephfs,performance: client: 使 seeky readdir 更高效 (issue#19306, pr#14317, "Yan, Zheng")
- cephfs: qa/cephfs: 修复 test_data_scan (issue#19893, pr#15094, Douglas Fuller)
- cephfs: qa/suites/fs: 为 full tests 中的 mds 预留更多空间 (issue#19891, pr#15026, "Yan, Zheng")
- cephfs,tests: qa: 消除虚假的 standby 不足健康警告 (pr#15035, Patrick Donnelly)
- cephfs,tests: qa: 整理 fs/ 套件 (pr#14575, John Spray)
- cleanup: dmclock: 包含缺失的
头文件。 (pr#14923, Jos Collin) - cleanup: 消除 clang 警告 (pr#14549, Kefu Chai)
- cleanup: test: c_write_operations.cc: 消除 -Wsign-compare 警告 (pr#14889, Jos Collin)
- cmake: 添加 "container" 到必需的 boost 组件 (pr#14850, Kefu Chai)
- cmake: 对齐库包的 cmake 名称 (issue#19853, pr#14951, Nathan Cutler)
- cmake: 允许在没有 NSS 的情况下构建测试 (pr#13315, Daniel Gryniewicz)
- cmake: 不要编译 crush 两次 (pr#14725, Kefu Chai)
- cmake: 启用 boost 的交叉编译 (issue#18938, pr#14881, Kefu Chai)
- cmake: 修复 unittest_rgw_crypto 的链接库引用 (pr#14869, Willem Jan Withagen)
- cmake: 消除重复的 cmake 命令 (pr#14948, liuchang0812)
- cmake: 如果不是 CMAKE_VERBOSE_MAKEFILE,则传递 -d0 给 b2 (pr#14651, Kefu Chai)
- cmake: 不应该在 intel arch 上编译 crc32c_ppc.c (pr#14423, Kefu Chai)
- common: 更好地处理缺失/无法访问的 ceph.conf 文件 (issue#19658, pr#14757, Dan Mick)
- common: cls/log/cls_log.cc: 减少日志噪音 (issue#19835, pr#14879, Willem Jan Withagen)
- common: common/admin_socket: 为 admin socket 权限位添加配置 (pr#11684, runsisi)
- common: common/ceph_context.cc: 使用 CEPH_DEV 减少日志文件噪音 (pr#10384, Willem Jan Withagen)
- common: common/config: 将 /usr/local/etc/ceph 添加到默认路径 (pr#14797, Willem Jan Withagen)
- common: common/config_opts: 设置 HDD 节流成本为 1.5M (pr#14808, Mark Nelson)
- common: common/Finisher: 修复未初始化变量警告 (pr#14958, Piotr Dałek)
- common: common/interval_set: size() 返回 int64_t (pr#12898, Xinze Chi)
- common: crypto: 在主线程中清理 NSPR (pr#14801, Kefu Chai)
- common: 修复针对 libcryptopp 的构建 (pr#14949, Shengjing Zhu)
- common: 修复未使用的变量引用警告 (pr#14790, Willem Jan Withagen)
- common: msg/async: 如果不支持,立即返回 NetHandler::set_priority() (pr#14795, Kefu Chai)
- common: osdc/Objecter: 修复 pool dne 角落案例 (issue#19552, pr#14901, Sage Weil)
- common: osdc/Objecter: 处理下线的命令目标 (issue#19452, pr#14302, Sage Weil)
- common: osd/OSDMap: 修复 feature commit comment (pr#15056, Sage Weil)
- common,performance: common/Finisher: 批量处理 perfcounter && 仅在等待者存在时发送信号。 (pr#14363, Jianpeng Ma)
- common: 删除多余的包含 (issue#19883, pr#15003, Brad Hubbard)
- common: 删除多余的包含 (issue#19883, pr#15019, Brad Hubbard)
- common: src/common: 将 last_work_queue 更改为 next_work_queue. (pr#14738, Pan Liu)
- core: ceph-disk: FreeBSD 上的 ceph-disk 不应使用 mpath-code (pr#14837, Willem Jan Withagen)
- core: ceph-disk: 实现 prepare --no-locking (pr#14728, Dan van der Ster, Loic Dachary)
- core: ceph-disk: 分离 ceph-osd --check-needs-* 日志 (issue#19888, pr#15016, Loic Dachary)
- core: erasure-code: 同步 jerasure/gf-complete 子模块 (pr#14424, Loic Dachary)
- core: 引入 DirectMessenger (pr#14755, Casey Bodley, Matt Benjamin)
- core: messages: 删除 compat cruft (pr#14475, Sage Weil)
- core,mon: common/Finisher: 修复未初始化变量警告 (issue#19874, pr#14979, Sage Weil)
- core: mon,osd: 添加 require_min_compat_client 设置以强制执行并澄清客户端兼容性 (pr#14959, Sage Weil)
- core: mon/OSDMonitor: 如果映射在 osdmap 之前,则跳过 prime_pg_temp (pr#14826, Kefu Chai)
- core: mon/PGMonitor: 修复错误报告 "pg stuck in inactive" (pr#14391, Mingxin Liu)
- core: osd,librados: cmpext 支持 (pr#14715, Zhengyong Wang, David Disseldorp, Mike Christie)
- core: osd/OSDMap: 增加 require_min_compat_client 的编码版本 (pr#15046, "Yan, Zheng")
- core: osd/PG.cc: 对 PG.last_active 的乐观估计 (pr#14799, Xiaoxi Chen)
- core: osd/PG.cc: 统一检查锁是否被持有的调用 (pr#15013, Jin Cai)
- core: osd/PG: 修复 unfound 对象可能的溢出 (pr#12669, huangjun)
- core: osd/PrimaryLogPG: 如果 (pg.deleting),则不调用 on_shutdown() (issue#19902, pr#15040, Kefu Chai)
- core: osd/PrimayLogPG: 更新修改范围以包含 write_full op 的整个对象大小 (pr#15021, runsisi)
- core: osd/ReplicatedBackend: 从 repop_applied 中删除 MOSDSubOp cruft (pr#14358, Jianpeng Ma)
- core: os/filestore/FileJournal: 修复注释中的拼写错误 (pr#14493, Zhou Zhengping)
- core: os/filestore: 修复 fiemap() 中的无限循环 (pr#14367, Ning Yao)
- core,performance: osd, os: 减少 fiemap 负担 (pr#14640, Piotr Dałek)
- core,performance: os/filestore: 当 io_submit 获取 EAGAIN 时使用新的睡眠策略。 (pr#14860, Pan Liu)
- core,performance: os/kstore: 添加 rocksdb 布隆过滤器设置 (pr#13053, Ted-Chang)
- core,tests: ceph_test_rados_api_watch_notify: 使 LibRadosWatchNotify.Watch3Timeout 容忍抖动 (issue#19433, pr#14899, Sage Weil)
- core,tools: ceph: perfcounter 优先级和 daemonperf 更新以使用它们 (pr#14793, Sage Weil, Dan Mick)
- core,tools: kv: 将 'bluestore-kv' hackery 从 KeyValueDB 移到 ceph-kvstore-tool (issue#19778, pr#14895, Sage Weil)
- crush: builder: legacy 有 chooseleaf_stable = 0 (pr#14695, Loic Dachary)
- crush: crush_init_workspace 从 struct crush_work 开始 (pr#14696, Loic Dachary)
- crush: 更新负 choose 步骤的文档 (pr#14970, Loic Dachary)
- doc: AUTHORS: 更新技术负责人 (pr#14350, Patrick Donnelly)
- doc: 更正和改进添加用户能力部分 (pr#14055, Chu, Hua-Rong)
- doc: 更正删除桶示例并添加桶链接/取消链接示例 (pr#12460, Uday Mullangi)
- doc: dev 添加关于 ccache 的注释 (pr#14478, Abhishek Lekshmanan)
- doc: doc/dev: 添加一些关于 FreeBSD 的信息 (pr#14503, Willem Jan Withagen)
- doc: fio: 更新 README.md,以便只构建 fio ceph 引擎 (pr#15081, Kefu Chai)
- doc: 修复指向不存在文件的链接 (pr#14740, Peter Maloney)
- doc: 指示如何添加多个 admin capbabilies (pr#13956, Chu, Hua-Rong)
- doc: mailmap: 添加 Alibaba 到组织映射 (pr#14900, James Liu)
- doc: mailmap: 更新组织信息 (pr#14747, liuchang0812)
- doc: mailmap: V12.0.1 贡献者名单 (pr#14479, M Ranga Swami Reddy)
- doc: mailmap: Weibing Zhang mailmap affiliation (pr#15076, Weibing Zhang)
- doc: mailmap: ztczll affiliation (pr#15079, zhanglei)
- doc: 提到 teuthology-worker 安全组 (pr#14748, Nathan Cutler)
- doc: peoplemap: 添加 pdonnell 别名 (pr#14352, Patrick Donnelly)
- doc: 在 man/8/ceph.rst 中删除弃用的子命令 (pr#14928, Drunkard Zhang)
- doc: 重写关于使用 git subtrees 的警告。 (pr#14999, J. Eric Ivancich)
- doc: rgw: 清理 create subuser 参数 (pr#14335, hrchu)
- doc: rgw: 更正 get usage 参数默认值 (pr#14372, hrchu)
- doc: rgw: Get user usage 需要指定用户 (pr#14804, hrchu)
- doc: rgw: 在 adminops guide 中注明 rgw_enable_usage_log 选项 (pr#14803, hrchu)
- doc: rgw: 重写 Java swift 示例 (pr#14268, Chu, Hua-Rong)
- doc: rgw: 重写密钥管理 (pr#14384, hrchu)
- doc: doc/cephfs/client-config-ref.rst 的样式修复 (pr#14840, Drunkard Zhang)
- doc: 两个小修复 (pr#14494, Drunkard Zhang)
- doc: 更新 swift 静态网站的支持状态 (pr#13824, Jing Wenjun)
- doc: v12.0.2 (dev) 发布说明 (pr#14625, Abhishek Lekshmanan)
- librados: 当 buf 为 null 时修复 rados_pool_list (pr#14859, Sage Weil)
- librbd: 清理 librbd/io 下的日志代码 (pr#14975, runsisi)
- librbd: 在构建测试时不要实例化模板 (issue#18938, pr#14891, Kefu Chai)
- librbd: 修复 image trash move 的小问题 (pr#14834, runsisi)
- librbd: 删除对 image id 是否为空的冗余检查 (pr#14830, runsisi)
- librbd: 消除 -Wunused-variable 警告 (pr#14953, Kefu Chai)
- mds: 为文件系统操作添加性能计数器 (pr#14938, Michael Sevilla)
- mds: change_attr++ 并为 set_vxattr 设置 ctime (issue#19583, pr#14726, Patrick Donnelly)
- mds: 修复 mantle 脚本,使其在最后一个 rank 不失败 (issue#19589, pr#14704, Patrick Donnelly)
- mds: 修复 Locker::file_update_finish() 中的 use-after-free (issue#19828, pr#14991, "Yan, Zheng")
- mds: 在向客户端发送回复时发出新的 caps (issue#19635, pr#14743, "Yan, Zheng")
- mds: 将 PTRWAITER put 重新定位到 get 附近 (pr#14921, Patrick Donnelly)
- mds: 删除 boost::pool 用法并直接使用 tcmalloc (issue#18425, pr#12792, Zhi Zhang)
- mds: 删除 "mds log" 配置选项 (issue#18816, pr#14652, John Spray)
- mds: 支持目录上的导出固定 (issue#17834, pr#14598, "Yan, Zheng", Patrick Donnelly)
- mds: 对大多数 subsys 使用 debug_mds (issue#19734, pr#15052, Patrick Donnelly)
- mgr: 添加 python 模块向守护进程发送 MCommands 的机制 (pr#14920, John Spray)
- mgr: 为 client.admin 添加 mgr allow * (pr#14864, huanwen ren)
- mgr: 使用 finisher 进行关机,以便我们能按正确的顺序进行 (issue#19743, pr#14835, Kefu Chai)
- mgr: 按正确的顺序进行关机 (issue#19813, pr#14952, Kefu Chai)
- mgr: 修复 python 模块权限不足时 set_config 崩溃的问题 (issue#19629, pr#14706, Tim Serong)
- mgr: 修复来自旧 MDS 守护进程的元数据处理 (pr#14161, John Spray)
- mgr: 修复 python 模块拆卸并添加测试 (issue#19407, issue#19412, issue#19258, pr#14232, John Spray)
- mgr: 修复会话泄漏 (issue#19591, pr#14720, Sage Weil)
- mgr: 杂项错误修复 (issue#18994, pr#14883, John Spray)
- mgr: mkdir bootstrap-mgr (pr#14824, huanwen ren)
- mgr,mon: mon/MgrMonitor: 仅在我们更新时才提议 (pr#14645, Sage Weil)
- mgr,mon: mon,mgr: 在没有 pgmap 帮助的情况下修剪 osdmap (pr#14504, Kefu Chai)
- mgr: pybind/mgr/rest: 在关机时完全终止 cherrypy (pr#14995, Tim Serong)
- mgr: 将 python stdout,stderr 重定向到 ceph 日志 (pr#14189, Kefu Chai, Tim Serong, Dan Mick)
- mgr: 释放分配的 PyString (pr#14716, Kefu Chai)
- mgr: 从 FSMap 中删除不存在的 MDS 守护进程 (issue#17453, pr#14937, Spandan Kumar Sahu)
- mgr,tests: qa/suites: 将 mgr 测试移入 rados 套件 (pr#14687, John Spray)
- mgr: 各种清理 (pr#14802, Kefu Chai)
- mon: 在 timer 回调中检查 is_shutdown() (issue#19825, pr#14919, Kefu Chai)
- mon: 不要创建 pgs 时 prime_pg_temp; 清理 pg 创建条件 (issue#19826, pr#14913, Sage Weil)
- mon: 不要在 prepare_update() 中调用 propose_pending (issue#19738, pr#14711, John Spray)
- mon: logclient: 在重置会话时使用第 1 个日志条目的 seq id (issue#19427, pr#14927, Kefu Chai)
- mon: mon/OSDMonitor: 检查 get() 的返回值而不是 bl 的长度 (pr#14805, Kefu Chai)
- mon: mon/OSDMonitor: 完成后清理 pending_created_pgs (pr#14898, Kefu Chai)
- mon: mon/OSDMonitor: 不要更改 pg 的 "created" epoch (issue#19787, pr#14849, Kefu Chai)
- mon: mon/OSDMonitor: 修复 can_mark_out 中的输出函数名 (pr#14758, xie xingguo)
- mon: mon/OSDMonitor: 如果可能,增加 last_epoch_clean 的下限 (pr#14855, Kefu Chai)
- mon: mon/OSDMonitor: 容忍从 post-kraken dev cluster 升级 (pr#14442, Sage Weil)
- mon: mon/OSDMonitor: 使用 pending_creatings 更新 creating_pgs (issue#19814, pr#14897, Kefu Chai)
- mon: mon/OSDMonitor: 即使新的 acting set 为空,也要更新 pg_creatings (issue#19744, pr#14730, Kefu Chai)
- mon: mon/PGMap: 为 pg-dump cmd 添加 up_primary pg number 字段 (pr#13451, xie xingguo)
- mon: mon/PGMap.cc: 修复 dump_basic 的 "osd_epochs" 部分 (pr#14996, xie xingguo)
- mon: mon/PGMonitor: 清理 min/max span 警告 (pr#14611, Sage Weil)
- mon: 将 'pg map' 移动到 OSDMonitor (pr#14559, Sage Weil)
- mon: osd/PGMonitor: 始终使用最新的 osdmap 更新 pgmap (issue#19398, pr#14777, Kefu Chai)
- mon: 在 ceph status 中显示 inactive % (pr#14810, Sage Weil)
- msg: 增加某些消息的 loglevels (pr#14707, Willem Jan Withagen)
- msg: msg/async/net_handler: errno 应该在调用下一个函数之前存储 (pr#14985, Zhou Zhengping)
- msg: msg/simple: 设置 sock 优先级时使用我的 addr (issue#19801, pr#14878, Kefu Chai)
- msg: src/msg/async/AsyncConnect.cc: 在指针类型上使用 sizeof() (pr#14773, Svyatoslav)
- msg: src/msg/simple/Pipe.cc: 修复 '}' 的包含 (pr#14843, Willem Jan Withagen)
- osd: osd mkfs 之前检查 fsid 是否正常 (pr#13898, song baisen)
- osd: 清理未使用的 work queue (pr#14990, Wei Jin)
- osd: 消除 snapdir 对象并将 clone snaps 向量移动到 SnapSet 中 (pr#13610, Sage Weil)
- osd: 修复偶尔的 MOSDMap 泄漏 (issue#18293, pr#14558, Sage Weil)
- osd: 修复注释中的拼写错误 (pr#13061, Gu Zhongyan)
- osd: 实现异步 scrub sleep (issue#19497, pr#14886, Brad Hubbard)
- osd: 实现 peering 状态计时 (pr#14627, Brad Hubbard)
- osd: objclass sdk (pr#14723, Neha Ojha)
- osd: osdc/Objecter: 更多 constness (pr#14819, Kefu Chai)
- osd: osdc: 消除 -Wsign-compare 警告 (pr#14729, Jos Collin)
- osd: pglog 修剪修复 (pr#12882, Zhiqiang Wang)
- osd: pglog: 有配置时,在存在过时分歧时不要断言… (issue#17916, pr#14648, Greg Farnum)
- osd: 将 osdmap 放入 mempool (pr#14780, Sage Weil)
- osd: 重命名 OSDMap::build_simple_crush_map_from_conf 中的新向量名称 (pr#14583, Jos Collin)
- osd: ReplicatedBackend::prep_push() 删除冗余变量赋值 (pr#14817, Jin Cai)
- osd: sched_scrub() 仅在所有 scrubbing 条件都满足时才锁定 pg (pr#14968, Jin Cai)
- osd: 简化 past_intervals 表示 (pr#14444, Samuel Just, Sage Weil)
- osd: 在 shutdown() 中更早地停止 mgrc (issue#19638, pr#14904, Kefu Chai)
- osd: 关机时停止 MgrClient 回调 (issue#19638, pr#14896, Sage Weil)
- osd: strip pglog op name (pr#14764, liuchang0812)
- osd: 支持转储 long ops (pr#13019, Zhiqiang Wang)
- osd: filestore 切换到默认使用 rocksdb (pr#14814, Neha Ojha)
- osd: 使用 min_epoch 标记快速分派消息 (pr#13681, Sage Weil)
- osd: 使用 append(bufferlist &) 避免不必要的复制 (pr#12272, Yunchuan Wen)
- osd: zipkin 跟踪 (pr#14305, Sage Weil, Marios-Evaggelos Kogias, Victor Araujo, Casey Bodley, Andrew Shewmaker, Chendi.Xue)
- performance: buffer, osd: 添加缺失的 crc 缓存未命中性能计数器 (pr#14957, Piotr Dałek)
- performance: osd/PG.cc: 循环不变代码移动 (pr#12720, Li Wang)
- pybind: 更好的错误消息 (pr#14497, Kefu Chai)
- pybind: 修复 open flags 计算 (issue#19890, pr#15018, "Yan, Zheng")
- qa: qa/added overrides (pr#14917, Yuri Weinstein)
- qa: qa/suite: 替换对 fs/xfs.yaml 的引用 (pr#14756, Yehuda Sadeh)
- qa: qa/suites/rados/singleton-bluestore: 拼接设置 (pr#14884, Kefu Chai)
- rbd: cls_rbd: 为旧客户端默认初始化 snapshot namespace (issue#19413, pr#14903, Jason Dillaman)
- rbd: common/bit_vector: 在数据解码期间使用深拷贝 (issue#19863, pr#15017, Jason Dillaman)
- rbd: 导入需要对自动生成的镜像名称进行健全性检查 (issue#19128, pr#14754, Mykola Golub)
- rbd: info 命令应指示父级是否在垃圾桶中 (pr#14875, Jason Dillaman)
- rbd-mirror: 确保检测到缺失镜像时重新同步 (issue#19811, pr#14945, Jason Dillaman)
- rbd-mirror: 未修改镜像的故障转移和故障恢复导致脑裂 (issue#19858, pr#14963, Jason Dillaman)
- rbd-mirror: 镜像删除应由分配的实例处理 (pr#14832, Jason Dillaman)
- rbd-mirror: 从池观察器中删除对镜像名称的跟踪 (pr#14712, Jason Dillaman)
- rbd-mirror: 解决 admin socket 路径名称冲突 (issue#19907, pr#15048, Mykola Golub)
- rbd-nbd: 针对较新内核版本放宽大小检查 (issue#19871, pr#14976, Mykola Golub)
- rbd: rbd/bench: 添加默认值注释,易于使用 (pr#14762, Zheng Yin)
- rbd: rbd, librbd: 将 atomic_t 迁移到 std::atomic (pr#14656, Jesse Williamson)
- rbd: rbd-mirror A/A: 通过 InstanceWatcher RPC 代理 InstanceReplayer API (issue#18787, pr#13978, Mykola Golub)
- rbd: 识别 exclusive 选项 (pr#14785, Ilya Dryomov)
- rbd: 删除 mirror pool commands 中虚假的错误消息 (pr#14935, Jason Dillaman)
- rbd: 停止 krbd udev 处理中不确定的线程等待 (issue#17195, pr#14051, Spandan Kumar Sahu)
- rbd,tests: qa: krbd checksum 写入后测试 (pr#14836, Ilya Dryomov)
- rbd,tests: qa/workunits/rbd: 增加垃圾桶延迟期 (pr#14846, Jason Dillaman)
- rbd,tests: qa/workunits: 切换到 OpenStack Ocata 版本进行 RBD 测试 (pr#14465, Jason Dillaman)
- rbd,tests: test/librbd/test_librbd.cc: 即使 RBD_FEATURES 未设置,也设置 *features (issue#19865, pr#14965, Dan Mick)
- rbd,tests: test/librbd/test_notify.py: 不要禁用 slave 中的 feature (issue#19716, pr#14751, Mykola Golub)
- rbd,tests: test/rbd_mirror: TestMockLeaderWatcher.AcquireError 中的竞争 (issue#19405, pr#14741, Mykola Golub)
- rbd,tests: test: 从 RBD 元数据测试中删除硬编码的镜像名称 (issue#19798, pr#14848, Jason Dillaman)
- rdma: msg/async/rdma: 添加 inqueue rx chunks 性能计数器 (pr#14782, Haomai Wang)
- rgw: 为 radosgw-admin 添加桶大小限制检查 (issue#17925, pr#11796, Matt Benjamin)
- rgw: add 'state==SyncState::IncrementalSync' condition when add item … (pr#14552, Shasha Lu)
- rgw: 添加 swift bulkupload 的容器和对象级别支持 (pr#14775, Jing Wenjun)
- rgw: 添加对 Swift API FormPost 的支持 (issue#17273, pr#11179, Radoslaw Zarzynski, Orit Wasserman)
- rgw: civetweb 在调用 mg_start 时不要超出数组索引 (issue#19749, pr#14750, Abhishek Lekshmanan, Jesse Williamson)
- rgw: 清理 cls_statelog_check_state 中未使用的代码 (pr#10260, weiqiaomiao)
- rgw: cleanup: 修复 RGWRados::create_pool() 声明中的变量名 (pr#14547, Nathan Cutler)
- rgw: 清理 lc continuation (pr#14906, Jiaying Ren)
- rgw: cls/rgw: list_plain_entries() 在 bi_log entries 之前停止 (issue#19876, pr#14981, Casey Bodley)
- rgw: 自定义用户数据头 (issue#19644, pr#14592, Pavan Rallabhandi)
- rgw: 删除 rgw_make_bucket_entry_name() 的变体重复项。 (pr#14299, Radoslaw Zarzynski)
- rgw: 如果缓冲区长度为零,则不要进行不必要的写入 (pr#14925, fang yuxiang)
- rgw: 在获取租约之前不要生成 error_repo (issue#19446, pr#14714, Casey Bodley)
- rgw: 从 select_bucket_placement 中删除未使用的 param "bucket" (pr#14390, Shasha Lu)
- rgw: 删除未使用的 port var (pr#14412, Jiaying Ren)
- rgw: 修复 Swift API 中损坏的 /crossdomain.xml, /info 和 /healthcheck. (issue#19520, pr#14373, Radoslaw Zarzynski)
- rgw: 修复 bulkupload 的转发请求,使其应用于 multisite (issue#19645, pr#14601, Jing Wenjun)
- rgw: 修复 radosgw-admin period commands 中 --remote 的处理 (issue#19554, pr#14407, Casey Bodley)
- rgw: 修复 AWSv4 多块上传期间 RadosGW 挂起的问题。 (issue#19754, pr#14770, Radoslaw Zarzynski)
- rgw: 将 atomic_t 迁移到 std::atomic<> (ebirah) (pr#14839, Jesse Williamson)
- rgw: radosgw-admin: 警告 'realm rename' 不会更新其他集群 (issue#19746, pr#14722, Casey Bodley)
- rgw: rgw_file: 清理派生函数上的 virtual 关键字 (pr#14908, Gui Hecheng)
- rgw: rgw_ldap: 在绑定失败的情况下记录 ldap 错误 (pr#14781, Abhishek Lekshmanan)
- rgw: rgw multisite: 自动 mdlog 修剪 (pr#13111, Casey Bodley)
- rgw: rgw multisite: 跨 period 的元数据同步修复 (issue#18639, pr#13070, Casey Bodley)
- rgw: rgw multisite: 删除 OPT_ZONEGROUP_MODIFY 中多余的 post (pr#14359, Jing Wenjun)
- rgw: RGWPeriodPusher 在 cr 线程之前生成 http 线程 (issue#19834, pr#14936, Casey Bodley)
- rgw: rgw_rados 删除弃用的全局变量 (pr#14411, Jiaying Ren)
- rgw: 如果 conn->get_obj(...) 返回非零值,应该删除 in_stream_req (pr#9950, weiqiaomiao)
- rgw: swift: 分别更新 swift read 和 write acls 的能力。 (issue#19289, pr#14499, Marcus Watts)
- rgw: swift: 如果 sleep == 0,禁用 revocation thread (issue#19499, issue#9493, pr#14501, Marcus Watts)
- rgw,tests: qa/rgw: s3tests 扫描 rgw 日志时将集群名称添加到路径 (pr#14845, Casey Bodley)
- rgw,tests: qa/rgw: 在 jewel upgrade test 中不扫描 radosgw 日志中的加密密钥 (pr#14697, Casey Bodley)
- rgw,tests: qa/rgw: 修复 radosgw_admin 任务中的断言 (pr#14842, Casey Bodley)
- rgw,tests: test/rgw: 修复 test_multi_period_incremental_sync() (pr#13067, Casey Bodley)
- rgw,tests: test/rgw: 修复空列表作为默认参数的问题 (pr#14816, Casey Bodley)
- rgw: 更新 Beast 以在 asio 前端进行流式读取 (pr#14273, Casey Bodley)
- rgw: 在 secondary zg 创建桶时使用与 master zg 相同的桶 num_shards (issue#19745, pr#14388, Shasha Lu)
- rgw: create_bucket 时使用与 info.num_shards 相同的 num_shards (issue#19745, pr#15010, Shasha Lu)
- tests: ceph_test_rados_api_tier: 容忍 'pg scrub' 返回 ENOENT (pr#14807, Sage Weil)
- tests: cephtool/test.sh error on full tests (issue#19698, pr#14647, Willem Jan Withagen, David Zafman)
- tests: 使用 EXPECT_DEATH 时不要转储核心 (pr#14821, Kefu Chai, Brad Hubbard)
- tests: fio_ceph_objectstore: 修复不当的写请求数据生命周期 (pr#14338, Adam Kupczyk)
- tests: 修复 upgrade/hammer-jewel-x/stress-split 中损坏的链接 (issue#19793, pr#14831, Nathan Cutler)
- tests: include/denc: 支持 ENCODE_DUMP (pr#14962, Sage Weil)
- tests: libradosstriper: 不要将垃圾赋值给返回值 (pr#15009, Kefu Chai)
- tests: qa/erasure-code: override min_size to 2 (issue#19770, pr#14872, Kefu Chai)
- tests: qa/suites/jewel-x/point-to-point: 第二个 s3tests 也不要扫描密钥 (pr#14788, Sage Weil)
- tests: qa/suites: 减少 smoke 的 fs 组合测试,使用 bluestore (pr#14854, Vasu Kulkarni)
- tests: qa/suites: 恢复 "qa/suites: add mon-reweight-min-pgs-per-osd = 4" (pr#14584, Kefu Chai)
- tests: qa/suites/upgrade/jewel-x: 添加 mgr.x 角色 (pr#14689, Sage Weil)
- tests: qa/suites/upgrade/kraken-x: 杂项修复 (pr#14887, Sage Weil)
- tests: qa/tasks/ceph_manager: 完成 thrashosd 任务后始终修复 pgp_num (issue#19771, pr#14931, Kefu Chai)
- tests: qa/tasks: 修复一些问题以使 ceph-deploy 1node 进入工作状态 (pr#14400, Vasu Kulkarni)
- tests: rados: 将 cephtool.yaml 移动到新的 singleton/bluestore 子套件 (issue#19797, pr#14847, Nathan Cutler)
- tests: 在 suites/iozone.sh workunit 中设置 -x (issue#19740, pr#14713, Nathan Cutler)
- tests: test/compressor: 如果 isal 不可用,禁用 isal 测试 (pr#14929, Kefu Chai)
- tests: test: c_read_operations.cc: 消除 -Wsign-compare 警告 (pr#14888, Jos Collin)
- tests: test/fio_ceph_objectstore: 修复 fio 插件构建失败,原因是 engine_data (pr#15044, lisali)
- tests: test: 修复创建警告的断言:有符号和无符号整数表达式之间的比较 (pr#14794, Jos Collin)
- tests: test/fsx: 删除与 aio 后端相关的无用代码 (pr#14905, Zhou Zhengping)
- tests: test/objectstore/: 检查 put_ref 返回值 (pr#15007, zhanglei)
- tests: test/osd/osd-dup.sh: 降低 wb fd 节流限制 (pr#14984, Dan Mick)
- tests: test: 为 crush-classes.sh 使用 7130 (pr#14783, Loic Dachary)
- tests: test: warning: 有符号和无符号整数表达式之间的比较 (pr#14705, Jos Collin)
- tests,tools: test: 消除警告 (pr#14892, Kefu Chai)
- tools: 将 compare_exchange_weak 更改为 compare_exchange_strong (pr#15030, Jesse Williamson)
- tools: rados: 检查 rados_create_with_context() 的负返回值,如其注释所示 (pr#10893, zhang.zezhu)
- tools: rados: 将 json 'df' 值作为数字输出,而不是字符串 (issue#15546, pr#14644, Sage Weil)