v9.0.0 发布
sage
这是 Infernalis 周期中的第一个开发版本,也是第一个采用新版本编号方案的 Ceph 版本。 “9” 表示这是第 9 个发布周期——I(代表 Infernalis)是第 9 个字母。 第一个“0”表示这是一个开发版本(“1”将表示发布候选版本,“2”将表示稳定版本),最后一个“0”表示这是第一个这样的开发版本。
一些亮点包括
- 一个新的 ‘ceph daemonperf’ 命令,用于实时查看 perfcounter 统计信息
- 降低了 MDS 内存使用量
- 修复了许多 MDS 快照问题
- librbd 现在可以将选项存储在镜像本身中
- 修复了许多 RGW Swift API 支持问题
- OSD 性能改进
- 许多文档更新和杂项错误修复
值得注意的更改 ¶
- aarch64:添加优化的 crc32c 版本 (Yazen Ghannam, Steve Capper)
- auth:fork() 后重新初始化 NSS (#11128 Yan, Zheng)
- build:默认禁用 LTTNG (#11333 Josh Durgin)
- build:修复 ppc 构建 (James Page)
- build:install-deps:支持 OpenSUSE (Loic Dachary)
- build:杂项 cmake 修复 (Matt Benjamin)
- ceph-disk:在创建 journal 时遵循 ceph-osd 提示 (#9580 Sage Weil)
- ceph-disk:处理重用现有分区 (#10987 Loic Dachary)
- ceph-disk:改进 parted 输出解析 (#10983 Loic Dachary)
- ceph-disk:使抑制作用适用于 activate-all 和 activate-journal (Dan van der Ster)
- ceph-disk:杂项修复 (Alfredo Deza)
- ceph-fuse, libcephfs:在修剪 null 时不要清除 COMPLETE (Yan, Zheng)
- ceph-fuse, libcephfs:在“拥有”的目录上持有独占 cap (#11226 Greg Farnum)
- ceph-fuse:在卸载时不需要成功的重新挂载 (#10982 Greg Farnum)
- ceph:新的 ‘ceph daemonperf’ 命令 (John Spray, Mykola Golub)
- common:PriorityQueue 测试 (Kefu Chai)
- common:为 perfcounters 添加描述 (Kiseleva Alyona)
- common:修复 LTTNG 与 fork 问题 (Josh Durgin)
- crush: 修复 has_v4_buckets (#11364 Sage Weil)
- crushtool:修复操作顺序,用法 (Sage Weil)
- debian:小的包重组 (Ken Dreyer)
- doc:记录对象语料库生成 (#11099 Alexis Normand)
- doc:修复性别中立性 (Alexandre Maragone)
- doc:修复安装文档 (#10957 Kefu Chai)
- doc:修复 sphinx 问题 (Kefu Chai)
- doc:mds 数据结构文档 (Yan, Zheng)
- doc:杂项更新 (Nilamdyuti Goswami, Vartika Rai, Florian Haas, Loic Dachary, Simon Guinot, Andy Allan, Alistair Israel, Ken Dreyer, Robin Rehu, Lee Revell, Florian Marsylle, Thomas Johnson, Bosse Klykken, Travis Rhoden, Ian Kelling)
- doc:swift tempurls (#10184 Abhishek Lekshmanan)
- doc:切换 doxygen 集成回 breathe (#6115 Kefu Chai)
- erasure-code:将 ISA-L 更新到 2.13 (Yuan Zhou)
- gmock:切换到子模块 (Danny Al-Gaaf, Loic Dachary)
- hadoop:添加 terasort 测试 (Noah Watkins)
- java:修复 libcephfs 绑定 (Noah Watkins)
- libcephfs,ceph-fuse:修复 cap 重连时的请求重发 (#10912 Yan, Zheng)
- librados:从 C 常量定义 C++ 标志 (Josh Durgin)
- librados:修复 last_force_resent 处理 (#11026 Jianpeng Ma)
- librados:修复 C_TwoContexts 的内存泄漏 (Xiong Yiliang)
- librados:修复 stripe_count = 1 且 stripe_unit != object_size 时的条带器 (#11120 Yan, Zheng)
- librados:op perf counters (John Spray)
- librados:pybind:修复 write() 方法返回值 (Javier Guerra)
- libradosstriper:修复泄漏 (Danny Al-Gaaf)
- librbd:添加 purge_on_error 缓存行为 (Jianpeng Ma)
- librbd:杂项 aio 修复 (#5488 Jason Dillaman)
- librbd:杂项 rbd 修复 (#11478 #11113 #11342 #11380 Jason Dillaman, Zhiqiang Wang)
- librbd:readahead 修复 (Zhiqiang Wang)
- librbd:存储元数据,包括配置选项,在镜像中 (Haomai Wang)
- mds:为 MDSMap 添加 ‘damaged’ 状态 (John Spray)
- mds:为 perfcounters 添加昵称 (John Spray)
- mds:禁用 snap 父级中的有问题 rstat 传播 (Yan, Zheng)
- mds:修复 mydir 副本问题与关机 (#10743 John Spray)
- mds:修复乱序消息 (#11258 Yan, Zheng)
- mds:修复关机时存在 stray (#10744 John Spray)
- mds:修复快照修复 (Yan, Zheng)
- mds:修复 stray 处理 (John Spray)
- mds:在 do_open_truncate 中立即刷新 (#11011 John Spray)
- mds:改进 dump 方法 (John Spray)
- mds:杂项 journal 清理和修复 (#10368 John Spray)
- mds:使用 omap 的新的 SessionMap 存储 (#10649 John Spray)
- mds:减少内存消耗 (Yan, Zheng)
- mds:限制 purge stray 操作 (#10390 John Spray)
- mds:容忍时钟向后跳跃 (#11053 Yan, Zheng)
- misc coverity 修复 (Danny Al-Gaaf)
- mon:不要停用最后一个 mds (#10862 John Spray)
- mon:使 osd get pool ‘all’ 只返回适用的字段 (#10891 Michal Jarzabek)
- mon:警告错误的缓存层配置 (Jianpeng Ma)
- msg/async:杂项错误修复和更新 (Haomai Wang)
- msg/simple:修复 connect_seq 断言 (Haomai Wang)
- msg/xio:杂项修复 (#10735 Matt Benjamin, Kefu Chai, Danny Al-Gaaf, Raju Kurunkad, Vu Pham)
- msg:单元测试 (Haomai Wang)
- objectcacher:杂项错误修复 (Jianpeng Ma)
- os/filestore:增大 getxattr 缓冲区大小 (Jianpeng Ma)
- osd:EIO 注入 (David Zhang)
- osd:添加杂项 perfcounters (Xinze Chi)
- osd:在恢复中添加简单的睡眠注入 (Sage Weil)
- osd:允许 SEEK_HOLE/SEEK_DATA 用于稀疏读取 (Zhiqiang Wang)
- osd:避免 pg 元数据中的 dup omap 集 (#11120 Yan, Zheng)
- osd:清理一些 constness,privateness (Kefu Chai)
- osd:erasure-code:根据 LRU 删除条目 (Andreas-Joachim Peters)
- osd:修复 backfill 期间的负退化统计信息 (Guang Yang)
- osd:杂项修复 (Ning Yao, Kefu Chai, Xinze Chi, Zhiqiang Wang, Jianpeng Ma)
- pybind:pep8 清理 (Danny Al-Gaaf)
- qa:修复 filelock_interrupt.py 测试 (Yan, Zheng)
- qa:改进 ceph-disk 测试 (Loic Dachary)
- qa:改进 docker 构建层 (Loic Dachary)
- rados:将 erno 转换为 CLI 中的字符串 (#10877 Kefu Chai)
- rbd:接受 map 选项配置选项 (Ilya Dryomov)
- rbd:cli:修复带有 –io-pattern 的参数解析 (Dmitry Yatsushkevich)
- rbd:修复错误消息 (#2862 Rajesh Nambiar)
- rbd:更新 rbd man 页面 (Ilya Dryomov)
- rbd:更新 xfstests 测试 (Douglas Fuller)
- rgw:为 Swift 容器添加 X-Timestamp (#10938 Radoslaw Zarzynski)
- rgw:添加缺失的标头到 Swift 容器详细信息 (#10666 Ahmad Faheem, Dmytro Iurchenko)
- rgw:为帐户 GET 添加统计信息到标头 (#10684 Yuan Zhou)
- rgw:不要为 HEAD 请求预取数据 (Guang Yang)
- rgw:不要在设置 ACL 时覆盖 bucket/object 所有者 (#10978 Yehuda Sadeh)
- rgw:如果配置了前端,则不要使用 rgw_socket_path (#11160 Yehuda Sadeh)
- rgw:强制对 Swift cont/obj 的 POST 进行 Content-Lenth (#10661 Radoslaw Zarzynski)
- rgw:修复 Swift 容器上的空元数据项处理 (#11088 Radoslaw Zarzynski)
- rgw:修复日志轮换 (Wuxingyi)
- rgw:为 civetweb 生成 Date 标头 (#10873 Radoslaw Zarzynski)
- rgw:使 init 脚本等待 radosgw 停止 (#11140 Dmitry Yatsushkevich)
- rgw:使配额/gc 线程可配置 (#11047 Guang Yang)
- rgw:传递 civetweb 可配置项 (#10907 Yehuda Sadeh)
- rgw:纠正 PUT 响应中的 202 Accepted (#11148 Radoslaw Zarzynski)
- rgw:删除 bucket 后删除 meta 文件 (#11149 Orit Wasserman)
- rgw:swift:允许使用 COPY 设置属性 (#10662 Ahmad Faheem, Dmytro Iurchenko)
- rgw:swift:修复复制上的元数据处理 (#10645 Radoslaw Zarzynski)
- rgw:swift:发送 Last-Modified 标头 (#10650 Radoslaw Zarzynski)
- rgw:使用 token 信息更新 keystone 缓存 (#11125 Yehuda Sadeh)
- rgw:更新到最新的 civetweb,启用 IPv6 配置 (#10965 Yehuda Sadeh)
- rocksdb:更新到最新版本 (Xiaoxi Chen)
- rpm:放宽 ceph-test 依赖项 (Ken Dreyer)