v10.0.4 发布
sage
这是 Jewel 之前的第四个也是最后一个开发版本。下一个版本将是包含最终功能集的发布候选版本。重要的更新包括 RGW 静态网站支持、librbd 日志框架、修复 mon 同步 config-key 数据、C++11 更新以及 bluestore/kstore。
请注意,由于开发人员普遍繁忙,我们没有为这个开发版本构建官方发布包。您可以从常规位置(http://gitbuilder.ceph.com)获取自动构建的 gitbuilder 包。
值得注意的更改 ¶
- admin/build-doc: 依赖 zlib1g-dev 和 graphviz (pr#7522, Ken Dreyer)
- buffer: 使用移动构造函数来追加/push_back/push_front (pr#7455, Haomai Wang)
- build: 允许 jemalloc 与 rocksdb-static 一起使用 (pr#7368, Somnath Roy)
- build: 修复 autotools 和 cmake 构建(新的 fusestore 需要 libfuse) (pr#7393, Kefu Chai)
- build: 修复警告 (pr#7197, Kefu Chai, xie xingguo)
- build: 修复警告 (pr#7315, Kefu Chai)
- build: 消除警告 (pr#7397, Kefu Chai)
- build: 移动 libexec 脚本以在不同发行版之间实现标准化 (issue#14687, issue#14705, issue#14723, pr#7636, Nathan Cutler, Kefu Chai)
- build: 避免对 EC 测试插件进行版本控制和打包 (issue#14756, issue#14723, pr#7637, Nathan Cutler, Kefu Chai)
- build: spdk 子模块;cmake (pr#7503, Kefu Chai)
- ceph-disk: 支持 bluestore (issue#13422, pr#7218, Loic Dachary, Sage Weil)
- ceph-disk/test: 修复 test_prepare.py::TestPrepare 测试 (pr#7549, Kefu Chai)
- cleanup: 删除杂项死代码 (pr#7201, Erwan Velu)
- cls/cls_rbd: 按引用传递字符串 (pr#7232, Jeffrey Lu)
- cmake: 将新的单元测试添加到 make check (pr#7572, Ali Maredia)
- cmake: 将 KernelDevice.cc 添加到 libos_srcs (pr#7507, Kefu Chai)
- cmake: 也在默认路径中检查 libsnappy (pr#7366, Kefu Chai)
- cmake: feb5 (pr#7541, Matt Benjamin)
- cmake: 对于 CMake 版本 <= 2.8.11,使用 LINK_PRIVATE 和 LINK_PUBLIC (pr#7474, Tao Chang)
- cmake: 让 ceph-client-debug 与 tcmalloc 链接 (pr#7314, Kefu Chai)
- cmake: 通过 WITH_CCACHE 构建选项支持 ccache (pr#6875, John Coyle)
- common: 添加 zlib 压缩插件 (pr#7437, Alyona Kiseleva, Kiseleva Alyona)
- common: tcmalloc 堆获取/设置操作的 admin socket 命令 (pr#7512, Samuel Just)
- common: 使 ceph_time 时钟在 BSD 下工作 (pr#7340, Adam C. Emerson)
- common: 允许 OPT_INT 设置为负值 (issue#13829, pr#7390, Brad Hubbard, Kefu Chai)
- common/buffer: 用自旋锁替换 RWLock (pr#7294, Piotr Dałek)
- common: 更改计数器 total/unhealthy_workers 的类型 (pr#7254, Guang Yang)
- common: snappy 解压器在处理分段输入 bufferlist 时可能会断言 (issue#14400, pr#7268, Igor Fedotov)
- common/str_map: 清理:通过使用分隔符的默认参数替换 get_str_map() 函数重载 (pr#7266, Sahithi R V)
- common: time: 让 skewing-now 调用 non-skewing now (pr#7466, Adam C. Emerson)
- common: interval_set 实现的单元测试 (pr#6, Igor Fedotov)
- config: 将 $data_dir/config 添加到配置搜索路径 (pr#7377, Sage Weil)
- configure.ac: 将 “–with-librocksdb-static” 默认设置为 ‘check’ (issue#14463, pr#7317, Dan Mick)
- crush: 添加安全断言 (issue#14496, pr#7344, songbaisen)
- crush: 从 get_immediate_parent 快速回复 (issue#14334, pr#7181, song baisen)
- debian: jewel 的打包修复 (pr#7807, Ken Dreyer, Ali Maredia)
- debian/rpm 分离服务器 (issue#10587, pr#7746, Ken Dreyer)
- doc: 将 orphans 命令添加到 radosgw-admin(8) (issue#14637, pr#7518, Ken Dreyer)
- doc: 修改 rados.8 (pr#7251, Kefu Chai)
- doc: 修复 CRUSH map step take 参数 (pr#7327, Ivan Grcic)
- doc: 修复 ERASURE CODING 部分中的图像 (pr#7298, Rachana Patel)
- doc: 修复缓存分层配置指南中的误导信息 (pr#7000, Yuan Zhou)
- doc: 修复 S3 C# 示例 (pr#7027, Dunrong Huang)
- doc: 删除 ceph-authtool/monmaptool 文档中多余的空格 (pr#7244, Jiaying Ren)
- doc: 修订 SubmittingPatches (pr#7292, Kefu Chai)
- doc: rgw: 将下游更改移植到上游 (pr#7264, Bara Ancincova)
- doc: Ceph 镜像脚本和指南 (pr#7384, Wido den Hollander)
- doc: 使用 ‘ceph auth get-or-create’ 创建 RGW 密钥环 (pr#6930, Wido den Hollander)
- global: 不要使用单个 pid 文件启动两个守护进程 (issue#13422, pr#7075, shun song)
- global: 不要使用单个 pid 文件启动两个守护进程(第 2 部分) (issue#13422, pr#7463, Loic Dachary)
- journal: 在元数据关闭时刷新提交位置 (pr#7385, Mykola Golub)
- journal: 任务完成后重置 commit_position_task_ctx 指针 (pr#7480, Mykola Golub)
- libcephfs: 更新 LIBCEPHFS_VERSION 以指示接口已更改 (pr#7551, Jevon Qiao)
- librados: 迁移到 c++11 并发类型 (pr#5931, Adam C. Emerson)
- librados: 删除 rados pool_stat_t 和 cluster_stat_t 的重复定义 (pr#7330, Igor Fedotov)
- librados: 以更优雅的方式关闭 finisher (pr#7519, xie xingguo)
- librados_test_stub: 防止 notify/unwatch 竞争条件 (pr#7540, Jason Dillaman)
- librbd: API: 异步打开和关闭 (issue#14264, pr#7259, Mykola Golub)
- librbd: 避免为每个镜像创建两个线程 (pr#7400, Haomai Wang)
- librbd: 阻塞维护操作直到日志准备就绪 (issue#14510, pr#7382, Jason Dillaman)
- librbd: 修复动态功能更新的内部处理 (pr#7299, Jason Dillaman)
- librbd: 跟踪排他锁转换的日志框架 (issue#13298, pr#7529, Jason Dillaman)
- librbd: 日志关闭刷新竞争条件 (issue#14434, pr#7302, Jason Dillaman)
- librbd: 从计时器线程中删除已取消的任务 (issue#14476, pr#7329, Douglas Fuller)
- makefile: 从 libclient.la 中删除 libedit (pr#7284, Kefu Chai)
- mds, client: 修复 handle_conf_change 周围的锁定 (issue#14365, issue#14374, pr#7312, John Spray)
- mds: 添加判断以避免访问 NULL 指针的风险 (pr#7358, Kongming Wu)
- mon: 为最大选举时间添加独立选项 (pr#7245, Sangdi Xu)
- mon: 也压缩完整 epoch (issue#14537, pr#7396, Kefu Chai)
- mon: 在设置池 crush 规则时考虑池大小 (issue#14495, pr#7341, song baisen)
- mon: 丢弃无用的 rank init assignment (issue#14508, pr#7321, huanwen ren)
- mon: 修复 preinit 错误路径中的锁定 (issue#14473, pr#7353, huanwen ren)
- mon: 修复 monmap 创建时间戳 (pr#7459, duanweijun)
- mon: 修复 config-key 数据同步 (pr#7363, Xiaowei Chen)
- mon: 如果多个 PG 陷入非活动状态,则进入 ERR 状态 (issue#13923, pr#7253, Wido den Hollander)
- mon/MDSMonitor.cc: 在健康指标更改时正确记录信标 (issue#14684, pr#7757, Yan, Zheng)
- mon/MonClient: 配置不正确时避免空指针错误 (issue#14405, pr#7276, Bo Cai)
- mon: PG Monitor 应报告等待回填 (issue#12744, pr#7398, Abhishek Lekshmanan)
- mon: 减少 pg 健康检查的 CPU 和内存管理器压力 (pr#7482, Piotr Dałek)
- mon: MonmapMonitor.cc 中的一些清理工作 (pr#7418, huanwen ren)
- mon: 如果 pg 未 scrub,则发出警告 (issue#13142, pr#6440, Michal Jarzabek)
- msg/async: AsyncConnection: 避免在 cleanup_handler 中进行调试日志记录 (pr#7547, Haomai Wang)
- msg/async: 大量修复 (pr#7379, Piotr Dałek)
- msg/async: 修复数组边界 (pr#7451, Wei Jin)
- msg/async: 修复潜在的竞争条件 (pr#7453, Haomai Wang)
- msg/async: 修复发送 closed local_connection 消息问题 (pr#7255, Haomai Wang)
- msg/async: 减少消息确认的额外 tcp 数据包 (pr#7380, Haomai Wang)
- msg/xio: 修复编译 (pr#7479, Roi Dayan)
- organizationmap: 修改组织邮件信息。 (pr#7240, Xiaowei Chen)
- os/bluestore: 修复断言 (issue#14436, pr#7293, xie xingguo)
- os/bluestore: 修复 bluestore_wal_transaction_t 编码测试 (pr#7342, Kefu Chai)
- os/bluestore: 将新的 onode 插入到 onode LRU 的前端位置 (pr#7492, Jianjian Huo)
- os/bluestore: 对 Dir 使用 intrusive_ptr (pr#7247, Igor Fedotov)
- osd: blockdevice: 避免隐式转换并添加保护 (pr#7460, xie xingguo)
- osd: bluestore/BlueFS: 在 mkfs 中更早地初始化超级块大小 (pr#7535, Sage Weil)
- osd: BlueStore: 修复 fsck 和 blockdevice 读取相关问题 (pr#7362, xie xingguo)
- osd: BlueStore: 修复空指针访问 (issue#14561, pr#7435, xie xingguo)
- osd: bluestore, kstore: 修复 nid 被覆盖的逻辑 (issue#14407, issue#14433, pr#7283, xie xingguo)
- osd: bluestore: 对 allocator 使用 btree_map (pr#7269, Igor Fedotov, Sage Weil)
- osd: 删除 fiemap len=0 逻辑 (pr#7267, Sage Weil)
- osd: FileStore: 为 object_map->sync() 添加错误检查 (pr#7281, Chendi Xue)
- osd: FileStore: 清理:删除过时的选项 “filestore_xattr_use_omap” (issue#14356, pr#7217, Vikhyat Umrao)
- osd: FileStore: 修改冒号的格式 (pr#7333, Donghai Xu)
- osd: FileStore: 如果读取文件失败,在 osd 断言之前打印文件名 (pr#7111, Ji Chen)
- osd: 修复 process_copy_chunk 中无效的列表遍历 (pr#7511, Samuel Just)
- osd, mon: 修复退出问题 (pr#7420, Jiaying Ren)
- osd: PG::activate(): 更优雅地处理意外的 cached_removed_snaps (issue#14428, pr#7309, Alexey Sheplyakov)
- os/fs: 修复 io_getevents 参数 (pr#7355, Jingkai Yuan)
- os/fusestore: 添加错误处理 (pr#7395, xie xingguo)
- os/keyvaluestore: 杀死 KeyValueStore (pr#7320, Haomai Wang)
- os/kstore: 将新的 onode 插入到 onode LRU 的前端位置 (pr#7505, xie xingguo)
- os/ObjectStore: 为 ObjectStore::Transaction 添加自定义移动操作 (pr#7303, Casey Bodley)
- rgw: 修复 RadosGW 和其他地方的 mtime 异常 (pr#7328, Adam C. Emerson, Casey Bodley)
- rpm: 将 %post(un) ldconfig 调用移动到 ceph-base (issue#14940, pr#7867, Nathan Cutler)
- rpm: 将运行时依赖项移动到 ceph-base 并修复其他打包问题 (issue#14864, pr#7826, Nathan Cutler)
- test: ceph_test_rados: 减少 CPU 使用量 (pr#7513, Samuel Just)