v12.1.0 Luminous RC 发布
TheAnalyst
这是Luminous的第一个发布候选版本,它是下一个长期稳定版本。
Ceph Luminous 将成为下一代长期稳定版本系列的基础。自 Kraken (v11.2.z) 和 Jewel (v10.2.z) 以来,它进行了重大更改。
与 Kraken 相比的主要变化
常规:
- Ceph 现在有一个简单、内置的基于 Web 的仪表板,用于监控集群状态。
RADOS:
- BlueStore:
- ceph-osd 的新的 BlueStore 后端现在稳定,并且是新创建的 OSD 的新默认设置。BlueStore 通过直接管理物理 HDD 或 SSD 而无需使用 XFS 等中间文件系统来管理每个 OSD 存储的数据。这提供了更高的性能和功能。
- BlueStore 支持存储的所有数据的完整数据和元数据校验和。
- BlueStore 支持使用 zlib、snappy 或 LZ4 进行内联压缩。(Ceph 还支持用于 RGW 压缩的 zstd,但出于性能原因,不推荐将 zstd 用于 BlueStore。)
- 纠删码池现在完全支持覆盖写入,允许它们与 RBD 和 CephFS 一起使用。阅读有关 EC 覆盖写入的更多信息。
- ceph-mgr:
- 有一个新的守护程序,ceph-mgr,它是任何 Ceph 部署中必需的一部分。尽管当 ceph-mgr 关闭时 IO 可以继续,但指标不会刷新,并且某些与指标相关的调用(例如 ceph df)可能会阻塞。我们建议部署多个 ceph-mgr 实例以提高可靠性。请参阅下面的`升级`_说明。
- ceph-mgr 守护程序包括一个基于 REST 的管理 API。该 API 仍处于试验阶段且功能有限,但将成为未来 Ceph API 管理的基础。
- 集群的整体可扩展性得到了提高。我们已经成功测试了具有多达 10,000 个 OSD 的集群。
- 每个 OSD 现在都可以关联一个 device class(例如
hdd或ssd),允许 CRUSH 规则轻松地将数据映射到系统中的设备子集。通常不需要手动编写 CRUSH 规则或手动编辑 CRUSH。 - 您现在可以优化 CRUSH 权重,以在 OSD 之间保持近乎完美的数据分布。
- 还有一个新的
upmap异常机制,允许单个 PG 四处移动以实现完美分布(这需要 luminous 客户端)。 - 每个 OSD 现在根据其底层设备是 HDD 还是 SSD 调整其默认配置。通常不需要手动调整。
- 原型 mclock QoS 队列算法现已可用。
- 现在有一个回退机制,可以防止 OSD 被无法当前处理 IO 的对象或 PG 的请求过载。
- 有一个简化的 OSD 替换过程,更加健壮。
- 您可以使用 ceph features 查询所有连接的守护程序和客户端支持的功能和(表观)版本。
- 您可以配置要允许连接到集群的最旧的 Ceph 客户端版本,通过 ceph osd set-require-min-compat-client,并且 Ceph 将阻止您启用将破坏与这些客户端兼容性的功能。
- 一些
sleep设置,包括 osd_recovery_sleep、osd_snap_trim_sleep 和 osd_scrub_sleep,已重新实现以高效工作。(在某些情况下,这些设置用于解决限制后台工作的问题。)
- BlueStore:
RGW:
- RGW 元数据搜索由 ElasticSearch 提供支持,现在支持通过 RGW 本身服务于最终用户请求,并且还支持自定义元数据字段。创建了一种查询语言和一组 RESTful API,以便用户能够按其元数据搜索对象。还添加了允许控制自定义元数据字段的新 API。
- RGW 现在支持动态存储桶索引分片。随着存储桶中对象数量的增加,RGW 将自动响应地重新分片存储桶索引。不需要用户干预或存储桶大小容量规划。
- RGW 引入了上传对象的服务器端加密,具有三种加密密钥管理选项:自动加密(仅推荐用于测试设置)、类似于 Amazon SSE-C 规范的客户提供的密钥,以及通过使用外部密钥管理服务 (Openstack Barbician) 类似于 Amazon SSE-KMS 规范。
- RGW 现在具有初步的类似 AWS 的存储桶策略 API 支持。目前,策略是表达一系列新授权概念的一种方式。未来,它将成为 STS 和组策略等附加授权功能的基础。
- RGW 已经通过使用 rados 命名空间合并了几个元数据索引池。
RBD:
- RBD 现在完全稳定地支持纠删码池,通过 rbd create 的新 --data-pool 选项。
- RBD 镜像的 rbd-mirror 守护程序现在具有高可用性。我们建议部署多个 rbd-mirror 实例以提高可靠性。
- 默认的 'rbd' 池在集群创建期间不再自动创建。此外,当未指定池时,rbd CLI 使用的默认池名称可以通过新的 rbd default pool = 覆盖
配置选项。 - 通过新的 rbd trash CLI 命令提供延迟图像删除的初始支持。即使是那些被克隆主动使用的图像,也可以移动到回收站并在以后删除。
- 新的池级别 rbd mirror pool promote 和 rbd mirror pool demote 命令,用于批量提升/降级池内的所有镜像图像。
- 镜像现在可以选择性地支持通过 rbd mirroring replay delay = 可配置的复制延迟
配置选项。 - 改进了启用对象映射功能时的丢弃处理。
- rbd CLI import 和 copy 命令现在检测到稀疏并保留稀疏区域。
- 快照现在将包含创建时间戳
CephFS:
- 多个活动 MDS 守护进程现在被认为是稳定的。可以在活动的 CephFS 文件系统上向上或向下调整活动 MDS 服务器的数量。
- CephFS 目录碎片现在是稳定的,并且在新文件系统上默认启用。要在现有文件系统上启用它,请使用 "ceph fs set <fs_name> allow_dirfrags"。大型或非常繁忙的目录会被分片并(可能)自动分布到多个 MDS 守护程序上。
- 可以显式地将目录子树固定到特定的 MDS 守护进程,在自动负载平衡不理想或无效的情况下。
杂项:
现在正在为 Debian Stretch 构建发布包。我们现在为其构建的发行版包括
- CentOS 7 (x86_64 和 aarch64)
- Debian 8 Jessie (x86_64)
- Debian 9 Stretch (x86_64)
- Ubuntu 16.04 Xenial (x86_64 和 aarch64)
- Ubuntu 14.04 Trusty (x86_64)请注意,QA 仅限于 CentOS 和 Ubuntu (xenial 和 trusty)。
CLI 更改:
- ceph -s 或 ceph status 命令具有全新的外观。
- ceph {osd,mds,mon} versions 汇总了正在运行的守护程序的版本。
- ceph {osd,mds,mon} count-metadata
类似地,通过 ceph {osd,mds,mon} metadata 命令,它会制表任何其他可见的守护程序元数据。 - ceph features 总结了连接的客户端和守护进程的功能和版本。
- ceph osd require-osd-release
取代了旧的 require_RELEASE_osds 标志。 - ceph osd pg-upmap, ceph osd rm-pg-upmap, ceph osd pg-upmap-items, ceph osd rm-pg-upmap-items 可以显式管理
upmap项 - ceph osd getcrushmap 返回 crush map 版本号到 stderr,ceph osd setcrushmap [version] 仅当版本匹配时才会注入更新的 crush map。这允许 crush map 在离线更新后重新注入到集群中,而无需担心破坏正在进行的变化(例如,由新添加的 osd 或其他管理员的更改)。
- ceph osd create 已替换为 ceph osd new。对于大多数用户来说,这应该被
ceph-disk等面向用户的工具隐藏。 - ceph osd destroy 将标记一个 OSD 已销毁,并删除其 cephx 和 lockbox 密钥。但是,OSD id 和 CRUSH map 条目将保留在原位,允许 id 被替换设备重用,并且数据重新平衡最少。
- ceph osd purge 将删除集群中 OSD 的所有痕迹,包括其 cephx 加密密钥、dm-crypt lockbox 密钥、OSD id 和 crush map 条目。
- ceph osd ls-tree
将输出给定 CRUSH 名称(如主机或机架名称)下的 OSD id 列表。这对于应用于整个子树的更改很有用。例如,ceph osd down `ceph osd ls-tree rack1`。 - ceph osd {add,rm}-{noout,noin,nodown,noup} 允许将
noout、nodown、noin和noup标志应用于特定的 OSD。 - ceph log last [n] 将输出集群日志的最后 n 行。
- ceph mgr dump 将转储 MgrMap,包括当前活动的 ceph-mgr 守护进程和任何待机守护进程。
- ceph osd crush swap-bucket
将交换层次结构中两个 CRUSH 存储桶的内容,同时保留存储桶的 ID。这允许替换整个设备子树(例如,用新映像的 BlueStore OSD 替换 FileStore OSD 的整个主机),而不会中断数据在相邻设备上的分布。 - ceph osd set-require-min-compat-client
配置集群需要支持的最旧的客户端版本。如果更改此设置会违反此设置,其他更改(如 CRUSH 可调参数)将失败。如果当前连接到集群的客户端版本早于指定的版本,则更改此设置也会失败。 - ceph config-key dump 打印 config-key 条目及其内容。(现有的 ceph config-key ls 仅打印键名,不打印值。)
- ceph osd set-{full,nearfull,backfillfull}-ratio 设置集群范围内的各种完整阈值比率(当集群拒绝 IO 时,当集群警告即将达到完整时,当 OSD 将延迟将 PG 重新平衡到自身时,分别)。
- ceph osd reweightn 将在单个命令中指定多个 OSD 的
reweight值。这等同于一系列 ceph osd reweight 命令。 - ceph crush class {create,rm,ls} 管理新的 CRUSH 设备类功能。ceph crush set-device-class
将为特定设备设置类。 - ceph mon feature list 将列出 MonMap 中记录的监视器功能。ceph mon feature set 将设置一个可选功能(目前尚不存在)。
与 Jewel 相比的主要变化
RADOS:
- 我们现在默认使用 AsyncMessenger (ms type = async),而不是传统的 SimpleMessenger。最明显的区别是我们现在使用固定大小的线程池进行网络连接(而不是 SimpleMessenger 的每个套接字两个线程)。
- 现在几乎可以立即检测到某些 OSD 故障,而以前必须等待心跳超时(默认为 20 秒)过期。这可以防止在主机保持运行但 ceph-osd 进程不再运行的故障情况下,IO 长时间阻塞。
- 编码的 OSDMap 大小已减小。
- OSD 现在在恢复或重新平衡进行时会停止擦除。
RGW:
- RGW 现在支持 S3 多部分对象 copy-part API。
- 现在可以离线重新分片现有的存储桶。离线存储桶重新分片当前需要停止特定存储桶的所有 IO(尤其是写入)。(有关自动在线重新分片,请参见 Luminous 上面的新功能。)
- RGW 现在支持对象的数据压缩。
- Civetweb 版本已升级到 1.8
- 现在支持 Swift 静态网站 API(之前已添加 S3 支持)。
- 已添加 S3 存储桶生命周期 API。请注意,目前它仅支持对象过期。
- 已为 LDAP 身份验证实现添加了自定义搜索过滤器支持。
- 已为 RGW NFS 网关添加了 NFS 版本 3 的支持。
- 已为 librgw 创建了一个 Python 绑定。
RBD:
- rbd-mirror 守护进程现在支持将动态图像功能更新和从主图像到非主图像的图像元数据键/值对复制。
- 可以可选地将图像快照的数量限制为可配置的最大值。
- rbd Python API 现在支持异步 IO 操作。
CephFS:
- libcephfs 函数定义已更改以启用正确的 uid/gid 控制。库版本已增加以反映接口更改。
- 待机重放 MDS 守护进程现在在执行删除操作的工作负载上消耗更少的内存。
- Scrub 现在可以修复回溯,并使用发现的错误填充
damage ls。 cephfs-data-scan的新pg_files子命令可以识别受损坏或丢失的 RADOS PG 影响的文件。- “failing to respond to cache pressure”(未能响应缓存压力)的误报警告已修复。
- libcephfs 函数定义已更改以启用正确的 uid/gid 控制。库版本已增加以反映接口更改。
重要变更 ¶
- bluestore: ceph-disk: add –filestore argument, default to –bluestore (pr#15437, Loic Dachary, Sage Weil)
- bluestore,core: os/bluestore: fix warning (pr#15435, Sage Weil)
- bluestore,core: os/bluestore: improve mempool usage (pr#15402, Sage Weil)
- bluestore,core: os/bluestore: write “mkfs_done” into disk only if we pass fsck() tests (pr#15238, xie xingguo)
- bluestore,core: os: remove experimental status for BlueStore (pr#15177, Sage Weil)
- bluestore: os/bluestore: better debug output on unsharing blobs (issue#20227, pr#15746, Sage Weil)
- bluestore: os/bluestore/BlockDevice: support pmem device as bluestore backend (pr#15102, Jianpeng Ma)
- bluestore: os/bluestore/BlueFS: Rebuild memcopy for bufferlist::page_aligned_app… (pr#15728, Jianpeng Ma, Sage Weil)
- bluestore: os/bluestore/BlueFS: .slow should be compared with dirname (pr#15595, zhanglei)
- bluestore: os/bluestore/BlueStore: no device no symlink. (pr#15721, Jianpeng Ma)
- bluestore: os/bluestore: cleanup bluestore_types (pr#15680, xie xingguo)
- bluestore: os/bluestore: configure rocksdb cache via bluestore_cache_kv_ratio (pr#15580, Sage Weil)
- bluestore: os/bluestore: fix a typo about bleustore (pr#15357, Dongsheng Yang)
- bluestore: os/bluestore: fix BitMapAllocator assert on out-of-bound hint value (pr#15289, Igor Fedotov)
- bluestore: os/bluestore: fix buffers pinned by indefinitely deferred writes (pr#15398, Sage Weil)
- bluestore: os/bluestore: fix false assert in IOContext::aio_wake (pr#15268, Igor Fedotov)
- bluestore: os/bluestore: fix false asserts in Cache::trim_all() (pr#15470, xie xingguo)
- bluestore: os/bluestore: fix fsck deferred_replay (pr#15295, Sage Weil)
- bluestore: os/bluestore: fix possible out of order shard(offset == 0); add sanity check (pr#15658, xie xingguo)
- bluestore: os/bluestore: fix potential access violation (pr#15657, xie xingguo)
- bluestore: os/bluestore: fix unsharing blob dirty_range args (issue#20227, pr#15766, Sage Weil)
- bluestore: os/bluestore: handle rounding error in cache ratios (pr#15672, Sage Weil)
- bluestore: os/bluestore: initialize finishers properly (pr#15666, xie xingguo)
- bluestore: os/bluestore/KernelDevice: fix comments (pr#15264, xie xingguo)
- bluestore: os/bluestore/KernelDevice: helpful warning when aio limit exhausted (pr#15116, Sage Weil)
- bluestore: os/bluestore: move sharedblob to new collection in same shard (issue#20358, pr#15783, Sage Weil)
- bluestore: os/bluestore: refactor BlueStore::_do_write; kill dead ExtentMap::find_lextent() method (pr#15750, xie xingguo)
- bluestore: os/bluestore: remove unused variables (pr#15718, zhanglei)
- bluestore: os/bluestore: stop calculating bound if we must reshard; narrow shard combination condition (pr#15631, xie xingguo)
- bluestore: os/bluestore: target_bytes should scale with meta/data ratios. (pr#15708, Mark Nelson)
- bluestore,performance: os/bluestore: avoid overloading extents during reshard; atomic deferred_batch_ops (pr#15502, xie xingguo)
- bluestore,performance: os/bluestore: batch throttle (pr#15284, Jianpeng Ma)
- bluestore,performance: os/bluestore: keep statfs replica in RAM to avoid expensive KV retrieval (pr#15309, Igor Fedotov)
- bluestore,performance: os/bluestore/KernelDevice: fix sync write vs flush (pr#15034, Sage Weil)
- bluestore,performance: os/bluestore: move cache_trim into MempoolThread (pr#15380, xie xingguo)
- bluestore,performance: os/bluestore: put bluefs in the middle of the shared device (pr#14873, Sage Weil)
- bluestore,performance: os/bluestore: separate kv_sync_thread into two parts (pr#14035, Jianpeng Ma, Igor Fedotov, Sage Weil)
- bluestore,performance: os/bluestore: try to unshare blobs for EC overwrite workload (pr#14239, Sage Weil)
- bluestore,tests: qa/objectstore/bluestore*: fsck on mount (pr#15785, Sage Weil)
- bluestore,tests: test/unittest_bluefs: When fsync ret is less than 0, fsync can not be… (pr#15365, shiqi)
- bluestore: wrap blob id when it reaches maximum value of int16_t (issue#19555, pr#15654, Xiaoyan Li)
- build/ops: 12.0.3 (pr#15600, Jenkins Build Slave User)
- build/ops: build: move bash_completion.d/ceph to ceph-common (pr#15148, Leo Zhang)
- build/ops: build: remove ceph-disk-udev entirely (pr#15259, Leo Zhang)
- build/ops: build: revert -Wvla from #15342 (pr#15469, Willem Jan Withagen)
- build/ops: build: Use .S suffix for ppc64le assembly files (issue#20106, pr#15373, Andrew Solomon)
- build/ops: ceph-detect-init: detect init system by poking the system (issue#19884, pr#15043, Kefu Chai)
- build/ops,common: build: Adds C++ warning flag for C Variable-Length Arrays. (pr#15342, Jesse Williamson)
- build/ops,common: common/blkdev.cc: propagate get_device_by_fd to different OSes (pr#15547, Willem Jan Withagen)
- build/ops: conditionalize rgw Beast frontend so it isn’t built on s390x architecture (issue#20048, pr#15225, Willem Jan Withagen, Nathan Cutler, Kefu Chai, Tim Serong, Casey Bodley)
- build/ops,core: common/freebsd_errno.cc: fix missing ; (pr#15741, Willem Jan Withagen)
- build/ops,core: erasure-code: update ec_isa version + add missing AVX512 ISA-L sources (pr#15636, Ganesh Mahalingam, Tushar Gohad)
- build/ops,core,tests: osd/dmclock/testing: reorganize testing, building now optional (pr#15375, J. Eric Ivancich)
- build/ops: debian: ceph-mgr: fix package description (pr#15513, Fabian Grünbichler)
- build/ops: debian: sync logrotate packaging with downstream (issue#19938, pr#15567, Fabian Grünbichler)
- build/ops: do_cmake.sh: enable ccache if installed (pr#15274, Sage Weil)
- build/ops: drop libfcgi build dependency (pr#15285, Nathan Cutler)
- build/ops: .gitignore: exclude rpm files (pr#15745, Leo Zhang)
- build/ops: install-deps.sh: workaround setuptools’ dependency on six (pr#15406, Kefu Chai)
- build/ops: miscellaneous cleanups and fixes (run-make-check.sh, ceph.spec.in) (issue#20091, issue#20127, pr#15399, Nathan Cutler)
- build/ops,rbd,tests: test/librbd: decouple ceph_test_librbd_api from libceph-common (issue#20175, pr#15611, Kefu Chai)
- build/ops: rpm: apply epoch only if %epoch macro is defined (pr#15286, Nathan Cutler)
- build/ops: rpm: make librbd1 %post scriptlet depend on coreutils (issue#20052, pr#15231, Giacomo Comes, Nathan Cutler)
- build/ops: rpm: move _epoch_prefix below Epoch definition (pr#15417, Nathan Cutler)
- build/ops: rpm: move RDMA and python-prettytables build dependencies to distro-conditional section (pr#15200, Nathan Cutler)
- build/ops: rpm: package COPYING, move sample ceph.conf to ceph-common (pr#15596, Nathan Cutler)
- build/ops: selinux: Allow read on var_run_t (issue#16674, pr#15523, Boris Ranto)
- build/ops: selinux: Do parallel relabel on package install (issue#20077, pr#14871, Boris Ranto)
- build/ops: selinux: Install ceph-base before ceph-selinux (issue#20184, pr#15490, Boris Ranto)
- build/ops: Set subman cron attributes in spec file (issue#20074, pr#15270, Thomas Serlin)
- build/ops: The Clangtastic Mr. Clocks (pr#15186, Adam C. Emerson)
- build/ops: yasm-wrapper: filter -pthread (pr#15249, Alessandro Barbieri)
- cephfs: #17980: MDS client blacklisting and blacklist on eviction (issue#17980, issue#9754, pr#14610, John Spray)
- cephfs: ceph: simplify CInode::maybe_export_pin() (pr#15106, “Yan, Zheng”)
- cephfs: client: avoid returning negative space available (issue#20178, pr#15481, John Spray)
- cephfs: client: call the lru_remove() twice,when trim cache (pr#15662, huanwen ren)
- cephfs: client: check for luminous MDS before sending FLUSH_MDLOG (pr#15805, John Spray)
- cephfs: client: fix Dentry::dump (pr#15779, huanwen ren)
- cephfs: client: fix display ino in the ldout (pr#15314, huanwen ren)
- cephfs: client/inode: fix the dump type of Inode::dump() (pr#15198, huanwen ren)
- cephfs,common,rbd: blkin: librbd trace hooks (pr#15053, Victor Araujo, Jason Dillaman)
- cephfs: mds/MDBalancer: remove useless check_targets and hit_targets logic from MDS balancer (issue#20131, pr#15407, Zhi Zhang)
- cephfs,mgr: pybind/mgr/fsstatus: use mds_mem.dn as dentry counter (pr#15255, Zhi Zhang)
- cephfs: mon/FSCommand: fix indentation (pr#15423, Sage Weil)
- cephfs: mon/MDSMonitor: respect mds_standby_for_rank config (pr#15129, “Yan, Zheng”)
- cephfs: osdc/Journaler: avoid executing on_safe contexts prematurely (issue#20055, pr#15240, “Yan, Zheng”)
- cephfs: osdc/Journaler: fix memory leak in Journaler::_issue_read() (issue#20338, pr#15776, “Yan, Zheng”)
- cephfs: osdc/Objecter: fix inflight_ops update (pr#15768, “Yan, Zheng”)
- cephfs: qa/cephfs: disable mds_bal_frag for TestStrays.test_purge_queue_op_rate (issue#19892, pr#15105, “Yan, Zheng”)
- cephfs: qa/tasks/cephfs: use getattr to guarantee inode is in client cache (issue#19912, pr#15062, “Yan, Zheng”)
- cephfs: qa: update log whitelists for kcephfs suite (pr#14922, “Yan, Zheng”)
- cephfs,tests: ceph-object-corpus: mark MMDSSlaveRequest incompat change (pr#15730, Sage Weil)
- cephfs,tests: qa: fix float parse error in test_fragment (pr#15122, Patrick Donnelly)
- cephfs,tests: qa: misc cephfs test improvements (issue#20131, pr#15411, John Spray)
- cephfs,tests: qa: silence upgrade test failure (issue#19934, pr#15126, Patrick Donnelly)
- cephfs,tests: qa: simplify TestJournalRepair (pr#15096, John Spray)
- cephfs: tools/cephfs: remove apply mode of cephfs-journal-tool (pr#15715, John Spray)
- cleanup: src: put-to operator function - const input cleanup (issue#3977, pr#15364, Jos Collin)
- cmake: Add -finstrument-functions flag to OSD code (pr#15055, Mohamad Gebai)
- cmake: build boost as an external project (pr#15376, Kefu Chai)
- cmake: check the existence of gperf before using it (pr#15164, Kefu Chai)
- cmake: do not add dependencies to INTERFACE library on cmake < 3.3 (pr#15813, Kefu Chai)
- cmake: do not link libcommon against some libs (pr#15340, Willem Jan Withagen)
- cmake: exclude *.css while generating ctags (pr#15663, Leo Zhang)
- cmake: fix boost components for WITH_SYSTEM_BOOST (pr#15160, Bassam Tabbara)
- cmake: improved build speed by 5x when using ccache (pr#15147, Bassam Tabbara)
- cmake: link against fcgi only if enabled (pr#15425, Yao Zongyou)
- cmake: misc fixes for build on i386 (pr#15516, James Page)
- cmake: rgw: do not link against boost in a wholesale (pr#15347, Nathan Cutler, Kefu Chai)
- cmake: workaound ccache issue with .S assembly files (pr#15142, Bassam Tabbara)
- common: add ceph::size() (pr#15181, Kefu Chai)
- common: ceph_osd: remove client message cap limit (pr#14944, Haomai Wang)
- common: cls: optimize header file dependency (pr#15165, Brad Hubbard, Xiaowei Chen)
- common: cmdparse: more constness (pr#15023, Kefu Chai)
- common: common/ceph_context: ‘config diff get’ option added (pr#10736, Daniel Oliveira)
- common: common/ceph_context: fix leak of registered commands on exit (pr#15302, xie xingguo)
- common: common/freebsd_errno.cc: fixed again a stupid typo (pr#15742, Willem Jan Withagen)
- common: common/iso_8601.cc: Make return expression Clang compatible (pr#15336, Willem Jan Withagen)
- common: common/LogEntry: include EntityName in log entries (pr#15395, Sage Weil)
- common: common,osdc: remove atomic_t completely (pr#15562, Kefu Chai)
- common: common/perf_counters: add average time for PERFCOUNTER_TIME (pr#15478, xie xingguo)
- common: common/perf_counters: make schema more friendly and update docs (pr#14933, Sage Weil)
- common: common,test: migrate atomic_t to std::atomic (pr#14866, Jesse Williamson)
- common: config_opt: use bool instead of int for the default value of filestore_debug_omap_check (pr#15651, Leo Zhang)
- common,core: ceph_test_rados_api_misc: fix LibRadosMiscConnectFailure.ConnectFailure retry (issue#19901, pr#15522, Sage Weil)
- common: core/common: Fix ENODATA for FreeBSD with compat.h (issue#19883, pr#15685, Willem Jan Withagen)
- common,core: osd/OSDMap: make osd_state 32 bits wide (pr#15390, Sage Weil)
- common,core: osd/OSDMap: replace require_*_osds flags with a single require_osd_release field (pr#15068, Sage Weil)
- common,core: osd/OSDMap: replace string-based min_compat_client with a CEPH_RELEASE_* uint8_t (pr#15351, Sage Weil)
- common: crc32c: include acconfig.h to fix ceph_crc32c_aarch64() (pr#15515, Kefu Chai)
- common: crush/CrushWrapper: fix has_incompat_choose_args (pr#15218, Sage Weil)
- common: crush/CrushWrapper: fix has_incompat_choose_args() (pr#15244, Sage Weil)
- common: denc: add encode/decode for basic_sstring (pr#15135, Kefu Chai, Casey Bodley)
- common: fix typo in option of rados_mon_op_timeout’s comment (pr#15681, Leo Zhang)
- common: get_process_name: use getprogname on bsd systems (pr#15338, Mykola Golub)
- common: Improved CRC calculation for zero buffers (pr#11966, Adam Kupczyk)
- common: include/lru.h: add const to member functions (pr#15408, yonghengdexin735)
- common: include/rados: Fix typo in rados_ioctx_cct() doc (pr#15220, Jos Collin)
- common: include: Redo some includes for FreeBSD (issue#19883, pr#15337, Willem Jan Withagen)
- common: initialize _hash in LogEntryKey() (pr#15615, Jos Collin)
- common: int_types.h: remove hacks to workaround old systems (pr#15069, Kefu Chai)
- common: librados,libradosstriper,test: migrate atomic_t to std::atomic (baragon) (pr#14658, Jesse Williamson)
- common: libradosstriper: Add example code (pr#15350, Logan Blyth)
- common: mempool: improve dump; fix buffer accounting bugs (pr#15403, Sage Weil)
- common: mgr/PyFormatter: implement dump_format_va (pr#15634, Sage Weil)
- common,mon: messenger,client,compressor: migrate atomic_t to std::atomic (pr#14657, Jesse Williamson)
- common,mon: mon,crush: add ‘osd crush swap-bucket’ command (pr#15072, Sage Weil)
- common: msg/async: add assert of ms_async_op_threads > 0 (pr#15629, linbing)
- common,performance: buffer: allow buffers to be accounted in arbitrary mempools (pr#15352, Sage Weil)
- common,performance: crc32c: Add ppc64le fast zero optimized assembly. (pr#15100, Andrew Solomon)
- common,performance: inline_memory: optimized mem_is_zero for non-x64 (pr#15307, Piotr Dałek)
- common,performance: kv/rocksdb: supports SliceParts interface (pr#15058, Haomai Wang)
- common,performance: osd/OSDMap: make pg_temp more efficient (pr#15291, Sage Weil)
- common,rdma: msg/async/rdma: automatically set RDMAV_HUGEPAGES_SAFE according to conf (pr#15755, DanielBar-On)
- common: Remove redundant includes - 2 (issue#19883, pr#15169, Jos Collin)
- common: Remove redundant includes - 3 (issue#19883, pr#15204, Jos Collin)
- common: Remove redundant includes - 4 (issue#19883, pr#15251, Jos Collin)
- common: Remove redundant includes - 5 (issue#19883, pr#15267, Jos Collin)
- common: Remove redundant includes - 6 (issue#19883, pr#15299, Jos Collin)
- common: Remove redundant includes (issue#19883, pr#15042, Brad Hubbard)
- common: Remove redundant includes (issue#19883, pr#15086, Jos Collin)
- common: src/common/ceph_string: stringify new osd states (pr#15751, xie xingguo)
- common,tests: ceph_test_rados_api_list: more fix LibRadosListNP.ListObjectsError (issue#19963, pr#15138, Sage Weil)
- common,tests: test: Make screencandy optional for FreeBSD (pr#15444, Willem Jan Withagen)
- common: xio: migrate atomic_t to std::atomic<> (pr#15230, Jesse Williamson)
- core: ceph-dencoder: Silence coverity CID 1412579 (pr#15744, Brad Hubbard)
- core: ceph-disk: do not setup_statedir on trigger (issue#19941, pr#15410, Loic Dachary)
- core: ceph-objectstore-tool: do not populate snapmapper with missing clones (issue#19943, pr#15787, Sage Weil)
- core: compressor: add LZ4 support (pr#15434, Haomai Wang)
- core: compressor: optimize header file dependency (pr#15187, Brad Hubbard, Xiaowei Chen)
- core: crush, mon: make jewel the lower bound for client/crush compat for new clusters (pr#15370, Sage Weil)
- core: erasure-code: optimize header file dependency (pr#15172, Brad Hubbard, Xiaowei Chen)
- core: erasure-code: Remove duplicate of isa-l files (pr#15372, Ganesh Mahalingam)
- core: filestore: migrate atomic_t to std::atomic<> (pr#15228, Jesse Williamson)
- core: include/types.h, introduce host_to_ceph_errno (pr#15496, Willem Jan Withagen)
- core: Install Pecan for FreeBSD (pr#15610, Willem Jan Withagen)
- core: introduce (and fix) code to pass errno to other OSes (pr#15495, Willem Jan Withagen)
- core: messages/MOSDPing: initialize MOSDPing padding (issue#20323, pr#15714, Sage Weil)
- core,mgr: mgr/DaemonServer: stop spamming log with pg stats (pr#15487, Sage Weil)
- core,mgr,mon: mon/PGMap: fix osd_epoch update when removing osd_stat (issue#20208, pr#15573, Sage Weil)
- core,mgr,tests: qa/suites/rados/rest: test restful mgr module (pr#15604, Sage Weil)
- core: mon,mgr: fix “ceph osd df”, add some tools to find untested commands (issue#20256, pr#15675, Greg Farnum)
- core,mon: mon/LogMonitor: ‘log last’ command (pr#15497, Sage Weil)
- core,mon: mon/MgrStatMonitor: keep mgrstat version ahead of pgmon (issue#20219, pr#15584, Sage Weil)
- core,mon: mon,osd: add crush_version to OSDMap, and allow crush map updates to gate on crush_version (pr#15533, Sage Weil)
- core,mon: mon/OSDMonitor: cancel mapping job from update_from_paxos (issue#20067, pr#15320, Sage Weil)
- core,mon: mon/OSDMonitor: use up set instead of acting set in reweight_by_utilization (pr#13802, Mingxin Liu)
- core,mon: mon/PGMap: call blocked requests ERR not WARN (pr#15501, Sage Weil)
- core: mon/OSDMonitor: batch noup/noin osds support (pr#15725, xie xingguo)
- core: mon/OSDMonitor: batch OSDs nodown/noout support (pr#15381, xie xingguo)
- core: mon/OSDMonitor: change info in ‘osd failed’ messages (pr#15321, Sage Weil)
- core: mon,osd/OSDMap: a couple pg-upmap fixes (pr#15319, Sage Weil)
- core: msg/async: avoid requeue racing with handle_write (issue#20093, pr#15324, Haomai Wang)
- core: msg/async: fix deleted_conn is out of sync with conns (issue#20230, pr#15645, Haomai Wang)
- core: objclass-sdk: use namespace ceph for bufferlist (pr#15581, Neha Ojha)
- core: osd/ECTransaction: only read partial stripes when below original object size (issue#19882, pr#15712, Sage Weil)
- core: osd,librados: add manifest, redirect (pr#15325, Sage Weil)
- core: osd, messages/MOSDPing: bunch of fixes related to ping inflation (pr#15727, Piotr Dałek)
- core: osd/OSD: bump up current version; conditionally encoding manifest into oi (pr#15687, xie xingguo)
- core: osd/OSDMap: Change pg_to_ to return void (pr#15684, Brad Hubbard)
- core: osd/OSDMap: improve upmap calculation (issue#19818, pr#14902, Sage Weil)
- core: osd/PG: drop pre-firefly compat_mode for choose_*_acting (pr#15057, Sage Weil)
- core: osd/pglog: remove loop through empty collection (pr#15121, J. Eric Ivancich)
- core: osd/PG: make non-empty PastIntervals non-fatal (issue#20167, pr#15639, Sage Weil)
- core: osd/PrimaryLogPG: clear oi from trim_object() (issue#19947, pr#15519, Sage Weil)
- core: osd/PrimaryLogPG: fix oi reset during trim_object (issue#19947, pr#15696, Sage Weil)
- core: osd/PrimaryLogPG: record prior_version for DELETE events (issue#20274, pr#15649, Sage Weil)
- core: os/filestore: when print log, use __func__ instead of hard code function name (pr#15261, mychoxin)
- core: os/filestore: zfs add get_name() (pr#15650, Yanhu Cao)
- core,performance: msg/async: reduce write_lock contention (pr#15092, Haomai Wang)
- core,performance: osd/OSD.h: requeue the scrub job with higher priority to shorten the blocking time of related requests (pr#15552, Jin Cai)
- core: qa: do not restrict valgrind runs to centos (issue#18126, pr#15389, Greg Farnum)
- core,rgw: qa: Removed all ‘default_idle_timeout’ due to chnage in rwg task (pr#15420, Yuri Weinstein)
- core,rgw,tests: qa/rgw_snaps: move default_idle_timeout config under the client (issue#20128, pr#15400, Yehuda Sadeh)
- core: src/ceph.in: Use env(CEPH_DEV) to suppress noise from ceph (pr#14746, Willem Jan Withagen)
- core,tests: ceph-disk: sensible default for block.db (pr#15576, Loic Dachary)
- core,tests: ceph_test_rados_api_*: wait for snap trim on ENOENT during cleanup (issue#19948, pr#15638, Sage Weil)
- core,tests: qa/suites/rados/*/at-end: wait for healthy before scrubbing (pr#15245, Sage Weil)
- core,tests: qa/suites/rados/singleton-nomsg/health-warnings: behave on ext4 (issue#20043, pr#15207, Sage Weil)
- core,tests: qa/suites/rados: temporarily remove scrub_test from basic/ until post-luminous (issue#19935, pr#15202, Sage Weil)
- core,tests: qa/suites/upgrade/kraken-x: enable experimental for bluestore (pr#15359, Sage Weil)
- core,tests: qa/tasks/ceph_manager: get osds all in after thrashing (pr#15784, Sage Weil)
- core,tests: qa/tasks/ceph: osd_scrub_pgs: reissue scrub requests in loop (issue#20326, pr#15747, Sage Weil)
- core,tests: qa/tasks/ceph.py: tolerate active+clean+something (pr#15717, Sage Weil)
- core,tests: qa/workunits/cephtool/test.sh: fix osd full health detail grep (issue#20187, pr#15494, Sage Weil)
- core,tests: qa/workunits/rados/test_health_warning: misc fixes (issue#19990, pr#15201, Sage Weil)
- core,tests: Revert “qa: do not restrict valgrind runs to centos” (issue#20360, pr#15791, Sage Weil)
- core,tests: test/osd/TestRados.cc: run set-redirect test after finishing setup (issue#20114, pr#15385, Myoungwon Oh)
- core,tools: osdmaptool: require –upmap-save before modifying input osdmap (pr#15247, Sage Weil)
- crush: add missing tunable in tests (pr#15412, Loic Dachary)
- crush: detect and (usually) fix ruleset != rule id (pr#13683, Sage Weil)
- crush: encode can override weights with weight set (issue#19836, pr#15002, Loic Dachary)
- crush: optimize header file dependency (pr#9307, Xiaowei Chen)
- crush: update choose_args when items are added/removed (pr#15311, Loic Dachary)
- doc: 12.1.0/release notes 2 (pr#15627, Abhishek Lekshmanan)
- doc: add descriptions for mon/mgr options (pr#15032, Kefu Chai)
- doc: add FreeBSD manual install (pr#14941, Willem Jan Withagen)
- doc: add new cn ceph mirror to doc and mirroring (pr#15089, Shengjing Zhu)
- doc: add rados xattr commands to manpage (pr#15362, Andreas Gerstmayr)
- doc: add README to dmclock subdir to inform developers it’s a git subtree (pr#15386, J. Eric Ivancich)
- doc: AUTHORS: update with release manager, backport team (pr#15391, Sage Weil)
- doc: Change the default values of some OSD options (issue#20199, pr#15566, Bara Ancincova)
- doc: describe CephFS max_file_size (pr#15287, Ken Dreyer)
- doc: describe mark_events logging available via the OSD’s OpTracker (pr#15095, Greg Farnum)
- doc: dev improve the s3tests doc to reflect current scripts (pr#15180, Abhishek Lekshmanan)
- doc: doc/cephfs: mention RADOS object size limit (pr#15550, John Spray)
- doc: doc/release-notes: update which jewel version does sortbitwise warning (pr#15209, Sage Weil)
- doc: doc/release-note: update release-note (pr#15748, liuchang0812)
- doc: doc/rgw: remove fastcgi page and sample configs (pr#15133, Casey Bodley)
- doc: doc/rgw: remove Federated Configuration, clean up multisite (issue#19504, issue#18082, pr#15132, Casey Bodley)
- doc: Documentation Fixes for http://tracker.ceph.com/issues/19879 (issue#20057, issue#19879, pr#15606, Sameer Tiwari)
- doc: document perf historgrams (pr#15150, Piotr Dałek)
- doc: Document RGW quota cache options (issue#18747, pr#13395, Daniel Gryniewicz)
- doc: document the setup of restful and dashboard plugins (issue#20239, pr#15707, Kefu Chai)
- doc: fix broken link in erasure-code.rst (issue#19972, pr#15143, MinSheng Lin)
- doc: fix factual inaccuracy in doc/architecture.rst (pr#15235, Nathan Cutler, Sage Weil)
- doc: fixing an error in 12.0.3 release notes (pr#15195, Abhishek Lekshmanan)
- doc: fix syntax on code snippets in cephfs/multimds (pr#15499, John Spray)
- doc: freshen mgr docs (pr#15690, John Spray)
- doc: kill some broken links (pr#15203, liuchang0812)
- doc: mailmap for v12.0.2 (pr#14753, Abhishek Lekshmanan)
- doc: mailmap: Leo Zhang infomation and affiliation (pr#15145, Leo Zhang)
- doc: mention certain conf vars should be in global (pr#15119, Ali Maredia)
- doc: Merge pull request from stiwari/wip-19879 (issue#19879, pr#15609, Sameer Tiwari)
- doc: minor fixes in radosgw/ (pr#15103, Drunkard Zhang)
- doc: PendingReleaseNotes: notes on whiteouts vs pgnls (pr#15575, Sage Weil)
- doc: PendingReleaseNotes: warning about ‘osd rm ...’ and #19119 (issue#19119, pr#13731, Sage Weil)
- doc: release-notes clarify about rgw encryption (pr#14800, Abhishek Lekshmanan)
- doc: release notes for v12.0.3 (dev) (pr#15090, Abhishek Lekshmanan)
- doc: remove some non-existent and fix the default value according to … (pr#15664, Leo Zhang)
- docs document “osd recovery max single start” setting (issue#17396, pr#15275, Ken Dreyer)
- doc: tools/cephfs: fix cephfs-journal-tool –help (pr#15614, John Spray)
- doc: typo fixes on hyperlink/words (pr#15144, Drunkard Zhang)
- doc: update sample explaning “%” operator in test suites (pr#15511, Kefu Chai)
- doc: Update some RGW documentation (pr#15175, Jens Rosenboom)
- doc: update the usage of ‘ceph-deploy purge’ (pr#15080, Yu Shengzuo)
- doc: use do_cmake.sh instead of cmake .. (pr#15110, Kefu Chai)
- librbd: add create timestamp metadata for image (pr#15757, runsisi)
- librbd: discard related IO should skip op if object non-existent (issue#19962, pr#15239, Mykola Golub)
- librbd: do not raise an error if trash list returns -ENOENT (pr#15085, runsisi)
- librbd: filter expected error codes from is_exclusive_lock_owner (issue#20182, pr#15483, Jason Dillaman)
- librbd: fix issues with image removal state machine (pr#15734, Jason Dillaman)
- librbd: fix valgrind errors and ensure tests detect future leaks (pr#15415, Jason Dillaman)
- librbd: optimize copy-up to add hints only once to object op (issue#19875, pr#15037, Mykola Golub)
- librbd: potential read IO hang when image is flattened (issue#19832, pr#15234, Jason Dillaman)
- librbd: reacquire lock should update lock owner client id (issue#19929, pr#15093, Jason Dillaman)
- librbd: reduce potential of erroneous blacklisting on image close (issue#19970, pr#15162, Jason Dillaman)
- librbd: remove unused rbd_image_options_t ostream operator (pr#15443, Mykola Golub)
- mds: change the type of data_pools (pr#15278, Vicente Cheng)
- mds: check export pin during replay (issue#20039, pr#15205, Patrick Donnelly)
- mds: Client syncfs is slow (waits for next MDS tick) (issue#20129, pr#15544, dongdong tao)
- mds: explicitly output error msg for dump cache asok command (pr#15592, Zhi Zhang)
- mds: fix CDir::merge() for mds_debug_auth_pins (issue#19946, pr#15130, “Yan, Zheng”)
- mds: fix client ID truncation (pr#15258, Henry Chang)
- mds: fix hangs involving re-entrant calls to journaler (issue#20165, pr#15430, John Spray)
- mds: improvements for stray reintegration (pr#15548, “Yan, Zheng”)
- mds: limit client writable range increment (issue#19955, pr#15131, “Yan, Zheng”)
- mds: mds perf item ‘l_mdl_expos’ always behind journaler (pr#15621, redickwang)
- mds: miscellaneous multimds fixes part2 (pr#15125, “Yan, Zheng”)
- mds: miscellaneous multimds fixes (pr#14550, “Yan, Zheng”)
- mds: multimds flock fixes (pr#15440, “Yan, Zheng”)
- mds: Pass empty string to clear mantle balancer (issue#20076, pr#15282, Zhi Zhang)
- mds: properly create aux subtrees for pinned directory (issue#20083, pr#15300, “Yan, Zheng”)
- mds: save projected path into inode_t::stray_prior_path (issue#20340, pr#15800, “Yan, Zheng”)
- mgr: ceph-create-keys: update client.admin if it already exists (issue#19940, pr#15112, John Spray)
- mgr: ceph: introduce “tell x help” subcommand (issue#19885, pr#15111, liuchang0812)
- mgr: ceph-mgr: Implement new pecan-based rest api (pr#14457, Boris Ranto)
- mgr: cleanup, stop clients sending in perf counters (pr#15578, John Spray)
- mgr: dashboard code cleanup (pr#15577, John Spray)
- mgr: dashboard GUI module (pr#14946, John Spray, Dan Mick)
- mgr: fix MgrStandby eating messages (pr#15716, John Spray)
- mgr: load modules in separate python sub-interpreters (pr#14971, Tim Serong)
- mgr: Mark session connections down on shutdown (issue#19900, pr#15192, Brad Hubbard)
- mgr: mgr/DaemonServer.cc: log daemon type string as well as id (pr#15560, Dan Mick)
- mgr: mgr/dashboard: fix type error in get_rate function (issue#20276, pr#15668, liuchang0812)
- mgr: mgr/dashboard: load log lines on startup, split out audit log (pr#15709, John Spray)
- mgr: mgr/MgrStandby: prevent use-after-free on just-shut-down Mgr (issue#19595, pr#15297, Sage Weil)
- mgr: mgr/MgrStandby: respawn when deactivated (issue#19595, issue#19549, pr#15557, Sage Weil)
- mgr: mgr,osd: ceph-mgr –help, unify usage text of other daemons (pr#15176, Tim Serong)
- mgr,mon: mon,mgr: extricate PGmap from monitor (issue#20067, issue#20174, issue#20050, pr#15073, Kefu Chai, Sage Weil, Greg Farnum)
- mgr,mon: mon/MgrMonitor: add ‘mgr dump [epoch]’ command (pr#15158, Sage Weil)
- mgr,mon: mon,mgr: print pgmap reports to debug (not cluster) log (pr#15740, Sage Weil)
- mgr: optimize DaemonStateIndex::cull() a little bit (pr#14967, Kefu Chai)
- mgr: print a more helpful error message for when users lack mgr ceph caps (issue#20296, pr#15697, Greg Farnum)
- mgr: pybind/mgr/dashboard: monkeypatch os.exit to stop cherrypy from taking down mgr (issue#20216, pr#15588, Sage Weil)
- mgr: pybind/mgr: Delete rest module (pr#15429, John Spray)
- mgr: pybind/mgr/restful: improve cert handling; work with vstart (pr#15405, Sage Weil)
- mgr: raise python exception on failure in send_command() (pr#15704, Kefu Chai)
- mgr: remove default cert; disable both restful and dashboard by default (pr#15601, Boris Ranto, Sage Weil)
- mgr,tests: qa/upgrade/jewel-x/point-to-point: add a mgr during final upgrade (pr#15637, Sage Weil)
- mon: add crush type down health warnings (pr#14914, Neha Ojha)
- mon: Add override for FsNewHandler::handle() (pr#15331, yonghengdexin735)
- mon: cleanups (pr#15272, Kefu Chai)
- mon: delete useless function definition (pr#15188, shiqi)
- mon: DIVIDE_BY_ZERO in PGMapDigest::dump_pool_stats_full() (pr#15622, Jos Collin)
- mon: don’t prefix mgr summary with epoch number (pr#15512, John Spray)
- mon: fix accesing pending_fsmap from peon (issue#20040, pr#15213, John Spray)
- mon: fix a few bugs with the osd health reporting (pr#15179, Sage Weil)
- mon: Fixed typo in function comment blocks and in other comments (pr#15304, linbing)
- mon: Fixed typo in @post of _active() (pr#15191, Linbing)
- mon: fix mon_keyvaluedb application (pr#15059, Sage Weil)
- mon: Incorrect expression in PGMap::get_health() (pr#15648, Jos Collin)
- mon: it’s no need to get pg action_primary osd twice in pg scrub (pr#15313, linbing)
- mon: Log errors at startup (issue#14088, `pr#15723 <https://
- mon: mon/MgrMonitor: send digests only if is_active() (pr#15109, Kefu Chai)
- mon: mon/MonClient: cancel pending commands on shutdown (issue#20051, pr#15227, Kefu Chai, Sage Weil)
- mon: {mon,osd,mds} {versions,count-metadata} (pr#15436, Sage Weil)
- mon: mon/PGMap: show %used in formatted output (issue#20123, pr#15387, Joao Eduardo Luis)
- mon: Removed unnecessary function declaration in MDSMonitor.h (pr#15374, yonghengdexin735)
- mon: replace osds with osd destroy and osd new (pr#14074, Joao Eduardo Luis, Sage Weil)
- mon: revise “ceph status” output (pr#15396, John Spray)
- mon: show io status quickly if no update in a long period (pr#14176, Mingxin Liu)
- mon: track features from connect clients, and use it to gate set-require-min-compat-client (pr#15371, Sage Weil)
- mon: trim the creating_pgs after updating it with pgmap (issue#20067, pr#15318, Kefu Chai)
- msg: do not enable client-side binding by default (issue#20049, pr#15392, Jason Dillaman)
- msg: don’t set msgr addr when disabing client bind (pr#15243, Haomai Wang)
- msgr: msg/async: Lower down the AsyncMessenger’s standby warning from debug (pr#15242, Pan Liu)
- msgr: msg/async/rdma: check if fin message completed (pr#15624, Alexander Mikheev, Adir Lev)
- msgr: msg/async/rdma: handle buffers after close msg (pr#15749, DanielBar-On, Alexander Mikheev, Adir Lev)
- msgr: msg/async: remove false alert “assert” (pr#15288, Haomai Wang)
- osd: don’t leak pgrefs or reservations in SnapTrimmer (issue#19931, pr#15214, Greg Farnum)
- osd: fix argument-dependent lookup of swap() (pr#15124, Casey Bodley)
- osd: fix past_intervals base case by adding epoch_pool_created to pg_history_t (issue#19877, pr#14989, Sage Weil)
- osd: hdd vs ssd defaults for osd op thread pool (pr#15422, Sage Weil)
- osd: Implement asynchronous recovery sleep (pr#15212, Neha Ojha)
- osd: Move scrub sleep timer to osdservice (issue#19986, pr#15217, Brad Hubbard)
- osd: Object level shard errors are tracked and used if no auth available (issue#20089, pr#15397, David Zafman)
- osd: osd/OSDMap.cc: check if osd is out in subtree_type_is_down (issue#19989, pr#15250, Neha Ojha)
- osd: ‘osd tree in|out|up|down’ to filter tree results (pr#15294, Sage Weil)
- osd: reduce buffer pinning from EC entries (pr#15120, Sage Weil)
- osd: reduce map cache size (pr#15292, Sage Weil)
- osd: reduce rados_max_object_size from 100 GB -> 128 MB (pr#15520, Sage Weil)
- osd: rename osd -> osd_pglog; include pglog-related bufferlists (pr#15531, Sage Weil)
- osd: Return early on shutdown (issue#19900, pr#15345, Brad Hubbard)
- osd: take PGRef for recovery sleep wakeup event (issue#20226, pr#15582, Sage Weil)
- osd: when osd in not in failure_pending, we don’t need to get osd inst from osdmap. (pr#15558, linbing)
- osd: When scrub finds an attr error mark shard inconsistent (issue#20089, pr#15368, David Zafman)
- performance: common/config_opts.h: Lower HDD throttle cost. (pr#15485, Mark Nelson)
- performance: denc: add need_contiguous to denc_traits (pr#15224, Kefu Chai)
- pybind: pybind/ceph_argparse: fix empty string check (issue#20135, pr#15500, Sage Weil)
- pybind: pybind/ceph_daemon.py: fix Termsize.update (pr#15253, Kefu Chai)
- pybind: pybind/rados: avoid call free() on invalid pointer (pr#15159, Mingxin Liu)
- pybind,rbd: pybind/rbd: OSError should be picklable (issue#20223, pr#15574, Jason Dillaman)
- pybind: support mon target in pybind (pr#15409, liuchang0812)
- qa: test/osd/osd-dup.sh: use wait_for_clean (pr#15722, Dan Mick)
- rbd-mirror: coordinate image syncs with leader (issue#18789, pr#14745, Mykola Golub)
- rbd-mirror: lock loss during sync should wait for in-flight copies (pr#15532, Jason Dillaman)
- rbd-mirror: permit release of local image exclusive lock after force promotion (issue#18963, pr#15140, Jason Dillaman)
- rbd: properly decode features when using image name optional (issue#20185, pr#15492, Jason Dillaman)
- rbd: pybind/rbd: fix crash if more than 1024 images in trash bin (pr#15134, runsisi)
- rbd: rbd/bench: fix write gaps when doing sequential writes with io-threads > 1 (pr#15206, Igor Fedotov)
- rbd: removed hardcoded default pool (pr#15518, Jason Dillaman)
- rbd,tests: qa: krbd discard/zeroout tests (pr#15388, Ilya Dryomov)
- rbd,tests: qa/suites/krbd: unmap subsuite needs straw buckets (pr#15290, Ilya Dryomov)
- rbd,tests: qa: update krbd_data_pool.sh to match the new rados ls behavior (pr#15594, Ilya Dryomov)
- rbd,tests: test/librbd: unit tests cleanup (pr#15113, Mykola Golub)
- rdma: msg/async/rdma: Add DSCP support (pr#15484, Sarit Zubakov)
- rdma: msg/async: Revert RDMA-CM (pr#15262, Amir Vadai)
- rgw: Adding code to create tenanted user for s3 bucket policy tests. (pr#15028, Pritha Srivastava)
- rgw: add “rgw_verify_ssl” config (pr#15301, Shasha Lu)
- rgw: add the Vim’s modeline into rgw_orphan.cc. (pr#15431, Radoslaw Zarzynski)
- rgw: bucket index check in radosgw-admin removes valid index. (issue#18470, pr#12851, Zhang Shaowen)
- rgw: datalog trim and mdlog trim handles the result returned by osd incorrectly. (issue#20190, pr#15507, Zhang Shaowen)
- rgw: display more info when using radosgw-admin bucket stats (pr#15256, fang.yuxiang)
- rgw: drop asio/{yield,coroutine}.hpp replacements (pr#15413, Kefu Chai)
- rgw: drop using std ns in header files and other cleanups (pr#15137, Abhishek Lekshmanan)
- rgw: dynamic resharding (pr#15493, Yehuda Sadeh, Orit Wasserman)
- rgw: fix ‘gc list –include-all’ command infinite loop the first items (issue#19978, pr#12774, Shasha Lu, fang yuxiang)
- rgw: fix lc list failure when shards not be all created (issue#19898, pr#15025, Jiaying Ren)
- rgw: fix radosgw-admin retcode (pr#15257, Shasha Lu)
- rgw: fix test_multi.py default config file path (pr#15306, Jiaying Ren)
- rgw: fix X-Object-Meta-Static-Large-Object in SLO download (issue#19951, pr#15045, Shasha Lu)
- rgw: metadata search part 2 (pr#14351, Yehuda Sadeh)
- rgw: migrate atomic_t to std::atomic<> (pr#15001, Jesse Williamson)
- rgw: optimize data sync. Add zones_trace in log to avoid needless sync. (issue#19219, pr#13851, Zhang Shaowen)
- rgw: optimize generating torrent file. Object data won’t stay in memory now. (pr#15153, Zhang Shaowen)
- rgw: pass authentication domain to civetweb (issue#17657, pr#12861, Abhishek Lekshmanan)
- rgw: polymorphic error codes (pr#10690, Pritha Srivastava, Marcus Watts)
- rgw: remove fastcgi from default rgw frontends (pr#15098, Casey Bodley)
- rgw: rename s3_code to err_code for swift (pr#12300, Guo Zhandong)
- rgw: return the version id in get object and object metadata request. (issue#19370, pr#14117, Zhang Shaowen)
- rgw: rgw-admin: fix bucket limit check argparse, div(0) (pr#15316, Matt Benjamin)
- rgw: rgw_common: use string::npos for the results of str.find (pr#14341, Abhishek Lekshmanan)
- rgw: rgw_file: add lock protection for readdir against gc (issue#20121, pr#15329, Gui Hecheng)
- rgw: rgw_file cleanup names (pr#15568, Gui Hecheng)
- rgw: rgw_file: fix flags set on unsuccessful unlink (pr#15222, Gui Hecheng)
- rgw: rgw_file: prevent conflict of mkdir between restarts (issue#20275, pr#15655, Gui Hecheng)
- rgw: rgw_file: release rgw_fh lock and ref on ENOTEMPTY (issue#20061, pr#15246, Matt Benjamin)
- rgw: rgw_file: removed extra rele() on fs in rgw_umount() (pr#15152, Gui Hecheng)
- rgw: rgw_file: remove hidden uxattr objects from buckets on delete (issue#20045, pr#15210, Matt Benjamin)
- rgw: rgw_file: remove post-unlink lookup check (issue#20047, pr#15216, Matt Benjamin)
- rgw: rgw_file: replace raw fs->fh_lru.unref with predefined fs->unref (pr#15541, Gui Hecheng)
- rgw: rgw_file: store bucket uxattrs on the bucket (issue#20082, pr#15293, Matt Benjamin)
- rgw: rgw_file: v3: fix write-timer action (issue#19932, pr#15097, Matt Benjamin)
- rgw: rgw_rados: create sync module instances only if run_sync_thread is set (issue#19830, pr#14994, Abhishek Lekshmanan)
- rgw: rgw/rgw_swift_auth.cc: using string::back() instead as the C++11 recommend (pr#14827, liuyuhong)
- rgw: segment fault when shard id out of range (issue#19732, pr#14389, redickwang)
- rgw: set object accounted size correctly (issue#20071, pr#14950, fang yuxiang)
- rgw: set placement rule properly (pr#15221, fang.yuxiang)
- rgw: support certain archaic and antiquated distributions (pr#15498, Adam C. Emerson)
- rgw,tests: qa/rgw: add multisite suite to configure and run multisite tests (pr#14688, Casey Bodley)
- rgw,tests: qa/rgw: remove apache/fastcgi and radosgw-agent tests (pr#15184, Casey Bodley)
- rgw: Turn off fcgi as a frontend (issue#16784, pr#15070, Thomas Serlin)
- rgw: use get_data_extra_pool() when get extra pool (issue#20064, pr#15219, fang yuxiang)
- rgw: use pre-defined calls to replace raw flag operation (pr#15107, Gui Hecheng)
- tests: Add integration tests for admin socket output (pr#15223, Brad Hubbard)
- tests: ceph-disk: add setting for external py-modules for tox-testing (pr#15433, Willem Jan Withagen)
- tests: Check make_writeable() return value (pr#15266, zhanglei)
- tests: config_opts: drop unused opts (pr#15031, Kefu Chai)
- tests: qa: add task for dnsmasq configuration (pr#15071, Casey Bodley)
- tests: qa: split test_tiering into smaller pieces (pr#15146, Kefu Chai)
- tests: qa/suites/rados: fix ec thrashing (pr#15087, Sage Weil)
- tests: qa/suites/rados/singleton-nomsgr: fix syntax (pr#15276, Sage Weil)
- tests: qa/suites/rados/thrash: make sure osds have map before legacy scrub (pr#15117, Sage Weil)
- tests: qa/suites/rados/upgrade: restart mds (pr#15517, Sage Weil)
- tests: qa/tasks/ceph_manager: ‘ceph $service tell ...’ is obsolete (pr#15252, Sage Weil)
- tests: qa/tasks/rebuild_mondb: grant “mgr:allow *” to client.admin (issue#19439, pr#14284, Kefu Chai)
- tests: qa/tasks/repair_test: unset flags we set (pr#15296, Sage Weil)
- tests: qa/workunits/ceph-helpers.sh: use syntax understood by jq 1.3 (pr#15530, Kefu Chai)
- tests: Rename FileJournal object to distinguish (pr#15279, Jos Collin)
- tests: test/crush: silence warnings from -Walloc-size-larger-than= and -Wstringop-overflow= (pr#15173, Jos Collin)
- tests: test: migrate atomic_t to std::atomic (pr#14655, Jesse Williamson)
- tests: test/msgr: silence warnings from -Wsign-compare (pr#15356, Jos Collin)
- tests: test/msgr: silence warnings from -Wsign-compare (pr#15570, Jos Collin)
- tests: test/objectstore: Check apply_transaction() return values (pr#15171, zhanglei)
- tests: test/old: Removed commented code (pr#15366, Jos Collin)
- tests: test/osdc: fix comparison error and silence warning from -Wunused-value (pr#15353, Willem Jan Withagen)
- tests: test: osd/TestOSDMap.cc: fix Clang complain about promotion (pr#15525, Willem Jan Withagen)
- tests: test: test_denc.cc: silence warning from -Wsign-compare (pr#15355, Jos Collin)
- tests: test: Test fix for SnapSet change (pr#15161, David Zafman)
- tests: test/unittest_bluefs: check whether mounted success (pr#14988, shiqi)
- tools: ceph-disk: command invocation needs all fields separate (pr#15733, Willem Jan Withagen)
- tools: ceph.in: adjust usage width according to user’s tty (pr#15190, Kefu Chai)
- tools: ceph.in: assert(state==connected) before help_for_target() (pr#15156, Kefu Chai)
- tools: ceph.in: drop the compatiiblity to handle non json commands (pr#15508, Kefu Chai)
- tools: ceph.in: print return code when json_command failed (pr#15378, liuchang0812)
- tools: ceph-rest-api: be more tolerant on network failure (issue#20115, pr#15706, Kefu Chai)
- tools: fio_ceph_objectstore: Print db_statistics when rocksdb_perf is enabled (pr#15796, Xiaoyan Li)
- tools: tools/ceph_kvstore_tool: add “bluestore-kv” to usage (pr#15326, xie xingguo)
- tools: tools/crushtool: replicated-rule API support (pr#15011, xie xingguo)
- tools: vstart: “debug_ms=1” for mgr by default (pr#15127, Kefu Chai)
- tools: vstart: print “start osd.$id” instead of “start osd$id” (pr#15427, Kefu Chai)