v10.2.0 Jewel 发布

sage

此主要版本将成为下一个长期稳定版本的基础。自 Infernalis (9.2.x) 和 Hammer (0.94.x) 版本以来,发生了许多重大变化,升级过程并非易事。请仔细阅读这些发行说明。

Infernalis 的重大变化

  • CephFS:
    • 这是 CephFS 宣布稳定的第一个版本!默认禁用了一些功能,包括快照和多个活动 MDS 服务器。
    • 修复和灾难恢复工具现已功能完善。
    • 包含一个新的 cephfs-volume-manager 模块,它为 OpenStack Manila 和类似项目创建“共享”提供了高级接口。
    • 现在实验性地支持在单个集群中运行多个 CephFS 文件系统。
  • RGW:
    • 多站点功能已几乎完全重新架构和重写,以支持任意数量的集群/站点、双向故障转移和主动/主动配置。
    • 您现在可以通过 NFS 访问 radosgw 存储桶(实验性)。
    • 现在支持 AWS4 身份验证协议。
    • 现在支持 S3 请求付费存储桶。
    • 新的多租户基础设施提高了与 Swift 的兼容性,后者为每个用户/租户提供单独的容器命名空间。
    • 现在支持 OpenStack Keystone v3 API。还有一系列其他 Swift API 小功能和兼容性改进,包括批量删除和 SLO(静态大对象)。
  • RBD:
    • 新增了对集群间 RBD 镜像镜像(异步复制)的支持。这是通过一个 per-RBD 镜像日志实现的,该日志可以流式传输到另一个站点的 WAN 上,以及一个新的 rbd-mirror 守护程序来执行跨集群复制。
    • exclusive-lock、object-map、fast-diff 和 journaling 功能可以动态启用或禁用。deep-flatten 功能可以动态禁用,但不能重新启用。
    • RBD CLI 已重写,提供特定于命令的帮助和完整的 bash 补全支持。
    • RBD 快照现在可以重命名。
  • RADOS:
    • BlueStore 是一个新的 OSD 后端,作为实验性功能包含在内。计划是在 K 或 L 版本中成为默认后端。
    • OSD 现在会持久化擦除结果,并提供 librados API 来详细查询结果。
    • 我们修改了文档,建议**不要**使用 ext4 作为 Ceph OSD 守护程序的基础文件系统,因为它在支持我们的长对象名称处理方面存在问题。

自 HAMMER 以来的主要变化

  • 常规:
    • Ceph 守护程序现在通过 systemd 管理(Ubuntu Trusty 除外,它仍然使用 upstart)。
    • Ceph 守护程序现在以“ceph”用户而不是“root”用户身份运行。
    • 在 Red Hat 发行版上,还有一个 SELinux 策略。
  • RADOS:
    • RADOS 缓存层现在可以将写操作代理到基础层,从而无需强制将对象迁移到缓存中即可处理写操作。
    • SHEC 纠删编码支持不再被标记为实验性。SHEC 通过额外的存储空间换取更快的修复速度。
    • 现在有一个统一的队列(因此具有优先级)的客户端 IO、恢复、擦洗和快照修剪。
    • 对低级修复工具(ceph-objectstore-tool)进行了许多改进。
    • 内部 ObjectStore API 已经过重大清理,以便为 BlueStore 等新存储后端提供便利。
  • RGW:
    • Swift API 现在支持对象过期。
    • 有很多 Swift API 兼容性改进。
  • RBD:
    • rbd du 命令显示实际使用情况(在启用 object-map 时快速)。
    • object-map 功能已经进行了许多稳定性改进。
    • object-map 和 exclusive-lock 功能可以动态启用或禁用。
    • 现在可以存储用户元数据并设置与单个镜像关联的持久 librbd 选项。
    • 新的 deep-flatten 功能允许展平克隆及其所有快照。(以前无法展平快照。)
    • export-diff 命令现在更快(它使用 aio)。还有一个新的 fast-diff 功能。
    • 可以使用后缀指定单位的 --size 参数(例如,--size 64G)。
    • 有一个新的 rbd status 命令,目前显示谁打开/映射了镜像。
  • CephFS:
    • 现在可以重命名快照。
    • 在管理、诊断和检查和修复工具方面进行了持续改进。
    • 客户端缓存状态的缓存和撤销因未使用的 inode 而显著改进。
    • ceph-fuse 客户端在 32 位主机上的行为更好。

发行版兼容性

从 Infernalis 开始,我们放弃了对许多旧发行版的支持,以便我们可以迁移到较新的编译器工具链(例如 C++11)。尽管仍然可以通过安装反向移植的开发工具在旧发行版上构建 Ceph,但我们不再为 ceph.com 构建和发布发行包。

我们现在为以下发行版和架构构建软件包

  • x86_64
    • CentOS 7.x。我们放弃了对 CentOS 6(以及其他 RHEL 6 派生版本,如 Scientific Linux 6)的支持。
    • Debian Jessie 8.x。Debian Wheezy 7.x 的 g++ 对 C++11 的支持不完整(并且没有 systemd)。
    • Ubuntu Xenial 16.04 和 Trusty 14.04。不再支持 Ubuntu Precise 12.04。
    • Fedora 22 或更高版本。
  • aarch64 / arm64
    • Ubuntu Xenial 16.04。

从 INFERNALIS 或 HAMMER 升级

  • 我们现在建议不要使用 ext4 作为 Ceph OSD 的基础文件系统,尤其是在使用 RGW 或其他使用长 RADOS 对象名称的用户时。有关原因的更多信息,请参阅 文件系统建议

    如果您现有的集群使用 ext4 作为 OSD,但仅使用 RBD 和/或 CephFS,则 ext4 的限制不会影响您。在升级之前,请务必在 ceph.conf 中添加以下内容以允许 OSD 启动

    osd max object name len = 256 osd max object namespace len = 64

    请记住,如果您设置了这些较低的对象名称限制,并且以后决定在此集群上使用 RGW,它将无法存储名称较长的 S3/Swift 对象。此启动检查也可以通过以下选项禁用,尽管不推荐这样做

    osd check max object name len on startup = false

  • 自 Infernalis 以来没有重大的兼容性更改。只需升级每个主机上的守护程序并重新启动所有守护程序即可。

  • rbd CLI 在创建、导入和克隆操作期间不再接受已弃用的“--image-features”选项。应改用“--image-feature”选项。

  • rbd 旧版镜像格式(版本 1)在 Jewel 版本中已弃用。尝试创建新的版本 1 RBD 镜像将导致警告。Ceph 的未来版本将删除对版本 1 RBD 镜像的支持。

  • “send_pg_creates”和“map_pg_creates”mon CLI 命令已过时且不再支持。

  • 添加了一个新的配置选项“mon_election_timeout”以专门限制监视器选举过程的最大等待时间,该时间以前受“mon_lease”限制。

  • 使用早于 Firefly (0.80) 版本的 CephFS 文件系统在升级到 Jewel 后必须使用新的“cephfs-data-scan tmap_upgrade”命令。有关更多信息,请参阅 CephFS 文档中的“升级”。

  • “ceph mds setmap”命令已被删除。

  • 新镜像的默认 RBD 镜像功能已更新为启用以下功能:排他锁、对象映射、fast-diff 和 deep-flatten。这些功能目前不受 RBD 内核驱动程序或旧版 RBD 客户端支持。可以通过 RBD CLI 按镜像禁用它们,或者通过在 Ceph 配置文件中客户端部分添加以下内容将默认功能更新为 Jewel 之前的设置

    rbd default features = 1

  • rbd 旧版镜像格式(版本 1)在 Jewel 版本中已弃用。

  • 升级后,用户应设置“sortbitwise”标志以启用新的内部对象排序顺序

    ceph osd set sortbitwise

    此标志对于新的对象枚举 API 和 BlueStore 等新后端非常重要。

  • rbd CLI 不再允许创建名称可能模糊不清的镜像和快照(例如,不允许使用“/”和“@”字符)。可以通过在创建镜像或快照时向 rbd CLI 添加“--rbd-validate-names=false”来暂时禁用验证。也可以通过在 Ceph 配置文件中客户端部分添加以下内容来禁用它

    rbd validate names = false

从 HAMMER 升级

  • 所有集群节点必须首先升级到 Hammer v0.94.4 或更高版本的 v0.94.z 版本;只有这样才能升级到 Jewel 10.2.z。

  • 对于所有支持 systemd 的发行版(CentOS 7、Fedora、Debian Jessie 8.x、OpenSUSE),Ceph 守护程序现在使用本机 systemd 文件管理,而不是旧的 sysvinit 脚本。例如,

    systemctl start ceph.target # 启动所有守护程序 systemctl status ceph-osd@12 # 检查 osd.12 的状态

    尚未使用 systemd 的主要发行版是 Ubuntu trusty 14.04。(下一个 Ubuntu LTS,16.04,将使用 systemd 代替 upstart。)

  • Ceph 守护程序现在默认以用户和组 ceph 身份运行。ceph 用户具有 Fedora 和 Debian 分配的静态 UID(也用于 RHEL/CentOS 和 Ubuntu 等派生发行版)。在 SUSE 上,将使用与 Fedora 和 Debian 相同的 UID/GID,**前提是尚未分配**。在不太可能发生首选 UID 或 GID 已分配给其他用户/组的情况下,ceph 将获得动态分配的 UID/GID。

    如果您的系统已经有一个 ceph 用户,升级软件包会导致问题。我们建议您在升级之前先删除或重命名现有的“ceph”用户和“ceph”组。

    在升级时,管理员有两个选择

    1. 将以下行添加到所有主机的 ceph.conf

      setuser match path = /var/lib/ceph/$type/$cluster-$id

      如果守护程序的数据目录仍然由 root 拥有,这将使 Ceph 守护程序以 root 身份运行(即,不放弃权限并切换到用户 ceph)。新部署的守护程序将使用由用户 ceph 拥有的数据创建,并将以减少的权限运行,但升级的守护程序将继续以 root 身份运行。

    2. 在升级过程中修复数据所有权。这是首选选项,但工作量更大,而且可能非常耗时。每个主机的过程是

      1. 升级 ceph 包。这将创建 ceph 用户和组。例如

        ceph-deploy install --stable jewel HOST

      2. 停止守护程序。

        service ceph stop # fedora, centos, rhel, debian stop ceph-all # ubuntu

      3. 修复所有权

        chown -R ceph:ceph /var/lib/ceph

      4. 重新启动守护程序。

        start ceph-all # ubuntu systemctl start ceph.target # debian, centos, fedora, rhel

      或者,可以使用单个守护程序类型完成相同的过程,例如仅停止监视器并仅更改 /var/lib/ceph/mon 的所有权。

  • 实验性 KeyValueStore OSD 后端的磁盘格式已更改。在升级使用它的任何测试集群之前,您需要删除任何使用该后端的 OSD。

  • 当达到池配额时,librados 操作现在会无限期地阻塞,就像集群填满时一样。(以前它们会返回 -ENOSPC。)默认情况下,完整的集群或池现在会阻塞。如果您的 librados 应用程序可以优雅地处理 ENOSPC 或 EDQUOT 错误,您可以使用新的 librados OPERATION_FULL_TRY 标志获取错误返回。

  • librbd 的 rbd_aio_read 和 Image::aio_read API 方法的返回值不再在成功时返回读取的字节数。相反,它在成功时返回 0,在失败时返回负值。

  • “ceph scrub”、“ceph compact”和“ceph sync force”现已**弃用**。用户应改用“ceph mon scrub”、“ceph mon compact”和“ceph mon sync force”。

  • ‘ceph mon_metadata’ 应改为使用 ‘ceph mon metadata’。无需弃用此命令(自首次引入以来,同一主要版本)。

  • “osdmaptool”的 –dump-json 选项被 –dump json 取代。

  • “pg ls-by-{pool,primary,osd}” 和 “pg ls” 命令现在使用 “recovering” 而不是 “recovery”,以将正在恢复的 pg 包含在列出的 pg 中。

从 FIREFLY 升级

不建议直接从 Firefly v0.80.z 升级。可以直接升级,但并非没有停机时间,因为所有 OSD 必须停止、升级,然后重新启动。我们建议集群首先升级到 Hammer v0.94.6 或更高版本的 v0.94.z 版本;只有这样才能升级到 Jewel 10.2.z 进行在线升级(见下文)。

要直接从 Firefly 进行离线升级,必须在允许任何 Jewel OSD 启动之前停止所有 Firefly OSD 并将其标记为 down。Jewel 监视器强制执行此隔离,因此您应该使用以下升级过程

  1. 升级监视器主机上的 Ceph

  2. 重新启动所有 ceph-mon 守护程序

  3. 设置 noout:

    ceph osd set noout

  4. 升级所有 OSD 主机上的 Ceph

  5. 停止所有 ceph-osd 守护程序

  6. 将所有 OSD 标记为 down,例如:

    ceph osd down seq 0 1000

  7. 启动所有 ceph-osd 守护程序

  8. 让集群稳定下来,然后取消设置 noout:

    ceph osd unset noout

  9. 升级并重新启动任何剩余的守护程序(ceph-mds、radosgw)

