v10.2.3 Jewel 发布
TheAnalyst
此点版本修复了 RBD 镜像、RGW 多站点、CephFS 和 RADOS 中的几个重要错误。
我们建议所有 v10.2.x 用户升级。
有关详细信息,请参阅完整的变更日志。
重要变更 ¶
- build/ops: debian jessie (udev 215-17) 仍需要 60-ceph-partuuid-workaround-rules (issue#16351, pr#10653, runsisi, Loic Dachary)
- build/ops: ceph 资源代理不适用于 systemd (issue#14828, pr#9917, Nathan Cutler)
- build/ops: ceph-base 需要 parted (issue#16095, pr#10008, Ken Dreyer)
- build/ops: ceph-osd-prestart.sh 包含 Upstart 特定的代码 (issue#15984, pr#10364, Nathan Cutler)
- build/ops: mount.ceph: 从 ceph-base 移动到 ceph-common,并为 SUSE 在 /sbin 中添加符号链接 (issue#16598, issue#16645, pr#10357, Nathan Cutler, Dan Horák, Ricardo Dias, Kefu Chai)
- build/ops: ppc64le 构建需要 rocksdb commit 7ca731b12ce (issue#17092, pr#10816, Nathan Cutler)
- build/ops: rpm: OBS 需要 ExclusiveArch (issue#16936, pr#10614, Michel Normand)
- cli: ceph 命令行工具在 ceph –w (破折号是 unicode 'en dash' &ndash, 复制粘贴重现) 时崩溃 (issue#12287, pr#10420, Oleh Prypin, Kefu Chai)
- common: 暴露 buffer const_iterator 符号 (issue#16899, pr#10552, Noah Watkins)
- common: global-init: 修复 chown 运行目录以及日志和 asok 文件 (issue#15607, pr#8754, Karol Mroz)
- fs: ceph-fuse: 链接到 libtcmalloc 或 jemalloc (issue#16655, pr#10303, Yan, Zheng)
- fs: client: fuse_use_invalidate_cb 启用时在卸载时崩溃 (issue#16137, pr#10106, Yan, Zheng)
- fs: client: fstat cap 释放 (issue#15723, pr#9562, Yan, Zheng, Noah Watkins)
- fs: OpenStack Manila 的基本反向移植 (issue#15406, issue#15614, issue#15615, pr#10453, John Spray, Ramana Raja, Xiaoxi Chen)
- fs: 修复关机时的双重解锁 (issue#17126, pr#10847, Greg Farnum)
- fs: 修复 standby replays 的 mdsmap print_summary (issue#15705, pr#9547, John Spray)
- fs: v9.0.2 中 fuse 挂载的文件系统在 SAMBA CTDB ping_pong rw 测试中失败 (issue#12653, issue#15634, pr#10108, Yan, Zheng)
- librados: src/include/rados/librados.h 中缺少 rados_aio_get_version 的导出 (issue#15535, pr#9574, Jim Wright)
- librados: osd: 错误的标志会导致 osd 崩溃 (issue#16012, pr#9997, Sage Weil)
- librbd: 在将独占锁标记为已释放之前关闭日志和对象映射 (issue#16450, pr#10053, Jason Dillaman)
- librbd: 使用 advisory locking API 函数时崩溃 (issue#16364, pr#10051, Jason Dillaman)
- librbd: 切换到快照时 ExclusiveLock 对象泄漏 (issue#16446, pr#10054, Jason Dillaman)
- librbd: FAILED assert(object_no < m_object_map.size()) (issue#16561, pr#10647, Jason Dillaman)
- librbd: 镜像删除不一定会清除所有 rbd_mirroring 条目 (issue#16471, pr#10009, Jason Dillaman)
- librbd: 如果日志重放相同的快照删除事件,对象映射/快速差异无效 (issue#16350, pr#10010, Jason Dillaman)
- librbd: 发送镜像通知超时不应导致失败 (issue#16470, pr#10052, Jason Dillaman)
- librbd: 将快照解除保护中的 EBUSY 错误列入日志重放白名单 (issue#16445, pr#10055, Jason Dillaman)
- librbd: 取消所有任务应等待 finisher 完成 (issue#16517, pr#9752, Haomai Wang)
- librbd: 如果镜像监视失败,延迟获取锁 (issue#16923, pr#10827, Jason Dillaman)
- librbd: 修复如果获取镜像状态失败缺少 return 语句 (issue#16600, pr#10144, runsisi)
- librbd: 代理维护操作后将镜像标记为已更新 (issue#16404, pr#9883, Jason Dillaman)
- librbd: mkfs.xfs 在有 discard 和对象映射时性能缓慢 (issue#16707, issue#16689, pr#10649, Jason Dillaman)
- librbd: 刷新错误时潜在的 use after free (issue#16519, pr#9952, Mykola Golub)
- librbd: rbd-nbd 未正确处理 resize 通知 (issue#15715, pr#10679, Mykola Golub)
- librbd: 选项 'rbd_cache_writethrough_until_flush=true' 不起作用 (issue#16740, issue#16386, issue#16708, issue#16654, issue#16478, pr#10797, Mykola Golub, xinxin shu, Xiaowei Chen, Jason Dillaman)
- mds: tell 命令在异步信使下永久阻塞 (TestVolumeClient.test_evict_client 失败) (issue#16288, pr#10501, Douglas Fuller)
- mds: 关机时日志读取停滞导致 MDS 日志消息混乱 (issue#15689, pr#9557, John Spray)
- mds: 关机时,活动 rank 在忙于元数据 IO 时死锁 (issue#16042, pr#10502, Patrick Donnelly)
- mds: hammer 0.94.7 上基于内核的 cephfs 挂载点上的文件操作失败会导致无法访问的文件 (issue#16013, pr#10199, Yan, Zheng)
- mds: 修复由于死锁导致的 mds 关机超时 (issue#16396, pr#10500, Zhi Zhang)
- mds: MDSMonitor 修复 (issue#16136, pr#9561, xie xingguo)
- mds: MDSMonitor::check_subs() bug 很多 (issue#16022, pr#10103, Yan, Zheng)
- mds: Session::check_access() 有 bug (issue#16358, pr#10105, Yan, Zheng)
- mds: StrayManager.cc: 520: FAILED assert(dnl->is_primary()) (issue#15920, pr#9559, Yan, Zheng)
- mds: 对 dirfrag 条目强制执行限制 (issue#16164, pr#10104, Patrick Donnelly)
- mds: 修复 SnapRealm::have_past_parents_open() (issue#16299, pr#10499, Yan, Zheng)
- mds: 修复 getattr 饿死 setattr (issue#16154, pr#9560, Yan, Zheng)
- mds: 在 kcephfs 上当符号链接 inode 过期时,错误地将符号链接 inode 视为普通文件/目录 (issue#15702, pr#9405, Zhi Zhang)
- mon: 当只有一个监视器存在时,“mon metadata”失败 (issue#15866, pr#10654, John Spray, Kefu Chai)
- mon: Monitor: 在 handle_command() 上验证前缀 (issue#16297, pr#10036, You Ji)
- mon: OSDMonitor: 从非当前 primary 丢弃 pg temps (issue#16127, pr#9998, Samuel Just)
- mon: prepare_pgtemp 仅在比现有 up_thru 新时才需要更新 up_thru (issue#16185, pr#10001, Samuel Just)
- msgr: AsyncConnection::lockmsg/async lockdep 循环: AsyncMessenger::lock, MDSDaemon::mds_lock, AsyncConnection::lock (issue#16237, pr#10004, Haomai Wang)
- msgr: 异步信使 mon 崩溃 (issue#16378, issue#16418, pr#9996, Haomai Wang)
- msgr: 所有 asyncmsgr 修复反向移植到 jewel (issue#15503, issue#15372, pr#9633, Yan Jun, Haomai Wang, Piotr Dałek)
- msgr: msg/async: 连接竞争挂起 (issue#15849, pr#10003, Haomai Wang)
- osd: FileStore: umount 挂起,因为 sync 线程没有退出 (issue#15695, pr#9105, Kefu Chai)
- osd: list-inconsistent-* 的修复 (issue#15766, issue#16192, issue#15719, pr#9565, David Zafman)
- osd: 新池在首次活动和干净之前有虚假的 stuck inactive/unclean HEALTH_ERR 消息 (issue#14952, pr#10007, Sage Weil)
- osd: 从 Hammer 升级到 Jewel 时 OSD 崩溃: void FileStore::init_temp_collections() (issue#16672, pr#10561, David Zafman)
- osd: ceph osd pause 后 OSD 无法订阅跳过的 osdmap (issue#17023, pr#10804, Kefu Chai)
- osd: ObjectCacher 拆分 BufferHead 读取修复 (issue#16002, pr#10074, Greg Farnum)
- osd: ReplicatedBackend 在拉取时不增加统计信息,只在推送时增加 (issue#16277, pr#10421, Kefu Chai)
- osd: Scrub 错误: 0/1 pinned (issue#15952, pr#9576, Samuel Just)
- osd: ReplicatedPG::WaitingOnReplicas 中添加 snap 到 purged_snaps 时崩溃 (issue#15943, pr#9575, Samuel Just)
- osd: ceph-disk prepare 期间 partprobe 间歇性问题 (issue#15176, pr#10497, Marius Vollmer, Loic Dachary)
- osd: ReplicatedPG::new_repop 中发现 valgrind 问题 (issue#16801, pr#10760, Kefu Chai)
- osd: ec 池上的 sparse_read 应该返回具有正确偏移量的 extends (issue#16138, pr#10006, kofiliu)
- osd: sched_time 实际上没有随机化 (issue#15890, pr#9578, xie xingguo)
- rbd: ImageReplayer::is_replaying 不包括 flush 状态 (issue#16970, pr#10790, Jason Dillaman)
- rbd: Journal duplicate op detection 可能导致 lockdep 错误 (issue#16363, pr#10044, Jason Dillaman)
- rbd: Journal 需要处理重复的维护操作 tids (issue#16362, pr#10045, Jason Dillaman)
- rbd: 如果处于意外的镜像状态,无法禁用日志功能 (issue#16348, pr#10042, Jason Dillaman)
- rbd: src/rbdmap 中的 bashism (issue#16608, pr#10786, Jason Dillaman)
- rbd: doc: format 2 现在是默认镜像格式 (issue#17026, pr#10732, Chengwei Yang)
- rbd: hen 日志启用时,刷新请求不应刷新缓存 (issue#15761, pr#10041, Yuan Zhou)
- rbd: 日志从重放到准备就绪过渡期间可能出现竞争条件 (issue#16198, pr#10047, Jason Dillaman)
- rbd: qa/workunits/rbd: 尊重 RBD_CREATE_ARGS 环境变量 (issue#16289, pr#9721, Mykola Golub)
- rbd: rbd-mirror 应对非 primary 镜像禁用代理维护操作 (issue#16411, pr#10050, Jason Dillaman)
- rbd: rbd-mirror: FAILED assert(m_local_image_ctx->object_map != nullptr) (issue#16558, pr#10646, Jason Dillaman)
- rbd: rbd-mirror: FAILED assert(m_on_update_status_finish == nullptr) (issue#16956, pr#10792, Jason Dillaman)
- rbd: rbd-mirror: FAILED assert(m_state == STATE_STOPPING) (issue#16980, pr#10791, Jason Dillaman)
- rbd: rbd-mirror: 确保重放状态格式化程序在停止重放前已完成 (issue#16352, pr#10043, Jason Dillaman)
- rbd: rbd-mirror: 在 resync 限制唯一键中包含本地池 id (issue#16536, issue#15239, issue#16488, issue#16491, issue#16329, issue#15108, issue#15670, pr#10678, Ricardo Dias, Jason Dillaman)
- rbd: rbd-mirror: 访问本地镜像日志时潜在的竞争条件 (issue#16230, pr#10046, Jason Dillaman)
- rbd: rbd-mirror: 减少日志重放期间的内存占用 (issue#16321, issue#16489, issue#16622, issue#16539, issue#16223, issue#16349, pr#10684, Mykola Golub, Jason Dillaman)
- rgw: 对静态大对象的查询失败并返回 404 错误 (issue#16015, pr#9544, Radoslaw Zarzynski)
- rgw: 将区域重命名添加到 radosgw_admin (issue#16934, pr#10663, Shilpa Jagannath)
- rgw: 桶删除后桶索引分片孤立 (issue#16412, pr#10525, Orit Wasserman)
- rgw: 在 rgw 中使用端口 443s 时的错误 (issue#16548, pr#10664, Pritha Srivastava)
- rgw: 回退到 Host 标头以获取桶名。(issue#15975, pr#10693, Robin H. Johnson)
- rgw: 修复 civetweb IPv6 (issue#16928, pr#10580, Robin H. Johnson)
- rgw: 增加运行 rgw admin 命令时出现的消息的日志级别 (issue#16935, pr#10765, Shilpa Jagannath)
- rgw: 如果 DLO manifest 中没有 segments,则没有 Last-Modified、Content-Size 和 X-Object-Manifest 标头 (issue#15812, pr#9265, Radoslaw Zarzynski)
- rgw: RGWPeriodPuller 尝试从自身拉取 (issue#16939, pr#10764, Casey Bodley)
- rgw: 如果规则允许,将 Access-Control-Allow-Origin 设置为星号 (issue#15348, pr#9453, Wido den Hollander)
- rgw: Swift API 返回双倍空间使用和帐户元数据的对象 (issue#16188, pr#10148, Albert Tu)
- rgw: 通过 Swift API 进行 POST 时,请求中不存在的帐户/容器元数据被删除 (issue#15977, issue#15779, pr#9542, Radoslaw Zarzynski)
- rgw: 通过 ceph.conf 添加 socket backlog 设置 (issue#16406, pr#10216, Feng Guo)
- rgw: 为 multisite sync 添加租户支持 (issue#16469, issue#16121, issue#16665, pr#10845, Yehuda Sadeh, Josh Durgin, Casey Bodley, Pritha Srivastava)
- rgw: add_zone 仅在 –master=false 时清除 master_zone (issue#15901, pr#9327, Casey Bodley)
- rgw: aws4 解析问题 (issue#15940, issue#15939, pr#9545, Yehuda Sadeh)
- rgw: aws4: 添加 STREAMING-AWS4-HMAC-SHA256-PAYLOAD 支持 (issue#16146, pr#10167, Radoslaw Zarzynski, Javier M. Mellid)
- rgw: 静态站点修复的反向移植合并 (issue#15555, issue#15532, issue#15531, pr#9568, Robin H. Johnson)
- rgw: 可以在 RGWUserInfo 上设置负数 max_buckets (issue#14534, pr#10655, Yehuda Sadeh)
- rgw: 清理已弃用的 radosgw-admin temp 命令 (issue#16023, pr#9390, Vikhyat Umrao)
- rgw: 在 rgw_rest_s3.cc 中将返回代码与 ERR_NOT_MODIFIED 进行比较 (需要负号) (issue#16327, pr#9790, Nathan Cutler)
- rgw: 在 Swift 的响应中自定义元数据未进行驼峰式大小写转换 (issue#15902, pr#9267, Radoslaw Zarzynski)
- rgw: 在所有数据日志同步分片中出错后数据同步停止 (issue#16530, pr#10073, Yehuda Sadeh)
- rgw: 默认区域和区域组无法添加到 realm (issue#16839, pr#10658, Casey Bodley)
- rgw: 文档多租户 (issue#16635, pr#10217, Pete Zaitcev)
- rgw: 如果请求未连接到管理器,则不要注销请求 (issue#15911, pr#9242, Yehuda Sadeh)
- rgw: 从 hammer 升级到 jewel 后创建桶失败 (issue#16627, pr#10524, Orit Wasserman)
- rgw: 修复 ldap bindpw 解析 (issue#16286, pr#10518, Matt Benjamin)
- rgw: 修复多重删除查询参数解析。(issue#16618, pr#10188, Robin H. Johnson)
- rgw: 改进对 Swift 对象版本控制的支持。(issue#15925, pr#10710, Radoslaw Zarzynski)
- rgw: Swift 的 BulkDelete 中未正确处理开头的斜杠 (issue#15948, pr#9316, Radoslaw Zarzynski)
- rgw: master: boost > 1.58 时构建失败 (issue#16392, issue#16391, pr#10026, Abhishek Lekshmanan)
- rgw: 如果 realm 被删除,~RGWRealmWatcher 上 multisite 段错误 (issue#16817, pr#10660, Casey Bodley)
- rgw: multisite sync 与删除竞争 (issue#16222, issue#16464, issue#16220, issue#16143, pr#10293, Yehuda Sadeh, Casey Bodley)
- rgw: multisite: 保留 zone 的额外池 (issue#16712, pr#10537, Abhishek Lekshmanan)
- rgw: 在某些情况下,object expirer 的 hints 可能会在未处理的情况下被修剪 (issue#16705, issue#16684, pr#10763, Radoslaw Zarzynski)
- rgw: 从 hammer 升级到 jewel 后 radosgw-admin user create 失败 (issue#15937, pr#9294, Orit Wasserman, Abhishek Lekshmanan)
- rgw: radosgw-admin: create 操作的 EEXIST 消息 (issue#15720, pr#9268, Abhishek Lekshmanan)
- rgw: radosgw-admin: uid/email 处理不一致 (issue#13598, pr#10520, Matt Benjamin)
- rgw: 使用 apache frontend 时 realm pull 失败 (issue#15846, pr#9266, Orit Wasserman)
- rgw: 在桶同步错误时重试 (issue#16108, pr#9425, Yehuda Sadeh)
- rgw: s3website: x-amz-website-redirect-location 标头返回格式错误的 HTTP 响应 (issue#15531, pr#9099, Robin H. Johnson)
- rgw: RGWOp_MDLog_Notify 中的段错误 (issue#16666, pr#10662, Casey Bodley)
- rgw: 数据同步中 error_repo 上的分段故障 (issue#16603, pr#10523, Casey Bodley)
- rgw: RGW 中的 selinux 拒绝 (issue#16126, pr#10519, Boris Ranto)
- rgw: radosgw-admin command 中支持 --max-size 的大小后缀 (issue#16004, pr#9743, Vikhyat Umrao)
- rgw: 在某些情况下更新 CORS/ACLs 可能不起作用 (issue#15976, pr#9543, Radoslaw Zarzynski)
- rgw: 使用 zone endpoints 而不是 zonegroup endpoints (issue#16834, pr#10659, Casey Bodley)
- tests: 提高 rbd-mirror 测试用例覆盖率 (issue#16197, pr#9631, Mykola Golub, Jason Dillaman)
- tests: rados/test.sh workunit 在 OpenStack 上超时 (issue#15403, pr#8904, Loic Dachary)
- tools: ceph-disk: 接受 bcache 设备作为数据盘 (issue#13278, pr#8497, Peter Sabaini)
- tools: rados: 在 rados bench 输出中添加带有时间的 cleanup 消息 (issue#15704, pr#9740, Vikhyat Umrao)
- tools: src/script/subman 失败并出现 KeyError: ‘nband’ (issue#16961, pr#10625, Loic Dachary, Ali Maredia)