Infernalis 以来的显著变化

  • admin/build-doc: 依赖 zlib1g-dev 和 graphviz (pr#7522, Ken Dreyer)
  • auth: 如果缺少轮换密钥则失败(不发送垃圾日志) (pr#6473, Qiankun Zheng)
  • auth: 修复传递错误密钥环时的崩溃 (pr#6698, Dunrong Huang)
  • auth: 使没有 mon 实体类型的密钥环返回 -EACCES (pr#5734, Xiaowei Chen)
  • AUTHORS: 更新电子邮件 (pr#7854, Yehuda Sadeh)
  • authtool: 更新 –help 和 manpage 以匹配代码。 (pr#8456, Robin H. Johnson)
  • bluestore: 最新和最棒的 (issue#14210, issue#13801, pr#6896, xie.xingguo, Jianpeng Ma, YiQiang Chen, Sage Weil, Ning Yao)
  • buffer: 添加对称运算符 ==() 和运算符 !=() (pr#7974, Kefu Chai)
  • buffer: 修复重建时内部迭代器失效,get_contiguous (pr#6962, Sage Weil)
  • buffer: 隐藏 iterator_impl 符号 (issue#14788, pr#7688, Kefu Chai)
  • buffer: 在 raw_combined 中也增加历史分配 (issue#14955, pr#7910, Samuel Just)
  • buffer: 使其再次可在 ceph 源代码外部使用 (pr#6863, Josh Durgin)
  • buffer: raw_combined 分配缓冲区和引用计数在一起 (pr#7612, Sage Weil)
  • buffer: 使用移动构造函数进行 append/push_back/push_front (pr#7455, Haomai Wang)
  • build: 添加构建要求 (pr#7742, Erwan Velu)
  • build: 几个 armhf (32-bit build) 修复 (pr#7999, Eric Lee, Sage Weil)
  • build: 允许 jemalloc 与 rocksdb-static 一起使用 (pr#7368, Somnath Roy)
  • build: 将内部插件和类构建为模块 (pr#6462, James Page)
  • build: cmake 检查修复 (pr#6787, Orit Wasserman)
  • build: cmake 调整 (pr#6254, John Spray)
  • build: 修复一些警告 (pr#6847, Orit Wasserman)
  • build: 修复 bz2-dev 依赖项 (pr#6948, Samuel Just)
  • build: 修复编译警告 (pr#8366, Dongsheng Yang)
  • build: 修复 'make check' 上的 BTRFS 问题 (pr#7805, Erwan Velu)
  • build: 修复由于 deep-scrub 随机化导致的 Jenkins make check 错误 (pr#6671, David Zafman)
  • build: 修复 autotools 和 cmake 构建(新的 fusestore 需要 libfuse) (pr#7393, Kefu Chai)
  • build: 修复警告 (pr#7197, Kefu Chai, xie xingguo)
  • build: 修复警告 (pr#7315, Kefu Chai)
  • build: FreeBSD 相关修复 (pr#7170, Mykola Golub)
  • build: Gentoo: _FORTIFY_SOURCE 修复。 (issue#13920, pr#6739, Robin H. Johnson)
  • build: 消除警告 (pr#7397, Kefu Chai)
  • build: 杂项 make check 修复 (pr#7153, Sage Weil)
  • build: 更多 CMake 包检查修复 (pr#6108, Daniel Gryniewicz)
  • build: 移动 libexec 脚本以在不同发行版中标准化 (issue#14687, issue#14705, issue#14723, pr#7636, Nathan Cutler, Kefu Chai)
  • build/ops: 在 CentOS 7 中启用 CR (issue#13997, pr#6844, Loic Dachary)
  • build/ops: rbd-replay 从 ceph-test-dbg 移到 ceph-common-dbg (issue#13785, pr#6578, Loic Dachary)
  • build/ops: systemd ceph-disk 单元不得假定 /bin/flock (issue#13975, pr#6803, Loic Dachary)
  • build: 避免对 EC 测试插件进行版本控制和打包 (issue#14756, issue#14723, pr#7637, Nathan Cutler, Kefu Chai)
  • build: 尊重 virtualenv 的 TMPDIR。 (pr#8457, Robin H. Johnson)
  • build: spdk 子模块;cmake (pr#7503, Kefu Chai)
  • build: 解决 automake “make check” 的错误 (issue#14723, pr#7626, Kefu Chai)
  • ceph: 基于 mon 命令描述的 CLI bash 自动补全 (pr#7693, Adam Kupczyk)
  • ceph_daemon.py: 解决 ImportError 以使用 python3 (pr#7937, Sarthak Munshi)
  • ceph-detect-init: 添加 debian/jessie 测试 (pr#8074, Kefu Chai)
  • ceph-detect-init: 添加缺失的测试用例 (pr#8105, Nathan Cutler)
  • ceph-detect-init: 修复 py3 测试 (pr#7025, Kefu Chai)
  • ceph-detect-init: 修复 py3 测试 (pr#7243, Kefu Chai)
  • ceph_detect_init/__init__.py: 删除 shebang (pr#7731, Nathan Cutler)
  • ceph-detect-init: 在最近的 SUSE 发行版上返回正确的值 (issue#14770, pr#7909, Nathan Cutler)
  • ceph-detect-init/run-tox.sh: FreeBSD: 未检测到 init (pr#8373, Willem Jan Withagen)
  • ceph-detect-init: Ubuntu >= 15.04 使用 systemd (pr#6873, James Page)
  • ceph-disk: 添加 destroy 和 deactivate 选项 (issue#7454, pr#5867, Vicente Cheng)
  • ceph-disk: 为 btrfs mkfs 添加 -f 标志 (pr#7222, Darrell Enns)
  • ceph-disk: 为 ceph-disk 添加 –setuser 和 –setgroup 选项 (pr#7351, Mike Shuey)
  • ceph-disk: ceph-disk list 在 /dev/cciss!c0d0 上失败 (issue#13970, issue#14233, issue#14230, pr#6879, Loic Dachary, Ilya Dryomov)
  • ceph-disk: 将 parted 输出与解引用的路径进行比较 (issue#13438, pr#6219, Joe Julian)
  • ceph-disk: deactivate / destroy PATH arg 是可选的 (pr#7756, Loic Dachary)
  • ceph-disk: 重新使用分区时不要总是失败 (pr#8508, You Ji)
  • ceph-disk: 修复 udev > 214 时准备磁盘失败的问题 (issue#14080, issue#14094, pr#6926, Loic Dachary, Ilya Dryomov)
  • ceph-disk: 修复 prepare –help (pr#7758, Loic Dachary)
  • ceph-disk: 修复小拼写错误 (pr#7472, Brad Hubbard)
  • ceph-disk: flake8 修复 (pr#7646, Loic Dachary)
  • ceph-disk: 当使用 –format plain on single device 时,ceph-disk list 获取 Nonetype。 (pr#6410, Vicente Cheng)
  • ceph-disk: 改进 ceph-disk 的 'make check' (pr#7762, Erwan Velu)
  • ceph-disk: 密钥管理支持 (issue#14669, pr#7552, Loic Dachary)
  • ceph-disk: 在必要时使某些参数成为必需项 (pr#7687, Dongsheng Yang)
  • ceph-disk: s/dmcrpyt/dmcrypt/ (issue#14838, pr#7744, Loic Dachary, Frode Sandholtbraaten)
  • ceph-disk: 支持 bluestore (issue#13422, pr#7218, Loic Dachary, Sage Weil)
  • ceph-disk/test: 修复 test_prepare.py::TestPrepare tests (pr#7549, Kefu Chai)
  • ceph-disk: 警告具有错误 GUID 的准备分区 (issue#13943, pr#6760, David Disseldorp)
  • ceph: 修复 tell 行为 (pr#6329, David Zafman)
  • cephfs-data-scan: scan_frags (pr#5941, John Spray)
  • cephfs-data-scan: scrub 标签过滤 (#12133 and #12145) (issue#12133, issue#12145, pr#5685, John Spray)
  • ceph-fuse: 将 process 添加到 ceph-fuse –help (pr#6821, Wei Feng)
  • ceph-fuse: 修复修剪 cap 时双重减少计数的问题 (issue#14319, pr#7229, Zhi Zhang)
  • ceph-fuse: 修复 args 的双重释放 (pr#7015, Ilya Shipitsin)
  • ceph-fuse: 修复 fsync() (pr#6388, Yan, Zheng)
  • ceph-fuse: 修复卸载时潜在的文件句柄引用泄漏 (issue#14800, pr#7686, Zhi Zhang)
  • ceph-fuse,libcephfs: 修复客户端在关闭时处理“丢失”的打开目录的问题 (issue#14996, pr#7994, Yan, Zheng)
  • ceph-fuse,libcephfs: 修复由于释放的 fds 永远不会放回而导致可用 fds 最终耗尽的问题 (issue#14798, pr#7685, Zhi Zhang)
  • ceph-fuse: 未指定参数时打印用法信息 (pr#6868, Bo Cai)
  • ceph-fuse: 轮换日志文件 (pr#8485, Sage Weil)
  • ceph-fuse: 启动 ceph-fuse 时,首先启动日志线程 (issue#13443, pr#6224, Wenjun Huang)
  • ceph: 改进错误消息 (issue#11101, pr#7106, Kefu Chai)
  • ceph.in: 使用 ceph 命令时避免 broken pipe 错误 (issue#14354, pr#7212, Bo Cai)
  • ceph.in: 为 automake 构建更正 dev python 路径 (pr#8360, Josh Durgin)
  • ceph.in: 也修复 automake 的 python libpath (pr#8362, Josh Durgin)
  • ceph.in: 次要的 python3 特定更改 (pr#7947, Sarthak Munshi)
  • ceph-kvstore-tool: 处理命令行上的错误输出文件 (pr#6093, Kefu Chai)
  • ceph-mds: 添加 –help/-h (pr#6850, Cilang Zhao)
  • ceph_objectstore_bench: 修复竞争条件、错误 (issue#13516, pr#6681, Igor Fedotov)
  • ceph-objectstore-tool: 修复许多 ceph-objectstore-tool 操作的 –dry-run (pr#6545, David Zafman)
  • ceph-rest-api: 修复 fs/flag/set (pr#8428, Sage Weil)
  • ceph.spec.in: 添加 BuildRequires: systemd (issue#13860, pr#6692, Nathan Cutler)
  • ceph.spec.in: 添加版权声明 (issue#14694, pr#7569, Nathan Cutler)
  • ceph.spec.in: 添加许可证声明 (pr#7574, Nathan Cutler)
  • ceph.spec.in: 明确禁用 lttng 和 babeltrace (issue#14844, pr#7857, Kefu Chai)
  • ceph.spec.in: 不要在 systemd 平台上安装 Ceph RA (issue#14828, pr#7894, Nathan Cutler)
  • ceph.spec.in: 修复 SUSE 的 openldap 和 openssl 构建依赖项 (issue#15138, pr#8120, Nathan Cutler)
  • ceph.spec.in: 在 SUSE 的 OBS 中设置 lowmem_builder 时限制 _smp_mflags (issue#13858, pr#6691, Nathan Cutler)
  • ceph.spec.in: 终止 %pre scriptlet 中的 if 语句 (pr#8628, Nathan Cutler)
  • ceph_test_libcephfs: 容忍 readdir 中的重复条目 (issue#14377, pr#7246, Yan, Zheng)
  • ceph_test_msgr: 减小测试大小以修复内存大小 (pr#8127, Haomai Wang)
  • ceph_test_msgr: 使用 send_message 而不是 keepalive 来唤醒连接 (pr#6605, Haomai Wang)
  • ceph_test_rados: 使长名称 ~300 个字符,(不是 ~800) (pr#8600, Sage Weil)
  • ceph_test_rados_misc: 缩短挂载超时 (pr#8209, Sage Weil)
  • check-generated.sh: 无法从 sh 获取 bash (pr#8521, Michal Jarzabek)
  • cleanup (pr#8058, Yehuda Sadeh, Orit Wasserman)
  • cleanup: 删除杂项死代码 (pr#7201, Erwan Velu)
  • client: 更好地检查 MDS 可用性 (pr#6253, John Spray)
  • client: 添加控制目录大小计算方式的选项 (pr#7323, Yan, Zheng)
  • client: 避免在 Client::check_pool_perm() 中创建孤立对象 (issue#13782, pr#6603, Yan, Zheng)
  • client: 在处理读取时检查 Fh 是否可读 (issue#11517, pr#7209, Yan, Zheng)
  • client: 在 shutdown() 中关闭 mds 会话 (pr#6269, John Spray)
  • client: 当 inode 不再使用时不要使页面缓存失效 (pr#6380, Yan, Zheng)
  • client: 不要对命令回复进行 mark_down (pr#6204, John Spray)
  • client: 从 ints 中删除前缀 (pr#6275, John Coyle)
  • client: 在创建快照之前刷新内核页面缓存 (issue#10436, pr#7495, Yan, Zheng)
  • client: 修改日志中的一个词 (pr#6906, YongQiang He)
  • client: 正确修剪未链接的 inode (issue#13903, pr#7297, Yan, Zheng)
  • client: 从 MetaRequest 中删除未使用的 Mutex (pr#7655, Greg Farnum)
  • client: sys/file.h 包含用于 flock 操作 (pr#6282, John Coyle)
  • client: 使用 null snapc 检查池权限 (issue#13714, pr#6497, Yan, Zheng)
  • cls/cls_rbd.cc: 修复 metadata_name_from_key 误用 (issue#13922, pr#6661, Xiaoxi Chen)
  • cls/cls_rbd: 按引用传递字符串 (pr#7232, Jeffrey Lu)
  • cls_hello: 修复描述注释中的语法错误 (pr#7951, Brad Hubbard)
  • cls_journal: 修复 -EEXIST 检查 (pr#8413, runsisi)
  • cls_rbd: 为错误情况添加防护 (issue#14316, issue#14317, pr#7165, xie xingguo)
  • cls_rbd: 更改 object_map_update 以在成功时返回 0,添加日志记录 (pr#6467, Douglas Fuller)
  • cls_rbd: 为 object_map_save 启用对象映射校验和 (issue#14280, pr#7149, Douglas Fuller)
  • cls_rbd: 修复 cls::rbd::image_set 中的 -EEXIST 检查 (pr#8371, runsisi)
  • cls_rbd: 修复 ceph-dencoder 的测试 (pr#7793, Kefu Chai)
  • cls_rbd: mirror_image_list 应返回全局镜像 id (pr#8297, Jason Dillaman)
  • cls_rbd: 镜像目录 (issue#14419, pr#7620, Josh Durgin)
  • cls_rbd: 在对象映射更新期间传递 WILLNEED fadvise 标志 (issue#15332, pr#8380, Jason Dillaman)
  • cls_rbd: 防止对象映射过大 (issue#15121, pr#8099, Jason Dillaman)
  • cls_rbd: read_peers: 在下一个 cls_cxx_map_get_vals 上更新 last_read (pr#8374, Mykola Golub)
  • cls/rgw: 修复 FTBFS (pr#8142, Kefu Chai)
  • cls/rgw: 修复 timespan 的使用 (issue#15181, pr#8212, Yehuda Sadeh)
  • cmake: 将 common/fs_types.cc 添加到 libcommon (pr#7898, Orit Wasserman)
  • cmake: 将 common/PluginRegistry.cc 添加到 CMakeLists.txt (pr#6805, Pete Zaitcev)
  • cmake: 将新单元测试添加到 make check (pr#7572, Ali Maredia)
  • cmake: 添加 ENABLE_GIT_VERSION 以避免重建 (pr#7171, Kefu Chai)
  • cmake: 将 ErasureCode.cc 添加到 jerasure 插件 (pr#7808, Casey Bodley)
  • cmake: 添加 FindOpenSSL.cmake (pr#8106, Marcus Watts, Matt Benjamin)
  • cmake: 将 KernelDevice.cc 添加到 libos_srcs (pr#7507, Kefu Chai)
  • cmake: 添加缺失的 HAVE_EXECINFO_H 检查 (pr#7270, Casey Bodley)
  • cmake: 添加缺失的 librbd image_watcher 来源 (issue#14823, pr#7717, Casey Bodley)
  • cmake: 添加缺失的 librbd/MirrorWatcher.cc 和 librd/ObjectWatcher.cc (pr#8399, Orit Wasserman)
  • cmake: 为 pk11pub.h 添加 nss 作为后缀 (pr#6556, Samuel Just)
  • cmake: 将 rgw_basic_types.cc 添加到 librgw.a (pr#6786, Orit Wasserman)
  • cmake: 将 StandardPolicy.cc 添加到 librbd (pr#8368, Kefu Chai)
  • cmake: 将 TracepointProvider.cc 添加到 libcommon (pr#6823, Orit Wasserman)
  • cmake: 避免误报 LDAP 头文件检测 (pr#8100, Matt Benjamin)
  • cmake: 构建 cython 模块并更改路径为 bin/, lib/ (pr#8351, John Spray, Ali Maredia)
  • cmake: 也在默认路径中检查 libsnappy (pr#7366, Kefu Chai)
  • cmake: 清理和更多来自 automake 的功能 (pr#7103, Casey Bodley, Ali Maredia)
  • cmake: 为 GNU 特定的 strerror_r 定义 STRERROR_R_CHAR_P (pr#6751, Ilya Dryomov)
  • cmake: 检测 bzip2 和 lz4 (pr#7126, Kefu Chai)
  • cmake: feb5 (pr#7541, Matt Benjamin)
  • cmake: 修复 bluestore 的构建 (pr#7099, John Spray)
  • cmake: 修复文件列表 (pr#6539, Yehuda Sadeh)
  • cmake: 修复 mrun 以处理 cmake 构建结构 (pr#8237, Orit Wasserman)
  • cmake: 修复各种 EC 源文件的路径 (pr#7748, Ali Maredia, Matt Benjamin)
  • cmake: 修复 test_rados_api_list 的构建 (pr#8438, Kefu Chai)
  • cmake: 修复测试的构建 (pr#7523, Kefu Chai)
  • cmake: 修复 trusty 上的构建 (pr#7249, Kefu Chai)
  • cmake: 对于 CMake 版本 <= 2.8.11,使用 LINK_PRIVATE 和 LINK_PUBLIC (pr#7474, Tao Chang)
  • cmake: 对于 CMake 版本 <= 2.8.11,使用 LINK_PRIVATE (pr#8422, Haomai Wang)
  • cmake: 让 ceph-client-debug 与 tcmalloc 链接 (pr#7314, Kefu Chai)
  • cmake: librbd 和 libjournal 构建修复 (pr#6557, Ilya Dryomov)
  • cmake: 使 rocksdb 成为导入库 (pr#7131, Ali Maredia)
  • cmake: make check (pr#7912, Kefu Chai, Ali Maredia)
  • cmake: 不需要从 run-cmake-check.sh 运行 configure (pr#6959, Orit Wasserman)
  • cmake (pr#7849, Ali Maredia)
  • cmake/pybind: 修复 cephfs 的包含路径 (pr#8381, Josh Durgin)
  • cmake: 删除重复的 find_package libcurl 行。 (pr#7972, Brad Hubbard)
  • cmake: 通过 WITH_CCACHE 构建选项支持 ccache (pr#6875, John Coyle)
  • cmake: test_build_libcephfs 需要 ${ALLOC_LIBS} (pr#7300, Ali Maredia)
  • cmake: 更新最近的 librbd 更改 (pr#6715, John Spray)
  • cmake: 更新最近的 rbd 更改 (pr#6818, Mykola Golub)
  • cmake: 使用 uname 而不是 arch。 (pr#6358, John Coyle)
  • coc: 修复 apt-get 命令中的拼写错误 (pr#6659, Chris Holcombe)
  • common: 添加通用插件基础设施 (pr#6696, Sage Weil)
  • common: 为 finisher 添加延迟 perf counter (pr#6175, Xinze Chi)
  • common/address_help.cc: 修复 entity_addr_from_url() 中的泄漏 (issue#14132, pr#6987, Qiankun Zheng)
  • common: 添加线程名称 (pr#5882, Igor Podoski)
  • 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: 允许在运行时启用/禁用 optracker (pr#5168, Jianpeng Ma)
  • common: 允许 OPT_INT 设置使用负值 (issue#13829, pr#7390, Brad Hubbard, Kefu Chai)
  • common: assert: abort() 而不是 throw (pr#6804, Adam C. Emerson)
  • common: assert: __STRING 宏未由 musl libc 定义。 (pr#6210, John Coyle)
  • common/bit_vector: 对块大小使用硬编码值 (issue#14747, pr#7610, Jason Dillaman)
  • common: buffer: 将 cached_crc 和 cached_crc_adjust 计数添加到 perf dump (pr#6535, Ning Yao)
  • common: buffer/assert 次要修复 (pr#6990, Matt Benjamin)
  • common: buffer: 在 read_file 期间为 stat() 系统调用放置一个保护 (pr#7956, xie xingguo)
  • common: buffer: 删除不需要的列表析构函数 (pr#6456, Michal Jarzabek)
  • common/buffer: 用 spinlocks 替换 RWLock (pr#7294, Piotr Dałek)
  • common/ceph_context.cc: 修复初始化器顺序 (pr#6838, Michal Jarzabek)
  • common: 更改 counter total/unhealthy_workers 的类型 (pr#7254, Guang Yang)
  • common: 将默认集群名称设置为配置文件前缀 (pr#7364, Javen Wu)
  • common: 弃用或释放一堆 feature 位 (pr#8214, Samuel Just)
  • common: 不要在 mutex_debug 中使用不可移植的常量 (pr#7766, Adam C. Emerson)
  • common: 当 hobject_t hash 位为零时不反转 (pr#6653, Piotr Dałek)
  • common: 修复 OpTracker age histogram 计算 (pr#5065, Zhiqiang Wang)
  • common: 修复 optracker 在启用/禁用模式之间切换时的竞争条件 (pr#8330, xie xingguo)
  • common: 修复使用 perf reset 命令重置 Throttle 中的 max (issue#13517, pr#6300, Xinze Chi)
  • common: 修复 decode 中的 time_t 转换 (issue#15330, pr#8419, Adam C. Emerson)
  • common/Formatter: 如果没有输出,则避免换行 (pr#5351, Aran85)
  • common: 使用哈希表提高 shared_cache 和 simple_cache 效率 (pr#6909, Ning Yao)
  • common/lockdep: 增加最大锁名称 (pr#6961, Sage Weil)
  • common: log: 为 syslog 调用分配 LOG_DEBUG 优先级 (issue#13993, pr#6815, Brad Hubbard)
  • common: log: 预测日志消息缓冲区分配大小 (pr#6641, Adam Kupczyk)
  • common/MemoryModel: 为 mallinfo() 添加显式功能检查。 (pr#6252, John Coyle)
  • common: 新的时间保持通用代码和 Objecter 转换 (pr#5782, Adam C. Emerson)
  • common/obj_bencher.cc: 提高带宽字段的精度 (pr#8021, Piotr Dałek)
  • common/obj_bencher.cc: 更快的对象名称生成 (pr#7863, Piotr Dałek)
  • common/obj_bencher.cc: 修复没有对象时验证崩溃的问题 (pr#5853, Piotr Dałek)
  • common/obj_bencher.cc: 使验证错误致命 (issue#14971, pr#7897, Piotr Dałek)
  • common: 优化调试日志代码 (pr#6441, Adam Kupczyk)
  • common: 优化调试日志记录 (pr#6307, Adam Kupczyk)
  • common/page.cc: _page_mask 位过多 (pr#7588, Dan Mick)
  • common: bufferlist history total alloc 的 perf counter (pr#6198, Xinze Chi)
  • common: 通过使 stringify 函数中的 stringstream 线程本地化来减少 CPU 使用率 (pr#6543, Evgeniy Firsov)
  • common: 重新启用回溯支持 (pr#6771, Jason Dillaman)
  • common: 从正确的线程设置线程名称 (pr#7845, Igor Podoski)
  • common: signal_handler: 添加了对使用可重入 strsignal() 实现而不是 sys_siglist[] 的支持 (pr#6796, John Coyle)
  • common: snappy decompressor 在处理分段输入 bufferlist 时可能会断言 (issue#14400, pr#7268, Igor Fedotov)
  • common: string.h: str_len(...) 的返回类型不需要 const (pr#7679, Matt Benjamin)
  • common/str_map: 清理:通过为分隔符使用默认参数替换 get_str_map() 函数重载 (pr#7266, Sahithi R V)
  • common/strtol.cc: 修复 coverity 警告 (pr#7967, Kefu Chai)
  • common: SubProcess: 调用 err() 时避免缓冲区损坏 (issue#15011, pr#8054, Erwan Velu)
  • common: SubProcess: 修复多重定义错误 (pr#6790, Yunchuan Wen)
  • common: Thread: 移动复制构造函数和赋值操作符 (pr#5133, Michal Jarzabek)
  • common: time: 让 skewing-now 调用 non-skewing now (pr#7466, Adam C. Emerson)
  • common/TrackedOp: 修复慢请求计数不准确的问题 (issue#14804, pr#7690, xie xingguo)
  • common: interval_set 实现的单元测试 (pr#6, Igor Fedotov)
  • common: 为 buffer 使用 namespace 而不是子类 (pr#6686, Michal Jarzabek)
  • common: SCA 运行的各种修复 (pr#7680, Danny Al-Gaaf)
  • common: WeightedPriorityQueue 重新添加类的 Round Robin (pr#7984, Robert LeBlanc)
  • common: WorkQueue: ContextWQ 的新 PointerWQ 基类 (issue#13636, pr#6525, Jason Dillaman)
  • compat: 使用带有前缀的 typeof 扩展 (pr#6216, John Coyle)
  • config: 将 $data_dir/config 添加到配置搜索路径 (pr#7377, Sage Weil)
  • config: 当某个设置未被跟踪时发出警告 (issue#11692, pr#7085, Kefu Chai)
  • config: 修复 osd_crush_initial_weight (pr#7975, You Ji)
  • config: 增加默认异步操作线程数 (pr#7802, Piotr Dałek)
  • config_opts: 默认禁用 filestore throttle soft backoff (pr#8265, Samuel Just)
  • configure.ac: boost_iostreams 是必需的,而不是可选的 (pr#7816, Hector Martin)
  • configure.ac: 宏修复 (pr#6769, Igor Podoski)
  • configure.ac: 使 “–with-librocksdb-static” 默认设置为 'check' (issue#14463, pr#7317, Dan Mick)
  • configure.ac: 更新 cython 的帮助字符串 (pr#7856, Josh Durgin)
  • configure: 为 Linux 构建添加 -D_LARGEFILE64_SOURCE。 (pr#8402, Ira Cooper)
  • configure: 检测 bz2 和 lz4 (issue#13850, issue#13981, pr#7030, Kefu Chai)
  • correct radosgw-admin command (pr#7006, YankunLi)
  • crush: 添加 chooseleaf_stable tunable (pr#6572, Sangdi Xu, Sage Weil)
  • crush: 添加安全断言 (issue#14496, pr#7344, songbaisen)
  • crush: 清理空白字符删除 (issue#14302, pr#7157, songbaisen)
  • crush/CrushTester: 检查重叠规则 (pr#7139, Kefu Chai)
  • crush/CrushTester: 解决 boost::icl 中的一个 bug (pr#7560, Kefu Chai)
  • crush: 修复新 crush tunables 的 cli 测试 (pr#8107, Sage Weil)
  • crush: 修复错误日志 (pr#8430, Wei Jin)
  • crush: 修复拼写错误 (pr#8518, Wei Jin)
  • crush: 从 get_immediate_parent 快速回复 (issue#14334, pr#7181, song baisen)
  • crushtool: 在非 crushmap 文件上调用时不要崩溃 (issue#8286, pr#8038, Brad Hubbard)
  • crushtool: 改进用法/提示消息 (pr#7142, xie xingguo)
  • crushtool: 为 –build 选项设置 type 0 name “device” (pr#6824, Sangdi Xu)
  • crush: 更新 tunable 文档。将默认配置文件更改为 jewel (pr#7964, Sage Weil)
  • crush: 在索引 buckets 数组之前验证 bucket id (issue#13477, pr#6246, Sage Weil)
  • debian/changelog: 删除版本中的多余 'v' (pr#7936, Dan Mick)
  • debian/changelog: 删除版本中的多余 'v' (pr#7938, Dan Mick)
  • debian: 在 build-requiers 中包含 cpio (pr#7533, Rémi BUISSON)
  • debian: 打包 librgw_file* tests (pr#7930, Ken Dreyer)
  • debian: jewel 的打包修复 (pr#7807, Ken Dreyer, Ali Maredia)
  • debian/rpm split servers (issue#10587, pr#7746, Ken Dreyer)
  • debian/rules: 将 init-ceph 放入 /etc/init.d/ceph,而不是 ceph-base (issue#15329, pr#8406, Dan Mick)
  • debian: 在包安装时启动 ceph-mon-all 和 ceph-osd-all (issue#15098, pr#8617, Sage Weil)
  • doc: 将 ceph-detect-init(8) 源添加到 dist tarball (pr#7933, Ken Dreyer)
  • doc: 将 cinder 后端部分添加到 rbd-openstack.rst (pr#7923, RustShen)
  • doc: 在减小 rbd 块大小中添加“–allow-shrink”以区别于增加选项 (pr#7020, Yehua)
  • doc: 添加有关如何使用新动态节流方案的文档 (pr#8069, Somnath Roy)
  • doc: 将 orphans 命令添加到 radosgw-admin(8) (issue#14637, pr#7518, Ken Dreyer)
  • doc: 将 v0.80.11 添加到发行时间表 (pr#6658, Loic Dachary)
  • doc: admin/build-doc: 在 debian 上添加 lxml 依赖项 (pr#6610, Ken Dreyer)
  • doc: admin/build-doc: 使路径绝对化 (pr#7119, Dan Mick)
  • doc: 修订 SubmittingPatches 中的 Fixes 说明 (pr#8312, Nathan Cutler)
  • doc: 修订 rados.8 (pr#7251, Kefu Chai)
  • doc/architecture.rst: 删除多余的单词“across” (pr#8179, Zhao Junwang)
  • doc/cephfs/posix: 更新 (pr#6922, Sage Weil)
  • doc: 澄清启动单个 osd/mds/mon 的用法。 (pr#7641, Patrick Donnelly)
  • doc: CodingStyle: 修复损坏的 URL (pr#6733, Kefu Chai)
  • doc: 更正拼写错误 ‘restared’ 为 ‘restarted’ (pr#6734, Yilong Zhao)
  • doc: bugfixing 工作流的详细描述 (pr#7941, Nathan Cutler)
  • doc/dev: 添加“Deploy a cluster for manual testing”部分 (issue#15218, pr#8228, Nathan Cutler)
  • doc/dev: 添加有关中断正在运行的套件的部分 (pr#8116, Nathan Cutler)
  • doc/dev: 继续编写 Testing in the cloud 章节 (pr#7960, Nathan Cutler)
  • doc: dev: 文档 ceph-qa-suite (pr#6955, Loic Dachary)
  • doc/dev/index: 重构/重组 (pr#6792, Nathan Cutler)
  • doc/dev/index.rst: 开始编写 Contributing to Ceph (pr#6727, Nathan Cutler)
  • doc/dev/index.rst: 修复标题 (pr#6780, Nathan Cutler)
  • doc/dev: 将测试集成到叙事中 (pr#7946, Nathan Cutler)
  • doc: dev: 测试简介 (pr#6910, Loic Dachary)
  • doc/dev: 各种改进 (pr#7954, Nathan Cutler)
  • doc: 文档“readforward”和“readproxy”缓存模式 (pr#7023, Kefu Chai)
  • doc: 从 download.ceph.com 下载 GPG 密钥 (issue#13603, pr#6384, Ken Dreyer)
  • doc: jewel 的草稿笔记 (pr#8211, Loic Dachary, Sage Weil)
  • doc: 使用“setfattr”写入文件布局字段时,文件必须为空 (pr#6848, Cilang Zhao)
  • doc: 修复 0.94.4 和 0.94.5 的顺序 (pr#7763, Loic Dachary)
  • doc: 修复依赖项 (pr#8587, Etienne Menguy)
  • doc: 修复了“List Multipart Upload Parts”响应实体的不正确名称 (issue#14003, pr#6829, Lenz Grimmer)
  • doc: 修复了 CRUSH map step take 参数 (pr#7327, Ivan Grcic)
  • doc: 修复了拼写错误 (pr#6705, Jeremy Qian)
  • doc: 修复了标题字体大小和类型不同步的问题 (pr#8328, scienceluo)
  • doc: 修复 ERASURE CODING 部分中的图像 (pr#7298, Rachana Patel)
  • doc: 修复缓存分层中误导性的配置指南 (pr#7000, Yuan Zhou)
  • doc: 修复“mon osd down out subtree limit”选项名称 (pr#7164, François Lafont)
  • doc: 修复缓存分层中过时的内容 (pr#6272, Yuan Zhou)
  • doc: 修复 S3 C# 示例 (pr#7027, Dunrong Huang)
  • doc: 修复 Jewel 发行说明中的拼写错误、重复内容等 (pr#8342, xie xingguo)
  • doc: 修复 cephfs/quota 中的拼写错误 (pr#6745, Drunkard Zhang)
  • doc: 修复拼写错误、缩进等 (pr#7829, xie xingguo)
  • doc: 修复开发人员指南中的拼写错误 (pr#6943, Nathan Cutler)
  • doc: 修复拼写错误 (pr#7004, tianqing)
  • doc: 修复错误的连字符类型 (pr#8252, xie xingguo)
  • doc: RBD 镜像管理文档的初步草稿 (issue#15041, pr#8169, Jason Dillaman)
  • doc: INSTALL 重定向到在线文档 (pr#6749, Loic Dachary)
  • doc: 解决 scrub 问题的微小改进 (pr#6827, Mykola Golub)
  • doc: 修改了 rbd-snapshot 文档中的注释部分。 (pr#6908, Nilamdyuti Goswami)
  • doc: 注意到 cephfs auth stuff 是 jewel 中的新功能 (pr#6858, John Spray)
  • doc: osd-config 添加 op queue 的配置选项。 (pr#7837, Robert LeBlanc)
  • doc: osd: s/schedued/scheduled/ (pr#6872, Loic Dachary)
  • doc/rados/api/librados-intro.rst: 修复拼写错误 (pr#7879, xie xingguo)
  • doc/rados/operations/crush: 修复格式 (pr#8306, Kefu Chai)
  • doc: 建议不要使用 ext4 (pr#8556, Sage Weil)
  • doc: 恢复意外删除的部分标题 (pr#8569, Josh Durgin)
  • doc: release-notes: v0.80.11 发行说明草稿 (pr#6374, Loic Dachary)
  • doc: release-notes: v10.0.0 发行说明草稿 (pr#6666, Loic Dachary)
  • doc/release-notes: 修复缩进 (pr#8345, Kefu Chai)
  • doc/release-notes: jewel 更新 (pr#8590, Nathan Cutler, Sage Weil)
  • doc/release-notes: v9.1.0 (pr#6281, Loic Dachary)
  • doc/releases-notes: 修复构建错误 (pr#6483, Kefu Chai)
  • doc: 删除 Ceph Monitors do lots of fsync() (issue#15288, pr#8327, Vikhyat Umrao)
  • doc: 删除 ceph-authtool/monmaptool 文档中多余的空格 (pr#7244, Jiaying Ren)
  • doc: 删除 Create CephFS 下的 toctree 项目 (pr#6241, Jevon Qiao)
  • doc: 删除标题中不必要的句点 (pr#6775, Marc Koderer)
  • doc: 重命名“Create a Ceph User”部分并添加有关…的措辞 (issue#13502, pr#6297, ritz303)
  • doc: 修订 SubmittingPatches (pr#7292, Kefu Chai)
  • doc: rgw 添加非常基本的多站点文档 (issue#15247, pr#8281, Abhishek Lekshmanan)
  • doc: rgw admin 使用 “region list” 而不是 “regions list” (pr#8517, Kris Jurka)
  • doc: rgw 解释 keystone 的 verify ssl 开关 (pr#7862, Abhishek Lekshmanan)
  • doc: rgw multisite,添加 pools 部分和次要美观改进 (pr#8653, Abhishek Lekshmanan)
  • doc: rgw: 将更改从下游移植到上游 (pr#7264, Bara Ancincova)
  • doc: rgw_region_root_pool 选项应在 [global] 中 (issue#15244, pr#8271, Vikhyat Umrao)
  • doc: pools 文档的 rst 样式修复 (pr#6816, Drunkard Zhang)
  • doc: 镜像 Ceph 的脚本和指南 (pr#7384, Wido den Hollander)
  • docs: 修复新添加的镜像文档的样式 (pr#6127, Wido den Hollander)
  • doc: 小修复 (pr#7813, xiexingguo)
  • doc: 标准化 @param (不是 @parma, @parmam, @params) (pr#7714, Nathan Cutler)
  • doc: SubmittingPatches: 没有 next; 只有 jewel (pr#6811, Nathan Cutler)
  • doc, tests: 将所有 https://ceph.net.cn/ 更新为 download.ceph.com (pr#6435, Alfredo Deza)
  • doc: 使用新功能 deactivate/destroy 更新 ceph-disk 手册页。 (pr#6637, Vicente Cheng)
  • doc: 更新 CloudStack RBD 文档 (pr#8308, Wido den Hollander)
  • doc: 使用新的池设置更新文档 (pr#5951, Guang Yang)
  • doc: 更新 rados 命令手册页以包含 –run-name opt… (issue#12899, pr#5900, ritz303)
  • doc: 更新 infernalis 发行说明 (pr#6575, vasukulkarni)
  • doc: 更新 admin/build-doc 依赖项列表 (issue#14070, pr#6934, Nathan Cutler)
  • doc: 更新 radosgw-admin 示例 (pr#6256, YankunLi)
  • doc: 更新较新 Ceph 版本的操作系统建议 (pr#6355, ritz303)
  • doc: 使用 'ceph auth get-or-create' 创建 RGW 密钥环 (pr#6930, Wido den Hollander)
  • doc: mstart 的非常基本的文档 (pr#8207, Abhishek Lekshmanan)
  • drop envz.h includes (pr#6285, John Coyle)
  • fix FTBFS introduced by d0af316 (pr#7792, Kefu Chai)
  • fix: 使用正确的 init_flags 完成 CephContext (pr#6549, Yunchuan Wen)
  • fs: 对“mds setmap”命令更加小心,以防止损坏 (issue#14380, pr#7262, Yan, Zheng)
  • ghobject_t: 使用 # 而不是 ! 作为分隔符 (pr#8055, Sage Weil)
  • global: 不要使用单个 pid-file 启动两个守护程序 (issue#13422, pr#7075, shun song)
  • global: 不要使用单个 pid-file 启动两个守护程序(第 2 部分) (issue#13422, pr#7463, Loic Dachary)
  • global/global_init: 在 setuser_match_path 中扩展 metavariables (issue#15365, pr#8433, Sage Weil)
  • global/signal_handler: 在信号处理程序中打印线程名称 (pr#8177, Jianpeng Ma)
  • helgrind: additional race conditionslibrbd: journal replay should honor inter-event dependencies (pr#7274, Jason Dillaman)
  • helgrind: fix real (and imaginary) race conditions (issue#14163, pr#7208, Jason Dillaman)
  • include/encoding: do not try to be clever with list encoding (pr#7913, Sage Weil)
  • init-ceph: do umount when the path exists. (pr#6866, Xiaoxi Chen)
  • init-ceph.in: allow case-insensitive true in osd crush update on start’ (`pr#7943, Eric Cook)
  • init-ceph.in: skip ceph-disk if it is not present (issue#10587, pr#7286, Ken Dreyer)
  • init-ceph: use getopt to make option processing more flexible (issue#3015, pr#6089, Nathan Cutler)
  • journal: async methods to (un)register and update client (pr#7832, Mykola Golub)
  • journal: disconnect watch after watch error (issue#14168, pr#7113, Jason Dillaman)
  • journal: fire replay complete event after reading last object (issue#13924, pr#6762, Jason Dillaman)
  • journal: fix final result for JournalTrimmer::C_RemoveSet (pr#8516, runsisi)
  • journal: fix race condition between Future and journal shutdown (issue#15364, pr#8477, Jason Dillaman)
  • journal: flush commit position on metadata shutdown (pr#7385, Mykola Golub)
  • journal: improve commit position tracking (pr#7776, Jason Dillaman)
  • journal: incremental improvements and fixes (pr#6552, Mykola Golub)
  • journal: possible race condition during live replay (issue#15352, pr#8494, Jason Dillaman)
  • journal: prevent race injecting new records into overflowed object (issue#15202, pr#8220, Jason Dillaman)
  • journal: reset commit_position_task_ctx pointer after task complete (pr#7480, Mykola Golub)
  • journal: re-use common threads between journalers (pr#7906, Jason Dillaman)
  • journal: support replaying beyond skipped splay objects (pr#6687, Jason Dillaman)
  • krbd: remove deprecated –quiet param from udevadm (issue#13560, pr#6394, Jason Dillaman)
  • kv: fix bug in kv key optimization (pr#6511, Sage Weil)
  • kv: implement value_as_ptr() and use it in .get() (pr#7052, Piotr Dałek)
  • kv/KineticStore: fix broken split_key (pr#6574, Haomai Wang)
  • kv: optimize and clean up internal key/value interface (pr#6312, Piotr Dałek, Sage Weil)
  • libcephfs: fix python tests and fix getcwd on missing dir (pr#7901, John Spray)
  • libcephfs: Improve portability by replacing loff_t type usage with off_t (pr#6301, John Coyle)
  • libcephfs: only check file offset on glibc platforms (pr#6288, John Coyle)
  • libcephfs: update LIBCEPHFS_VERSION to indicate the interface was changed (pr#7551, Jevon Qiao)
  • librados: add c++ style osd/pg command interface (pr#6893, Yunchuan Wen)
  • librados: aix gcc librados port (pr#6675, Rohan Mars)
  • librados: avoid malloc(0) (which can return NULL on some platforms) (issue#13944, pr#6779, Dan Mick)
  • librados: cancel aio notification linger op upon completion (pr#8102, Jason Dillaman)
  • librados: check connection state in rados_monitor_log (issue#14499, pr#7350, David Disseldorp)
  • librados: clean up Objecter.h (pr#6731, Jie Wang)
  • librados: detect laggy ops with objecter_timeout, not osd_timeout (pr#7629, Greg Farnum)
  • librados: do cleanup (pr#6488, xie xingguo)
  • librados: do not clear handle for aio_watch() (pr#7771, xie xingguo)
  • librados: fix examples/librados/Makefile error. (pr#6320, You Ji)
  • librados: fix pool alignment API overflow issue (issue#13715, pr#6489, xie xingguo)
  • librados: fix potential null pointer access when do pool_snap_list (issue#13639, pr#6422, xie xingguo)
  • librados: fix PromoteOn2ndRead test for EC (pr#6373, Sage Weil)
  • librados: fix rare race where pool op callback may hang forever (issue#13642, pr#6426, xie xingguo)
  • librados: fix several flaws introduced by the enumeration_objects API (issue#14299, issue#14301, issue#14300, pr#7156, xie xingguo)
  • librados: fix test failure with new aio watch/unwatch API (pr#7824, Jason Dillaman)
  • librados: implement async watch/unwatch (pr#7649, Haomai Wang)
  • librados: include/rados/librados.h: fix typo (pr#6741, Nathan Cutler)
  • librados: init crush_location from config file. (issue#13473, pr#6243, Wei Luo)
  • librados: mix lock cycle (un)registering asok commands (pr#7581, John Spray)
  • librados: move to c++11 concurrency types (pr#5931, Adam C. Emerson)
  • librados: new style (sharded) object listing (pr#6405, John Spray, Sage Weil)
  • librados: potential null pointer access in list_(n)objects (issue#13822, pr#6639, xie xingguo)
  • librados: race condition on aio_notify completion handling (pr#7864, Jason Dillaman)
  • librados: remove duplicate definitions for rados pool_stat_t and cluster_stat_t (pr#7330, Igor Fedotov)
  • librados: Revert “rados: Add new field flags for ceph_osd_op.copy_get.” (pr#8486, Sage Weil)
  • librados: shutdown finisher in a more graceful way (pr#7519, xie xingguo)
  • librados: Solaris port (pr#6416, Rohan Mars)
  • librados: stat2 with higher time precision (pr#7915, Yehuda Sadeh, Matt Benjamin)
  • librados: Striper: Fix incorrect push_front -> append_zero change (pr#7578, Haomai Wang)
  • librados_test_stub: protect against notify/unwatch race (pr#7540, Jason Dillaman)
  • librados: wrongly passed in argument for stat command (issue#13703, pr#6476, xie xingguo)
  • librbd: allocate new journal tag after acquiring exclusive lock (pr#7884, Jason Dillaman)
  • librbd: API: async open and close (issue#14264, pr#7259, Mykola Golub)
  • librbd: automatically flush IO after blocking write operations (issue#13913, pr#6742, Jason Dillaman)
  • librbd: Avoid create two threads per image (pr#7400, Haomai Wang)
  • librbd: avoid throwing error if mirroring is unsupported (pr#8417, Jason Dillaman)
  • librbd: better handling of exclusive lock transition period (pr#7204, Jason Dillaman)
  • librbd: block maintenance ops until after journal is ready (issue#14510, pr#7382, Jason Dillaman)
  • librbd: block read requests until journal replayed (pr#7627, Jason Dillaman)
  • librbd: check for presence of journal before attempting to remove (issue#13912, pr#6737, Jason Dillaman)
  • librbd: clear error when older OSD doesn’t support image flags (issue#14122, pr#7035, Jason Dillaman)
  • librbd: correct include guard in RenameRequest.h (pr#7143, Jason Dillaman)
  • librbd: correct issues discovered during teuthology testing (issue#14108, issue#14107, pr#6974, Jason Dillaman)
  • librbd: correct issues discovered via valgrind memcheck (pr#8132, Jason Dillaman)
  • librbd: correct issues discovered when cache is disabled (issue#14123, pr#6979, Jason Dillaman)
  • librbd: correct race conditions discovered during unit testing (issue#14060, pr#6923, Jason Dillaman)
  • librbd: deadlock while attempting to flush AIO requests (issue#13726, pr#6508, Jason Dillaman)
  • librbd: differentiate journal replay flush vs shut down (pr#7698, Jason Dillaman)
  • librbd: disable copy-on-read when not exclusive lock owner (issue#14167, pr#7129, Jason Dillaman)
  • librbd: disable image mirroring when image is removed (issue#15265, pr#8375, Ricardo Dias)
  • librbd: disallow unsafe rbd_op_threads values (issue#15034, pr#8459, Josh Durgin)
  • librbd: do not ignore self-managed snapshot release result (issue#14170, pr#7043, Jason Dillaman)
  • librbd: enable/disable image mirroring automatically for pool mode (issue#15143, pr#8204, Ricardo Dias)
  • librbd: ensure copy-on-read requests are complete prior to closing parent image (pr#6740, Jason Dillaman)
  • librbd: ensure librados callbacks are flushed prior to destroying (issue#14092, pr#7040, Jason Dillaman)
  • librbd: exit if parent’s snap is gone during clone (issue#14118, pr#6968, xie xingguo)
  • librbd: fix enable objectmap feature issue (issue#13558, pr#6339, xinxin shu)
  • librbd: fix handling of proxied maintenance operations during shut down (issue#15471, issue#15456, pr#8565, Jason Dillaman)
  • librbd: fix internal handling of dynamic feature updates (pr#7299, Jason Dillaman)
  • librbd: fix journal iohint (pr#6917, Jianpeng Ma)
  • librbd: fix known test case race condition failures (issue#13969, pr#6800, Jason Dillaman)
  • librbd: fix merge-diff for >2GB diff-files (issue#14030, pr#6889, Yunchuan Wen)
  • librbd: fix potential memory leak (issue#14332, issue#14333, pr#7174, xie xingguo)
  • librbd: fix snap_exists API return code overflow (issue#14129, pr#6986, xie xingguo)
  • librbd: fix state machine race conditions during shut down (pr#7761, Jason Dillaman)
  • librbd: fix test case race condition for journaling ops (pr#6877, Jason Dillaman)
  • librbd: fix tracepoint parameter in diff_iterate (pr#6892, Yunchuan Wen)
  • librbd: flush and invalidate cache via admin socket (issue#2468, pr#6453, Mykola Golub)
  • librbd: handle unregistering the image watcher when disconnected (pr#8094, Jason Dillaman)
  • librbd: image refresh code paths converted to async state machines (pr#6859, Jason Dillaman)
  • librbd: include missing header for bool type (pr#6798, Mykola Golub)
  • librbd: initial collection of state machine unit tests (pr#6703, Jason Dillaman)
  • librbd: integrate journaling for maintenance operations (pr#6625, Jason Dillaman)
  • librbd: integrate journaling support for IO operations (pr#6541, Jason Dillaman)
  • librbd: integrate journal replay with fsx testing (pr#7583, Jason Dillaman)
  • librbd: IO deadlock when dynamically enabling/disabling features (issue#15102, pr#8511, Jason Dillaman)
  • librbd: journal framework for tracking exclusive lock transitions (issue#13298, pr#7529, Jason Dillaman)
  • librbd: journaling-related lock dependency cleanup (pr#6777, Jason Dillaman)
  • librbd: journal replay needs to support re-executing maintenance ops (issue#14822, pr#7785, Jason Dillaman)
  • librbd: journal replay should honor inter-event dependencies (pr#7019, Jason Dillaman)
  • librbd: journal shut down flush race condition (issue#14434, pr#7302, Jason Dillaman)
  • librbd: not necessary to hold owner_lock while releasing snap id (issue#13914, pr#6736, Jason Dillaman)
  • librbd: only send signal when AIO completions queue empty (pr#6729, Jianpeng Ma)
  • librbd: optionally validate new RBD pools for snapshot support (issue#13633, pr#6925, Jason Dillaman)
  • librbd: partial revert of commit 9b0e359 (issue#13969, pr#6789, Jason Dillaman)
  • librbd: perf counters might not be initialized on error (issue#13740, pr#6523, Jason Dillaman)
  • librbd: perf section name: use hyphen to separate components (issue#13719, pr#6516, Mykola Golub)
  • librbd: properly handle replay of snap remove RPC message (issue#14164, pr#7042, Jason Dillaman)
  • librbd: reduce mem copies to user-buffer during read (pr#7548, Jianpeng Ma)
  • librbd: reduce verbosity of common error condition logging (issue#14234, pr#7114, Jason Dillaman)
  • librbd: refresh image if required before replaying journal ops (issue#14908, pr#7978, Jason Dillaman)
  • librbd: remove canceled tasks from timer thread (issue#14476, pr#7329, Douglas Fuller)
  • librbd: remove duplicate read_only test in librbd::async_flatten (pr#5856, runsisi)
  • librbd: remove last synchronous librados calls from open/close state machine (pr#7839, Jason Dillaman)
  • librbd: replaying a journal op post-refresh requires locking (pr#8028, Jason Dillaman)
  • librbd: resize should only update image size within header (issue#13674, pr#6447, Jason Dillaman)
  • librbd: retrieve image name when opening by id (pr#7736, Mykola Golub)
  • librbd: return error if we fail to delete object_map head object (issue#14098, pr#6958, xie xingguo)
  • librbd: Revert “librbd: use task finisher per CephContext” (issue#14780, pr#7667, Josh Durgin)
  • librbd: send notifications for mirroring status updates (pr#8355, Jason Dillaman)
  • librbd: several race conditions discovered under single CPU environment (pr#7653, Jason Dillaman)
  • librbd: simplify IO method signatures for 32bit environments (pr#6700, Jason Dillaman)
  • librbd: small fixes for error messages and readahead counter (issue#14127, pr#6983, xie xingguo)
  • librbd: start perf counters after id is initialized (issue#13720, pr#6494, Mykola Golub)
  • librbd: support eventfd for AIO completion notifications (pr#5465, Haomai Wang)
  • librbd: truncate does not need to mark the object as existing in the object map (issue#14789, pr#7772, xinxin shu)
  • librbd: uninitialized state in snap remove state machine (pr#6982, Jason Dillaman)
  • librbd: update of mirror pool mode and mirror peer handling (pr#7718, Jason Dillaman)
  • librbd: use async librados notifications (pr#7668, Jason Dillaman)
  • log: do not repeat errors to stderr (issue#14616, pr#7983, Sage Weil)
  • log: fix stack overflow when flushing large log lines (issue#14707, pr#7599, Igor Fedotov)
  • log: segv in a portable way (issue#14856, pr#7790, Kefu Chai)
  • log: use delete[] (pr#7904, Sage Weil)
  • mailmap: Abhishek Lekshmanan affiliation (pr#8615, Abhishek Lekshmanan)
  • mailmap: add UMCloud affiliation (pr#6820, Jiaying Ren)
  • mailmap for 10.0.4 (pr#7932, Abhishek Lekshmanan)
  • mailmap: hange organization for Dongmao Zhang (pr#7173, Dongmao Zhang)
  • mailmap: Igor Podoski affiliation (pr#7219, Igor Podoski)
  • mailmap: Jewel updates (pr#6750, Abhishek Lekshmanan)
  • mailmap: modify member info (pr#6468, Xiaowei Chen)
  • mailmap: revise organization (pr#6519, Li Wang)
  • mailmap: Ubuntu Kylin name changed to Kylin Cloud (pr#6532, Loic Dachary)
  • mailmap: update .organizationmap (pr#6565, chenji-kael)
  • mailmap update (pr#7210, M Ranga Swami Reddy)
  • mailmap update (pr#8522, M Ranga Swami Reddy)
  • mailmap update (pr#8608, M Ranga Swami Reddy)
  • mailmap: updates for infernalis. (pr#6495, Yann Dupont)
  • mailmap: updates (pr#6258, M Ranga Swami Reddy)
  • mailmap: updates (pr#6594, chenji-kael)
  • mailmap updates (pr#6992, Loic Dachary)
  • mailmap updates (pr#7189, Loic Dachary)
  • mailmap updates (pr#7528, Yann Dupont)
  • mailmap updates (pr#8256, Loic Dachary)
  • mailmap: Xie Xingguo affiliation (pr#6409, Loic Dachary)
  • Makefile-env.am: set a default for CEPH_BUILD_VIRTUALENV (part 2) (pr#8320, Loic Dachary)
  • makefile: fix rbdmap manpage (pr#8310, Kefu Chai)
  • makefile: remove libedit from libclient.la (pr#7284, Kefu Chai)
  • makefiles: remove bz2-dev from dependencies (issue#13981, pr#6939, Piotr Dałek)
  • man/8/ceph-disk: fix formatting issue (pr#8003, Sage Weil)
  • man/8/ceph-disk: fix formatting issue (pr#8012, Sage Weil)
  • man: document listwatchers cmd in “rados” manpage (pr#7021, Kefu Chai)
  • mdsa: A few more snapshot fixes, mostly around snapshotted inode/dentry tracking (pr#7798, Yan, Zheng)
  • mds: Add cmapv to ESessions default constructor initializer list (pr#8403, John Coyle)
  • mds: add ‘p’ flag in auth caps to control setting pool in layout (pr#6567, John Spray)
  • mds: advance clientreplay when replying (issue#14357, pr#7216, John Spray)
  • mds: allow client to request caps when opening file (issue#14360, pr#7952, Yan, Zheng)
  • mds: Be more careful about directory fragmentation and scrubbing (issue#15167, pr#8180, Yan, Zheng)
  • mds, client: add namespace to file_layout_t (previously ceph_file_layout) (pr#7098, Yan, Zheng, Sage Weil)
  • mds, client: fix locking around handle_conf_change (issue#14365, issue#14374, pr#7312, John Spray)
  • mds: don’t double-shutdown the timer when suiciding (issue#14697, pr#7616, Greg Farnum)
  • mds: expose state of recovery to status ASOK command (issue#14146, pr#7068, Yan, Zheng)
  • mds: filelock deadlock (pr#7713, Yan, Zheng)
  • mds: fix client capabilities during reconnect (client.XXXX isn’t responding to mclientcaps(revoke)) (issue#11482, pr#6432, Yan, Zheng)
  • mds: fix client cap/message replay order on restart (issue#14254, issue#13546, pr#7199, Yan, Zheng)
  • mds: fix file_layout_t legacy encoding snafu (pr#8455, Sage Weil)
  • mds: fix fsmap decode (pr#8063, Greg Farnum)
  • mds: fix FSMap upgrade with daemons in the map (pr#8073, John Spray, Greg Farnum)
  • mds: fix inode_t::compare() (issue#15038, pr#8014, Yan, Zheng)
  • mds: fix scrub_path (pr#6684, John Spray)
  • mds: fix setvxattr (broken in a536d114) (issue#14029, pr#6941, John Spray)
  • mds: fix standby replay thread creation (issue#14144, pr#7132, John Spray)
  • mds: fix stray purging in ‘stripe_count > 1’ case (issue#15050, pr#8040, Yan, Zheng)
  • mds: FSmap decode fix (pr#8604, Greg Farnum)
  • mds/FSMap: use _ in key name (pr#8614, Sage Weil)
  • mds: function parameter ‘df’ should be passed by reference (pr#7490, Na Xie)
  • mds: implement snapshot rename (pr#5645, xinxin shu)
  • mds: judgment added to avoid the risk of visiting the NULL pointer (pr#7358, Kongming Wu)
  • mds: messages/MOSDOp: cast in assert to eliminate warnings (issue#13625, pr#6414, David Zafman)
  • mds: Minor fixes around data scan in some scenarios (pr#8115, Yan, Zheng)
  • mds: Multi-filesystem support (issue#14952, pr#6953, John Spray, Sage Weil)
  • mds: new filtered MDS tell commands for sessions (pr#6180, John Spray)
  • mds: properly set STATE_STRAY/STATE_ORPHAN for stray dentry/inode (issue#13777, pr#6553, Yan, Zheng)
  • mds: repair the command option “–hot-standby” (pr#6454, Wei Feng)
  • mds: ScrubStack and “tag path” command (pr#5662, Yan, Zheng, John Spray, Greg Farnum)
  • mds/Session: use projected parent for auth path check (issue#13364, pr#6200, Sage Weil)
  • mds: tear down connections from tell commands (issue#14048, pr#6933, John Spray)
  • mds: we should wait messenger when MDSDaemon suicide (pr#6996, Wei Feng)
  • messages/MOSDOp: clear reqid inc for v6 encoding (issue#15230, pr#8299, Sage Weil)
  • mirrors: Change contact e-mail address for se.ceph.com (pr#8007, Wido den Hollander)
  • mirrors: Updated scripts and documentation for mirrors (pr#7847, Wido den Hollander)
  • misc: use make_shared while creating shared_ptr (pr#7769, Somnath Roy)
  • mon: add an independent option for max election time (pr#7245, Sangdi Xu)
  • mon: add osd blacklist clear (pr#6945, John Spray)
  • mon: add RAW USED column to ceph df detail (pr#7087, Ruifeng Yang)
  • mon: block ‘ceph osd pg-temp ...’ if pg_temp update is already pending (pr#6704, Sage Weil)
  • mon: cleanup set-quota error msg (pr#7371, Abhishek Lekshmanan)
  • monclient: avoid key renew storm on clock skew (issue#12065, pr#8258, Alexey Sheplyakov)
  • mon: compact full epochs also (issue#14537, pr#7396, Kefu Chai)
  • mon: consider pool size when creating pool (issue#14509, pr#7359, songbaisen)
  • mon: consider the pool size when setting pool crush rule (issue#14495, pr#7341, song baisen)
  • mon: degrade a log message to level 2 (pr#6929, Kongming Wu)
  • mon: do not send useless pg_create messages for split pgs (pr#8247, Sage Weil)
  • mon: don’t require OSD W for MRemoveSnaps (issue#13777, pr#6601, John Spray)
  • mon: drop useless rank init assignment (issue#14508, pr#7321, huanwen ren)
  • mon: enable ‘mon osd prime pg temp’ by default (pr#7838, Robert LeBlanc)
  • mon: fix calculation of %USED (pr#7881, Adam Kupczyk)
  • mon: fix ceph df pool available calculation for 0-weighted OSDs (pr#6660, Chengyuan Li)
  • mon: fix coding-style on PG related Monitor files (pr#6881, Wido den Hollander)
  • mon: fixes related to mondbstore->get() changes (pr#6564, Piotr Dałek)
  • mon: fix keyring permissions (issue#14950, pr#7880, Owen Synge)
  • mon: fix locking in preinit error paths (issue#14473, pr#7353, huanwen ren)
  • mon: fix monmap creation stamp (pr#7459, duanweijun)
  • mon: fix reuse of osd ids (clear osd info on osd deletion) (issue#13988, pr#6900, Loic Dachary, Sage Weil)
  • mon: fix routed_request_tids leak (pr#6102, Ning Yao)
  • mon: fix sync of config-key data (pr#7363, Xiaowei Chen)
  • mon: fix the can’t change subscribe level bug in monitoring log (pr#7031, Zhiqiang Wang)
  • mon: go into ERR state if multiple PGs are stuck inactive (issue#13923, pr#7253, Wido den Hollander)
  • mon: initialize last_* timestamps on new pgs to creation time (issue#14952, pr#7980, Sage Weil)
  • mon: initialize recorded election epoch properly even when standalone (issue#13627, pr#6407, huanwen ren)
  • mon: make clock skew checks sane (issue#14175, pr#7141, Joao Eduardo Luis)
  • mon: mark_down_pgs in lockstep with pg_map’s osdmap epoch (pr#8208, Sage Weil)
  • mon/MDSMonitor: add confirmation to “ceph mds rmfailed” (issue#14379, pr#7248, Yan, Zheng)
  • mon/MDSMonitor.cc: properly note beacon when health metrics changes (issue#14684, pr#7757, Yan, Zheng)
  • mon: modify a dout level in OSDMonitor.cc (pr#6928, Yongqiang He)
  • mon/MonClient: avoid null pointer error when configured incorrectly (issue#14405, pr#7276, Bo Cai)
  • mon/MonClient: fix shutdown race (issue#13992, pr#8335, Sage Weil)
  • mon/monitor: some clean up (pr#7520, huanwen ren)
  • mon: MonmapMonitor: don’t expose uncommitted state to client (pr#6854, Joao Eduardo Luis)
  • mon/OSDMonitor: osdmap laggy set a maximum limit for interval (pr#7109, Zengran Zhang)
  • mon: osd [test-]reweight-by-{pg,utilization} command updates (pr#7890, Dan van der Ster, Sage Weil)
  • mon: paxos is_recovering calc error (pr#7227, Weijun Duan)
  • mon/PGMap: show rd/wr iops separately in status reports (pr#7072, Cilang Zhao)
  • mon: PGMonitor: acting primary diff with cur_stat, should not set pg to stale (pr#7083, Xiaowei Chen)
  • mon/PGMonitor: reliably mark PGs state (pr#8089, Sage Weil)
  • mon: PG Monitor should report waiting for backfill (issue#12744, pr#7398, Abhishek Lekshmanan)
  • mon/pgmonitor: use appropriate forced conversions in get_rule_avail (pr#7705, huanwen ren)
  • mon: reduce CPU and memory manager pressure of pg health check (pr#7482, Piotr Dałek)
  • mon: remove ‘mds setmap’ (issue#15136, pr#8121, Sage Weil)
  • mon: remove remove_legacy_versions() (pr#8324, Kefu Chai)
  • mon: remove unnecessary comment for update_from_paxos (pr#8400, Qinghua Jin)
  • mon: remove unused variable (issue#15292, pr#8337, Javier M. Mellid)
  • mon: revert MonitorDBStore’s WholeStoreIteratorImpl::get (issue#13742, pr#6522, Piotr Dałek)
  • mon: should not set isvalid = true when cephx_verify_authorizer return false (issue#13525, pr#6306, Ruifeng Yang)
  • mon: show the pool quota info on ceph df detail command (issue#14216, pr#7094, song baisen)
  • mon: some cleanup in MonmapMonitor.cc (pr#7418, huanwen ren)
  • mon: standardize Ceph removal commands (pr#7939, Dongsheng Yang)
  • mon: support min_down_reporter by subtree level (default by host) (pr#6709, Xiaoxi Chen)
  • mon: unconfuse object count skew message (pr#7882, Piotr Dałek)
  • mon: unregister command on shutdown (pr#7504, huanwen ren)
  • mon: warn if pg(s) not scrubbed (issue#13142, pr#6440, Michal Jarzabek)
  • mount.ceph: memory leaks (pr#6905, Qiankun Zheng)
  • mount.fuse.ceph: better parsing of arguments passed to mount.fuse.ceph by mount command (issue#14735, pr#7607, Florent Bautista)
  • mrun: update path to cmake binaries (pr#8447, Casey Bodley)
  • msg: add override to virutal methods (pr#6977, Michal Jarzabek)
  • msg: add thread safety for “random” Messenger + fix wrong usage of random functions (pr#7650, Avner BenHanoch)
  • msg/async: AsyncConnection: avoid debug log in cleanup_handler (pr#7547, Haomai Wang)
  • msg/async: AsyncConnection: avoid is_connected require connection’s lock (issue#15440, pr#8520, Haomai Wang)
  • msg/async: AsyncMessenger: fix several bugs (pr#7831, Haomai Wang)
  • msg/async: AsyncMessenger: fix valgrind leak (pr#7725, Haomai Wang)
  • msg/async: avoid log spam on throttle (issue#15031, pr#8263, Kefu Chai)
  • msg/async: bunch of fixes (pr#7379, Piotr Dałek)
  • msg/async: cleanup dead connection and misc things (pr#7158, Haomai Wang)
  • msg/async: don’t calculate msg header crc when not needed (pr#7815, Piotr Dałek)
  • msg/async: don’t use shared_ptr to manage EventCallback (pr#7028, Haomai Wang)
  • msg/async: Event: fix clock skew problem (pr#7949, Wei Jin)
  • msg/async: fix array boundary (pr#7451, Wei Jin)
  • msg: async: fix perf counter description and simplify _send_keepalive_or_ack (pr#8046, xie xingguo)
  • msg/async: fix potential race condition (pr#7453, Haomai Wang)
  • msg/async: fix send closed local_connection message problem (pr#7255, Haomai Wang)
  • msg/async: let receiver ack message ASAP (pr#6478, Haomai Wang)
  • msg/async: reduce extra tcp packet for message ack (pr#7380, Haomai Wang)
  • msg/async: remove experiment feature (pr#7820, Haomai Wang)
  • msg: async: small cleanups (pr#7871, xie xingguo)
  • msg/async: smarter MSG_MORE (pr#7625, Piotr Dałek)
  • msg: async: start over after failing to bind a port in specified range (issue#14928, issue#13002, pr#7852, xie xingguo)
  • msg/async: support of non-block connect in async messenger (issue#12802, pr#5848, Jianhui Yuan)
  • msg/async: _try_send trim already sent for outcoming_bl more efficient (pr#7970, Yan Jun)
  • msg/async: will crash if enabling async msg because of an assertion (pr#6640, Zhi Zhang)
  • msg: filter out lo addr when bind osd addr (pr#7012, Ji Chen)
  • msg: removed unneeded includes from Dispatcher (pr#6814, Michal Jarzabek)
  • msg: remove duplicated code - local_delivery will now call ‘enqueue’ (pr#7948, Avner BenHanoch)
  • msg: remove unneeded inline (pr#6989, Michal Jarzabek)
  • msgr: fix large message data content length causing overflow (pr#6809, Jun Huang, Haomai Wang)
  • msg: significantly reduce minimal memory usage of connections (pr#7567, Piotr Dałek)
  • msg/simple: pipe: memory leak when signature check failed (pr#7096, Ruifeng Yang)
  • msg/simple: remove unneeded friend declarations (pr#6924, Michal Jarzabek)
  • msg/xio: fix compilation (pr#7479, Roi Dayan)
  • msg/xio: fixes (pr#7603, Roi Dayan)
  • msg/xio: simple fixes (pr#8555, Avner BenHanoch)
  • mstart: start rgw on different ports as well (pr#8167, Abhishek Lekshmanan)
  • nfs for rgw (Matt Benjamin, Orit Wasserman) (pr#7634, Yehuda Sadeh, Matt Benjamin)
  • objecter: avoid recursive lock of Objecter::rwlock (pr#7343, Yan, Zheng)
  • organizationmap: modify org mail info. (pr#7240, Xiaowei Chen)
  • os/bluestore: a few fixes (pr#8193, Sage Weil)
  • os/bluestore/BlueFS: Before reap ioct, it should wait io complete (pr#8178, Jianpeng Ma)
  • os/bluestore/BlueStore: Don’t leak trim overlay data before write. (pr#7895, Jianpeng Ma)
  • os/bluestore: ceph-bluefs-tool fixes (issue#15261, pr#8292, Venky Shankar)
  • os/bluestore: clone overlay data (pr#7860, Jianpeng Ma)
  • os/bluestore: fix assert (issue#14436, pr#7293, xie xingguo)
  • os/bluestore: fix a typo in SPDK path parsing (pr#7601, Jianjian Huo)
  • os/bluestore: fix bluestore_wal_transaction_t encoding test (pr#7342, Kefu Chai)
  • os/bluestore: fix bluestore_wal_transaction_t encoding test (pr#7419, Kefu Chai, Brad Hubbard)
  • os/bluestore: fix shortened bluefs paths in env mirror case (pr#8498, Sage Weil)
  • os/bluestore: insert new onode to the front position of onode LRU (pr#7492, Jianjian Huo)
  • os/bluestore/KernelDevice: force block size (pr#8006, Sage Weil)
  • os/bluestore: make bluestore_sync_transaction = true can work. (pr#7674, Jianpeng Ma)
  • os/bluestore/NVMEDevice: make IO thread using dpdk launch (pr#8160, Haomai Wang)
  • os/bluestore/NVMEDevice: refactor probe/attach codes and support zero command (pr#7647, Haomai Wang)
  • os/bluestore: revamp BlueFS bdev management and add perfcounters (issue#15376, pr#8431, Sage Weil)
  • os/bluestore: small fixes in bluestore StupidAllocator (pr#8101, Jianjian Huo)
  • os/bluestore: use intrusive_ptr for Dir (pr#7247, Igor Fedotov)
  • osd: add cache hint when pushing raw clone during recovery (pr#7069, Zhiqiang Wang)
  • osd: Add config option osd_read_ec_check_for_errors for testing (pr#5865, David Zafman)
  • osd: add missing newline to usage message (pr#7613, Willem Jan Withagen)
  • osd: add osd op queue latency perfcounter (pr#5793, Haomai Wang)
  • osd: add pin/unpin support to cache tier (11066) (pr#6326, Zhiqiang Wang)
  • osd: add ‘proxy’ cache mode (issue#12814, pr#8210, Sage Weil)
  • osd: add scrub persist/query API (issue#13505, pr#6898, Kefu Chai, Samuel Just)
  • osd: add the support of per pool scrub priority (pr#7062, Zhiqiang Wang)
  • osd: a fix for HeartbeatDispatcher and cleanups (pr#7550, Kefu Chai)
  • osd: Allow repair of history.last_epoch_started using config (pr#6793, David Zafman)
  • osd: auto repair EC pool (issue#12754, pr#6196, Guang Yang)
  • osd: avoid calculating crush mapping for most ops (pr#6371, Sage Weil)
  • osd: avoid debug std::string initialization in PG::get/put (pr#7117, Evgeniy Firsov)
  • osd: avoid double-check for replaying and can_checkpoint() in FileStore::_check_replay_guard (pr#6471, Ning Yao)
  • osd: avoid duplicate op->mark_started in ReplicatedBackend (pr#6689, Jacek J. Łakis)
  • osd: avoid FORCE updating digest been overwritten by MAYBE when comparing scrub map (pr#7051, Zhiqiang Wang)
  • osd: avoid osd_op_thread suicide because osd_scrub_sleep (pr#7009, Jianpeng Ma)
  • osd: bail out of _committed_osd_maps if we are shutting down (pr#8267, Samuel Just)
  • osd: blockdevice: avoid implicit cast and add guard (pr#7460, xie xingguo)
  • osd: bluefs: fix alignment for odd page sizes (pr#7900, Dan Mick)
  • osd: bluestore: add ‘override’ to virtual functions (pr#7886, Michal Jarzabek)
  • osd: bluestore: allow _dump_onode dynamic accept log level (pr#7995, Jianpeng Ma)
  • osd: bluestore/blockdevice: use std::mutex et al (pr#7568, Sage Weil)
  • osd: bluestore: bluefs: fix several small bugs (issue#14344, issue#14343, pr#7200, xie xingguo)
  • osd: bluestore/BlueFS: initialize super block_size earlier in mkfs (pr#7535, Sage Weil)
  • osd: bluestore: don’t include when building without libaio (issue#14207, pr#7169, Mykola Golub)
  • osd: bluestore: fix bluestore onode_t attr leak (pr#7125, Ning Yao)
  • osd: bluestore: fix bluestore_wal_transaction_t encoding test (pr#7168, Kefu Chai)
  • osd: bluestore: fix check for write falling within the same extent (issue#14954, pr#7892, Jianpeng Ma)
  • osd: BlueStore: fix fsck and blockdevice read-relevant issue (pr#7362, xie xingguo)
  • osd: BlueStore: fix null pointer access (issue#14561, pr#7435, xie xingguo)
  • osd: bluestore: fix several bugs (issue#14259, issue#14353, issue#14260, issue#14261, pr#7122, xie xingguo)
  • osd: bluestore: fix space rebalancing, collection split, buffered reads (pr#7196, Sage Weil)
  • osd: bluestore: for overwrite a extent, allocate new extent on min_alloc_size write (pr#7996, Jianpeng Ma)
  • osd: bluestore: improve fs-type verification and tidy up (pr#7651, xie xingguo)
  • osd: bluestore, kstore: fix nid overwritten logic (issue#14407, issue#14433, pr#7283, xie xingguo)
  • osd: bluestore: misc fixes (pr#7658, Jianpeng Ma)
  • osd: bluestore: more fixes (pr#7130, Sage Weil)
  • osd: BlueStore/NVMEDevice: fix compiling and fd leak (pr#7496, xie xingguo)
  • osd: bluestore: NVMEDevice: fix error handling (pr#7799, xie xingguo)
  • osd: bluestore: remove unneeded includes (pr#7870, Michal Jarzabek)
  • osd: bluestore: Revert NVMEDevice task cstor and refresh interface changes (pr#7729, Haomai Wang)
  • osd: bluestore updates, scrub fixes (pr#8035, Sage Weil)
  • osd: bluestore: use btree_map for allocator (pr#7269, Igor Fedotov, Sage Weil)
  • osd: cache tier: add config option for eviction check list size (pr#6997, Yuan Zhou)
  • osd: call on_new_interval on newly split child PG (issue#13962, pr#6778, Sage Weil)
  • osd: cancel failure reports if we fail to rebind network (pr#6278, Xinze Chi)
  • osdc: Fix race condition with tick_event and shutdown (issue#14256, pr#7151, Adam C. Emerson)
  • osd: change mutex to spinlock to optimize thread context switch. (pr#6492, Xiaowei Chen)
  • osd: check do_shutdown before do_restart (pr#6547, Xiaoxi Chen)
  • osd: check health state before pre_booting (issue#14181, pr#7053, Xiaoxi Chen)
  • osd: clarify the scrub result report (pr#6534, Li Wang)
  • osd/ClassHandler: only dlclose() the classes not missing (pr#8354, Kefu Chai)
  • osd: clean up CMPXATTR checks (pr#5961, Jianpeng Ma)
  • osd: clean up temp object if copy-from fails (pr#8487, Sage Weil)
  • osd: clear pg_stat_queue after stopping pgs (issue#14212, pr#7091, Sage Weil)
  • osd: clear requeue_scrub_on_unblock flag after requeue scrub (pr#8570, xie xingguo)
  • osdc/Objecter: dout log after assign tid (pr#8202, Xinze Chi)
  • osdc/Objecter: fix narrow race with tid assignment (issue#14364, pr#7981, Sage Weil)
  • osdc/Objecter: use full pgid hash in PGNLS ops (pr#8378, Sage Weil)
  • osd: consider high/low mode when putting agent to sleep (issue#14752, pr#7631, Sage Weil)
  • osd: correctly handle small osd_scrub_interval_randomize_ratio (pr#7147, Samuel Just)
  • osdc/Striper: reduce assemble_result log level (pr#8426, Jason Dillaman)
  • osd: defer decoding of MOSDRepOp/MOSDRepOpReply (pr#6503, Xinze Chi)
  • osd: delay populating in-memory PG log hashmaps (pr#6425, Piotr Dałek)
  • osd: disable filestore_xfs_extsize by default (issue#14397, pr#7265, Ken Dreyer)
  • osd: do not keep ref of old osdmap in pg (issue#13990, pr#7007, Kefu Chai)
  • osd: don’t do random deep scrubs for user initiated scrubs (pr#6673, David Zafman)
  • osd: don’t update epoch and rollback_info objects attrs if there is no need (pr#6555, Ning Yao)
  • osd: drop deprecated removal pg type (pr#6970, Igor Podoski)
  • osd: drop fiemap len=0 logic (pr#7267, Sage Weil)
  • osd: drop the interim set from load_pgs() (pr#6277, Piotr Dałek)
  • osd: dump number of missing objects for each peer with pg query (pr#6058, Guang Yang)
  • osd: duplicated clear for peer_missing (pr#8315, Ning Yao)
  • osd: enable perfcounters on sharded work queue mutexes (pr#6455, Jacek J. Łakis)
  • osd: ensure new osdmaps commit before publishing them to pgs (issue#15073, pr#8096, Sage Weil)
  • osd: FileJournal: _fdump wrongly returns if journal is currently unreadable. (issue#13626, pr#6406, xie xingguo)
  • osd: FileJournal: fix return code of create method (issue#14134, pr#6988, xie xingguo)
  • osd: FileJournal: reduce locking scope in write_aio_bl (issue#12789, pr#5670, Zhi Zhang)
  • osd: filejournal: report journal entry count (pr#7643, tianqing)
  • osd: FileJournal: support batch peak and pop from writeq (pr#6701, Xinze Chi)
  • osd: FileStore: add a field indicate xattr only one chunk for set xattr. (pr#6244, Jianpeng Ma)
  • osd: FileStore: Added O_DSYNC write scheme (pr#7752, Somnath Roy)
  • osd: FileStore: add error check for object_map->sync() (pr#7281, Chendi Xue)
  • osd: FileStore: cleanup: remove obsolete option “filestore_xattr_use_omap” (issue#14356, pr#7217, Vikhyat Umrao)
  • osd: FileStore: conditional collection of drive metadata (pr#6956, Somnath Roy)
  • osd: filestore: FALLOC_FL_PUNCH_HOLE must be used with FALLOC_FL_KEEP_SIZE (pr#7768, xinxin shu)
  • osd: filestore: fast abort if statfs encounters ENOENT (pr#7703, xie xingguo)
  • osd: FileStore: fix initialization order for m_disable_wbthrottle (pr#8067, Samuel Just)
  • osd: filestore: fix race condition with split vs collection_move_rename and long object names (issue#14766, pr#8136, Samuel Just)
  • osd: filestore: fix result code overwritten for clone (issue#14817, issue#14827, pr#7711, xie xingguo)
  • osd: filestore: fix wrong scope of result code for error cases during mkfs (issue#14814, pr#7704, xie xingguo)
  • osd: filestore: fix wrong scope of result code for error cases during mount (issue#14815, pr#7707, xie xingguo)
  • osd: FileStore: LFNIndex: remove redundant local variable ‘obj’. (issue#13552, pr#6333, xiexingguo)
  • osd: FileStore: modify the format of colon (pr#7333, Donghai Xu)
  • osd: FileStore:: optimize lfn_unlink (pr#6649, Jianpeng Ma)
  • osd: FileStore: potential memory leak if _fgetattrs fails (issue#13597, pr#6377, xie xingguo)
  • osd: FileStore: print file name before osd assert if read file failed (pr#7111, Ji Chen)
  • osd: FileStore: remove __SWORD_TYPE dependency (pr#6263, John Coyle)
  • osd: FileStore: remove unused local variable ‘handle’ (pr#6381, xie xingguo)
  • osd: filestore: restructure journal and op queue throttling (pr#7767, Samuel Just)
  • osd: FileStore: support multiple ondisk finish and apply finishers (pr#6486, Xinze Chi, Haomai Wang)
  • osd: FileStore: use pwritev instead of lseek+writev (pr#7349, Haomai Wang, Tao Chang)
  • osd: fix bogus scrub results when missing a clone (issue#12738, issue#12740, pr#5783, David Zafman)
  • osd: fix broken balance / localized read handling (issue#13491, pr#6364, Jason Dillaman)
  • osd: fix bug in last_* PG state timestamps (pr#6517, Li Wang)
  • osd: fix bugs for omap ops (pr#8230, Jianpeng Ma)
  • osd: fix ClassHandler::ClassData::get_filter() (pr#6747, Yan, Zheng)
  • osd: fix/clean up full map request handling (pr#8446, Sage Weil)
  • osd: fix debug message in OSD::is_healthy (pr#6226, Xiaoxi Chen)
  • osd: fix dirtying info without correctly setting drity_info field (pr#8275, xie xingguo)
  • osd: fix dump_ops_in_flight races (issue#8885, pr#8044, David Zafman)
  • osd: fix epoch check in handle_pg_create (pr#8382, Samuel Just)
  • osd: fixes for several cases where op result code was not checked or set (issue#13566, pr#6347, xie xingguo)
  • osd: fix failure report handling during ms_handle_connect() (pr#8348, xie xingguo)
  • osd: fix FileStore::_destroy_collection error return code (pr#6612, Ruifeng Yang)
  • osd: fix forced prmootion for CALL ops (issue#14745, pr#7617, Sage Weil)
  • osd: fix fusestore hanging during stop/quit (issue#14786, pr#7677, xie xingguo)
  • osd: fix inaccurate counter and skip over queueing an empty transaction (pr#7754, xie xingguo)
  • osd: fix incorrect throttle in WBThrottle (pr#6713, Zhang Huan)
  • osd: fix invalid list traversal in process_copy_chunk (pr#7511, Samuel Just)
  • osd: fix lack of object unblock when flush fails (issue#14511, pr#7584, Igor Fedotov)
  • osd: fix log info (pr#8273, Wei Jin)
  • osd: fix MOSDOp encoding (pr#6174, Sage Weil)
  • osd: fix MOSDRepScrub reference counter in replica_scrub (pr#6730, Jie Wang)
  • osd: fix null pointer access and race condition (issue#14072, pr#6916, xie xingguo)
  • osd: fix overload of ‘==’ operator for pg_stat_t (issue#14921, pr#7842, xie xingguo)
  • osd: fix race condition for heartbeat_need_update (issue#14387, pr#7739, xie xingguo)
  • osd: fix reactivate (check OSDSuperblock in mkfs() when we already have the superblock) (issue#13586, pr#6385, Vicente Cheng)
  • osd: fix reference count, rare race condition etc. (pr#8254, xie xingguo)
  • osd: fix return value from maybe_handle_cache_detail() (pr#7593, Igor Fedotov)
  • osd: fix rollback_info_trimmed_to before index() (issue#13965, pr#6801, Samuel Just)
  • osd: fix scrub start hobject (pr#7467, Sage Weil)
  • osd: fix sparse-read result code checking logic (issue#14151, pr#7016, xie xingguo)
  • osd: fix temp object removal after upgrade (issue#13862, pr#6976, David Zafman)
  • osd: fix tick relevant issues (pr#8369, xie xingguo)
  • osd: fix trivial scrub bug (pr#6533, Li Wang)
  • osd: fix two scrub relevant issues (pr#8462, xie xingguo)
  • osd: fix unnecessary object promotion when deleting from cache pool (issue#13894, pr#7537, Igor Fedotov)
  • osd: fix watch reconnect race (issue#15441, pr#8586, Sage Weil)
  • osd: fix wip (l_osd_op_wip) perf counter and remove repop_map (pr#7077, Xinze Chi)
  • osd: fix wrongly placed assert and some cleanups (pr#6766, xiexingguo, xie xingguo)
  • osd: fix wrong return type of find_osd_on_ip() (issue#14872, pr#7812, xie xingguo)
  • osd: fix wrong use of right parenthesis in localized read logic (pr#6566, Jie Wang)
  • osd: ghobject_t: use ! instead of @ as a separator (pr#7595, Sage Weil)
  • osd: handle dup pg_create that races with pg deletion (pr#8033, Sage Weil)
  • osd: improve temperature calculation for cache tier agent (pr#4737, MingXin Liu)
  • osd: initialize last_recalibrate field at construction (pr#8071, xie xingguo)
  • osd: init started to 0 (issue#13206, pr#6107, Sage Weil)
  • osd: KeyValueStore: don’t queue NULL context (pr#6783, Haomai Wang)
  • osd: KeyValueStore: fix return code of mkfs (pr#7036, xie xingguo)
  • osd: KeyValueStore: fix the name’s typo of keyvaluestore_default_strip_size (pr#6375, Zhi Zhang)
  • osd: KeyValueStore: fix wrongly placed assert (issue#14176, issue#14178, pr#7047, xie xingguo)
  • osd: kstore: fix a race condition in _txc_finish() (pr#7804, Jianjian Huo)
  • osd: kstore: latency breakdown (pr#7850, James Liu)
  • osd: kstore: several small fixes (issue#14351, issue#14352, pr#7213, xie xingguo)
  • osd: kstore: small fixes to kstore (issue#14204, pr#7095, xie xingguo)
  • osd: kstore: sync up kstore with recent bluestore updates (pr#7681, Jianjian Huo)
  • osd: make backend and block device code a bit more generic (pr#6759, Sage Weil)
  • osd: make list_missing query missing_loc.needs_recovery_map (pr#6298, Guang Yang)
  • osdmap: remove unused local variables (pr#6864, luo kexue)
  • osdmap: rm nonused variable (pr#8423, Wei Jin)
  • osd: memstore: fix alignment of Page for test_pageset (pr#7587, Casey Bodley)
  • osd: memstore: fix two bugs (pr#6963, Casey Bodley, Sage Weil)
  • osd: merge local_t and op_t txn to single one (pr#6439, Xinze Chi)
  • osd: min_write_recency_for_promote & min_read_recency_for_promote are tiering only (pr#8081, huanwen ren)
  • osd: misc FileStore fixes (issue#14192, issue#14188, issue#14194, issue#14187, issue#14186, pr#7059, xie xingguo)
  • osd: misc optimization for map utilization (pr#6950, Ning Yao)
  • osd, mon: fix exit issue (pr#7420, Jiaying Ren)
  • osd,mon: log leveldb and rocksdb to ceph log (pr#6921, Sage Weil)
  • osd: more fixes for incorrectly dirtying info; resend reply for duplicated scrub-reserve req (pr#8291, xie xingguo)
  • osd: move newest decode version of MOSDOp and MOSDOpReply to the front (pr#6642, Jacek J. Łakis)
  • osd: new and delete ObjectStore::Transaction in a function is not necessary (pr#6299, Ruifeng Yang)
  • osd: newstore: misc updates (including kv and os/fs stuff) (pr#6609, Sage Weil)
  • osd: note down the number of missing clones (pr#6654, Kefu Chai)
  • osd: Omap small bugs adapted (pr#6669, Jianpeng Ma, David Zafman)
  • osd: optimize clone write path if object-map is enabled (pr#6403, xinxin shu)
  • osd: optimize get_object_context (pr#6305, Jianpeng Ma)
  • osd: optimize MOSDOp/do_op/handle_op (pr#5211, Jacek J. Lakis)
  • osd: optimize scrub subset_last_update calculation (pr#6518, Li Wang)
  • osd: optimize the session_handle_reset function (issue#14182, pr#7054, songbaisen)
  • osd: os/chain_xattr: On linux use linux/limits.h for XATTR_NAME_MAX. (pr#6343, John Coyle)
  • osd/OSD.cc: finish full_map_request every MOSDMap message. (issue#15130, pr#8147, Xiaoxi Chen)
  • osd/OSD: fix build_past_intervals_parallel (pr#8215, David Zafman)
  • osd/OSDMap: fix typo in summarize_mapping_stats (pr#8088, Sage Weil)
  • osd: OSDMap: reset osd_primary_affinity shared_ptr when deepish_copy_from (issue#14686, pr#7553, Xinze Chi)
  • osd: OSDService: Fix typo in osdmap comment (pr#7275, Brad Hubbard)
  • osd: os: skip checking pg_meta object existance in FileStore (pr#6870, Ning Yao)
  • osd: partial revert of “ReplicatedPG: result code not correctly set in some cases.” (issue#13796, pr#6622, Sage Weil)
  • osd: PG::activate(): handle unexpected cached_removed_snaps more gracefully (issue#14428, pr#7309, Alexey Sheplyakov)
  • osd/PG: indicate in pg query output whether ignore_history_les would help (pr#8156, Sage Weil)
  • osd: PGLog: clean up read_log (pr#7092, Jie Wang)
  • osd/PGLog: fix warning (pr#8057, Sage Weil)
  • osd/PG: pg down state blocked by osd.x, lost osd.x cannot solve peering stuck (issue#13531, pr#6317, Xiaowei Chen)
  • osd: pg_pool_t: add dictionary for pool options (issue#13077, pr#6081, Mykola Golub)
  • osd: PG: set epoch_created and parent_split_bits for child pg (issue#15426, pr#8552, Kefu Chai)
  • osd: prevent osd_recovery_sleep from causing recovery-thread suicide (pr#7065, Jianpeng Ma)
  • osd: probabilistic cache tier promotion throttling (pr#7465, Sage Weil)
  • osd: randomize deep scrubbing (pr#6550, Dan van der Ster, Herve Rousseau)
  • osd: reduce memory consumption of some structs (pr#6475, Piotr Dałek)
  • osd: reduce string use in coll_t::calc_str() (pr#6505, Igor Podoski)
  • osd: refuse to start if object name limits are not possible (pr#8560, Sage Weil)
  • osd: release related sources when scrub is interrupted (pr#6744, Jianpeng Ma)
  • osd: release the message throttle when OpRequest unregistered (issue#14248, pr#7148, Samuel Just)
  • osd: remove __SWORD_TYPE dependency (pr#6262, John Coyle)
  • osd: remove unused OSDMap::set_weightf() (issue#14369, pr#7231, huanwen ren)
  • osd: remove up_thru_pending field, which is never used (pr#7991, xie xingguo)
  • osd: reorder bool fields in PGLog struct (pr#6279, Piotr Dałek)
  • osd: Replace snprintf with faster implementation in eversion_t::get_key_name (pr#7121, Evgeniy Firsov)
  • osd/ReplicatedPG: be more careful about calling publish_stats_to_osd() (issue#14962, pr#8039, Greg Farnum)
  • osd: replicatedpg: break out loop if we encounter fatal error during do_pg_op() (issue#14922, pr#7844, xie xingguo)
  • osd: ReplicatedPG: clean up unused function (pr#7211, Xiaowei Chen)
  • osd/ReplicatedPG: clear watches on change after applying repops (issue#15151, pr#8163, Sage Weil)
  • osd/ReplicatedPG: fix implementation of register_on_success() (pr#8612, xie xingguo)
  • osd/ReplicatedPG: fix promotion recency logic (issue#14320, pr#6702, Sage Weil)
  • osd/ReplicatedPG: make handle_watch_timeout no-op if !active (issue#15391, pr#8505, Sage Weil)
  • osd: ReplicatedPG: remove unused local variables (issue#13575, pr#6360, xiexingguo)
  • osd/ReplicatedPG::_rollback_to: update the OMAP flag (issue#14777, pr#8495, Samuel Just)
  • osd: repop and lost-unfound overhaul (pr#7765, Samuel Just)
  • osd: reset primary and up_primary when building a new past_interval. (issue#13471, pr#6240, xiexingguo)
  • osd: resolve boot vs NOUP set + clear race (pr#7483, Sage Weil)
  • osd: scrub: do not assign value if read error (pr#6568, Li Wang)
  • osd/ScrubStore: remove unused function (pr#8045, Kefu Chai)
  • osd: several small cleanups (pr#7055, xie xingguo)
  • osd: shut down if we flap too many times in a short period (pr#6708, Xiaoxi Chen)
  • osd: skip promote for writefull w/ FADVISE_DONTNEED/NOCACHE (pr#7010, Jianpeng Ma)
  • osd: slightly reduce actual size of pg_log_entry_t (pr#6690, Piotr Dałek)
  • osd: small fixes to memstore (issue#14228, issue#14229, issue#14227, pr#7107, xie xingguo)
  • osd: some debug output for old osdmap trimming (pr#8613, Sage Weil)
  • osd: support pool level recovery_priority and recovery_op_priority (pr#5953, Guang Yang)
  • osd: try evicting after flushing is done (pr#5630, Zhiqiang Wang)
  • osd: use atomic to generate ceph_tid (pr#7017, Evgeniy Firsov)
  • osd: use optimized is_zero in object_stat_sum_t.is_zero() (pr#7203, Piotr Dałek)
  • osd: use pg id (without shard) when referring the PG (pr#6236, Guang Yang)
  • osd: utime_t, eversion_t, osd_stat_sum_t encoding optimization (pr#6902, Xinze Chi)
  • osd: WeightedPriorityQueue: move to intrusive containers (pr#7654, Robert LeBlanc)
  • osd: write file journal optimization (pr#6484, Xinze Chi)
  • os/filestore/FileJournal: set block size via config option (pr#7628, Sage Weil)
  • os/filestore: fix punch hole usage in _zero (pr#8050, Sage Weil)
  • os/filestore: fix result handling logic of destroy_collection (pr#7721, xie xingguo)
  • os/filestore: fix return type mismatch for lfn parse (pr#8545, xie xingguo)
  • os/filestore: force lfn attrs to be written atomically, restructure name length limits (pr#8496, Samuel Just)
  • os/filestore: require offset == length == 0 for full object read; add test (pr#7957, Jianpeng Ma)
  • os/fs: fix io_getevents argument (pr#7355, Jingkai Yuan)
  • os/fusestore: add error handling (pr#7395, xie xingguo)
  • os/keyvaluestore: kill KeyValueStore (pr#7320, Haomai Wang)
  • os/kstore: insert new onode to the front position of onode LRU (pr#7505, xie xingguo)
  • os/ObjectStore: add custom move operations for ObjectStore::Transaction (pr#7303, Casey Bodley)
  • os/ObjectStore: add noexcept to ensure move ctor is used (pr#8421, Kefu Chai)
  • os/ObjectStore: fix _update_op for split dest_cid (pr#8364, Sage Weil)
  • os/ObjectStore: implement more efficient get_encoded_bytes() (pr#7775, Piotr Dałek)
  • os/ObjectStore: make device uuid probe output something friendly (pr#8418, Sage Weil)
  • os/ObjectStore: try_move_rename in transaction append and add coverage to store_test (issue#15205, pr#8359, Samuel Just)
  • packaging: add build dependency on python devel package (pr#7205, Josh Durgin)
  • packaging: make infernalis -> jewel upgrade work (issue#15047, pr#8034, Nathan Cutler)
  • packaging: move cephfs repair tools to ceph-common (issue#15145, pr#8133, Boris Ranto, Ken Dreyer)
  • pybind: add ceph_volume_client interface for Manila and similar frameworks (pr#6205, John Spray)
  • pybind: add flock to libcephfs python bindings (pr#7902, John Spray)
  • pybind/cephfs: add symlink and its unit test (pr#6323, Shang Ding)
  • pybind: decode empty string in conf_parse_argv() correctly (pr#6711, Josh Durgin)
  • pybind: Ensure correct python flags are passed (pr#7663, James Page)
  • pybind: fix build failure, remove extraneous semicolon in method (issue#14371, pr#7235, Abhishek Lekshmanan)
  • pybind: flag an RBD image as closed regardless of result code (pr#8005, Jason Dillaman)
  • pybind: Implementation of rados_ioctx_snapshot_rollback (pr#6878, Florent Manens)
  • pybind/Makefile.am: Prevent race creating CYTHON_BUILD_DIR (issue#15276, pr#8356, Dan Mick)
  • pybind: move cephfs to Cython (pr#7745, John Spray, Mehdi Abaakouk)
  • pybind: port the rbd bindings to Cython (issue#13115, pr#6768, Hector Martin)
  • pybind/rados: fix object lifetime issues and other bugs in aio (pr#7778, Hector Martin)
  • pybind/rados: fix omap method return values (pr#8603, Roland Mechler)
  • pybind/rados: python3 fix (pr#8331, Mehdi Abaakouk)
  • pybind/rados: use __dealloc__ since __del__ is ignored by cython (pr#7692, Mehdi Abaakouk)
  • pybind: remove next() on iterators (pr#7706, Mehdi Abaakouk)
  • pybind: replace __del__ with __dealloc__ for rbd (pr#7708, Josh Durgin)
  • pybind: support ioctx:exec (pr#6795, Noah Watkins)
  • pybind/test_rbd: fix test_create_defaults (issue#14279, pr#7155, Josh Durgin)
  • pybind: use correct subdir for rados install-exec rule (pr#7684, Josh Durgin)
  • python binding of librados with cython (pr#7621, Mehdi Abaakouk)
  • python: use pip instead of python setup.py (pr#7605, Loic Dachary)
  • qa: add workunit to run ceph_test_rbd_mirror (pr#8221, Josh Durgin)
  • qa: disable rbd/qemu-iotests test case 055 on RHEL/CentOSlibrbd: journal replay should honor inter-event dependencies (issue#14385, pr#7272, Jason Dillaman)
  • qa: erasure-code benchmark plugin selection (pr#6685, Loic Dachary)
  • qa/krbd: Expunge generic/247 (pr#6831, Douglas Fuller)
  • qa: update rest test cephfs calls (issue#15309, pr#8372, John Spray)
  • qa: update rest test cephfs calls (part 2) (issue#15309, pr#8393, John Spray)
  • qa/workunits/cephtool/test.sh: false positive fail on /tmp/obj1. (pr#6837, Robin H. Johnson)
  • qa/workunits/cephtool/test.sh: no ./ (pr#6748, Sage Weil)
  • qa/workunits/cephtool/test.sh: wait longer in ceph_watch_start() (issue#14910, pr#7861, Kefu Chai)
  • qa/workunits: merge_diff shouldn’t attempt to use striping (issue#14165, pr#7041, Jason Dillaman)
  • qa/workunits/rados: Test exit values on test.sh, fix tier.cc (issue#15165, pr#8266, Samuel Just)
  • qa/workunits/rados/test.sh: capture stderr too (pr#8004, Sage Weil)
  • qa/workunits/rados/test.sh: test tmap_migrate (pr#8114, Sage Weil)
  • qa/workunits/rbd: do not use object map during read flag testing (pr#8104, Jason Dillaman)
  • qa/workunits/rbd: new online maintenance op tests (pr#8216, Jason Dillaman)
  • qa/workunits/rbd: rbd-nbd test should use sudo for map/unmap ops (issue#14221, pr#7101, Jason Dillaman)
  • qa/workunits/rbd: use POSIX function definition (issue#15104, pr#8068, Nathan Cutler)
  • qa/workunits/rest/test.py: add confirmation to ‘mds setmap’ (issue#14606, pr#7982, Sage Weil)
  • qa/workunits/rest/test.py: don’t use newfs (pr#8191, Sage Weil)
  • qa/workunits/snaps: move snap tests into fs sub-directory (pr#6496, Yan, Zheng)
  • rados: add ceph:: namespace to bufferlist type (pr#8059, Noah Watkins)
  • rados: bench: fix off-by-one to avoid writing past object_size (pr#6677, Tao Chang)
  • rados: fix bug for write bench (pr#7851, James Liu)
  • radosgw-admin: allow ‘period pull –url’ without full multisite config (pr#8567, Casey Bodley)
  • radosgw-admin: allow (pr#8529, Orit Wasserman)
  • radosgw-admin: Checking the legality of the parameters (issue#13018, pr#5879, Qiankun Zheng)
  • radosgw-admin: Create –secret-key alias for –secret (issue#5821, pr#5335, Yuan Zhou)
  • radosgw-admin: fix for ‘realm pull’ (pr#8404, Casey Bodley)
  • radosgw-admin: metadata list user should return an empty list when user pool is empty (issue#13596, pr#6465, Orit Wasserman)
  • radosgw-admin: ‘period commit’ supplies user-readable error messages (pr#8264, Casey Bodley)
  • rados: implement rm –force option to force remove when full (pr#6202, Xiaowei Chen)
  • rados: new options for write benchmark (pr#6340, Joaquim Rocha)
  • rbd: accept –user, refuse -i command-line optionals (pr#6590, Ilya Dryomov)
  • rbd: additional validation for striping parameters (pr#6914, Na Xie)
  • rbd: add missing command aliases to refactored CLI (issue#13806, pr#6606, Jason Dillaman)
  • rbd: add –object-size option, deprecate –order (issue#12112, pr#6830, Vikhyat Umrao)
  • rbd: add pool name to disambiguate rbd admin socket commands (pr#6904, wuxiangwei)
  • rbd: add RBD pool mirroring configuration API + CLI (pr#6129, Jason Dillaman)
  • rbd: add support for mirror image promotion/demotion/resync (pr#8138, Jason Dillaman)
  • rbd: allow librados to prune the command-line for config overrides (issue#15250, pr#8282, Jason Dillaman)
  • rbd: clone operation should default to image format 2 (pr#8119, Jason Dillaman)
  • rbd: correct an output string for merge-diff (pr#7046, Kongming Wu)
  • rbd: deprecate image format 1 (pr#7841, Jason Dillaman)
  • rbd: dynamically generated bash completion (issue#13494, pr#6316, Jason Dillaman)
  • rbd: fix build with “–without-rbd” (issue#14058, pr#6899, Piotr Dałek)
  • rbd: fix clone isssue (issue#13553, pr#6334, xinxin shu)
  • rbd: fixes for refactored CLI and related tests (pr#6738, Ilya Dryomov)
  • rbd: fix init-rbdmap CMDPARAMS (issue#13214, pr#6109, Sage Weil)
  • rbd: fix static initialization ordering issues (pr#6978, Mykola Golub)
  • rbd-fuse: image name can not include snap name (pr#7044, Yongqiang He)
  • rbd-fuse: implement mv operation (pr#6938, wuxiangwei)
  • rbd: journal: configuration via conf, cli, api and some fixes (pr#6665, Mykola Golub)
  • rbd: journal reset should disable/re-enable journaling feature (issue#15097, pr#8490, Jason Dillaman)
  • rbd: loosen image spec validation requirements (pr#8606, Jason Dillaman)
  • rbd: make config changes actually apply (pr#6520, Mykola Golub)
  • rbdmap: add manpage (issue#15212, pr#8224, Nathan Cutler)
  • rbdmap: systemd support (issue#13374, pr#6479, Boris Ranto)
  • rbd: merge_diff test should use new –object-size parameter instead of –order (issue#14106, pr#6972, Na Xie, Jason Dillaman)
  • rbd-mirror: asok commands to get status and flush on Mirror and Replayer level (pr#8235, Mykola Golub)
  • rbd-mirror: enabling/disabling pool mirroring should update the mirroring directory (issue#15217, pr#8261, Ricardo Dias)
  • rbd-mirror: fix image replay test failures (pr#8158, Jason Dillaman)
  • rbd-mirror: fix long termination due to 30sec wait in main loop (pr#8185, Mykola Golub)
  • rbd-mirror: fix missing increment for iterators (pr#8352, runsisi)
  • rbd-mirror: ImageReplayer async start/stop (pr#7944, Mykola Golub)
  • rbd-mirror: ImageReplayer improvements (pr#7759, Mykola Golub)
  • rbd-mirror: implement ImageReplayer (pr#7614, Mykola Golub)
  • rbd-mirror: initial failover / failback support (pr#8287, Jason Dillaman)
  • rbd-mirror: integrate with image sync state machine (pr#8079, Jason Dillaman)
  • rbd-mirror: make remote context respect env and argv config params (pr#8182, Mykola Golub)
  • rbd-mirror: minor fix-ups for initial skeleton implementation (pr#7958, Mykola Golub)
  • rbd-mirror: prevent enabling/disabling an image’s mirroring when not in image mode (issue#15267, pr#8332, Ricardo Dias)
  • rbd-mirror: remote to local cluster image sync (pr#7979, Jason Dillaman)
  • rbd-mirror: switch fsid over to mirror uuid (issue#15238, pr#8280, Ricardo Dias)
  • rbd-mirror: use pool/image names in asok commands (pr#8159, Mykola Golub)
  • rbd-mirror: use the mirroring directory to detect candidate images (issue#15142, pr#8162, Ricardo Dias)
  • rbd-mirror: workaround for intermingled lockdep singletons (pr#8476, Jason Dillaman)
  • rbd: must specify both of stripe-unit and stripe-count when specifying stripingv2 feature (pr#7026, Donghai Xu)
  • rbd-nbd: add copyright (pr#7166, Li Wang)
  • rbd-nbd: fix up return code handling (pr#7215, Mykola Golub)
  • rbd-nbd: network block device (NBD) support for RBD (pr#6657, Yunchuan Wen, Li Wang)
  • rbd-nbd: small improvements in logging and forking (pr#7127, Mykola Golub)
  • rbd: output formatter may not be closed upon error (issue#13711, pr#6706, xie xingguo)
  • rbd: rbdmap improvements (pr#6445, Boris Ranto)
  • rbd: rbd order will be place in 22, when set to 0 in the config_opt (issue#14139, issue#14047, pr#6886, huanwen ren)
  • rbd: refactor cli command handling (pr#5987, Jason Dillaman)
  • rbd/run_cli_tests.sh: Reflect test failures (issue#14825, pr#7781, Zack Cerza)
  • rbd: stripe unit/count set incorrectly from config (pr#6593, Mykola Golub)
  • rbd: striping parameters should support 64bit integers (pr#6942, Na Xie)
  • rbd: support for enabling/disabling mirroring on specific images (issue#13296, pr#8056, Ricardo Dias)
  • rbd: support negative boolean command-line optionals (issue#13784, pr#6607, Jason Dillaman)
  • rbd: unbreak rbd map + cephx_sign_messages option (pr#6583, Ilya Dryomov)
  • rbd: update default image features (pr#7846, Jason Dillaman)
  • rbd: use default order from configuration when not specified (pr#6965, Yunchuan Wen)
  • release-notes: draft v0.94.4 release notes (pr#5907, Loic Dachary)
  • release-notes: draft v0.94.4 release notes (pr#6195, Loic Dachary)
  • release-notes: draft v0.94.4 release notes (pr#6238, Loic Dachary)
  • release-notes: draft v0.94.6 release notes (issue#13356, pr#7689, Abhishek Varshney, Loic Dachary)
  • release-notes: draft v10.0.3 release notes (pr#7592, Loic Dachary)
  • release-notes: draft v10.0.4 release notes (pr#7966, Loic Dachary)
  • release-notes: draft v9.2.1 release notes (issue#13750, pr#7694, Abhishek Varshney)
  • release-notes: v10.1.2 release notes (pr#8594, Loic Dachary)
  • releases: what is merged where and when ? (pr#8358, Loic Dachary)
  • rgw: accept data only at the first time in response to a request (pr#8084, sunspot)
  • rgw: add a few more help options in admin interface (pr#8410, Abhishek Lekshmanan)
  • rgw: add a method to purge all associate keys when removing a subuser (issue#12890, pr#6002, Sangdi Xu)
  • rgw: add a missing cap type (pr#6774, Yehuda Sadeh)
  • rgw: add an inspection to the field of type when assigning user caps (pr#6051, Kongming Wu)
  • rgw: Add a test for multi-tenancy (pr#8592, Pete Zaitcev)
  • rgw: add bucket request payment feature usage statistics integration (issue#13834, pr#6656, Javier M. Mellid)
  • rgw: add compat header for TEMP_FAILURE_RETRY (pr#6294, John Coyle)
  • rgw: add default quota config (pr#6400, Daniel Gryniewicz)
  • rgw: add LifeCycle feature (pr#6331, Ji Chen)
  • rgw: add missing error code for admin op API (pr#7037, Dunrong Huang)
  • rgw: adds the radosgw-admin sync status command that gives a human readable status of the sync process at a specific zone (pr#8030, Yehuda Sadeh)
  • rgw: add support for caching of Keystone admin token. (pr#7630, Radoslaw Zarzynski)
  • rgw: add support for “end_marker” parameter for GET on Swift account. (issue#10682, pr#4216, Radoslaw Zarzynski)
  • rgw: add support for getting Swift’s DLO without manifest handling (pr#6206, Radoslaw Zarzynski)
  • rgw: add support for metadata upload during PUT on Swift container. (pr#8002, Radoslaw Zarzynski)
  • rgw: add support for Static Large Objects of Swift API (issue#12886, issue#13452, pr#6643, Yehuda Sadeh, Radoslaw Zarzynski)
  • rgw: add support for system requests over Swift API (pr#7666, Radoslaw Zarzynski)
  • rgw: add zone delete to rgw-admin help (pr#8184, Abhishek Lekshmanan)
  • rgw: adjust error code when bucket does not exist in copy operation (issue#14975, pr#7916, Yehuda Sadeh)
  • rgw: adjust the request_uri to support absoluteURI of http request (issue#12917, pr#7675, Wenjun Huang)
  • rgw: admin api for retrieving usage info (Ji Chen) (pr#8031, Yehuda Sadeh, Ji Chen)
  • rgw_admin: improve period update errors (issue#15251, pr#8564, Abhishek Lekshmanan)
  • rgw_admin: orphans finish segfaults (pr#6652, Igor Fedotov)
  • rgw-admin: remove unused iterator and fix error message (pr#8507, Karol Mroz)
  • rgw_admin: remove unused parent_period arg (pr#8411, Abhishek Lekshmanan)
  • rgw: Allow an implicit tenant in case of Keystone (pr#8139, Pete Zaitcev)
  • rgw: allow authentication keystone with self signed certs (issue#14853, issue#13422, pr#7777, Abhishek Lekshmanan)
  • rgw: approximate AmazonS3 HostId error field. (pr#7444, Robin H. Johnson)
  • rgw: aws4: handle UNSIGNED-PAYLOAD under header auth (issue#15499, pr#8601, Javier M. Mellid)
  • rgw: aws4 subdomain calling bugfix (issue#15369, pr#8472, Javier M. Mellid)
  • rgw: bucket link now set the bucket.instance acl (bug fix) (issue#11076, pr#8037, Zengran Zhang)
  • rgw: bucket request payment support (issue#13427, pr#6214, Javier M. Mellid)
  • rgw: Bug fix for mtime anomalies in RadosGW and other places (pr#7328, Adam C. Emerson, Casey Bodley)
  • rgw: build-related fixes (pr#8076, Yehuda Sadeh, Matt Benjamin)
  • rgw: calculate payload hash in RGWPutObj_ObjStore only when necessary. (pr#7869, Radoslaw Zarzynski)
  • rgw: call rgw_log_usage_finalize() on reconfiguration (pr#8585, Casey Bodley)
  • rgw: Check return code in RGWFileHandle::write (pr#7875, Brad Hubbard)
  • rgw: check the return value when call fe->run() (issue#14585, pr#7457, wei qiaomiao)
  • rgw: clarify the error message when trying to create an existed user (pr#5938, Zeqiang Zhuang)
  • rgw: cleanups to comments and messages (pr#7633, Pete Zaitcev)
  • rgw: content length (issue#13582, pr#6975, Yehuda Sadeh)
  • rgw: convert plain object to versioned (with null version) when removing (issue#15243, pr#8268, Yehuda Sadeh)
  • rgw: delete default zone (pr#7005, YankunLi)
  • rgw: do not abort radowgw server when using admin op API with bad parameters (issue#14190, issue#14191, pr#7063, Dunrong Huang)
  • rgw: Do not send a Content-Type on a ‘304 Not Modified’ response (issue#15119, pr#8253, Wido den Hollander)
  • rgw: don’t use s->bucket for metadata api path entry (issue#14549, pr#7408, Yehuda Sadeh)
  • rgw: Drop a debugging message (pr#7280, Pete Zaitcev)
  • rgw: drop permissions of rgw/civetweb after startup (issue#13600, pr#8019, Karol Mroz)
  • rgw: Drop unused usage_exit from rgw_admin.cc (pr#7632, Pete Zaitcev)
  • rgw: Ensure xmlns is consistent on S3 responses. (pr#8526, Robin H. Johnson)
  • rgw: extend rgw_extended_http_attrs to affect Swift accounts and containers as well (pr#5969, Radoslaw Zarzynski)
  • rgw: fcgi should include acconfig (pr#7760, Abhishek Lekshmanan)
  • rgw_file: set owner uid, gid, and Unix mode on new objects (pr#8321, Matt Benjamin)
  • rgw: file unix (pr#8563, Matt Benjamin)
  • rgw: fix a glaring syntax error (pr#6888, Pavan Rallabhandi)
  • rgw: fix a typo in error message (pr#8434, Abhishek Lekshmanan)
  • rgw: fix a typo in init-radosgw (pr#6817, Zhi Zhang)
  • rgw: fix binfo_cache, RGWShardCollectCR (pr#8619, Yehuda Sadeh)
  • rgw: fix compilation warning (pr#7160, Yehuda Sadeh)
  • rgw: fix compiling error (pr#8394, xie xingguo)
  • rgw: fixes for per-period metadata logs (pr#7827, Casey Bodley)
  • rgw: fix lockdep false positive (pr#8284, Yehuda Sadeh)
  • rgw: fix mdlog (pr#8183, Orit Wasserman)
  • rgw: fix objects can not be displayed which object name does not cont… (issue#12963, pr#5738, Weijun Duan)
  • rgw: fix openssl linkage (pr#6513, Yehuda Sadeh)
  • rgw: fix partial read issue in rgw_admin and rgw_tools (pr#6761, Jiaying Ren)
  • rgw: fix problem deleting objects begining with double underscores (issue#15318, pr#8488, Orit Wasserman)
  • rgw: fix reload on non Debian systems. (pr#6482, Hervé Rousseau)
  • rgw: fix response of delete expired objects (issue#13469, pr#6228, Yuan Zhou)
  • rgw: Fix subuser harder with tenants (pr#7618, Pete Zaitcev)
  • rgw: fix swift API returning incorrect account metadata (issue#13140, pr#6047, Sangdi Xu)
  • rgw: fix the build failure (pr#6927, Kefu Chai)
  • rgw: fix typo in RGWHTTPClient::process error message (pr#6424, Brad Hubbard)
  • rgw: fix unsafe c_str() usage (issue#15463, pr#8559, Sage Weil)
  • rgw: fix wrong check for parse() return (pr#6797, Dunrong Huang)
  • rgw: fix wrong etag calculation during POST on S3 bucket. (issue#11241, pr#6030, Radoslaw Zarzynski)
  • rgw: fix wrong handling of limit=0 during listing of Swift account. (issue#14903, pr#7821, Radoslaw Zarzynski)
  • rgw: handle no current_period in is_syncing_bucket_meta (pr#8597, Orit Wasserman)
  • rgw: highres time stamps (pr#8108, Yehuda Sadeh, Adam C. Emerson, Matt Benjamin)
  • rgw: improve error handling in S3/Keystone integration (pr#7597, Radoslaw Zarzynski)
  • rgw: increase verbosity level on RGWObjManifest line (pr#7285, magicrobotmonkey)
  • rgw: indexless (pr#7786, Yehuda Sadeh)
  • rgw: jewel nfs fixes (pr#8460, Matt Benjamin)
  • rgw: keystone v3 (pr#7719, Mark Barnes, Radoslaw Zarzynski)
  • rgw: ldap fixes (pr#8168, Matt Benjamin)
  • rgw_ldap: make ldap.h inclusion conditional (pr#8500, Matt Benjamin)
  • rgw: ldap (Matt Benjamin) (pr#7985, Matt Benjamin)
  • rgw leaks fixes (pr#8636, Yehuda Sadeh)
  • rgw: let radosgw-admin bucket stats return a standard josn (pr#7029, Ruifeng Yang)
  • rgw: link against system openssl (instead of dlopen at runtime) (pr#6419, Sage Weil)
  • rgw: link civetweb with openssl (Sage, Marcus Watts) (pr#7825, Marcus Watts, Sage Weil)
  • rgw: link payer info to usage logging (pr#7918, Yehuda Sadeh, Javier M. Mellid)
  • rgw: mdlog trim add usage prompt (pr#6059, Weijun Duan)
  • rgw: modify command stucking when operating radosgw-admin metadata list user (pr#7032, Peiyang Liu)
  • rgw: modify documents and help infos’ descriptions to the usage of option date when executing command “log show” (pr#6080, Kongming Wu)
  • rgw: modify the conditional statement in parse_metadata_key method. (pr#5875, Zengran Zhang)
  • rgw: move signal.h dependency from rgw_front.h (pr#7678, Matt Benjamin)
  • rgw: Multipart ListPartsResult ETag quotes (issue#15334, pr#8387, Robin H. Johnson)
  • rgw: multiple improvements regarding etag calculation for SLO/DLO of Swift API. (pr#7764, Radoslaw Zarzynski)
  • rgw: multiple Swift API compliance improvements for TempURL (Radoslaw Zarzynsk) (issue#14806, issue#11163, pr#7891, Radoslaw Zarzynski)
  • rgw: multisite fixes (pr#8013, Yehuda Sadeh)
  • rgw: multitenancy support (pr#6784, Yehuda Sadeh, Pete Zaitcev)
  • rgw: new multisite merge (issue#14549, pr#7709, Yehuda Sadeh, Orit Wasserman, Casey Bodley, Daniel Gryniewicz)
  • rgw: Parse –subuser better (pr#7279, Pete Zaitcev)
  • rgw: prevent anonymous user from reading bucket with authenticated read ACL (issue#13207, pr#6057, root)
  • rgw: radosgw-admin bucket check –fix not work (pr#7093, Weijun Duan)
  • rgw-rados: return RGWSystemMetaObj init directly (pr#8534, Karol Mroz)
  • rgw: refuse to calculate digest when the s3 secret key is empty (issue#13133, pr#6045, Sangdi Xu)
  • rgw : region to zonegroup related fixes (pr#8620, Yehuda Sadeh)
  • rgw: remove duplicated code in RGWRados::get_bucket_info() (pr#7413, liyankun)
  • rgw: remove extra check in RGWGetObj::execute (issue#12352, pr#5262, Javier M. Mellid)
  • rgw: Remove unused code in PutMetadataAccount:execute (pr#6668, Pete Zaitcev)
  • rgw: remove unused variable in RGWPutMetadataBucket::execute (pr#6735, Radoslaw Zarzynski)
  • rgw: remove unused vector (pr#7990, Na Xie)
  • rgw: reset return code in when iterating over the bucket the objects (issue#14826, pr#7803, Orit Wasserman)
  • rgw: retry RGWRemoteMetaLog::read_log_info() while master is down (pr#8453, Casey Bodley)
  • rgw: Revert “rgw ldap” (pr#8075, Yehuda Sadeh)
  • rgw/rgw_admin:fix bug about list and stats command (pr#8200, Qiankun Zheng)
  • rgw/rgw_common.h: fix the RGWBucketInfo decoding (pr#8154, Kefu Chai)
  • rgw/rgw_common.h: fix the RGWBucketInfo decoding (pr#8165, Kefu Chai)
  • rgw: RGWLib::env is not used so remove it (pr#7874, Brad Hubbard)
  • rgw/rgw_orphan: check the return value of save_state (pr#7544, Boris Ranto)
  • rgw: RGWPeriod::reflect() sets master zonegroup as default (pr#8566, Casey Bodley)
  • rgw/rgw_resolve: fallback to res_query when res_nquery not implemented (pr#6292, John Coyle)
  • rgw: RGWZoneParams::create should not handle -EEXIST error (pr#7927, Orit Wasserman)
  • rgw: S3: set EncodingType in ListBucketResult (pr#7712, Victor Makarov)
  • rgw: signature mismatch with escaped characters in url query portion (issue#15358, pr#8445, Javier M. Mellid)
  • rgw: static large objects (Radoslaw Zarzynski, Yehuda Sadeh)
  • rgw: store system object meta in cache when creating it (issue#14678, pr#7615, Yehuda Sadeh)
  • rgw: support core file limit for radosgw daemon (pr#6346, Guang Yang)
  • rgw: support for aws authentication v4 (Javier M. Mellid) (issue#10333, pr#7720, Yehuda Sadeh, Javier M. Mellid)
  • rgw: support json format for admin policy API (Dunrong Huang) (issue#14090, pr#8036, Yehuda Sadeh, Dunrong Huang)
  • rgw: swift bulk delete (Radoslaw Zarzynski)
  • rgw: swift use Civetweb ssl can not get right url (issue#13628, pr#6408, Weijun Duan)
  • rgw: swift versioning disabled (pr#8066, Yehuda Sadeh, Radoslaw Zarzynski)
  • rgw: sync fixes 3 (pr#8170, Yehuda Sadeh)
  • rgw: sync fixes 4 (pr#8190, Yehuda Sadeh)
  • rgw sync fixes (pr#8095, Yehuda Sadeh)
  • rgw: the map ‘headers’ is assigned a wrong value (pr#8481, weiqiaomiao)
  • rgw: try to parse Keystone token in order appropriate to configuration. (pr#7822, Radoslaw Zarzynski)
  • rgw: try to use current period id in a few more cases (pr#8588, Yehuda Sadeh)
  • rgw:Use count fn in RGWUserBuckets for quota check (pr#8294, Abhishek Lekshmanan)
  • rgw: use pimpl pattern for RGWPeriodHistory (pr#7809, Casey Bodley)
  • rgw: user quota may not adjust on bucket removal (issue#14507, pr#7586, root)
  • rgw: use smart pointer for C_Reinitwatch (pr#6767, Orit Wasserman)
  • rgw: warn on suspicious civetweb frontend parameters (pr#6944, Matt Benjamin)
  • rocksdb: build with PORTABLE=1 (pr#6311, Sage Weil)
  • rocksdb: remove rdb source files from dist tarball (issue#13554, pr#6379, Kefu Chai)
  • rocksdb: remove rdb sources from dist tarball (issue#13554, pr#7105, Venky Shankar)
  • rocksdb: use native rocksdb makefile (and our autotools) (pr#6290, Sage Weil)
  • rpm: ceph.spec.in: correctly declare systemd dependency for SLE/openSUSE (pr#6114, Nathan Cutler)
  • rpm: ceph.spec.in: fix libs-compat / devel-compat conditional (issue#12315, pr#5219, Ken Dreyer)
  • rpm,deb: remove conditional BuildRequires for btrfs-progs (issue#15042, pr#8016, Erwan Velu)
  • rpm: move %post(un) ldconfig calls to ceph-base (issue#14940, pr#7867, Nathan Cutler)
  • rpm: move runtime dependencies to ceph-base and fix other packaging issues (issue#14864, pr#7826, Nathan Cutler)
  • rpm: prefer UID/GID 167 when creating ceph user/group (issue#15246, pr#8277, Nathan Cutler)
  • rpm: remove sub-package dependencies on “ceph” (issue#15146, pr#8137, Ken Dreyer)
  • rpm: rhel 5.9 librados compile fix, moved blkid to RBD check/compilation (issue#13177, pr#5954, Rohan Mars)
  • script: add missing stop_rgw variable to stop.sh script (pr#7959, Karol Mroz)
  • scripts: adjust mstart and mstop script to run with cmake build (pr#6920, Orit Wasserman)
  • scripts: release_notes can track original issue (pr#6009, Abhishek Lekshmanan)
  • script: subscription-manager support (issue#14972, pr#7907, Loic Dachary)
  • selinux: allow log files to be located in /var/log/radosgw (pr#7604, Boris Ranto)
  • selinux: Update policy to grant additional access (issue#14870, pr#7971, Boris Ranto)
  • set 128MB tcmalloc cache size by bytes (pr#8427, Star Guo)
  • stringify outputted error code and fix unmatched parentheses. (pr#6998, xie.xingguo, xie xingguo)
  • submodules: revert an accidental change (pr#7929, Yehuda Sadeh)
  • systemd: correctly escape block device paths (issue#14706, pr#7579, James Page)
  • systemd: drop any systemd imposed process/thread limits (pr#8450, James Page)
  • systemd: fix typos (pr#6679, Tobias Suckow)
  • systemd: set up environment in rbdmap unit file (issue#14984, pr#8222, Nathan Cutler)
  • systemd: start/stop/restart ceph services by daemon type (issue#13497, pr#6276, Zhi Zhang)
  • systemd: Use the same restart limits as upstart (pr#8188, Boris Ranto)
  • sysvinit: allow custom cluster names (pr#6732, Richard Chan)
  • test: add missing shut_down mock method (pr#8125, Jason Dillaman)
  • test/bufferlist: Avoid false-positive tests (pr#7955, Erwan Velu)
  • test: ceph_test_rados: use less CPU (pr#7513, Samuel Just)
  • test/cli-integration/rbd: disable progress output (issue#14931, pr#7858, Josh Durgin)
  • test: correct librbd errors discovered with unoptimized cmake build (pr#7914, Jason Dillaman)
  • test: create pools for rbd tests with different prefix (pr#7738, Mykola Golub)
  • test: enable test for bug #2339 which has been resolved. (pr#7743, You Ji)
  • test/encoding/readable.sh fix (pr#6714, Igor Podoski)
  • test/encoding/readable: use [ for “test” not (( (pr#8574, Kefu Chai)
  • test: fix issues discovered via the rbd permissions test case (pr#8129, Jason Dillaman)
  • test: fix osd-scrub-snaps.sh (pr#6697, Xinze Chi)
  • test: Fix test to run with btrfs which has snap_### dirs (issue#15347, pr#8420, David Zafman)
  • test: fixup and improvements for rbd-mirror test (pr#8090, Mykola Golub)
  • test: fix ut test failure caused by lfn change (issue#15464, pr#8544, xie xingguo)
  • test: fix valgrind memcheck issues for rbd-mirror test cases (issue#15354, pr#8493, Jason Dillaman)
  • test: handle exception thrown from close during rbd lock test (pr#8124, Jason Dillaman)
  • test: image replayer needs dummy remote mirror peer uuid (pr#8584, Jason Dillaman)
  • test/libcephfs/flock: add sys/file.h include for flock operations (pr#6310, John Coyle)
  • test/librados/test.cc: clean up EC pools’ crush rules too (issue#13878, pr#6788, Loic Dachary, Dan Mick)
  • test/librbd/fsx: Use c++11 std::mt19937 generator instead of random_r() (pr#6332, John Coyle)
  • test/mon/osd-erasure-code-profile: pick new mon port (pr#7161, Sage Weil)
  • test: more debug logging for TestWatchNotify (pr#7737, Mykola Golub)
  • test: new librbd flatten test case (pr#7609, Jason Dillaman)
  • test/osd: Relax the timing intervals in osd-markdown.sh (pr#7899, Dan Mick)
  • test_pool_create.sh: put test files in the test dir so they are cleaned up (pr#8219, Josh Durgin)
  • test/pybind/test_ceph_argparse: fix reweight-by-utilization tests (pr#8027, Kefu Chai, Sage Weil)
  • test/radosgw-admin: update the expected usage outputs (pr#7723, Kefu Chai)
  • test: rbd-mirror: add “switch to the next tag” test (pr#8149, Mykola Golub)
  • test: rbd-mirror: compare positions using all fields (pr#8172, Mykola Golub)
  • test: rbd-mirror: script improvements for manual testing (pr#8325, Mykola Golub)
  • test: reproducer for writeback CoW deadlock (pr#8009, Jason Dillaman)
  • test/rgw: add multisite test for meta sync across periods (pr#7887, Casey Bodley)
  • test_rgw_admin: use freopen for output redirection. (pr#6303, John Coyle)
  • tests: add const for ec test (pr#6911, Michal Jarzabek)
  • tests: add Ubuntu 16.04 xenial dockerfile (pr#8519, Loic Dachary)
  • tests: allow docker-test.sh to run under root (issue#13355, pr#6173, Loic Dachary)
  • tests: allow object corpus readable test to skip specific incompat instances (pr#6932, Igor Podoski)
  • tests: centos7 needs the Continuous Release (CR) Repository enabled for (issue#13997, pr#6842, Brad Hubbard)
  • tests: ceph-disk.sh: should use “readlink -f” instead (pr#7594, Kefu Chai)
  • tests: ceph-disk.sh: use “readlink -f” instead for fullpath (pr#7606, Kefu Chai)
  • tests: ceph-disk workunit uses configobj (pr#6342, Loic Dachary)
  • tests: ceph-helpers assert success getting backfills (pr#6699, Loic Dachary)
  • tests: ceph_test_keyvaluedb_iterators: fix broken test (pr#6597, Haomai Wang)
  • tests: concatenate test_rados_test_tool from src and qa (issue#13691, pr#6464, Loic Dachary)
  • tests: configure with rocksdb by default (issue#14220, pr#7100, Loic Dachary)
  • tests: destroy testprofile before creating one (issue#13664, pr#6446, Loic Dachary)
  • test: set a default $CEPH_ROOT env variable (pr#8645, Kefu Chai)
  • tests: fix a few build warnings (pr#7608, Sage Weil)
  • tests: fix failure for osd-scrub-snap.sh (issue#13986, pr#6890, Loic Dachary, Ning Yao)
  • tests: Fix for make check. (pr#7102, David Zafman)
  • tests: Fixing broken test/cephtool-test-mon.sh test (pr#8429, Erwan Velu)
  • tests: fix race condition testing auto scrub (issue#13592, pr#6724, Xinze Chi, Loic Dachary)
  • tests: fix test_rados_tools.sh rados lookup (issue#13691, pr#6502, Loic Dachary)
  • tests: fix typo in TestClsRbd.snapshots test case (issue#13727, pr#6504, Jason Dillaman)
  • tests: flush op work queue prior to destroying MockImageCtx (issue#14092, pr#7002, Jason Dillaman)
  • tests: ignore test-suite.log (pr#6584, Loic Dachary)
  • tests: Improving ‘make check’ execution time (pr#8131, Erwan Velu)
  • tests: notification slave needs to wait for master (issue#13810, pr#7220, Jason Dillaman)
  • tests: –osd-scrub-load-threshold=2000 for more consistency (issue#14027, pr#6871, Loic Dachary)
  • tests: osd-scrub-snaps.sh to display full osd logs on error (issue#13986, pr#6857, Loic Dachary)
  • tests: port uniqueness reminder (pr#6387, Loic Dachary)
  • tests: restore run-cli-tests (pr#6571, Loic Dachary, Sage Weil, Jason Dillaman)
  • tests: snap rename and rebuild object map in client update test (pr#7224, Jason Dillaman)
  • tests: sync ceph-erasure-code-corpus for mktemp -d (pr#7596, Loic Dachary)
  • tests: test/librados/test.cc must create profile (issue#13664, pr#6452, Loic Dachary)
  • tests: test_pidfile.sh lingering processes (issue#14834, pr#7734, Loic Dachary)
  • tests: unittest_bufferlist: fix hexdump test (pr#7152, Sage Weil)
  • tests: unittest_ipaddr: fix segv (pr#7154, Sage Weil)
  • test/system/rados_list_parallel: print oid if rados_write fails (issue#15240, pr#8309, Kefu Chai)
  • test/system/*: use dynamically generated pool name (issue#15240, pr#8318, Kefu Chai)
  • test/test-erasure-code.sh: disable pg_temp priming (issue#15211, pr#8260, Sage Weil)
  • test: TestMirroringWatcher test cases were not closing images (pr#8435, Jason Dillaman)
  • test/TestPGLog: fix the FTBFS (issue#14930, pr#7855, Kefu Chai)
  • test/test_pool_create.sh: fix port (pr#8361, Sage Weil)
  • test/time: no need to abs(uint64_t) for comparing (pr#7726, Kefu Chai)
  • test: update rbd integration cram tests for new default features (pr#8001, Jason Dillaman)
  • test: use sequential journal_tid for object cacher test (issue#13877, pr#6710, Josh Durgin)
  • tools: add cephfs-table-tool ‘take_inos’ (pr#6655, John Spray)
  • tools/cephfs: add tmap_upgrade (pr#7003, John Spray)
  • tools/cephfs: fix overflow writing header to fixed size buffer (#13816) (pr#6617, John Spray)
  • tools/cephfs: fix overflow writing header to fixed size buffer (#13816) (pr#6617, John Spray)
  • tools/cephfs: fix tmap_upgrade (issue#15135, pr#8128, John Spray)
  • tools: ceph_monstore_tool: add inflate-pgmap command (issue#14217, pr#7097, Kefu Chai)
  • tools: ceph-monstore-update-crush: add “–test” when testing crushmap (pr#6418, Kefu Chai)
  • tools: Fix layout handing in cephfs-data-scan (#13898) (pr#6719, John Spray)
  • tools: monstore: add ‘show-versions’ command. (pr#7073, Cilang Zhao)
  • tools/rados: 通过 op_size 减少 "rados put" 内存使用量 (pr#7928, Piotr Dałek)
  • tools:移除重复引用 (pr#5917, Bo Cai)
  • tools: 支持以可读方式打印部分集群图 (issue#13079, pr#5921, Bo Cai)
  • unittest_compression_zlib: 不要假设缓冲区以 null 结尾 (pr#8064, Sage Weil)
  • unittest_erasure_code_plugin: 修复死锁 (Alpine) (pr#8314, John Coyle)
  • unittest_osdmap: 默认 crush 调优参数现在为 firefly (pr#8098, Sage Weil)
  • vstart: 修复给出 VSTART_DEST 时的 cmake 路径 (pr#8363, Casey Bodley)
  • vstart: 授予 Swift 测试帐户完全访问权限 (pr#6239, Yuan Zhou)
  • vstart: 使 -k 与可选的 mon_num 一起使用。 (pr#8251, Jianpeng Ma)
  • vstart: 将 cephfs root uid/gid 设置为调用者 (pr#6255, John Spray)
  • vstart.sh: 添加 mstart、mstop、mrun 包装器用于在 src 树外运行多个 vstart 风格的测试集群 (pr#6901, Yehuda Sadeh)
  • vstart.sh: 避免通过 vstart.sh 启动 rgw 时出现竞态条件 (issue#14829, pr#7727, Javier M. Mellid)
  • vstart.sh: 抑制找不到 btrfs 时无害的消息 (pr#7640, Patrick Donnelly)
  • xio: 为 xio msgr 日志添加前缀 (pr#8148, Roi Dayan)
  • xio: 修复针对最新 accelio 的编译问题 (pr#8022, Roi Dayan)
  • xio: 修复在有多个 RDMA 端口时分配不正确的 ip (pr#7747, Subramanyam Varanasi)
  • xio: 移除对等地址的重复分配 (pr#8025, Roi Dayan)
  • xio: 移除冗余的 magic 方法 (pr#7773, Roi Dayan)
  • xio: 移除未使用的变量 (pr#8023, Roi Dayan)
  • xio: xio_init 需要在任何其他 xio 函数之前调用 (pr#8227, Roi Dayan)
  • xxhash: 使用 xxhash.git 的克隆;添加 .gitignore (pr#7986, Sage Weil)

自 HAMMER 以来的显著变化

  • aarch64:添加优化的 crc32c 版本 (Yazen Ghannam, Steve Capper)
  • auth: 缓存/重用 crypto lib 密钥对象,优化 msg 签名检查 (Sage Weil)
  • auth:fork() 后重新初始化 NSS (#11128 Yan, Zheng)
  • autotools: 修复树外构建 (Krxysztof Kosinski)
  • autotools: 改进 make check 输出 (Loic Dachary)
  • buffer: 添加 invalidate_crc() (Piotr Dalek)
  • buffer: 修复零错误 (#12252 Haomai Wang)
  • buffer: 一些清理 (Michal Jarzabek)
  • build: 允许 tcmalloc-minimal (Thorsten Behrens)
  • 构建:现在支持 C++11
  • build: cmake: 修复 nss 链接 (Danny Al-Gaaf)
  • build: cmake: 杂项修复 (Orit Wasserman, Casey Bodley)
  • build:默认禁用 LTTNG (#11333 Josh Durgin)
  • build: 不要使用 tcmalloc 构建 ceph-dencoder (#10691 Boris Ranto)
  • build: 修复 Fedora 22 上的 junit 检测 (Ira Cooper)
  • build: 修复 pg ref 禁用 (William A. Kennington III)
  • build:修复 ppc 构建 (James Page)
  • build: install-deps: 杂项修复 (Loic Dachary)
  • build: install-deps.sh 改进 (Loic Dachary)
  • build:install-deps:支持 OpenSUSE (Loic Dachary)
  • build: make_dist_tarball.sh (Sage Weil)
  • 构建:许多 cmake 改进
  • build:杂项 cmake 修复 (Matt Benjamin)
  • build: 杂项修复 (Boris Ranto, Ken Dreyer, Owen Synge)
  • 构建:OSX 构建修复(Yan, Zheng)
  • 构建:删除 rest-bench
  • ceph-authtool: 修复错误时的返回码 (Gerhard Muntingh)
  • ceph-detect-init: 添加 Linux Mint (Michal Jarzabek)
  • ceph-detect-init: 健壮的 init 系统检测 (Owen Synge)
  • ceph-disk: 确保 'zap' 仅对整个磁盘进行操作 (#11272 Loic Dachary)
  • ceph-disk: 修复 zap sgdisk 调用 (Owen Synge, Thorsten Behrens)
  • ceph-disk:在创建 journal 时遵循 ceph-osd 提示 (#9580 Sage Weil)
  • ceph-disk:处理重用现有分区 (#10987 Loic Dachary)
  • ceph-disk:改进 parted 输出解析 (#10983 Loic Dachary)
  • ceph-disk: 安装 pip > 6.1 (#11952 Loic Dachary)
  • ceph-disk:使抑制作用适用于 activate-all 和 activate-journal (Dan van der Ster)
  • ceph-disk: 许多修复 (Loic Dachary, Alfredo Deza)
  • ceph-disk: 修复以遵守 init system (Loic Dachary, Owen Synge)
  • ceph-disk: 在 prepare 子命令中传递 --cluster 参数 (Kefu Chai)
  • ceph-disk:支持多路径设备(Loic Dachary)
  • ceph-disk: 支持 NVMe 设备分区 (#11612 Ilja Slepnev)
  • ceph: 修复 'df' 单位 (Zhe Zhang)
  • ceph: 修复交互式 cli 模式中的解析 (#11279 Kefu Chai)
  • cephfs-data-scan: 许多添加和改进 (John Spray)
  • ceph-fuse:在卸载时不需要成功的重新挂载 (#10982 Greg Farnum)
  • ceph-fuse, libcephfs:在修剪 null 时不要清除 COMPLETE (Yan, Zheng)
  • ceph-fuse, libcephfs: 在 rmdir 完成时删除 inode (#11339 Yan, Zheng)
  • ceph-fuse,libcephfs: 修复 uninline (#11356 Yan, Zheng)
  • ceph-fuse, libcephfs:在“拥有”的目录上持有独占 cap (#11226 Greg Farnum)
  • ceph-fuse:在 32 位主机上表现良好(Yan, Zheng)
  • ceph: 改进 ‘tell’ 的错误输出 (#11101 Kefu Chai)
  • ceph-monstore-tool: 修复 store-copy (Huangjun)
  • ceph:新的 ‘ceph daemonperf’ 命令 (John Spray, Mykola Golub)
  • ceph-objectstore-tool:许多许多改进 (David Zafman)
  • ceph-objectstore-tool: 重构和清理 (John Spray)
  • ceph-post-file: 杂项修复 (Joey McDonald, Sage Weil)
  • ceph_test_rados: 测试流水线读取 (Zhiqiang Wang)
  • client: 避免发送不必要的 FLUSHSNAP 消息 (Yan, Zheng)
  • client: 在计算 oldest tid 时排除 setfilelock (Yan, Zheng)
  • client: 修复 check_pool_perm 中的错误处理 (John Spray)
  • client: fsync 仅等待 inode 的 cap 刷新 (Yan, Zheng)
  • client: 当缓存大小超出限制时使内核 dcache 失效 (Yan, Zheng)
  • client: 使 fsync 等待不安全的目录操作 (Yan, Zheng)
  • client: 锁定查找 dentry 以避免 inode 被释放 (Yan, Zheng)
  • common:为 perfcounters 添加描述 (Kiseleva Alyona)
  • common: 添加性能计数器描述 (Alyona Kiseleva)
  • 通用:bufferlist 性能调整(Piotr Dalek, Sage Weil)
  • common: 检测 int config 值溢出 (#11484 Kefu Chai)
  • common: 修复 bit_vector 范围计算 (#12611 Jason Dillaman)
  • common: 修复 utf8 的 json 解析 (#7387 Tim Serong)
  • common: 修复 pthread_mutexattr 泄漏 (#11762 Ketor Meng)
  • common:修复 LTTNG 与 fork 问题 (Josh Durgin)
  • common: 修复 throttle max 更改 (Henry Chang)
  • 通用:使互斥锁更高效
  • common: 使工作队列的添加/删除线程安全 (#12662 Jason Dillaman)
  • common: optracker 改进 (Zhiqiang Wang, Jianpeng Ma)
  • common:PriorityQueue 测试 (Kefu Chai)
  • 通用:一些异步压缩基础设施(Haomai Wang)
  • crush: 添加 –check 以验证悬挂名称、最大 osd id (Kefu Chai)
  • crush: 清理,与内核同步 (Ilya Dryomov)
  • crush: 修复由于无效的 ‘take’ 参数导致的崩溃 (#11602 Shiva Rkreddy, Sage Weil)
  • crush: 修复 straw2 中的除以 2 错误 (#11357 Yann Dupont, Sage Weil)
  • crush: 修复 has_v4_buckets (#11364 Sage Weil)
  • crush: 修复 adjust_subtree_weight 上的子树基权重 (#11855 Sage Weil)
  • crush: 在地图创建时遵守默认的复制规则集配置 (Ilya Dryomov)
  • crushtool:修复操作顺序,用法 (Sage Weil)
  • crypto: 修复 NSS 内存泄漏 (Jason Dillaman)
  • crypto: 修复不平衡的初始化/关闭 (#12598 Zheng Yan)
  • deb: 修复 rest-bench-dbg 和 ceph-test-dbg 依赖项 (Ken Dreyer)
  • debian:小的包重组 (Ken Dreyer)
  • deb, rpm: 将 ceph-objectstore-tool 移动到 ceph (Ken Dreyer)
  • doc:记录对象语料库生成 (#11099 Alexis Normand)
  • doc: 记录区域主机名 (Robin H. Johnson)
  • doc:修复性别中立性 (Alexandre Maragone)
  • doc:修复安装文档 (#10957 Kefu Chai)
  • doc:修复 sphinx 问题 (Kefu Chai)
  • doc: man 页面更新 (Kefu Chai)
  • doc:mds 数据结构文档 (Yan, Zheng)
  • doc: 杂项更新 (Fracois Lafont, Ken Dreyer, Kefu Chai, Owen Synge, Gael Fenet-Garde, Loic Dachary, Yannick Atchy-Dalama, Jiaying Ren, Kevin Caradant, Robert Maxime, Nicolas Yong, Germain Chipaux, Arthur Gorjux, Gabriel Sentucq, Clement Lebrun, Jean-Remi Deveaux, Clair Massot, Robin Tang, Thomas Laumondais, Jordan Dorne, Yuan Zhou, Valentin Thomas, Pierre Chaumont, Benjamin Troquereau, Benjamin Sesia, Vikhyat Umrao, 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)
  • doc: 更新发布计划文档 (Loic Dachary)
  • erasure-code: 清理 (Kefu Chai)
  • erasure-code: 改进测试 (Loic Dachary)
  • erasure-code: shec: 修复恢复错误 (Takanori Nakao, Shotaro Kawaguchi)
  • erasure-code:将 ISA-L 更新到 2.13 (Yuan Zhou)
  • gmock:切换到子模块 (Danny Al-Gaaf, Loic Dachary)
  • hadoop:添加 terasort 测试 (Noah Watkins)
  • init-radosgw: 与 sysv 版本合并; 修复枚举 (Sage Weil)
  • java:修复 libcephfs 绑定 (Noah Watkins)
  • libcephfs: 添加 pread, pwrite (Jevon Qiao)
  • libcephfs,ceph-fuse: 缓存清理 (Zheng Yan)
  • libcephfs,ceph-fuse:修复 cap 重连时的请求重发 (#10912 Yan, Zheng)
  • librados: 添加配置观察者 (Alistair Strachan)
  • librados:添加 FULL_TRY 和 FULL_FORCE 标志,用于处理完全填满的集群或池(Sage Weil)
  • librados: 为 copy-from 添加 src_fadvise_flags (Jianpeng Ma)
  • librados:从 C 常量定义 C++ 标志 (Josh Durgin)
  • librados: 每个操作的 fadvise 标志 (Jianpeng Ma)
  • librados:修复 last_force_resent 处理 (#11026 Jianpeng Ma)
  • librados:修复 C_TwoContexts 的内存泄漏 (Xiong Yiliang)
  • librados:修复通知完成竞态条件(#13114 Sage Weil)
  • librados:修复 stripe_count = 1 且 stripe_unit != object_size 时的条带器 (#11120 Yan, Zheng)
  • librados, libcephfs:随机化客户端 nonce(Josh Durgin)
  • librados:op perf counters (John Spray)
  • librados:pybind:修复二进制 omap 值(Robin H. Johnson)
  • librados:pybind:修复 write() 方法返回值 (Javier Guerra)
  • librados: 在 pool_create 上尊重 default_crush_ruleset (#11640 Yuan Zhou)
  • libradosstriper:修复泄漏 (Danny Al-Gaaf)
  • librbd: 为 single-client-only 功能添加 const (Josh Durgin)
  • librbd: 添加 deep-flatten 操作 (Jason Dillaman)
  • librbd:添加 purge_on_error 缓存行为 (Jianpeng Ma)
  • librbd: 允许将其他元数据存储在镜像中 (Haomai Wang)
  • librbd: 避免阻塞 aio API 方法 (#11056 Jason Dillaman)
  • librbd: 更好地处理 dup flatten 请求 (#11370 Jason Dillaman)
  • librbd: 在 watch 错误时取消正在进行的的操作 (#11363 Jason Dillaman)
  • librbd: 默认将新镜像格式设置为 2 (#11348 Jason Dillaman)
  • librbd: copy、export、import 的 fadvise (Jianpeng Ma)
  • librbd: 利用对象映射的快速差异实现 (Jason Dillaman)
  • librbd: 修复 fast diff 错误 (#11553 Jason Dillaman)
  • librbd: 修复镜像格式检测 (Zhiqiang Wang)
  • librbd: 修复锁排序问题 (#11577 Jason Dillaman)
  • librbd:修复大于缓存大小的读取(Lu Shi)
  • librbd: 修复在其他快照处于活动状态时的快照创建 (#11475 Jason Dillaman)
  • librbd: flatten/copyup 修复 (Jason Dillaman)
  • librbd: 处理 NOCACHE fadvise 标志 (Jinapeng Ma)
  • librbd: lockdep, helgrind 验证 (Jason Dillaman, Josh Durgin)
  • librbd:元数据过滤器修复(Haomai Wang)
  • librbd:杂项 aio 修复 (#5488 Jason Dillaman)
  • librbd:杂项 rbd 修复 (#11478 #11113 #11342 #11380 Jason Dillaman, Zhiqiang Wang)
  • librbd: 新的 diff_iterate2 API (Jason Dillaman)
  • librbd: 对象映射重建支持 (Jason Dillaman)
  • librbd: 仅在持有独占锁时更新镜像标志 (#11791 Jason Dillaman)
  • librbd: 可选地禁用分配提示 (Haomai Wang)
  • librbd: 防止 resize 请求之间的竞争 (#12664 Jason Dillaman)
  • librbd:readahead 修复 (Zhiqiang Wang)
  • librbd: 从 close 返回结果代码 (#12069 Jason Dillaman)
  • librbd:存储元数据,包括配置选项,在镜像中 (Haomai Wang)
  • librbd: 获取镜像元数据时容忍旧 OSD (#11549 Jason Dillaman)
  • librbd:尽可能使用 write_full(Zhiqiang Wang)
  • log: 修复由于日志轮换导致的的数据损坏竞争 (#12465 Samuel Just)
  • logrotate.d: 优先使用 service 而不是 invoke-rc.d (#11330 Win Hierman, Sage Weil)
  • mds:为 MDSMap 添加 ‘damaged’ 状态 (John Spray)
  • mds:为 perfcounters 添加昵称 (John Spray)
  • mds:避免在驱逐会话之前发出 cap 警告(John Spray)
  • mds: 避免在 XLOCKDONE 中卡住 (#11254 Yan, Zheng)
  • mds:禁用 snap 父级中的有问题 rstat 传播 (Yan, Zheng)
  • mds: 不要将快照项添加到 bloom 过滤器 (Yan, Zheng)
  • mds: 通过 asok 暴露 frags (John Spray)
  • mds:修复日志对象中的预期孔洞(#13167 Yan, Zheng)
  • mds: 修复对缺失 mydir dirfrag 的处理 (#11641 John Spray)
  • mds: 修复大型客户端 ID 上的整数截断 (Henry Chang)
  • mds:修复 mydir 副本问题与关机 (#10743 John Spray)
  • mds:修复乱序消息 (#11258 Yan, Zheng)
  • mds: 修复重新加入 (Yan, Zheng)
  • mds: 修复在一次 setxattr 中设置整个文件布局 (John Spray)
  • mds: 修复关闭 (John Spray)
  • mds:修复关机时存在 stray (#10744 John Spray)
  • mds:修复删除池上的 SnapServer 崩溃(John Spray)
  • mds: 修复快照错误 (Yan, Zheng)
  • mds: 修复流浪重新集成 (Yan, Zheng)
  • mds:修复 stray 处理 (John Spray)
  • mds: 修复自杀信标 (John Spray)
  • mds:在 do_open_truncate 中立即刷新 (#11011 John Spray)
  • mds: 处理杂项损坏问题 (John Spray)
  • mds:改进 dump 方法 (John Spray)
  • mds:许多修复(Yan, Zheng, John Spray, Greg Farnum)
  • mds: 许多快照和流浪修复 (Yan, Zheng)
  • mds: 杂项修复 (Jianpeng Ma, Dan van der Ster, Zhang Zhi)
  • mds:杂项 journal 清理和修复 (#10368 John Spray)
  • mds: 杂项修复改进 (John Spray)
  • mds: 杂项快照修复 (Zheng Yan)
  • mds: 杂项快照修复 (Yan, Zheng)
  • mds:使用 omap 的新的 SessionMap 存储 (#10649 John Spray)
  • mds: 可靠地持久化 completed_requests (#11048 John Spray)
  • mds:减少内存消耗 (Yan, Zheng)
  • mds: 在黑名单上重生而不是自杀 (John Spray)
  • mds: 在 Journaler 中分离 safe_pos (#10368 John Spray)
  • mds: 支持快照重命名 (#3645 Yan, Zheng)
  • mds: 将布局存储在 header 对象上 (#4161 John Spray)
  • mds:限制 purge stray 操作 (#10390 John Spray)
  • mds:容忍时钟向后跳跃 (#11053 Yan, Zheng)
  • mds: 警告客户端未能推进 oldest_client_tid (#10657 Yan, Zheng)
  • 杂项清理和修复 (Danny Al-Gaaf)
  • misc coverity 修复 (Danny Al-Gaaf)
  • misc: 性能和清理 (Nathan Cutler, Xinxin Shu)
  • mon:添加 MonitorDBStore 上的缓存(Kefu Chai)
  • mon: 添加 'mon_metadata'命令 (Kefu Chai)
  • mon: 添加 'node ls ...' 命令 (Kefu Chai)
  • mon: 为 mon 命令添加 NOFORWARD、OBSOLETE、DEPRECATE 标志 (Joao Eduardo Luis)
  • mon: 在 ‘ceph osd df’ 输出中添加 PG 计数 (Michal Jarzabek)
  • mon:‘ceph osd metadata’ 可以转储所有 osd(Haomai Wang)
  • mon: 清理,重新组织一些 mon 命令 (Joao Eduardo Luis)
  • monclient: flush_log (John Spray)
  • mon:检测 kv 后端故障(Sage Weil)
  • mon: 禁止 >2 层 (#11840 Kefu Chai)
  • mon: 禁止 ec 池作为 tiers (#11650 Samuel Just)
  • mon: 不要停用最后一个 MDS (#10862 John Spray)
  • mon: 修复 ‘osd df’ 的平均利用率计算 (Mykola Golub)
  • mon:修复新池的 CRUSH 映射测试(Sage Weil)
  • mon: 修复调试时的日志转储崩溃 (Mykola Golub)
  • mon: 修复 mds 信标回复 (#11590 Kefu Chai)
  • mon: 修复元数据更新竞争 (Mykola Golub)
  • mon:修复 min_last_epoch_clean 跟踪(Kefu Chai)
  • mon: 修复 'pg ls' 排序顺序, 状态名称 (#11569 Kefu Chai)
  • mon: 修复刷新 (#11470 Joao Eduardo Luis)
  • mon: 修复 ‘osd df’ 中的方差计算 (Sage Weil)
  • mon: 改进对 crushtool 的调用 (Mykola Golub)
  • mon: 使阻塞操作消息更具可读性 (Jianpeng Ma)
  • mon:使 osd get pool ‘all’ 只返回适用的字段 (#10891 Michal Jarzabek)
  • mon:各种缩放修复(Sage Weil)
  • mon: 规范化擦除码配置文件以进行存储和比较 (Loic Dachary)
  • mon: 仅将 mon 元数据发送到支持的对等节点 (Sage Weil)
  • mon: 在 'osd create' 上可选指定 osd id (Mykola Golub)
  • mon: 'osd tree' 修复 (Kefu Chai)
  • mon: 定期后台 scrub (Joao Eduardo Luis)
  • mon: 防止被 CRUSH 规则引用的 bucket 删除 (#11602 Sage Weil)
  • mon: 防止 pgp_num > pg_num (#12025 Xinxin Shu)
  • mon: 防止具有快照状态的池用作 tier (#11493 Sage Weil)
  • mon: 在 CRUSH 映射更改时启动 pg_temp (Sage Weil)
  • mon: 细化 check_remove_tier 检查 (#11504 John Spray)
  • mon: 拒绝过大的 max_mds 值 (#12222 John Spray)
  • mon: 从 'mds rm ...' 中删除多余的 who 参数 (John Spray)
  • mon:简化会话处理,修复内存泄漏(Sage Weil)
  • mon:升级必须通过 hammer(Sage Weil)
  • mon:警告错误的缓存层配置 (Jianpeng Ma)
  • msgr: 添加 ceph_perf_msgr 工具 (Hoamai Wang)
  • msgr: async: 修复 seq 处理 (Haomai Wang)
  • msgr: async: 许多修复 (Haomai Wang)
  • msgr: simple: 修复 clear_pipe (#11381 Haomai Wang)
  • msgr: simple: 修复 connect_seq 断言 (Haomai Wang)
  • msgr: xio: fastpath 改进 (Raju Kurunkad)
  • msgr: xio: 修复 ip 和 nonce (Raju Kurunkad)
  • msgr: xio: 改进 lane 分配 (Vu Pham)
  • msgr: xio: 与 accellio v1.4 同步 (Vu Pham)
  • msgr: xio: 杂项修复 (#10735 Matt Benjamin, Kefu Chai, Danny Al-Gaaf, Raju Kurunkad, Vu Pham, Casey Bodley)
  • msg:单元测试 (Haomai Wang)
  • objectcacher:杂项错误修复 (Jianpeng Ma)
  • osd: 添加分层操作的延迟性能计数器 (Xinze Chi)
  • osd:添加杂项 perfcounters (Xinze Chi)
  • osd:在恢复中添加简单的睡眠注入 (Sage Weil)
  • osd:允许 SEEK_HOLE/SEEK_DATA 用于稀疏读取 (Zhiqiang Wang)
  • osd:避免 pg 元数据中的 dup omap 集 (#11120 Yan, Zheng)
  • osd: 避免多次命中集插入 (Zhiqiang Wang)
  • osd: 在某些情况下避免事务追加 (Sage Weil)
  • osd: 将 PG 删除分解为多个迭代 (#10198 Guang Yang)
  • osd:缓存 proxy-write 支持(Zhiqiang Wang, Samuel Just)
  • osd: 在处理映射时检查 scrub 状态 (Jianpeng Ma)
  • osd:清理一些 constness,privateness (Kefu Chai)
  • osd: 如果提升失败,则清理临时对象 (Jianpeng Ma)
  • osd:基于写入近度配置提升(Zhiqiang Wang)
  • osd: 将集合限制为 meta 和 PG(正常和临时)(Sage Weil)
  • osd:不要发送重复的 MMonGetOSDMap 请求(Sage Weil, Kefu Chai)
  • osd:EIO 注入 (David Zhang)
  • osd: 消除 txn apend, ECSubWrite 复制 (Samuel Just)
  • osd:erasure-code:根据 LRU 删除条目 (Andreas-Joachim Peters)
  • osd:erasure-code:修复 SHEC 浮点错误(#12936 Loic Dachary)
  • osd:erasure-code:更新到 ISA-L 2.14(Yuan Zhou)
  • osd: filejournal: 清理 (David Zafman)
  • osd: filestore: 使用 splice 进行克隆 (Jianpeng Ma)
  • osd: filestore: 修复递归锁 (Xinxin Shu)
  • osd: 修复 check_for_full (Henry Chang)
  • osd: 修复 make_writeable 中的脏数据核算 (Zhiqiang Wang)
  • osd: 修复 dup 提升丢失操作错误 (Zhiqiang Wang)
  • osd: 修复无法恢复对象时的无限修复 (Jianpeng Ma, Kefu Chai)
  • osd:修复 hitset 对象命名以使用 GMT(Kefu Chai)
  • osd:修复各种内存泄漏(Sage Weil)
  • osd:修复 backfill 期间的负退化统计信息 (Guang Yang)
  • osd: 修复 osdmap dump 的黑名单项 (John Spray)
  • osd:修复 FileStore 中 peek_queue 锁定(Xinze Chi)
  • osd: 修复 PG 复活 (#11429 Samuel Just)
  • osd:修复提升与完全缓存层(Samuel Just)
  • osd:修复 pg 仍在激活时重新排队(#13116 Samuel Just)
  • osd:修复 scrub stat 错误(Sage Weil, Samuel Just)
  • osd: 修复来自缓存 tier 的快照刷新(再次) (#11787 Samuel Just)
  • osd: 修复升级时的快照处理 (#11296 Sam Just)
  • osd: 修复临时清除 (David Zafman)
  • osd:强制提升 EC 无法处理的操作(Zhiqiang Wang)
  • osd: 处理具有重叠条目的日志拆分 (#11358 Samuel Just)
  • osd: 在 unfound 计算中忽略不存在的 OSD (#10976 Mykola Golub)
  • osd:改进具有大内存页面的机器上的行为(Steve Capper)
  • osd: 在每个集合/pgid 中使用临时命名空间 (Sage Weil)
  • osd: 增加默认最大打开文件数 (Owen Synge)
  • osd: keyvaluestore: 杂项修复 (Varada Kari)
  • osd: 低速和高速刷新模式 (Mingxin Liu)
  • osd: 使自杀超时可单独配置 (Samuel Just)
  • osd:将多个 setattr 调用合并到一个 setattrs 调用中(Xinxin Shu)
  • osd:杂项修复 (Ning Yao, Kefu Chai, Xinze Chi, Zhiqiang Wang, Jianpeng Ma)
  • osd: 将 scrub 移到 OpWQ (Samuel Just)
  • osd:newstore 原型(Sage Weil)
  • osd:ObjectStore 内部 API 重构(Sage Weil)
  • osd: peer_features 包含自身 (David Zafman)
  • osd: 池大小更改触发新间隔 (#11771 Samuel Just)
  • osd: 在只有对等方缺少时预填充 needs_recovery_map (#9558 Guang Yang)
  • osd: 随机化 scrub 时间 (#10973 Kefu Chai)
  • osd: 恢复、对等修复 (#11687 Samuel Just)
  • osd: 重构 scrub 和摘要记录 (Sage Weil)
  • osd: 拒绝在非零偏移处首次写入 EC 对象 (Jianpeng Ma)
  • osd: 放宽代理读取的回复顺序 (#11211 Zhiqiang Wang)
  • osd: 需要 firefly 功能 (David Zafman)
  • osd: 使用更精确的精度设置初始 crush 权重 (Sage Weil)
  • osd:SHEC 不再是实验性的
  • osd: 跳过 flush/evict 操作的提升 (Zhiqiang Wang)
  • osd: 在小的 xattrs 上条带化以适应 XFS 的 255 字节内联限制 (Sage Weil, Ning Yao)
  • osd: 在 syncfs 上同步 object_map (Samuel Just)
  • osd: 如果 op 是 rw 则获取 excl lock (Samuel Just)
  • osd:限制驱逐操作(Yunchuan Wen)
  • osd:升级必须通过 hammer(Sage Weil)
  • osd: 使用临时对象进行恢复 (Sage Weil)
  • osd: 使用 blkid 收集分区信息 (Joseph Handzik)
  • osd:使用 SEEK_HOLE / SEEK_DATA 进行稀疏复制(Xinxin Shu)
  • osd: WBThrottle 清理 (Jianpeng Ma)
  • osd: 在干净关闭时写入 journal 标头 (Xinze Chi)
  • osdc/Objecter: 允许按池调用 op_cancel_writes (John Spray)
  • os/filestore:增大 getxattr 缓冲区大小 (Jianpeng Ma)
  • pybind:pep8 清理 (Danny Al-Gaaf)
  • pycephfs: 许多绑定修复 (Haomai Wang)
  • qa:修复 filelock_interrupt.py 测试 (Yan, Zheng)
  • qa:改进 ceph-disk 测试 (Loic Dachary)
  • qa:改进 docker 构建层 (Loic Dachary)
  • qa: run-make-check.sh 脚本 (Loic Dachary)
  • rados: 添加 –striper 选项以使用 libradosstriper (#10759 Sebastien Ponce)
  • rados: bench: 添加 –no-verify 选项以提高性能 (Piotr Dalek)
  • rados bench: 杂项修复 (Dmitry Yatsushkevich)
  • rados: 修复池删除失败时的错误消息 (Wido den Hollander)
  • radosgw-admin: 添加用于修复 bucket 索引的 ‘bucket check’ 函数 (Yehuda Sadeh)
  • radosgw-admin: 修复子用户修改输出 (#12286 Guce)
  • rados: 正确处理 –snapid 参数 (Abhishek Lekshmanan)
  • rados: 改进基准缓冲区处理、性能 (Piotr Dalek)
  • rados: 杂项 bench 修复 (Dmitry Yatsushkevich)
  • rados: 新的池导入实现 (John Spray)
  • rados: 在 CLI 中将 errno 转换为字符串 (#10877 Kefu Chai)
  • rbd:接受 map 选项配置选项 (Ilya Dryomov)
  • rbd: 添加磁盘使用工具 (#7746 Jason Dillaman)
  • rbd: 允许按规范进行 unmapping (Ilya Dryomov)
  • rbd:cli:修复带有 –io-pattern 的参数解析 (Dmitry Yatsushkevich)
  • rbd: 弃用 --new-format 选项 (Jason Dillman)
  • rbd:修复错误消息 (#2862 Rajesh Nambiar)
  • rbd: 修复链接问题 (Jason Dillaman)
  • rbd: 改进 CLI 参数解析、用法 (Ilya Dryomov)
  • rbd:rbd-replay-prep 和 rbd-replay 改进(Jason Dillaman)
  • rbd: 识别 queue_depth 内核选项 (Ilya Dryomov)
  • rbd: 支持 CLI 中的 G 和 T 单位 (Abhishek Lekshmanan)
  • rbd:更新 rbd man 页面 (Ilya Dryomov)
  • rbd:更新 xfstests 测试 (Douglas Fuller)
  • rbd: 在帮助中使用 image-spec 和 snap-spec (Vikhyat Umrao, Ilya Dryomov)
  • rest-bench: 杂项修复 (Shawn Chen)
  • rest-bench: 支持 https (#3968 Yuan Zhou)
  • rgw: 添加最大 multipart 上传部分 (#12146 Abshishek Dixit)
  • rgw:添加缺失的标头到 Swift 容器详细信息 (#10666 Ahmad Faheem, Dmytro Iurchenko)
  • rgw:为帐户 GET 添加统计信息到标头 (#10684 Yuan Zhou)
  • rgw: 添加 Trasnaction-Id 到响应 (Abhishek Dixit)
  • rgw:为 Swift 容器添加 X-Timestamp (#10938 Radoslaw Zarzynski)
  • rgw: 始终检查 token 是否过期 (#11367 Anton Aksola, Riku Lehto)
  • rgw: 转换工具以修复损坏的多部分对象 (#12079 Yehuda Sadeh)
  • rgw: 记录池和对象的布局 (Pete Zaitcev)
  • rgw: 不在 bucket header 中使用引号 (#11860 Wido den Hollander)
  • rgw: 不为 HEAD 请求预取数据 (Guang Yang)
  • rgw: 在复制对象时不要保留 ACL (#12370 Yehuda Sadeh)
  • rgw: 如果长度为 0,则不要设置 content-type (#11091 Orit Wasserman)
  • rgw:不要在设置 ACL 时覆盖 bucket/object 所有者 (#10978 Yehuda Sadeh)
  • rgw: 不要为命名空间对象列表使用 end_marker (#11437 Yehuda Sadeh)
  • rgw:如果配置了前端,则不要使用 rgw_socket_path (#11160 Yehuda Sadeh)
  • rgw: 对 Swift cont/obj 上的 POST 强制执行 Content-Length (#10661 Radoslaw Zarzynski)
  • rgw: 如果前端未发送所有数据则出错 (#11851 Yehuda Sadeh)
  • rgw:通过管理套接字公开不健康的 worker 数量(Guang Yang)
  • rgw: 如果未指定 parts 进行多部分上传,则失败 (#11435 Yehuda Sadeh)
  • rgw: 修复复制对象属性的分配 (#11563 Yehuda Sadeh)
  • rgw: 修复容器列表中的损坏统计信息 (#11285 Radoslaw Zarzynski)
  • rgw: 修复域/子域拆分中的错误 (Robin H. Johnson)
  • rgw:修复 Content-Type 标头的拼写(Robin H. Johnson)
  • rgw: 修复 civetweb 最大线程数 (#10243 Yehuda Sadeh)
  • rgw: 修复 Connection: header 处理 (#12298 Wido den Hollander)
  • rgw: 修复复制元数据,支持 swift 的 X-Copied-From (#10663 Radoslaw Zarzynski)
  • rgw: 修复数据损坏竞争条件 (#11749 Wuxingyi)
  • rgw:修复从 Swift DLO 获取对象时 X-Object-Manifest 的解码(Radslow Rzarzynski)
  • rgw: 修复 limit == 0 时 swift 帐户上的 GET (#10683 Radoslaw Zarzynski)
  • rgw:修复 Swift 容器上的空元数据项处理 (#11088 Radoslaw Zarzynski)
  • rgw: 修复获取用户配额时的 JSON 响应 (#12117 Wuxingyi)
  • rgw: 修复以 _ 开头的对象的定位器 (#11442 Yehuda Sadeh)
  • rgw:修复日志轮换 (Wuxingyi)
  • rgw: 修复重试路径中的多部分上传 (#11604 Yehuda Sadeh)
  • rgw: 修复 POST 上的配额执行 (#11323 Sergey Arkhipov)
  • rgw: 修复 reset_loc (#11974 Yehuda Sadeh)
  • rgw: 修复丢失上传时的返回码 (#11436 Yehuda Sadeh)
  • rgw:修复 sysvinit 脚本
  • rgw:修复具有多个实例的 sysvinit 脚本(Sage Weil, Pavan Rallabhandi)
  • rgw: 强制 swift bucket stats 请求的内容类型 (#12095 Orit Wasserman)
  • rgw: 强制对没有正文的响应设置 content length 标头 (#11438 Orit Wasserman)
  • rgw:为 civetweb 生成 Date 标头 (#10873 Radoslaw Zarzynski)
  • rgw: 在设置属性时生成新的对象标签 (#11256 Yehuda Sadeh)
  • rgw: 改进 content-length 环境变量处理 (#11419 Robin H. Johnson)
  • rgw: 改进对 swift 帐户元数据的支持 (Radoslaw Zarzynski)
  • rgw:改进过时桶处理(Radoslaw Rzarzynski)
  • rgw: 在刷新缓存数据之前对第一个块发出 aio (#11322 Guang Yang)
  • rgw:将日志记录到 /var/log/ceph 而不是 /var/log/radosgw
  • rgw:使 init 脚本等待 radosgw 停止 (#11140 Dmitry Yatsushkevich)
  • rgw: 使 max put 大小可配置 (#6999 Yuan Zhou)
  • rgw:使配额/gc 线程可配置 (#11047 Guang Yang)
  • rgw: 使读取用户 bucket 向后兼容 (#10683 Radoslaw Zarzynski)
  • rgw: 正确合并具有前缀覆盖的清单 (#11622 Yehuda Sadeh)
  • rgw: 仅扫描不在命名空间中的对象 (#11984 Yehuda Sadeh)
  • rgw: 孤儿检测工具 (Yehuda Sadeh)
  • rgw:传递 civetweb 可配置项 (#10907 Yehuda Sadeh)
  • rgw:纠正 PUT 响应中的 202 Accepted (#11148 Radoslaw Zarzynski)
  • rgw:删除 bucket 后删除 meta 文件 (#11149 Orit Wasserman)
  • rgw: 从 HTTP_HOST 标头中删除尾随的 :port (Sage Weil)
  • rgw: 在列出 bucket 时,对错误的 limit 返回 412 (#11613 Yehuda Sadeh)
  • rgw: 重构 X-Trans-Id 标头以符合 Swift API (Radoslaw Rzarzynski)
  • rgw:s3 encoding-type 用于获取桶(Jeff Weber)
  • rgw: 为 swift 发送 ETag、Last-Modified (#11087 Radoslaw Zarzynski)
  • rgw: 设置 content length 到容器 GET、PUT、DELETE、HEAD (#10971, #11036 Radoslaw Zarzynski)
  • rgw:在 ceph.conf 中设置每个用户的最大桶数(Vikhyat Umrao)
  • rgw: 在多个 librados 实例上分片工作 (Pavan Rallabhandi)
  • rgw: 支持 swift 容器 GET 上的 end marker (#10682 Radoslaw Zarzynski)
  • rgw:支持 Swift 过期 API(Radoslaw Rzarzynski, Yehuda Sadeh)
  • rgw:swift:允许使用 COPY 设置属性 (#10662 Ahmad Faheem, Dmytro Iurchenko)
  • rgw: swift: 不要覆盖发送的内容类型 (#12363 Orit Wasserman)
  • rgw: swift: 在响应中强制执行 Content-Type (#12157 Radoslaw Zarzynski)
  • rgw: swift: 修复帐户列表 (#11501 Radoslaw Zarzynski)
  • rgw:swift:修复复制上的元数据处理 (#10645 Radoslaw Zarzynski)
  • rgw:swift:发送 Last-Modified 标头 (#10650 Radoslaw Zarzynski)
  • rgw: swift: 为帐户 GET 设置 Content-Length (#12158 Radoslav Zarzynski)
  • rgw: swift: 为 keystone 令牌设置 content-length (#11473 Herv Rousseau)
  • rgw:使用 token 信息更新 keystone 缓存 (#11125 Yehuda Sadeh)
  • rgw:更新到最新的 civetweb,启用 IPv6 配置 (#10965 Yehuda Sadeh)
  • rgw: 在复制时使用源存储桶中的 attrs (#11639 Javier M. Mellid)
  • rgw: 使用正确的 oid 进行 gc 链 (#11447 Yehuda Sadeh)
  • rgw:user rm 是幂等的(Orit Wasserman)
  • rgw: 为 civetweb 使用唯一的请求 ID (#10295 Orit Wasserman)
  • rocksdb: 添加 get/put 延迟的性能计数器 (Xinxin Shu)
  • rocksdb, leveldb: 修复 compact_on_mount (Xiaoxi Chen)
  • rocksdb: 将选项作为单个字符串传递 (Xiaoxi Chen)
  • rocksdb:更新到最新版本 (Xiaoxi Chen)
  • rpm: 添加 suse 防火墙文件 (Tim Serong)
  • rpm: 始终重建并安装 rpm 的 man 页面 (Owen Synge)
  • rpm:放宽 ceph-test 依赖项 (Ken Dreyer)
  • rpm: 许多 spec 文件修复 (Owen Synge, Ken Dreyer)
  • rpm: 杂项修复 (Boris Ranto, Owen Synge, Ken Dreyer, Ira Cooper)
  • rpm: 杂项 systemd 和 SUSE 修复 (Owen Synge, Nathan Cutler)
  • selinux 策略(Boris Ranto, Milan Broz)
  • systemd: logrotate 修复 (Tim Serong, Lars Marowsky-Bree, Nathan Cutler)
  • systemd:许多修复(Sage Weil, Owen Synge, Boris Ranto, Dan van der Ster)
  • systemd:守护进程现在以用户 ceph 身份运行
  • sysvinit 兼容性: 杂项修复 (Owen Synge)
  • test: 杂项 fs 测试改进 (John Spray, Loic Dachary)
  • test: python 测试、linter 清理 (Alfredo Deza)
  • tests: rbd xstests 修复 (Douglas Fuller)
  • tests: 修复 tiering 健康检查 (Loic Dachary)
  • tests: 低级性能测试 (Haomai Wang)
  • tests: 许多 ec 非回归改进 (Loic Dachary)
  • tests: 许多许多 ec 测试改进 (Loic Dachary)
  • upstart: 限制重启次数 (#11798 Sage Weil, Greg Farnum)

获取 Ceph