注意

本文档适用于 Ceph 的开发版本。

Jewel

Jewel 是 Ceph 的第 10 个稳定版本。它以珍宝鱿鱼(Histioteuthis reversa)命名。

v10.2.11 Jewel

此点版本带来了一些重要的错误修复,以及一些重要的安全修复。这预计将是最后一个 Jewel 版本。我们建议所有 Jewel 10.2.x 用户升级。

值得注意的变更

  • CVE 2018-1128: auth: cephx 授权程序容易受到重放攻击 (issue#24836, Sage Weil)

  • CVE 2018-1129: auth: cephx 签名检查较弱 (issue#24837, Sage Weil)

  • CVE 2018-10861: mon: 针对池操作的 auth 检查不正确 (issue#24838, Jason Dillaman)

  • RBD C API 的 rbd_discard 方法和 C++ API 的 Image::discard 方法现在强制执行 2GB 的最大长度。此限制可防止结果代码溢出。

  • 新的 OSD 现在默认使用 rocksdb 来存储 omap 数据,而不是 leveldb。omap 用于 RGW 存储桶索引和 CephFS 目录,当单个 leveldb 在高写入或删除工作负载下增长到 10GB 时,如果 leveldb 的单线程压缩无法跟上,可能会导致高延迟。rocksdb 支持多线程压缩,可以避免这个问题。

  • CephFS 客户端现在会捕获启动期间清除 dentry 失败的情况,并拒绝启动,因为可能会出现一致性和不可修剪的缓存问题。新的选项 client_die_on_failed_dentry_invalidate (默认值: true) 可以关闭以允许客户端继续(危险!)。

  • 在 10.2.10 及更早版本中,未检查密钥环 caps 的有效性,因此 caps 字符串可以是任何内容。从 10.2.11 开始,将验证 caps 字符串,并且向 “ceph auth add” 等提供带有无效 caps 字符串的密钥环将导致错误。

变更日志

v10.2.10 Jewel

此点版本带来了 Ceph 所有主要组件中的一些重要错误修复,我们建议所有 Jewel 10.2.x 用户升级。

有关更改的详细列表,请参阅 :download: 完整的变更日志 <../changelog/v10.2.10txt>

值得注意的变更

  • build/ops: Add fix subcommand to ceph-disk, fix SELinux denials, and speed up upgrade from non-SELinux enabled ceph to an SELinux enabled one (issue#20077, issue#20184, issue#19545, pr#14346, Boris Ranto)

  • build/ops: deb: Fix logrotate packaging (issue#19938, pr#15428, Nathan Cutler)

  • build/ops: extended, customizable systemd ceph-disk timeout (issue#18740, pr#15051, Alexey Sheplyakov)

  • build/ops: rpm: fix python-Sphinx package name for SUSE (issue#19924, pr#15196, Nathan Cutler, Jan Matejek)

  • build/ops: rpm: set subman cron attributes in spec file (issue#20074, pr#15473, Thomas Serlin)

  • cephfs: ceph-fuse segfaults at mount time, assert in ceph::log::Log::stop (issue#18157, pr#16963, Greg Farnum)

  • cephfs: df reports negative disk “used” value when quota exceed (issue#20178, pr#16151, John Spray)

  • cephfs: get_quota_root sends lookupname op for every buffered write (issue#20945, pr#17396, Dan van der Ster)

  • cephfs: osdc/Filer: truncate large file party by party (issue#19755, pr#15442, “Yan, Zheng”)

  • core: an OSD was seen getting ENOSPC even with osd_failsafe_full_ratio passed (issue#20544, issue#16878, issue#19733, issue#15912, pr#15050, Sage Weil, David Zafman)

  • core: disable skewed utilization warning by default (issue#20730, pr#17210, David Zafman)

  • core: interval_set: optimize intersect_of insert operations (issue#21229, pr#17514, Zac Medico)

  • core: kv: let ceph_logger destructed after db reset (issue#21336, pr#17626, wumingqiao)

  • core: test_envlibrados_for_rocksdb.yaml fails on crypto restart (issue#19741, pr#16293, Kefu Chai)

  • libradosstriper silently fails to delete empty objects in jewel (issue#20325, pr#15760, Stan K)

  • librbd: fail IO request when exclusive lock cannot be obtained (issue#20168, issue#21251, pr#17402, Jason Dillaman)

  • librbd: prevent self-blacklisting during break lock (issue#18666, pr#17412, Jason Dillaman)

  • librbd: reacquire lock should update lock owner client id (issue#19929, pr#17385, Jason Dillaman)

  • mds: damage reporting by ino number is useless (issue#18509, issue#16016, pr#14699, John Spray, Michal Jarzabek)

  • mds: log rotation doesn’t work if mds has respawned (issue#19291, pr#14673, Patrick Donnelly)

  • mds: save projected path into inode_t::stray_prior_path (issue#20340, pr#16150, “Yan, Zheng”)

  • mon: crash on shutdown, lease_ack_timeout event (issue#19825, pr#15083, Kefu Chai, Michal Jarzabek, Alexey Sheplyakov)

  • mon: Disallow enabling ‘hashpspool’ option to a pool without some kind of --i-understand-this-will-remap-all-pgs flag (issue#18468, pr#13507, Vikhyat Umrao)

  • mon: factor mon_osd_full_ratio into MAX AVAIL calc (issue#18522, pr#15236, Sage Weil)

  • mon: fail to form large quorum; msg/async busy loop (issue#20230, pr#15726, Haomai Wang, Michal Jarzabek)

  • mon: fix force_pg_create pg stuck in creating bug (issue#18298, pr#17008, Alexey Sheplyakov)

  • mon: osd crush set crushmap need sanity check (issue#19302, pr#16144, Loic Dachary)

  • osd: Add heartbeat message for Jumbo Frames (MTU 9000) (issue#20087, issue#20323, pr#16059, Piotr Dałek, Sage Weil, Greg Farnum)

  • osd: fix infinite loops in fiemap (issue#19996, pr#15189, Sage Weil, Ning Yao)

  • osd: leaked MOSDMap (issue#18293, pr#14943, Sage Weil)

  • osd: objecter full_try behavior not consistent with osd (issue#19430, pr#15474, Sage Weil)

  • osd: omap threadpool heartbeat is only reset every 100 values (issue#20375, pr#16167, Josh Durgin)

  • osd: osd_internal_types: wake snaptrimmer on put_read lock, too (issue#19131, pr#16015, Sage Weil)

  • osd: PrimaryLogPG: do not call on_shutdown() if (pg.deleting) (issue#19902, pr#15065, Kefu Chai)

  • osd: rados ls on pool with no access returns no error (issue#20043, issue#19790, pr#16473, Nathan Cutler, Kefu Chai, John Spray, Sage Weil, Brad Hubbard)

  • osd: ReplicatedPG: solve cache tier osd high memory consumption (issue#20464, pr#16169, Peng Xie)

  • osd: Reset() snaptrimmer on shutdown and do not default-abort on leaked pg refs (issue#19931, pr#15322, Greg Farnum)

  • osd: scrub_to specifies clone ver, but transaction include head write ver (issue#20041, pr#16405, David Zafman)

  • osd: unlock sdata_op_ordering_lock with sdata_lock hold to avoid missing wakeup signal (issue#20427, pr#15947, Alexey Sheplyakov)

  • qa: add a sleep after restarting osd before “tell”ing it (issue#16239, pr#15475, Kefu Chai)

  • rbd: api: is_exclusive_lock_owner shouldn’t return -EBUSY (issue#20182, pr#16296, Jason Dillaman)

  • rbd: cli: ensure positional arguments exist before casting (issue#20185, pr#16295, Jason Dillaman)

  • rbd: cli: map with cephx disabled results in error message (issue#19035, pr#16297, Jason Dillaman)

  • rbd: default features should be negotiated with the OSD (issue#17010, pr#14874, Mykola Golub, Jason Dillaman)

  • rbd: Enabling mirroring for a pool with clones may fail (issue#19798, issue#19130, pr#14663, Mykola Golub, Jason Dillaman)

  • rbd-mirror: image sync should send NOCACHE advise flag (issue#17127, pr#16285, Mykola Golub)

  • rbd: object-map: batch updates during trim operation (issue#17356, pr#15460, Mykola Golub, Venky Shankar, Nathan Cutler)

  • rbd: Potential IO hang if image is flattened while read request is in-flight (issue#19832, pr#15464, Jason Dillaman)

  • rbd: rbd_clone_copy_on_read ineffective with exclusive-lock (issue#18888, pr#16124, Nathan Cutler, Venky Shankar, Jason Dillaman)

  • rbd: rbd-mirror: ensure missing images are re-synced when detected (issue#19811, pr#15488, Jason Dillaman)

  • rbd: rbd-mirror: failover and failback of unmodified image results in split-brain (issue#19858, pr#14977, Jason Dillaman)

  • rbd: rbd-nbd: kernel reported invalid device size (0, expected 1073741824) (issue#19871, pr#15463, Mykola Golub)

  • rgw: add the remove-x-delete feature to cancel swift object expiration (issue#19074, pr#14659, Jing Wenjun)

  • rgw: aws4: add rgw_s3_auth_aws4_force_boto2_compat conf option (issue#16463, pr#17009, Javier M. Mellid)

  • rgw: bucket index check in radosgw-admin removes valid index (issue#18470, pr#16856, Zhang Shaowen, Pavan Rallabhandi)

  • rgw: cls: ceph::timespan tag_timeout wrong units (issue#20380, pr#16289, Matt Benjamin)

  • rgw: Custom data header support (issue#19644, pr#15966, Pavan Rallabhandi)

  • rgw: datalog trim can’t work as expected (issue#20190, pr#16299, Zhang Shaowen)

  • rgw: Delete non-empty bucket in slave zonegroup (issue#19313, pr#15477, Zhang Shaowen)

  • rgw: Do not decrement stats cache when the cache values are zero (issue#20661, issue#20934, pr#16720, Aleksei Gutikov, Pavan Rallabhandi)

  • rgw: fix crash caused by shard id out of range when listing data log (issue#19732, pr#15465, redickwang)

  • rgw: fix hangs in RGWRealmReloader::reload on SIGHUP (issue#20686, pr#17281, fang.yuxiang)

  • rgw: fix infinite loop in rest api for log list (issue#20386, pr#15988, xierui, Casey Bodley)

  • rgw: fix race in RGWCompleteMultipart (issue#20861, pr#16767, Abhishek Varshney, Matt Benjamin)

  • rgw: Fix up to 1000 entries at a time in check_bad_index_multipart (issue#20772, pr#16880, Orit Wasserman, Matt Benjamin)

  • rgw: folders starting with _ underscore are not in bucket index (issue#19432, pr#16276, Giovani Rinaldi, Orit Wasserman)

  • rgw: ‘gc list --include-all’ command infinite loop the first 1000 items (issue#19978, pr#15719, Shasha Lu, fang yuxiang)

  • rgw: meta sync thread crash at RGWMetaSyncShardCR (issue#20251, pr#16711, fang yuxiang, Nathan Cutler)

  • rgw: multipart copy-part remove ‘/’ for s3 java sdk request header (issue#20075, pr#16266, donglingpeng)

  • rgw: multipart parts on versioned bucket create versioned bucket index entries (issue#19604, issue#17964, pr#17278, Zhang Shaowen)

  • rgw: multisite: after CreateBucket is forwarded to master, local bucket may use different value for bucket index shards (issue#19745, pr#15450, Shasha Lu)

  • rgw: multisite: bucket zonegroup redirect not working (issue#19488, pr#15448, Casey Bodley)

  • rgw: multisite: fixes for meta sync across periods (issue#18639, pr#15556, Casey Bodley)

  • rgw: multisite: lock is not released when RGWMetaSyncShardCR::full_sync() fails to write marker (issue#18077, pr#17155, Zhang Shaowen)

  • rgw: multisite: log_meta on secondary zone causes continuous loop of metadata sync (issue#20357, issue#20244, pr#17148, Orit Wasserman, Casey Bodley)

  • rgw: multisite: memory leak on failed lease in RGWDataSyncShardCR (issue#19861, issue#19834, issue#19446, pr#15457, Casey Bodley, weiqiaomiao)

  • rgw: multisite: operating bucket’s acl&cors is not restricted on slave zone (issue#16888, pr#15453, Casey Bodley, Shasha Lu, Guo Zhandong)

  • rgw: multisite: realm rename does not propagate to other clusters (issue#19746, pr#15454, Casey Bodley)

  • rgw: multisite: rest api fails to decode large period on “period commit” (issue#19505, pr#15447, Casey Bodley)

  • rgw: multisite: RGWPeriodPuller does not call RGWPeriod::reflect() on new period (issue#19816, issue#19817, pr#17167, Casey Bodley)

  • rgw: multisite: RGWRadosRemoveOmapKeysCR::request_complete return val is wrong (issue#20539, pr#17156, Shasha Lu)

  • rgw: not initialized pointer cause rgw crash with ec data pool (issue#20542, pr#17164, Aleksei Gutikov, fang yuxiang)

  • rgw: radosgw-admin: bucket rm with --bypass-gc and without --purge-data doesn’t throw error message (issue#20688, pr#17159, Abhishek Varshney)

  • rgw: radosgw-admin data sync run crash (issue#20423, pr#17165, Shasha Lu)

  • rgw: radosgw-admin: fix bucket limit check argparse, div(0) (issue#20966, pr#16952, Matt Benjamin)

  • rgw: reduce log level of ‘storing entry at’ in cls_log (issue#19835, pr#15455, Willem Jan Withagen)

  • rgw: remove unnecessary ‘error in read_id for object name: default’ (issue#19922, pr#15197, weiqiaomiao)

  • rgw: replace ‘+’ with “%20” in canonical query string for s3 v4 auth (issue#20501, pr#16951, Zhang Shaowen, Matt Benjamin)

  • rgw: rgw_common.cc: modify the end check in RGWHTTPArgs::sys_get (issue#16072, pr#16268, zhao kun)

  • rgw: rgw_file: cannot delete bucket w/uxattrs (issue#20061, issue#20047, issue#19214, issue#20045, pr#15459, Matt Benjamin)

  • rgw: rgw_file: fix size and (c|m)time unix attrs in write_finish (issue#19653, pr#15449, Matt Benjamin)

  • rgw: rgw_file: incorrect lane lock behavior in evict_block() (issue#21141, pr#17597, Matt Benjamin)

  • rgw: rgw_file: prevent conflict of mkdir between restarts (issue#20275, pr#17147, Gui Hecheng)

  • rgw: rgw_file: v3 write timer does not close open handles (issue#19932, pr#15456, Matt Benjamin)

  • rgw: Segmentation fault when exporting rgw bucket in nfs-ganesha (issue#20663, pr#17285, Matt Benjamin)

  • rgw: send data-log list infinitely (issue#20951, pr#17287, fang.yuxiang)

  • rgw: set latest object’s acl failed (issue#18649, pr#15451, Zhang Shaowen)

  • rgw: Truncated objects (issue#20107, pr#17166, Yehuda Sadeh)

  • rgw: uninitialized memory is accessed during creation of bucket’s metadata (issue#20774, pr#17280, Radoslaw Zarzynski)

  • rgw: usage logging on tenated buckets causes invalid memory reads (issue#20779, pr#17279, Radoslaw Zarzynski)

  • rgw: user quota did not work well on multipart upload (issue#19285, issue#19602, pr#17277, Zhang Shaowen)

  • rgw: VersionIdMarker and NextVersionIdMarker are not returned when listing object versions (issue#19886, pr#16316, Zhang Shaowen)

  • rgw: when uploading objects continuously into a versioned bucket, some objects will not sync (issue#18208, pr#15452, lvshuhua)

  • tools: ceph cli: Rados object in state configuring race (issue#16477, pr#15762, Loic Dachary)

  • tools: ceph-disk: dmcrypt cluster must default to ceph (issue#20893, pr#16870, Loic Dachary)

  • tools: ceph-disk: don’t activate suppressed journal devices (issue#19489, pr#16703, David Disseldorp)

  • tools: ceph-disk: separate ceph-osd --check-needs-* logs (issue#19888, pr#15503, Loic Dachary)

  • tools: ceph-disk: systemd unit timesout too quickly (issue#20229, pr#17133, Loic Dachary)

  • tools: ceph-disk: Use stdin for ‘config-key put’ command (issue#21059, pr#17084, Brad Hubbard, Loic Dachary, Sage Weil)

  • tools: libradosstriper processes arbitrary printf placeholders in user input (issue#20240, pr#17574, Stan K)

v10.2.9 Jewel

This point release fixes a regression introduced in v10.2.8.

We recommend that all Jewel users upgrade.

For more detailed information, see the complete changelog.

Notable Changes

v10.2.8 Jewel

This point release brought a number of important bugfixes in all major components of Ceph. However, it also introduced a regression that could cause MDS damage, and a new release, v10.2.9, was published to address this. Therefore, Jewel users should not upgrade to this version - instead, we recommend upgrading directly to v10.2.9.

For more detailed information, see the complete changelog.

OSD Removal Caveat

There was a bug introduced in Jewel (#19119) that broke the mapping behavior when an “out” OSD that still existed in the CRUSH map was removed with ‘osd rm’. This could result in ‘misdirected op’ and other errors. The bug is now fixed, but the fix itself introduces the same risk because the behavior may vary between clients and OSDs. To avoid problems, please ensure that all OSDs are removed from the CRUSH map before deleting them. That is, be sure to do

ceph osd crush rm osd.123

before

ceph osd rm osd.123

Snap Trimmer Improvements

This release greatly improves control and throttling of the snap trimmer. It introduces the “osd max trimming pgs” option (defaulting to 2), which limits how many PGs on an OSD can be trimming snapshots at a time. And it restores the safe use of the “osd snap trim sleep” option, which defaults to 0 but otherwise adds the given number of seconds in delay between every dispatch of trim operations to the underlying system.

Other Notable Changes

  • build/ops: “osd marked itself down” will not recognised if host runs mon + osd on shutdown/reboot (issue#18516, pr#13492, Boris Ranto)

  • build/ops: ceph-base package missing dependency for psmisc (issue#19129, pr#13786, Nathan Cutler)

  • build/ops: enable build of ceph-resource-agents package on rpm-based os (issue#17613, issue#19546, pr#13606, Nathan Cutler)

  • build/ops: rbdmap.service not included in debian packaging (jewel-only) (issue#19547, pr#14383, Ken Dreyer)

  • cephfs: Journaler may execute on_safe contexts prematurely (issue#20055, pr#15468, “Yan, Zheng”)

  • cephfs: MDS assert failed when shutting down (issue#19204, pr#14683, John Spray)

  • cephfs: MDS goes readonly writing backtrace for a file whose data pool has been removed (issue#19401, pr#14682, John Spray)

  • cephfs: MDS server crashes due to inconsistent metadata (issue#19406, pr#14676, John Spray)

  • cephfs: No output for ceph mds rmfailed 0 --yes-i-really-mean-it command (issue#16709, pr#14674, John Spray)

  • cephfs: Test failure: test_data_isolated (tasks.cephfs.test_volume_client.TestVolumeClient) (issue#18914, pr#14685, “Yan, Zheng”)

  • cephfs: Test failure: test_open_inode (issue#18661, pr#14669, John Spray)

  • cephfs: The mount point break off when mds switch hanppened (issue#19437, pr#14679, Guan yunfei)

  • cephfs: ceph-fuse does not recover after lost connection to MDS (issue#16743, issue#18757, pr#14698, Kefu Chai, Henrik Korkuc, Patrick Donnelly)

  • cephfs: client: fix the cross-quota rename boundary check conditions (issue#18699, pr#14667, Greg Farnum)

  • cephfs: mds is crushed, after I set about 400 64KB xattr kv pairs to a file (issue#19033, pr#14684, Yang Honggang)

  • cephfs: non-local quota changes not visible until some IO is done (issue#17939, pr#15466, John Spray, Nathan Cutler)

  • cephfs: normalize file open flags internally used by cephfs (issue#18872, issue#19890, pr#15000, Jan Fajerski, “Yan, Zheng”)

  • common: monitor creation with IPv6 public network segfaults (issue#19371, pr#14324, Fabian Grünbichler)

  • common: radosstriper: protect aio_write API from calls with 0 bytes (issue#14609, pr#13254, Sebastien Ponce)

  • core: Objecter::epoch_barrier isn’t respected in _op_submit() (issue#19396, pr#14332, Ilya Dryomov)

  • core: clear divergent_priors set off disk (issue#17916, pr#14596, Greg Farnum)

  • core: improve snap trimming, enable restriction of parallelism (issue#19241, pr#14492, Samuel Just, Greg Farnum)

  • core: os/filestore/HashIndex: be loud about splits (issue#18235, pr#13788, Dan van der Ster)

  • core: os/filestore: fix clang static check warn use-after-free (issue#19311, pr#14044, liuchang0812, yaoning)

  • core: transient jerasure unit test failures (issue#18070, issue#17762, issue#18128, issue#17951, pr#14701, Kefu Chai, Pan Liu, Loic Dachary, Jason Dillaman)

  • core: two instances of omap_digest mismatch (issue#18533, pr#14204, Samuel Just, David Zafman)

  • doc: Improvements to crushtool manpage (issue#19649, pr#14635, Loic Dachary, Nathan Cutler)

  • doc: PendingReleaseNotes: note about 19119 (issue#19119, pr#13732, Sage Weil)

  • doc: admin ops: fix the quota section (issue#19397, pr#14654, Chu, Hua-Rong)

  • doc: radosgw-admin: add the ‘object stat’ command to usage (issue#19013, pr#13872, Pavan Rallabhandi)

  • doc: rgw S3 create bucket should not do response in json (issue#18889, pr#13874, Abhishek Lekshmanan)

  • fs: Invalid error code returned by MDS is causing a kernel client WARNING (issue#19205, pr#13831, Jan Fajerski, xie xingguo)

  • librbd: Incomplete declaration for ContextWQ in librbd/Journal.h (issue#18862, pr#14152, Boris Ranto)

  • librbd: Issues with C API image metadata retrieval functions (issue#19588, pr#14666, Mykola Golub)

  • librbd: Possible deadlock performing a synchronous API action while refresh in-progress (issue#18419, pr#13154, Jason Dillaman)

  • librbd: is_exclusive_lock_owner API should ping OSD (issue#19287, pr#14481, Jason Dillaman)

  • librbd: remove image header lock assertions (issue#18244, pr#13809, Jason Dillaman)

  • mds: C_MDSInternalNoop::complete doesn’t free itself (issue#19501, pr#14677, “Yan, Zheng”)

  • mds: Too many stat ops when trying to probe a large file (issue#19955, pr#15472, “Yan, Zheng”)

  • mds: avoid reusing deleted inode in StrayManager::_purge_stray_logged (issue#18877, pr#14670, Zhi Zhang)

  • mds: enable start when session ino info is corrupt (issue#19708, issue#16842, pr#14700, John Spray)

  • mds: fragment space check can cause replayed request fail (issue#18660, pr#14668, “Yan, Zheng”)

  • mds: heartbeat timeout during rejoin, when working with large amount of caps/inodes (issue#19118, pr#14672, John Spray)

  • mds: issue new caps when sending reply to client (issue#19635, pr#15438, “Yan, Zheng”)

  • mon: OSDMonitor: make ‘osd crush move …’ work on osds (issue#18587, pr#13261, Sage Weil)

  • mon: fix ‘sortbitwise’ warning on jewel (issue#20578, pr#15208, huanwen ren, Sage Weil)

  • mon: make get_mon_log_message() atomic (issue#19427, pr#14587, Kefu Chai)

  • mon: remove bad rocksdb option (issue#19392, pr#14236, Sage Weil)

  • msg: IPv6 Heartbeat packets are not marked with DSCP QoS - simple messenger (issue#18887, pr#13450, Yan Jun, Robin H. Johnson)

  • msg: set close on exec flag (issue#16390, pr#13585, Kefu Chai)

  • osd: --flush-journal: sporadic segfaults on exit (issue#18820, pr#13477, Alexey Sheplyakov)

  • osd: Give requested scrubs a higher priority (issue#15789, pr#14686, David Zafman)

  • osd: Implement asynchronous scrub sleep (issue#19986, issue#19497, pr#15529, Brad Hubbard)

  • osd: Object level shard errors are tracked and used if no auth available (issue#20089, pr#15416, David Zafman)

  • osd: ReplicatedPG: try with pool’s use-gmt setting if hitset archive not found (issue#19185, pr#13827, Kefu Chai)

  • osd: allow client throttler to be adjusted on-fly, without restart (issue#18791, pr#13214, Piotr Dałek)

  • osd: bypass readonly ops when osd full (issue#19394, pr#14181, Jianpeng Ma, yaoning)

  • osd: degraded and misplaced status output inaccurate (issue#18619, pr#14325, David Zafman)

  • osd: new added OSD always down when full flag is set (issue#15025, pr#14326, Mingxin Liu)

  • osd: pg_pool_t::encode(): be compatible with Hammer <= 0.94.6 (issue#19508, pr#14392, Alexey Sheplyakov)

  • osd: pre-jewel “osd rm” incrementals are misinterpreted (issue#19119, pr#13884, Ilya Dryomov)

  • osd: preserve allocation hint attribute during recovery (issue#19083, pr#13647, yaoning)

  • osd: promote throttle parameters are reversed (issue#19773, pr#14791, Mark Nelson)

  • osd: reindex properly on pg log split (issue#18975, pr#14047, Alexey Sheplyakov)

  • osd: restrict want_acting to up+acting on recovery completion (issue#18929, pr#13541, Sage Weil)

  • rbd-nbd: check /sys/block/nbdX/size to ensure kernel mapped correctly (issue#18335, pr#13932, Mykola Golub, Alexey Sheplyakov)

  • rbd: [api] temporarily restrict (rbd_)mirror_peer_add from adding multiple peers (issue#19256, pr#14664, Jason Dillaman)

  • rbd: qemu crash triggered by network issues (issue#18436, pr#13244, Jason Dillaman)

  • rbd: rbd --pool=x rename y z does not work (issue#18326, pr#14148, Gaurav Kumar Garg)

  • rbd: systemctl stop rbdmap unmaps all rbds and not just the ones in /etc/ceph/rbdmap (issue#18884, issue#18262, pr#14083, David Disseldorp, Nathan Cutler)

  • rgw: “cluster [WRN] bad locator @X on object @X….” in cluster log (issue#18980, pr#14064, Casey Bodley)

  • rgw: ‘radosgw-admin sync status’ on master zone of non-master zonegroup (issue#18091, pr#13779, Jing Wenjun)

  • rgw: Change loglevel to 20 for ‘System already converted’ message (issue#18919, pr#13834, Vikhyat Umrao)

  • rgw: Use decoded URI when verifying TempURL (issue#18590, pr#13724, Alexey Sheplyakov)

  • rgw: a few cases where rgw_obj is incorrectly initialized (issue#19096, pr#13842, Yehuda Sadeh)

  • rgw: add apis to support ragweed suite (issue#19804, pr#14851, Yehuda Sadeh)

  • rgw: add bucket size limit check to radosgw-admin (issue#17925, pr#14787, Matt Benjamin)

  • rgw: allow system users to read SLO parts (issue#19027, pr#14752, Casey Bodley)

  • rgw: don’t return skew time in pre-signed url (issue#18828, issue#18829, pr#14605, liuchang0812)

  • rgw: failure to create s3 type subuser from admin rest api (issue#16682, pr#14815, snakeAngel2015)

  • rgw: fix break inside of yield in RGWFetchAllMetaCR (issue#17655, pr#14066, Casey Bodley)

  • rgw: fix failed to create bucket if a non-master zonegroup has a single zone (issue#19756, pr#14766, weiqiaomiao)

  • rgw: health check errors out incorrectly (issue#19025, pr#13865, Pavan Rallabhandi)

  • rgw: list_plain_entries() stops before bi_log entries (issue#19876, pr#15383, Casey Bodley)

  • rgw: multisite: fetch_remote_obj() gets wrong version when copying from remote (issue#19599, pr#14607, Zhang Shaowen, Casey Bodley)

  • rgw: multisite: some yields in RGWMetaSyncShardCR::full_sync() resume in incremental_sync() (issue#18076, pr#13837, Casey Bodley, Abhishek Lekshmanan)

  • rgw: only append zonegroups to rest params if not empty (issue#20078, pr#15312, Yehuda Sadeh, Karol Mroz)

  • rgw: pullup civet chunked (issue#19736, pr#14776, Matt Benjamin)

  • rgw: rgw_file: fix event expire check, don’t expire directories being read (issue#19623, issue#19270, issue#19625, issue#19624, issue#19634, issue#19435, pr#14653, Gui Hecheng, Matt Benjamin)

  • rgw: swift: disable revocation thread under certain circumstances (issue#19499, issue#9493, pr#14789, Marcus Watts)

  • rgw: the swift container acl does not support field .ref (issue#18484, pr#13833, Jing Wenjun)

  • rgw: typo in rgw_admin.cc (issue#19026, pr#13863, Ronak Jain)

  • rgw: unsafe access in RGWListBucket_ObjStore_SWIFT::send_response() (issue#19249, pr#14661, Yehuda Sadeh)

  • rgw: upgrade to multisite v2 fails if there is a zone without zone info (issue#19231, pr#14136, Danny Al-Gaaf, Orit Wasserman)

  • rgw: use separate http_manager for read_sync_status (issue#19236, pr#14195, Casey Bodley, Shasha Lu)

  • rgw: when converting region_map we need to use rgw_zone_root_pool (issue#19195, pr#14143, Orit Wasserman)

  • rgw: zonegroupmap set does not work (issue#19498, issue#18725, pr#14660, Orit Wasserman, Casey Bodley)

  • rgw:fix memory leaks in data/md sync (issue#20088, pr#15382, weiqiaomiao)

  • tests: ‘ceph auth import -i’ overwrites caps, should alert user before overwrite (issue#18932, pr#13544, Vikhyat Umrao)

  • tests: New upgrade test for #19508 (issue#19829, issue#19508, pr#14930, Nathan Cutler)

  • tests: [ FAILED ] TestLibRBD.ImagePollIO in upgrade:client-upgrade-kraken-distro-basic-smithi (issue#18617, pr#13107, Jason Dillaman)

  • tests: [librados_test_stub] cls_cxx_map_get_XYZ methods don’t return correct value (issue#19597, pr#14665, Jason Dillaman)

  • tests: additional rbd-mirror test stability improvements (issue#18935, pr#14154, Jason Dillaman)

  • tests: api_misc: [ FAILED ] LibRadosMiscConnectFailure.ConnectFailure (issue#15368, pr#14763, Sage Weil)

  • tests: buffer overflow in test LibCephFS.DirLs (issue#18941, pr#14671, “Yan, Zheng”)

  • tests: clone workunit using the branch specified by task (issue#19429, pr#14371, Kefu Chai, Dan Mick)

  • tests: drop upgrade/hammer-jewel-x (issue#20574, pr#15933, Nathan Cutler)

  • tests: dummy suite fails in OpenStack (issue#18259, pr#14070, Nathan Cutler)

  • tests: eliminate race condition in Thrasher constructor (issue#18799, pr#13608, Nathan Cutler)

  • tests: enable quotas for pre-luminous quota tests (issue#20412, pr#15936, Patrick Donnelly)

  • tests: fix oversight in yaml comment (issue#20581, pr#14449, Nathan Cutler)

  • tests: move swift.py task from teuthology to ceph, phase one (jewel) (issue#20392, pr#15870, Nathan Cutler, Sage Weil, Warren Usui, Greg Farnum, Ali Maredia, Tommi Virtanen, Zack Cerza, Sam Lang, Yehuda Sadeh, Joe Buck, Josh Durgin)

  • tests: qa/Fixed upgrade sequence to 10.2.0 -> 10.2.7 -> latest -x (10.2.8) (issue#20572, pr#16089, Yuri Weinstein)

  • tests: qa/suites/upgrade/hammer-x: set “sortbitwise” for jewel clusters (issue#20342, pr#15842, Nathan Cutler)

  • tests: qa/workunits/rados/test-upgrade-*: whitelist tests for master (part 1) (issue#20577, pr#15360, Sage Weil)

  • tests: qa/workunits/rados/test-upgrade-*: whitelist tests for master (part 2) (issue#20576, pr#15778, Kefu Chai)

  • tests: qa/workunits/rados/test-upgrade-*: whitelist tests the right way (issue#20575, pr#15824, Kefu Chai)

  • tests: rados: sleep before ceph tell osd.0 flush_pg_stats after restart (issue#16239, issue#20489, pr#14710, Kefu Chai, Nathan Cutler)

  • tests: run upgrade/client-upgrade on latest CentOS 7.3 (issue#20573, pr#16088, Nathan Cutler)

  • tests: run-rbd-unit-tests.sh assert in lockdep_will_lock, TestLibRBD.ObjectMapConsistentSnap (issue#17447, pr#14150, Jason Dillaman)

  • tests: systemd test backport to jewel (issue#19717, pr#14694, Vasu Kulkarni)

  • tests: test/librados/tmap_migrate: g_ceph_context->put() upon return (issue#20579, pr#14809, Kefu Chai)

  • tests: test_notify.py: rbd.InvalidArgument: error updating features for image test_notify_clone2 (issue#19692, pr#14680, Jason Dillaman)

  • tests: upgrade/hammer-x failing with OSD has the store locked when Thrasher runs ceph-objectstore-tool on down PG (issue#19556, pr#14416, Nathan Cutler)

  • tests: upgrade:hammer-x/stress-split-erasure-code-x86_64 fails in 10.2.8 integration testing (issue#20413, pr#15904, Nathan Cutler)

  • tools: brag fails to count “in” mds (issue#19192, pr#14112, Oleh Prypin, Peng Zhang)

  • tools: ceph-disk does not support cluster names different than ‘ceph’ (issue#17821, pr#14765, Loic Dachary)

  • tools: ceph-disk: Racing between partition creation and device node creation (issue#19428, pr#14329, Erwan Velu)

  • tools: ceph-disk: bluestore --setgroup incorrectly set with user (issue#18955, pr#13489, craigchi)

  • tools: ceph-disk: ceph-disk list reports mount error for OSD having mount options with SELinux context (issue#17331, pr#14402, Brad Hubbard)

  • tools: ceph-disk: do not setup_statedir on trigger (issue#19941, pr#15504, Loic Dachary)

  • tools: ceph-disk: enable directory backed OSD at boot time (issue#19628, pr#14602, Loic Dachary)

  • tools: rados: RadosImport::import should return an error if Rados::connect fails (issue#19319, pr#14113, Brad Hubbard)

v10.2.7 Jewel

This point release fixes several important bugs in RBD mirroring, librbd & RGW.

We recommend that all v10.2.x users upgrade.

For more detailed information, see the complete changelog.

Notable Changes

v10.2.6 Jewel

This point release fixes several important bugs in RBD mirroring, RGW multi-site, CephFS, and RADOS.

We recommend that all v10.2.x users upgrade.

For more detailed information, see the complete changelog.

OSDs No Longer Send ENXIO by Default

In previous versions, if a client sent an op to the wrong OSD, the OSD would reply with ENXIO. The rationale here is that the client or OSD is clearly buggy and we want to surface the error as clearly as possible. We now only send the ENXIO reply if the osd_enxio_on_misdirected_op option is enabled (it’s off by default). This means that a VM using librbd that previously would have gotten an EIO and gone read-only will now see a blocked/hung IO instead.

Other Notable Changes

v10.2.5 Jewel

This point release fixes an important regression introduced in v10.2.4.

We recommend that all v10.2.x users upgrade.

Notable Changes

For more detailed information, see the complete changelog.

v10.2.4 Jewel

This point release fixes several important bugs in RBD mirroring, RGW multi-site, CephFS, and RADOS.

We recommend that all v10.2.x users upgrade. Also note the following when upgrading from hammer

Upgrading from hammer

When the last hammer OSD in a cluster containing jewel MONs is upgraded to jewel, as of 10.2.4 the jewel MONs will issue this warning: “all OSDs are running jewel or later but the ‘require_jewel_osds’ osdmap flag is not set” and change the cluster health status to HEALTH_WARN.

This is a signal for the admin to do “ceph osd set require_jewel_osds” - by doing this, the upgrade path is complete and no more pre-Jewel OSDs may be added to the cluster.

Notable Changes

For more detailed information, see the complete changelog.

v10.2.3 Jewel

This point release fixes several important bugs in RBD mirroring, RGW multi-site, CephFS, and RADOS.

We recommend that all v10.2.x users upgrade.

For more detailed information, see the complete changelog.

Notable Changes

v10.2.2 Jewel

This point release fixes several important bugs in RBD mirroring, RGW multi-site, CephFS, and RADOS.

We recommend that all v10.2.x users upgrade.

For more detailed information, see the complete changelog.

Notable Changes

v10.2.1 Jewel

This is the first bugfix release for Jewel. It contains several annoying packaging and init system fixes and a range of important bugfixes across RBD, RGW, and CephFS.

We recommend that all v10.2.x users upgrade.

For more detailed information, see the complete changelog.

Notable Changes

  • cephfs: CephFSVolumeClient should isolate volumes by RADOS namespace (issue#15400, pr#8787, Xiaoxi Chen)

  • cephfs: handle standby-replay nodes properly in upgrades (issue#15591, pr#8971, John Spray)

  • ceph-{mds,mon,osd} packages need scriptlets with systemd code (issue#14941, pr#8801, Boris Ranto, Nathan Cutler)

  • ceph_test_keyvaluedb: fix (issue#15435, pr#9051, Allen Samuels, Sage Weil)

  • cmake: add missing source file to rbd_mirror/image_replayer (pr#9052, Casey Bodley)

  • cmake: fix rbd compile errors (pr#9076, runsisi, Jason Dillaman)

  • journal: incorrectly computed object offset within set (issue#15765, pr#9038, Jason Dillaman)

  • librbd: client-side handling for incompatible object map sizes (issue#15642, pr#9039, Jason Dillaman)

  • librbd: constrain size of AioWriteEvent journal entries (issue#15750, pr#9048, Jason Dillaman)

  • librbd: does not crash if image header is too short (pr#9044, Kefu Chai)

  • librbd: Errors encountered disabling object-map while flatten is in-progress (issue#15572, pr#8869, Jason Dillaman)

  • librbd: fix get/list mirror image status API (issue#15771, pr#9036, Mykola Golub)

  • librbd: Parent image is closed twice if error encountered while opening (issue#15574, pr#8867, Jason Dillaman)

  • librbd: possible double-free of object map invalidation request upon error (issue#15643, pr#8865, runsisi)

  • librbd: possible race condition leads to use-after-free (issue#15690, pr#9009, Jason Dillaman)

  • librbd: potential concurrent event processing during journal replay (issue#15755, pr#9040, Jason Dillaman)

  • librbd: Potential double free of SetSnapRequest instance (issue#15571, pr#8803, runsisi)

  • librbd: put the validation of image snap context earlier (pr#9046, runsisi)

  • librbd: reduce log level for image format 1 warning (issue#15577, pr#9003, Jason Dillaman)

  • mds/MDSAuthCap parse no longer fails on paths with hyphens (issue#15465, pr#8969, John Spray)

  • mds: MDS incarnation no longer gets lost after remove filesystem (issue#15399, pr#8970, John Spray)

  • mon/OSDMonitor: avoid underflow in reweight-by-utilization if max_change=1 (issue#15655, pr#9006, Samuel Just)

  • python: clone operation will fail if config overridden with “rbd default format = 1” (issue#15685, pr#8972, Jason Dillaman)

  • radosgw-admin: add missing --zonegroup-id to usage (issue#15650, pr#9019, Casey Bodley)

  • radosgw-admin: update usage for zone[group] modify (issue#15651, pr#9016, Casey Bodley)

  • radosgw-admin: zonegroup remove command (issue#15684, pr#9015, Casey Bodley)

  • rbd CLI to retrieve rbd mirror state for a pool / specific image (issue#15144, issue#14420, pr#8868, Mykola Golub)

  • rbd disk-usage CLI command should support calculating full image usage (issue#14540, pr#8870, Jason Dillaman)

  • rbd: helpful error message on map failure (issue#15721, pr#9041, Venky Shankar)

  • rbd: help message distinction between commands and aliases (issue#15521, pr#9004, Yongqiang He)

  • rbd-mirror: admin socket commands to start/stop/restart mirroring (issue#15718, pr#9010, Mykola Golub, Josh Durgin)

  • rbd-mirror can crash if start up is interrupted (issue#15630, pr#8866, Jason Dillaman)

  • rbd-mirror: image sync needs to handle snapshot size and protection status (issue#15110, pr#9050, Jason Dillaman)

  • rbd-mirror: lockdep error during bootstrap (issue#15664, pr#9008, Jason Dillaman)

  • rbd-nbd: fix rbd-nbd aio callback error handling (issue#15604, pr#9005, Chang-Yi Lee)

  • rgw: add AWS4 completion support for RGW_OP_SET_BUCKET_WEBSITE (issue#15626, pr#9018, Javier M. Mellid)

  • rgw admin output (issue#15747, pr#9054, Casey Bodley)

  • rgw: fix issue #15597 (issue#15597, pr#9020, Yehuda Sadeh)

  • rgw: fix printing wrong X-Storage-Url in Swift’s TempAuth. (issue#15667, pr#9021, Radoslaw Zarzynski)

  • rgw: handle stripe transition when flushing final pending_data_bl (issue#15745, pr#9053, Yehuda Sadeh)

  • rgw: leak fixes (issue#15792, pr#9022, Yehuda Sadeh)

  • rgw: multisite: Issues with Deleting Buckets (issue#15540, pr#8930, Abhishek Lekshmanan)

  • rgw: period commit fix (issue#15828, pr#9081, Casey Bodley)

  • rgw: period delete fixes (issue#15469, pr#9047, Casey Bodley)

  • rgw: radosgw-admin zone set cuts pool names short if name starts with a period (issue#15598, pr#9029, Yehuda Sadeh)

  • rgw: segfault at RGWAsyncGetSystemObj (issue#15565, issue#15625, pr#9017, Yehuda Sadeh)

  • several backports (issue#15588, issue#15655, pr#8853, Alexandre Derumier, xie xingguo, Alfredo Deza)

  • systemd: fix typo in preset file (pr#8843, Nathan Cutler)

  • tests: make check fails on ext4 (issue#15837, pr#9063, Loic Dachary, Sage Weil)

v10.2.0 Jewel

This major release of Ceph is the foundation for the next long-term stable release series. There have been many major changes since the Infernalis (9.2.x) and Hammer (0.94.x) releases, and the upgrade process is non-trivial. Please read these release notes carefully.

Major Changes from Infernalis

  • CephFS:

    • This is the first release in which CephFS is declared stable! Several features are disabled by default, including snapshots and multiple active MDS servers.

    • The repair and disaster recovery tools are now feature-complete.

    • A new cephfs-volume-manager module is included that provides a high-level interface for creating “shares” for OpenStack Manila and similar projects.

    • There is now experimental support for multiple CephFS file systems within a single cluster.

  • RGW:

    • The multisite feature has been almost completely rearchitected and rewritten to support any number of clusters/sites, bidirectional fail-over, and active/active configurations.

    • You can now access radosgw buckets via NFS (experimental).

    • The AWS4 authentication protocol is now supported.

    • There is now support for S3 request payer buckets.

    • The new multitenancy infrastructure improves compatibility with Swift, which provides a separate container namespace for each user/tenant.

    • The OpenStack Keystone v3 API is now supported. There are a range of other small Swift API features and compatibility improvements as well, including bulk delete and SLO (static large objects).

  • RBD:

    • There is new support for mirroring (asynchronous replication) of RBD images across clusters. This is implemented as a per-RBD image journal that can be streamed across a WAN to another site, and a new rbd-mirror daemon that performs the cross-cluster replication.

    • The exclusive-lock, object-map, fast-diff, and journaling features can be enabled or disabled dynamically. The deep-flatten features can be disabled dynamically but not re-enabled.

    • The RBD CLI has been rewritten to provide command-specific help and full bash completion support.

    • RBD snapshots can now be renamed.

  • RADOS:

    • BlueStore, a new OSD backend, is included as an experimental feature. The plan is for it to become the default backend in the K or L release.

    • The OSD now persists scrub results and provides a librados API to query results in detail.

    • We have revised our documentation to recommend against using ext4 as the underlying filesystem for Ceph OSD daemons due to problems supporting our long object name handling.

Major Changes from Hammer

  • General:

    • Ceph daemons are now managed via systemd (with the exception of Ubuntu Trusty, which still uses upstart).

    • Ceph daemons run as ‘ceph’ user instead of ‘root’.

    • On Red Hat distros, there is also an SELinux policy.

  • RADOS:

    • The RADOS cache tier can now proxy write operations to the base tier, allowing writes to be handled without forcing migration of an object into the cache.

    • The SHEC erasure coding support is no longer flagged as experimental. SHEC trades some additional storage space for faster repair.

    • There is now a unified queue (and thus prioritization) of client IO, recovery, scrubbing, and snapshot trimming.

    • There have been many improvements to low-level repair tooling (ceph-objectstore-tool).

    • The internal ObjectStore API has been significantly cleaned up in order to facilitate new storage backends like BlueStore.

  • RGW:

    • The Swift API now supports object expiration.

    • There are many Swift API compatibility improvements.

  • RBD:

    • The rbd du command shows actual usage (quickly, when object-map is enabled).

    • The object-map feature has seen many stability improvements.

    • The object-map and exclusive-lock features can be enabled or disabled dynamically.

    • You can now store user metadata and set persistent librbd options associated with individual images.

    • The new deep-flatten features allow flattening of a clone and all of its snapshots. (Previously snapshots could not be flattened.)

    • The export-diff command is now faster (it uses aio). There is also a new fast-diff feature.

    • The --size argument can be specified with a suffix for units (e.g., --size 64G).

    • There is a new rbd status command that, for now, shows who has the image open/mapped.

  • CephFS:

    • You can now rename snapshots.

    • There have been ongoing improvements around administration, diagnostics, and the check and repair tools.

    • The caching and revocation of client cache state due to unused inodes has been dramatically improved.

    • The ceph-fuse client behaves better on 32-bit hosts.

Distro compatibility

Starting with Infernalis, we have dropped support for many older distributions so that we can move to a newer compiler toolchain (e.g., C++11). Although it is still possible to build Ceph on older distributions by installing backported development tools, we are not building and publishing release packages for ceph.com.

We now build packages for the following distributions and architectures

  • x86_64

    • CentOS 7.x. We have dropped support for CentOS 6 (and other RHEL 6 derivatives, like Scientific Linux 6).

    • Debian Jessie 8.x. Debian Wheezy 7.x’s g++ has incomplete support for C++11 (and no systemd).

    • Ubuntu Xenial 16.04 and Trusty 14.04. Ubuntu Precise 12.04 is no longer supported.

    • Fedora 22 or later.

  • aarch64 / arm64

    • Ubuntu Xenial 16.04.

Upgrading from Infernalis or Hammer

  • We now recommend against using ext4 as the underlying file system for Ceph OSDs, especially when RGW or other users of long RADOS object names are used. For more information about why, please see Filesystem Recommendations.

    If you have an existing cluster that uses ext4 for the OSDs but uses only RBD and/or CephFS, then the ext4 limitations will not affect you. Before upgrading, be sure add the following to ceph.conf to allow the OSDs to start

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

    Keep in mind that if you set these lower object name limits and later decide to use RGW on this cluster, it will have problems storing S3/Swift objects with long names. This startup check can also be disabled via the below option, although this is not recommended

    osd check max object name len on startup = false
    
  • There are no major compatibility changes since Infernalis. Simply upgrading the daemons on each host and restarting all daemons is sufficient.

  • The rbd CLI no longer accepts the deprecated ‘--image-features’ option during create, import, and clone operations. The ‘--image-feature’ option should be used instead.

  • The rbd legacy image format (version 1) is deprecated with the Jewel release. Attempting to create a new version 1 RBD image will result in a warning. Future releases of Ceph will remove support for version 1 RBD images.

  • The ‘send_pg_creates’ and ‘map_pg_creates’ mon CLI commands are obsolete and no longer supported.

  • A new configure option ‘mon_election_timeout’ is added to specifically limit max waiting time of monitor election process, which was previously restricted by ‘mon_lease’.

  • CephFS filesystems created using versions older than Firefly (0.80) must use the new ‘cephfs-data-scan tmap_upgrade’ command after upgrading to Jewel. See ‘Upgrading’ in the CephFS documentation for more information.

  • The ‘ceph mds setmap’ command has been removed.

  • The default RBD image features for new images have been updated to enable the following: exclusive lock, object map, fast-diff, and deep-flatten. These features are not currently supported by the RBD kernel driver nor older RBD clients. They can be disabled on a per-image basis via the RBD CLI, or the default features can be updated to the pre-Jewel setting by adding the following to the client section of the Ceph configuration file

    rbd default features = 1
    
  • The rbd legacy image format (version 1) is deprecated with the Jewel release.

  • After upgrading, users should set the ‘sortbitwise’ flag to enable the new internal object sort order

    ceph osd set sortbitwise
    

    This flag is important for the new object enumeration API and for new backends like BlueStore.

  • The rbd CLI no longer permits creating images and snapshots with potentially ambiguous names (e.g. the ‘/’ and ‘@’ characters are disallowed). The validation can be temporarily disabled by adding “--rbd-validate-names=false” to the rbd CLI when creating an image or snapshot. It can also be disabled by adding the following to the client section of the Ceph configuration file

    rbd validate names = false
    

Upgrading from Hammer

  • All cluster nodes must first upgrade to Hammer v0.94.4 or a later v0.94.z release; only then is it possible to upgrade to Jewel 10.2.z.

  • For all distributions that support systemd (CentOS 7, Fedora, Debian Jessie 8.x, OpenSUSE), ceph daemons are now managed using native systemd files instead of the legacy sysvinit scripts. For example

    systemctl start ceph.target       # start all daemons
    systemctl status ceph-osd@12      # check status of osd.12
    

    The main notable distro that is not yet using systemd is Ubuntu trusty 14.04. (The next Ubuntu LTS, 16.04, will use systemd instead of upstart.)

  • Ceph daemons now run as user and group ceph by default. The ceph user has a static UID assigned by Fedora and Debian (also used by derivative distributions like RHEL/CentOS and Ubuntu). On SUSE the same UID/GID as in Fedora and Debian will be used, provided it is not already assigned. In the unlikely event the preferred UID or GID is assigned to a different user/group, ceph will get a dynamically assigned UID/GID.

    If your systems already have a ceph user, upgrading the package will cause problems. We suggest you first remove or rename the existing ‘ceph’ user and ‘ceph’ group before upgrading.

    When upgrading, administrators have two options

    1. Add the following line to ceph.conf on all hosts

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

      This will make the Ceph daemons run as root (i.e., not drop privileges and switch to user ceph) if the daemon’s data directory is still owned by root. Newly deployed daemons will be created with data owned by user ceph and will run with reduced privileges, but upgraded daemons will continue to run as root.

    2. Fix the data ownership during the upgrade. This is the preferred option, but it is more work and can be very time consuming. The process for each host is to

      1. Upgrade the ceph package. This creates the ceph user and group. For example

        ceph-deploy install --stable jewel HOST
        
      2. Stop the daemon(s)

        service ceph stop           # fedora, centos, rhel, debian
        stop ceph-all               # ubuntu
        
      3. Fix the ownership

        chown -R ceph:ceph /var/lib/ceph
        chown -R ceph:ceph /var/log/ceph
        
      4. Restart the daemon(s)

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

      Alternatively, the same process can be done with a single daemon type, for example by stopping only monitors and chowning only /var/lib/ceph/mon.

  • The on-disk format for the experimental KeyValueStore OSD backend has changed. You will need to remove any OSDs using that backend before you upgrade any test clusters that use it.

  • When a pool quota is reached, librados operations now block indefinitely, the same way they do when the cluster fills up. (Previously they would return -ENOSPC.) By default, a full cluster or pool will now block. If your librados application can handle ENOSPC or EDQUOT errors gracefully, you can get error returns instead by using the new librados OPERATION_FULL_TRY flag.

  • The return code for librbd’s rbd_aio_read and Image::aio_read API methods no longer returns the number of bytes read upon success. Instead, it returns 0 upon success and a negative value upon failure.

  • ‘ceph scrub’, ‘ceph compact’ and ‘ceph sync force’ are now DEPRECATED. Users should instead use ‘ceph mon scrub’, ‘ceph mon compact’ and ‘ceph mon sync force’.

  • ‘ceph mon_metadata’ should now be used as ‘ceph mon metadata’. There is no need to deprecate this command (same major release since it was first introduced).

  • The --dump-json option of “osdmaptool” is replaced by --dump json.

  • The commands of “pg ls-by-{pool,primary,osd}” and “pg ls” now take “recovering” instead of “recovery”, to include the recovering pgs in the listed pgs.

Upgrading from Firefly

Upgrading directly from Firefly v0.80.z is not recommended. It is possible to do a direct upgrade, but not without downtime, as all OSDs must be stopped, upgraded, and then restarted. We recommend that clusters be first upgraded to Hammer v0.94.6 or a later v0.94.z release; only then is it possible to upgrade to Jewel 10.2.z for an online upgrade (see below).

To do an offline upgrade directly from Firefly, all Firefly OSDs must be stopped and marked down before any Jewel OSDs will be allowed to start up. This fencing is enforced by the Jewel monitor, so you should use an upgrade procedure like

  1. Upgrade Ceph on monitor hosts

  2. Restart all ceph-mon daemons

  3. Set noout:

    ceph osd set noout

  4. Upgrade Ceph on all OSD hosts

  5. Stop all ceph-osd daemons

  6. Mark all OSDs down with something like:

    ceph osd down seq 0 1000

  7. Start all ceph-osd daemons

  8. Let the cluster settle and then unset noout:

    ceph osd unset noout

  9. Upgrade and restart any remaining daemons (ceph-mds, radosgw)

Notable Changes since Infernalis

  • aarch64: add optimized version of crc32c (Yazen Ghannam, Steve Capper)

  • Adding documentation on how to use new dynamic throttle scheme (pr#8069, Somnath Roy)

  • admin/build-doc: depend on zlib1g-dev and graphviz (pr#7522, Ken Dreyer)

  • auth: cache/reuse crypto lib key objects, optimize msg signature check (Sage Weil)

  • auth: fail if rotating key is missing (do not spam log) (pr#6473, Qiankun Zheng)

  • auth: fix crash when bad keyring is passed (pr#6698, Dunrong Huang)

  • auth: make keyring without mon entity type return -EACCES (pr#5734, Xiaowei Chen)

  • AUTHORS: update email (pr#7854, Yehuda Sadeh)

  • auth: reinit NSS after fork() (#11128 Yan, Zheng)

  • authtool: update --help and manpage to match code. (pr#8456, Robin H. Johnson)

  • autotools: fix out of tree build (Krxysztof Kosinski)

  • autotools: improve make check output (Loic Dachary)

  • Be more careful about directory fragmentation and scrubbing (issue#15167, pr#8180, Yan, Zheng)

  • bluestore: latest and greatest (issue#14210, issue#13801, pr#6896, xie.xingguo, Jianpeng Ma, YiQiang Chen, Sage Weil, Ning Yao)

  • buffer: add invalidate_crc() (Piotr Dalek)

  • buffer: add symmetry operator==() and operator!=() (pr#7974, Kefu Chai)

  • buffer: fix internal iterator invalidation on rebuild, get_contiguous (pr#6962, Sage Weil)

  • buffer: fix zero bug (#12252 Haomai Wang)

  • buffer: hide iterator_impl symbols (issue#14788, pr#7688, Kefu Chai)

  • buffer: increment history alloc as well in raw_combined (issue#14955, pr#7910, Samuel Just)

  • buffer: make usable outside of ceph source again (pr#6863, Josh Durgin)

  • buffer: raw_combined allocations buffer and ref count together (pr#7612, Sage Weil)

  • buffer: some cleanup (Michal Jarzabek)

  • buffer: use move construct to append/push_back/push_front (pr#7455, Haomai Wang)

  • build: Adding build requires (pr#7742, Erwan Velu)

  • build: a few armhf (32-bit build) fixes (pr#7999, Eric Lee, Sage Weil)

  • build: allow jemalloc with rocksdb-static (pr#7368, Somnath Roy)

  • build: allow tcmalloc-minimal (Thorsten Behrens)

  • build: build internal plugins and classes as modules (pr#6462, James Page)

  • build: C++11 now supported

  • build: cmake check fixes (pr#6787, Orit Wasserman)

  • build: cmake: fix nss linking (Danny Al-Gaaf)

  • build: cmake: misc fixes (Orit Wasserman, Casey Bodley)

  • build: cmake tweaks (pr#6254, John Spray)

  • build: disable LTTNG by default (#11333 Josh Durgin)

  • build: do not build ceph-dencoder with tcmalloc (#10691 Boris Ranto)

  • build: fix a few warnings (pr#6847, Orit Wasserman)

  • build: fix bz2-dev dependency (pr#6948, Samuel Just)

  • build: fix compiling warnings (pr#8366, Dongsheng Yang)

  • build: Fixing BTRFS issue at ‘make check’ (pr#7805, Erwan Velu)

  • build: fix Jenkins make check errors due to deep-scrub randomization (pr#6671, David Zafman)

  • build: fix junit detection on Fedora 22 (Ira Cooper)

  • build: fix pg ref disabling (William A. Kennington III)

  • build: fix ppc build (James Page)

  • build: fix the autotools and cmake build (the new fusestore needs libfuse) (pr#7393, Kefu Chai)

  • build: fix warnings (pr#7197, Kefu Chai, xie xingguo)

  • build: fix warnings (pr#7315, Kefu Chai)

  • build: FreeBSD related fixes (pr#7170, Mykola Golub)

  • build: Gentoo: _FORTIFY_SOURCE fix. (issue#13920, pr#6739, Robin H. Johnson)

  • build: install-deps: misc fixes (Loic Dachary)

  • build: install-deps.sh improvements (Loic Dachary)

  • build: install-deps: support OpenSUSE (Loic Dachary)

  • build: kill warnings (pr#7397, Kefu Chai)

  • build: make_dist_tarball.sh (Sage Weil)

  • build: many cmake improvements

  • build: misc cmake fixes (Matt Benjamin)

  • build: misc fixes (Boris Ranto, Ken Dreyer, Owen Synge)

  • build: misc make check fixes (pr#7153, Sage Weil)

  • build: more CMake package check fixes (pr#6108, Daniel Gryniewicz)

  • build: move libexec scripts to standardize across distros (issue#14687, issue#14705, issue#14723, pr#7636, Nathan Cutler, Kefu Chai)

  • build/ops: enable CR in CentOS 7 (issue#13997, pr#6844, Loic Dachary)

  • build/ops: rbd-replay moved from ceph-test-dbg to ceph-common-dbg (issue#13785, pr#6578, Loic Dachary)

  • build/ops: systemd ceph-disk unit must not assume /bin/flock (issue#13975, pr#6803, Loic Dachary)

  • build: OSX build fixes (Yan, Zheng)

  • build: Refrain from versioning and packaging EC testing plugins (issue#14756, issue#14723, pr#7637, Nathan Cutler, Kefu Chai)

  • build: remove rest-bench

  • build: Respect TMPDIR for virtualenv. (pr#8457, Robin H. Johnson)

  • build: spdk submodule; cmake (pr#7503, Kefu Chai)

  • build: workaround an automake bug for “make check” (issue#14723, pr#7626, Kefu Chai)

  • ceph-authtool: fix return code on error (Gerhard Muntingh)

  • ceph: bash auto complete for CLI based on mon command descriptions (pr#7693, Adam Kupczyk)

  • ceph_daemon.py: Resolved ImportError to work with python3 (pr#7937, Sarthak Munshi)

  • ceph-detect-init: add debian/jessie test (pr#8074, Kefu Chai)

  • ceph-detect-init: added Linux Mint (Michal Jarzabek)

  • ceph-detect-init: add missing test case (pr#8105, Nathan Cutler)

  • ceph-detect-init: fix py3 test (pr#7025, Kefu Chai)

  • ceph-detect-init: fix py3 test (pr#7243, Kefu Chai)

  • ceph_detect_init/__init__.py: remove shebang (pr#7731, Nathan Cutler)

  • ceph-detect-init: return correct value on recent SUSE distros (issue#14770, pr#7909, Nathan Cutler)

  • ceph-detect-init: robust init system detection (Owen Synge)

  • ceph-detect-init/run-tox.sh: FreeBSD: No init detect (pr#8373, Willem Jan Withagen)

  • ceph-detect-init: Ubuntu >= 15.04 uses systemd (pr#6873, James Page)

  • ceph-disk: Add destroy and deactivate option (issue#7454, pr#5867, Vicente Cheng)

  • ceph-disk: add -f flag for btrfs mkfs (pr#7222, Darrell Enns)

  • ceph-disk: Add --setuser and --setgroup options for ceph-disk (pr#7351, Mike Shuey)

  • ceph-disk: ceph-disk list fails on /dev/cciss!c0d0 (issue#13970, issue#14233, issue#14230, pr#6879, Loic Dachary)

  • ceph-disk: compare parted output with the dereferenced path (issue#13438, pr#6219, Joe Julian)

  • ceph-disk: deactivate / destroy PATH arg are optional (pr#7756, Loic Dachary)

  • ceph-disk: do not always fail when re-using a partition (pr#8508, You Ji)

  • ceph-disk: ensure ‘zap’ only operates on a full disk (#11272 Loic Dachary)

  • ceph-disk: fixes to respect init system (Loic Dachary, Owen Synge)

  • ceph-disk: fix failures when preparing disks with udev > 214 (issue#14080, issue#14094, pr#6926, Loic Dachary, Ilya Dryomov)

  • ceph-disk: fix prepare --help (pr#7758, Loic Dachary)

  • ceph-disk: Fix trivial typo (pr#7472, Brad Hubbard)

  • ceph-disk: fix zap sgdisk invocation (Owen Synge, Thorsten Behrens)

  • ceph-disk: flake8 fixes (pr#7646, Loic Dachary)

  • ceph-disk: follow ceph-osd hints when creating journal (#9580 Sage Weil)

  • ceph-disk: get Nonetype when ceph-disk list with --format plain on single device. (pr#6410, Vicente Cheng)

  • ceph-disk: handle re-using existing partition (#10987 Loic Dachary)

  • ceph-disk: improve parted output parsing (#10983 Loic Dachary)

  • ceph-disk: Improving ‘make check’ for ceph-disk (pr#7762, Erwan Velu)

  • ceph-disk: install pip > 6.1 (#11952 Loic Dachary)

  • ceph-disk: key management support (issue#14669, pr#7552, Loic Dachary)

  • ceph-disk: make some arguments as required if necessary (pr#7687, Dongsheng Yang)

  • ceph-disk: make suppression work for activate-all and activate-journal (Dan van der Ster)

  • ceph-disk: many fixes (Loic Dachary, Alfredo Deza)

  • ceph-disk: pass --cluster arg on prepare subcommand (Kefu Chai)

  • ceph-disk: s/dmcrpyt/dmcrypt/ (issue#14838, pr#7744, Loic Dachary, Frode Sandholtbraaten)

  • ceph-disk: support bluestore (issue#13422, pr#7218, Loic Dachary, Sage Weil)

  • ceph-disk: support for multipath devices (Loic Dachary)

  • ceph-disk: support NVMe device partitions (#11612 Ilja Slepnev)

  • ceph-disk/test: fix test_prepare.py::TestPrepare tests (pr#7549, Kefu Chai)

  • ceph-disk: warn for prepare partitions with bad GUIDs (issue#13943, pr#6760, David Disseldorp)

  • ceph: fix ‘df’ units (Zhe Zhang)

  • ceph: fix parsing in interactive cli mode (#11279 Kefu Chai)

  • ceph: fix tell behavior (pr#6329, David Zafman)

  • cephfs-data-scan: many additions, improvements (John Spray)

  • cephfs-data-scan: scan_frags (pr#5941, John Spray)

  • cephfs-data-scan: scrub tag filtering (#12133 and #12145) (issue#12133, issue#12145, pr#5685, John Spray)

  • ceph-fuse: add process to ceph-fuse --help (pr#6821, Wei Feng)

  • ceph-fuse: do not require successful remount when unmounting (#10982 Greg Farnum)

  • ceph-fuse: fix double decreasing the count to trim caps (issue#14319, pr#7229, Zhi Zhang)

  • ceph-fuse: fix double free of args (pr#7015, Ilya Shipitsin)

  • ceph-fuse: fix fsync() (pr#6388, Yan, Zheng)

  • ceph-fuse: Fix potential filehandle ref leak at umount (issue#14800, pr#7686, Zhi Zhang)

  • ceph-fuse, libcephfs: don’t clear COMPLETE when trimming null (Yan, Zheng)

  • ceph-fuse, libcephfs: drop inode when rmdir finishes (#11339 Yan, Zheng)

  • ceph-fuse,libcephfs: 修复客户端在关闭时处理“丢失”的开放目录(issue#14996, pr#7994, Yan, Zheng)

  • ceph-fuse,libcephfs: 修复因为释放的fd没有被放回而导致空闲fd最终耗尽的问题(issue#14798, pr#7685, Zhi Zhang)

  • ceph-fuse,libcephfs: 修复 uninline (#11356 Yan, Zheng)

  • ceph-fuse, libcephfs: 对我们“拥有”的目录持有排他caps (#11226 Greg Farnum)

  • ceph-fuse: 在32位主机上大部分行为正常 (Yan, Zheng)

  • ceph-fuse: 未指定参数时打印用法信息(pr#6868, Bo Cai)

  • ceph-fuse: 轮换日志文件(pr#8485, Sage Weil)

  • ceph-fuse: 启动ceph-fuse时,首先启动日志线程(issue#13443, pr#6224, Wenjun Huang)

  • ceph: 改进 'tell' 命令的错误输出 (#11101 Kefu Chai)

  • ceph: 改进错误消息(issue#11101, pr#7106, Kefu Chai)

  • ceph.in: 使用 ceph command 时避免 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-monstore-tool: 修复 store-copy (Huangjun)

  • ceph: 新增 'ceph daemonperf' 命令 (John Spray, Mykola Golub)

  • ceph_objectstore_bench: 修复竞态条件、错误(issue#13516, pr#6681, Igor Fedotov)

  • ceph-objectstore-tool: 修复许多 ceph-objectstore-tool 操作的 --dry-run(pr#6545, David Zafman)

  • ceph-objectstore-tool: 许多改进 (David Zafman)

  • ceph-objectstore-tool: 重构和清理 (John Spray)

  • ceph-post-file: 杂项修复 (Joey McDonald, Sage Weil)

  • 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_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_misc: 缩短挂载超时(pr#8209, Sage Weil)

  • ceph_test_rados: 测试流水线读取 (Zhiqiang Wang)

  • check-generated.sh: 无法从 sh source 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: 避免发送不必要的 FLUSHSNAP 消息 (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: 计算 oldest tid 时排除 setfilelock (Yan, Zheng)

  • client: 修复 check_pool_perm 中的错误处理 (John Spray)

  • client: 创建快照前刷新内核页面缓存(issue#10436, pr#7495, Yan, Zheng)

  • client: fsync 仅等待 inode 的 caps 刷新 (Yan, Zheng)

  • client: 当缓存大小超过限制时使内核 dcache 失效 (Yan, Zheng)

  • client: 使 fsync 等待不安全的 dir 操作 (Yan, Zheng)

  • client: 修改日志中的一个词语(pr#6906, YongQiang He)

  • client: 锁定查找 dentry 以避免 inode 被释放 (Yan, Zheng)

  • client: 正确修剪未链接的 inode(issue#13903, pr#7297, Yan, Zheng)

  • client: 移除 MetaRequest 中未使用的 Mutex(pr#7655, Greg Farnum)

  • client: flock 操作的 sys/file.h 包含(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: 不需要从 run-cmake-check.sh 运行 configure(pr#6959, Orit Wasserman)

  • cmake(pr#7849, Ali Maredia)

  • 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: 为 perfcounters 添加描述 (Kiseleva Alyona)

  • common: 添加通用插件基础设施(pr#6696, Sage Weil)

  • common: 为 finisher 添加延迟 perf counter(pr#6175, Xinze Chi)

  • common: 添加 perf counter 描述 (Alyona Kiseleva)

  • 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 clocks 在 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: bufferlist 性能调优 (Piotr Dalek, Sage Weil)

  • common: buffer: 在 read_file 期间为 stat() 系统调用放置一个保护(pr#7956, xie xingguo)

  • common: buffer: 移除不需要的列表析构函数(pr#6456, Michal Jarzabek)

  • common/buffer: 用自旋锁替换 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: 弃用或释放一堆功能位(pr#8214, Samuel Just)

  • common: 检测 int config 值的溢出 (#11484 Kefu Chai)

  • common: 不要在 mutex_debug 中使用不可移植的常量(pr#7766, Adam C. Emerson)

  • common: 当为零时不反转 hobject_t hash 位(pr#6653, Piotr Dałek)

  • common: 修复 bit_vector extent 计算 (#12611 Jason Dillaman)

  • common: 修复 utf8 的 json 解析 (#7387 Tim Serong)

  • common: 修复 pthread_mutexattr 泄漏 (#11762 Ketor Meng)

  • common: 修复 LTTNG vs fork 问题 (Josh Durgin)

  • 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: 修复 throttle max 更改 (Henry Chang)

  • 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: 使互斥锁更高效

  • common: 使工作队列的添加/移除线程安全 (#12662 Jason Dillaman)

  • 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: optracker 改进 (Zhiqiang Wang, Jianpeng Ma)

  • common/page.cc: _page_mask 位数过多(pr#7588, Dan Mick)

  • common: bufferlist history total alloc 的 perf counter(pr#6198, Xinze Chi)

  • common: PriorityQueue 测试 (Kefu Chai)

  • common: 通过使 stringify 函数中的 stringstream 线程本地化来减少 CPU 使用率(pr#6543, Evgeniy Firsov)

  • common: 重新启用 backtrace 支持(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: 一些异步压缩基础设施 (Haomai Wang)

  • 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 使用命名空间而不是子类(pr#6686, Michal Jarzabek)

  • common: SCA 运行中的各种修复(pr#7680, Danny Al-Gaaf)

  • 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: 添加 --check 以验证悬空名称、最大 osd id (Kefu Chai)

  • crush: 添加 chooseleaf_stable 可调参数(pr#6572, Sangdi Xu, Sage Weil)

  • crush: 添加安全断言(issue#14496, pr#7344, songbaisen)

  • crush: 清理,与内核同步 (Ilya Dryomov)

  • crush: 清理空白字符删除(issue#14302, pr#7157, songbaisen)

  • crush/CrushTester: 检查重叠规则(pr#7139, Kefu Chai)

  • crush/CrushTester: 解决 boost::icl 中的一个 bug(pr#7560, Kefu Chai)

  • crush: 修复新 crush 可调参数的 cli 测试(pr#8107, Sage Weil)

  • crush: 修复无效 'take' 参数导致的崩溃 (#11602 Shiva Rkreddy, Sage Weil)

  • crush: 修复 straw2 中的除以2错误 (#11357 Yann Dupont, Sage Weil)

  • crush: 修复错误日志(pr#8430, Wei Jin)

  • crush: 修复 has_v4_buckets (#11364 Sage Weil)

  • crush: 修复 adjust_subtree_weight 上的子树基本权重 (#11855 Sage Weil)

  • crush: 修复拼写错误(pr#8518, Wei Jin)

  • crush: 从 get_immediate_parent 快速回复(issue#14334, pr#7181, song baisen)

  • crush: 在地图创建时尊重默认复制规则集配置 (Ilya Dryomov)

  • crushtool: 在非 crushmap 文件上调用时不崩溃(issue#8286, pr#8038, Brad Hubbard)

  • crushtool: 修复操作顺序、用法 (Sage Weil)

  • crushtool: 改进用法/提示消息(pr#7142, xie xingguo)

  • crushtool: 为 --build 选项设置 type 0 名称“device”(pr#6824, Sangdi Xu)

  • crush: 更新 tunable 文档。将默认配置文件更改为 jewel(pr#7964, Sage Weil)

  • crush: 在索引 buckets 数组之前验证 bucket id(issue#13477, pr#6246, Sage Weil)

  • crypto: 修复 NSS 泄漏 (Jason Dillaman)

  • crypto: 修复不平衡的 init/shutdown (#12598 Zheng Yan)

  • deb: 修复 rest-bench-dbg 和 ceph-test-dbg 依赖项 (Ken Dreyer)

  • debian/changelog: 移除版本中的多余 'v'(pr#7936, Dan Mick)

  • debian/changelog: 移除版本中的多余 'v'(pr#7938, Dan Mick)

  • debian: 在 build-requiers 中包含 cpio(pr#7533, Rémi BUISSON)

  • debian: 细微的软件包重组 (Ken Dreyer)

  • 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)

  • deb, rpm: 将 ceph-objectstore-tool 移动到 ceph (Ken Dreyer)

  • 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: 将 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: 文档对象语料库生成 (#11099 Alexis Normand)

  • doc: 文档“readforward”和“readproxy”缓存模式(pr#7023, Kefu Chai)

  • doc: 文档 region hostnames (Robin H. Johnson)

  • 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: 修复 “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: 修复性别中立性 (Alexandre Maragone)

  • doc: 修复 ERASURE CODING 部分中的图像(pr#7298, Rachana Patel)

  • doc: 修复安装文档 (#10957 Kefu Chai)

  • 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: 修复 sphinx 问题 (Kefu Chai)

  • doc: 修复 Jewel 发行说明中的拼写错误、重复内容等(pr#8342, xie xingguo)

  • doc: 修复 cephfs/quota 中的拼写错误(pr#6745, Drunkard Zhang)

  • doc: 修复拼写错误、缩进等(pr#7829, xie xingguo)

  • doc: 修复 developer guide 中的拼写错误(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: man page 更新 (Kefu Chai)

  • doc: mds 数据结构文档 (Yan, Zheng)

  • doc: 杂项更新 (Francois 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: 修改 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: 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: 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 doc 中多余的空格(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 admin 使用 "region list" 而不是 "regions list"(pr#8517, Kris Jurka)

  • doc: rgw 解释 keystone 的 verify ssl 开关(pr#7862, 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: 修复新添加的 mirror 文档样式(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: swift tempurls (#10184 Abhishek Lekshmanan)

  • doc: 将 doxygen 集成切换回 breathe (#6115 Kefu Chai)

  • doc, tests: 将所有 https://ceph.net.cn/ 更新为 download.ceph.com(pr#6435, Alfredo Deza)

  • doc: 更新 ceph-disk 手册页,增加新功能 deactivate/destroy。(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: 更新发布日程文档 (Loic Dachary)

  • 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)

  • erasure-code: 清理 (Kefu Chai)

  • erasure-code: 改进测试 (Loic Dachary)

  • erasure-code: shec: 修复恢复 bug (Takanori Nakao, Shotaro Kawaguchi)

  • erasure-code: 将 ISA-L 更新到 2.13 (Yuan Zhou)

  • 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 启动两个守护进程 (part 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)

  • gmock: 切换到子模块 (Danny Al-Gaaf, Loic Dachary)

  • hadoop: 添加 terasort 测试 (Noah Watkins)

  • helgrind: 额外的竞态条件librbd: 日志重放应遵循事件间依赖关系(pr#7274, Jason Dillaman)

  • helgrind: 修复实际(和想象中)的竞态条件(issue#14163, pr#7208, Jason Dillaman)

  • include/encoding: 不要尝试在列表编码中变得聪明(pr#7913, Sage Weil)

  • init-ceph: 当路径存在时执行 umount。(pr#6866, Xiaoxi Chen)

  • init-ceph.in: 允许在 'osd crush update on start' 中使用不区分大小写的 true(pr#7943, Eric Cook)

  • init-ceph.in: 如果 ceph-disk 不存在则跳过(issue#10587, pr#7286, Ken Dreyer)

  • init-ceph: 使用 getopt 使选项处理更灵活(issue#3015, pr#6089, Nathan Cutler)

  • init-radosgw: 与 sysv 版本合并;修复枚举 (Sage Weil)

  • java: 修复 libcephfs 绑定 (Noah Watkins)

  • journal: 用于(取消)注册和更新客户端的异步方法(pr#7832, Mykola Golub)

  • journal: 观察错误后断开观察(issue#14168, pr#7113, Jason Dillaman)

  • journal: 读取最后一个对象后触发重放完成事件(issue#13924, pr#6762, Jason Dillaman)

  • journal: 修复 JournalTrimmer::C_RemoveSet 的最终结果(pr#8516, runsisi)

  • journal: 修复 Future 和 journal 关闭之间的竞态条件(issue#15364, pr#8477, Jason Dillaman)

  • journal: 在元数据关闭时刷新提交位置(pr#7385, Mykola Golub)

  • journal: 改进提交位置跟踪(pr#7776, Jason Dillaman)

  • journal: 增量改进和修复(pr#6552, Mykola Golub)

  • journal: 防止在溢出对象中注入新记录的竞态(issue#15202, pr#8220, Jason Dillaman)

  • journal: 任务完成后重置 commit_position_task_ctx 指针(pr#7480, Mykola Golub)

  • journal: 在 journaler 之间重用通用线程(pr#7906, Jason Dillaman)

  • journal: 支持重放跳过的 splay 对象(pr#6687, Jason Dillaman)

  • krbd: 从 udevadm 中移除弃用的 --quiet 参数(issue#13560, pr#6394, Jason Dillaman)

  • kv: 修复 kv key 优化中的 bug(pr#6511, Sage Weil)

  • kv: 实现 value_as_ptr() 并在 .get() 中使用它(pr#7052, Piotr Dałek)

  • kv/KineticStore: 修复损坏的 split_key(pr#6574, Haomai Wang)

  • kv: 优化和清理内部键/值接口(pr#6312, Piotr Dałek, Sage Weil)

  • libcephfs: 添加 pread, pwrite (Jevon Qiao)

  • libcephfs,ceph-fuse: 缓存清理 (Zheng Yan)

  • libcephfs,ceph-fuse: 修复 cap 重新连接上的请求重发 (#10912 Yan, Zheng)

  • libcephfs: 修复 python 测试和修复缺少目录时的 getcwd(pr#7901, John Spray)

  • libcephfs: 通过将 loff_t 类型用法替换为 off_t 来提高可移植性(pr#6301, John Coyle)

  • libcephfs: 仅在 glibc 平台上检查文件偏移量(pr#6288, John Coyle)

  • libcephfs: 更新 LIBCEPHFS_VERSION 以指示接口已更改(pr#7551, Jevon Qiao)

  • librados: 添加配置观察者 (Alistair Strachan)

  • librados: 添加 c++ 风格 osd/pg 命令接口(pr#6893, Yunchuan Wen)

  • librados: 为处理满集群或满池添加 FULL_TRY 和 FULL_FORCE 标志 (Sage Weil)

  • librados: 为 copy-from 添加 src_fadvise_flags (Jianpeng Ma)

  • librados: aix gcc librados 移植(pr#6675, Rohan Mars)

  • librados: 避免 malloc(0)(在某些平台上可能返回 NULL)(issue#13944, pr#6779, Dan Mick)

  • librados: 在完成后取消 aio notification linger op(pr#8102, Jason Dillaman)

  • librados: 在 rados_monitor_log 中检查连接状态(issue#14499, pr#7350, David Disseldorp)

  • librados: 清理 Objecter.h(pr#6731, Jie Wang)

  • librados: 从 C 常量定义 C++ 标志 (Josh Durgin)

  • librados: 使用 objecter_timeout 而不是 osd_timeout 检测延迟的操作(pr#7629, Greg Farnum)

  • librados: 执行清理(pr#6488, xie xingguo)

  • librados: 不为 aio_watch() 清除句柄(pr#7771, xie xingguo)

  • librados: 每个操作的 fadvise 标志 (Jianpeng Ma)

  • librados: 修复 examples/librados/Makefile 错误。(pr#6320, You Ji)

  • librados: 修复 last_force_resent 处理 (#11026 Jianpeng Ma)

  • librados: 修复 C_TwoContexts 的内存泄漏 (Xiong Yiliang)

  • librados: 修复 notify completion 竞态 (#13114 Sage Weil)

  • librados: 修复池对齐 API 溢出问题(issue#13715, pr#6489, xie xingguo)

  • librados: 修复 pool_snap_list 中潜在的空指针访问(issue#13639, pr#6422, xie xingguo)

  • librados: 修复 EC 的 PromoteOn2ndRead 测试(pr#6373, Sage Weil)

  • librados: 修复池操作回调可能永远挂起的罕见竞态条件(issue#13642, pr#6426, xie xingguo)

  • librados: 修复 enumeration_objects API 引入的几个缺陷(issue#14299, issue#14301, issue#14300, pr#7156, xie xingguo)

  • librados: 修复 striper 当 stripe_count = 1 且 stripe_unit != object_size 时的错误 (#11120 Yan, Zheng)

  • librados: 修复新 aio watch/unwatch API 的测试失败(pr#7824, Jason Dillaman)

  • librados: 实现异步 watch/unwatch(pr#7649, Haomai Wang)

  • librados: include/rados/librados.h: 修复拼写错误(pr#6741, Nathan Cutler)

  • librados: 从配置文件初始化 crush_location。(issue#13473, pr#6243, Wei Luo)

  • librados, libcephfs: 随机化客户端 nonces (Josh Durgin)

  • librados: 混合锁周期(un)注册 asok 命令(pr#7581, John Spray)

  • librados: 迁移到 c++11 并发类型(pr#5931, Adam C. Emerson)

  • librados: 新样式(分片)对象列表(pr#6405, John Spray, Sage Weil)

  • librados: op perf counters (John Spray)

  • librados: list_(n)objects 中潜在的空指针访问(issue#13822, pr#6639, xie xingguo)

  • librados: pybind: 修复二进制 omap 值 (Robin H. Johnson)

  • librados: pybind: 修复 write() 方法返回代码 (Javier Guerra)

  • librados: aio_notify completion 处理上的竞态条件(pr#7864, Jason Dillaman)

  • librados: 移除 rados pool_stat_t 和 cluster_stat_t 的重复定义(pr#7330, Igor Fedotov)

  • librados: 在 pool_create 上尊重 default_crush_ruleset (#11640 Yuan Zhou)

  • librados: Revert “rados: Add new field flags for ceph_osd_op.copy_get.”(pr#8486, Sage Weil)

  • librados: 以更优雅的方式关闭 finisher(pr#7519, xie xingguo)

  • librados: Solaris 移植(pr#6416, Rohan Mars)

  • librados: 具有更高时间精度的 stat2(pr#7915, Yehuda Sadeh, Matt Benjamin)

  • librados: Striper: 修复不正确的 push_front -> append_zero 更改(pr#7578, Haomai Wang)

  • libradosstriper: 修复泄漏 (Danny Al-Gaaf)

  • librados_test_stub: 防止 notify/unwatch 竞态(pr#7540, Jason Dillaman)

  • librados: stat 命令传入的参数错误(issue#13703, pr#6476, xie xingguo)

  • librbd: 为 single-client-only features 添加 const (Josh Durgin)

  • librbd: 添加 deep-flatten 操作 (Jason Dillaman)

  • librbd: 添加 purge_on_error 缓存行为 (Jianpeng Ma)

  • librbd: 获取排他锁后分配新的日志标签(pr#7884, Jason Dillaman)

  • librbd: 允许存储额外元数据和图像(pr#7400, Haomai Wang)

  • librbd: API: 异步打开和关闭(issue#14264, pr#7259, Mykola Golub)

  • librbd: 阻塞写入操作后自动刷新 IO(issue#13913, pr#6742, Jason Dillaman)

  • librbd: 避免阻塞 aio API 方法 (#11056 Jason Dillaman)

  • librbd: 避免为每个图像创建两个线程(pr#7400, Haomai Wang)

  • librbd: 如果不支持镜像,避免抛出错误(pr#8417, Jason Dillaman)

  • librbd: 更好地处理 dup flatten 请求 (#11370 Jason Dillaman)

  • librbd: 更好地处理排他锁转换期(pr#7204, Jason Dillaman)

  • librbd: 阻塞维护操作直到日志准备就绪(issue#14510, pr#7382, Jason Dillaman)

  • librbd: 阻塞读取请求直到日志重放(pr#7627, Jason Dillaman)

  • librbd: 在 watch error 上取消正在进行的 ops (#11363 Jason Dillaman)

  • librbd: 尝试移除前检查 journal 是否存在(issue#13912, pr#6737, Jason Dillaman)

  • librbd: 当较旧的 OSD 不支持图像标志时清除错误(issue#14122, pr#7035, Jason Dillaman)

  • librbd: 纠正 RenameRequest.h 中的 include guard(pr#7143, Jason Dillaman)

  • librbd: 纠正 teuthology 测试中发现的问题(issue#14108, issue#14107, pr#6974, Jason Dillaman)

  • librbd: 修复 valgrind memcheck 发现的问题 (pr#8132, Jason Dillaman)

  • librbd: 修复禁用缓存时发现的问题 (issue#14123, pr#6979, Jason Dillaman)

  • librbd: 修复单元测试期间发现的竞争条件 (issue#14060, pr#6923, Jason Dillaman)

  • librbd: 尝试刷新 AIO 请求时发生死锁 (issue#13726, pr#6508, Jason Dillaman)

  • librbd: 新镜像默认使用 format 2 (#11348 Jason Dillaman)

  • librbd: 区分日志重放刷新与关闭 (pr#7698, Jason Dillaman)

  • librbd: 非排他锁所有者时禁用按需复制读取 (issue#14167, pr#7129, Jason Dillaman)

  • librbd: 删除镜像时禁用镜像复制 (issue#15265, pr#8375, Ricardo Dias)

  • librbd: 禁止不安全的 rbd_op_threads 值 (issue#15034, pr#8459, Josh Durgin)

  • librbd: 不忽略自管理快照释放结果 (issue#14170, pr#7043, Jason Dillaman)

  • librbd: 为池模式自动启用/禁用镜像复制 (issue#15143, pr#8204, Ricardo Dias)

  • librbd: 确保在关闭父镜像之前完成按需复制读取请求 (pr#6740, Jason Dillaman)

  • librbd: 确保 librados 回调在销毁前刷新 (issue#14092, pr#7040, Jason Dillaman)

  • librbd: 克隆期间如果父快照消失则退出 (issue#14118, pr#6968, xie xingguo)

  • librbd: 针对复制、导出、导入使用 fadvise (Jianpeng Ma)

  • librbd: 利用对象映射实现的快速差异计算 (Jason Dillaman)

  • librbd: 修复启用对象映射功能的问题 (issue#13558, pr#6339, xinxin shu)

  • librbd: 修复快速差异计算的bug (#11553 Jason Dillaman)

  • librbd: 修复镜像格式检测 (Zhiqiang Wang)

  • librbd: 修复动态功能更新的内部处理 (pr#7299, Jason Dillaman)

  • librbd: 修复日志 iohint (pr#6917, Jianpeng Ma)

  • librbd: 修复已知的测试用例竞争条件失败 (issue#13969, pr#6800, Jason Dillaman)

  • librbd: 修复锁排序问题 (#11577 Jason Dillaman)

  • librbd: 修复 merge-diff 处理 >2GB 差异文件的问题 (issue#14030, pr#6889, Yunchuan Wen)

  • librbd: 修复潜在的内存泄漏 (issue#14332, issue#14333, pr#7174, xie xingguo)

  • librbd: 修复大于缓存大小的读取 (Lu Shi)

  • librbd: 修复 snap_exists API 返回代码溢出 (issue#14129, pr#6986, xie xingguo)

  • librbd: 修复当另一个快照处于活动状态时创建快照的问题 (#11475 Jason Dillaman)

  • librbd: 修复关闭期间的状态机竞争条件 (pr#7761, Jason Dillaman)

  • librbd: 修复日志操作测试用例的竞争条件 (pr#6877, Jason Dillaman)

  • librbd: 修复 diff_iterate 中的 tracepoint 参数 (pr#6892, Yunchuan Wen)

  • librbd: flatten/copyup 修复 (Jason Dillaman)

  • librbd: 通过 admin socket 刷新和失效缓存 (issue#2468, pr#6453, Mykola Golub)

  • librbd: 处理 NOCACHE fadvise 标志 (Jinapeng Ma)

  • librbd: 处理断开连接时取消注册镜像监视器的问题 (pr#8094, Jason Dillaman)

  • librbd: 镜像刷新代码路径转换为异步状态机 (pr#6859, Jason Dillaman)

  • librbd: 包含缺失的 bool 类型头文件 (pr#6798, Mykola Golub)

  • librbd: 状态机单元测试的初步收集 (pr#6703, Jason Dillaman)

  • librbd: 集成维护操作的日志功能 (pr#6625, Jason Dillaman)

  • librbd: 集成 IO 操作的日志支持 (pr#6541, Jason Dillaman)

  • librbd: 将日志重放与 fsx 测试集成 (pr#7583, Jason Dillaman)

  • librbd: 用于跟踪排他锁转换的日志框架 (issue#13298, pr#7529, Jason Dillaman)

  • librbd: 日志相关的锁依赖清理 (pr#6777, Jason Dillaman)

  • librbd: 日志重放需要支持重新执行维护操作 (issue#14822, pr#7785, Jason Dillaman)

  • librbd: 日志重放应遵循事件间依赖关系 (pr#7019, Jason Dillaman)

  • librbd: 日志关闭刷新竞争条件 (issue#14434, pr#7302, Jason Dillaman)

  • 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: 释放 snap id 时不需要持有 owner_lock (issue#13914, pr#6736, Jason Dillaman)

  • librbd: 对象映射重建支持 (Jason Dillaman)

  • librbd: 仅当 AIO 完成队列为空时发送信号 (pr#6729, Jianpeng Ma)

  • librbd: 仅在持有排他锁时更新镜像标志 (#11791 Jason Dillaman)

  • librbd: 可选禁用分配提示 (Haomai Wang)

  • librbd: 可选验证新 RBD 池是否支持快照 (issue#13633, pr#6925, Jason Dillaman)

  • librbd: 撤销 commit 9b0e359 的部分更改 (issue#13969, pr#6789, Jason Dillaman)

  • librbd: 错误时性能计数器可能未初始化 (issue#13740, pr#6523, Jason Dillaman)

  • librbd: perf section name: 使用连字符分隔组件 (issue#13719, pr#6516, Mykola Golub)

  • librbd: 防止 resize 请求之间的竞争 (#12664 Jason Dillaman)

  • librbd: 正确处理快照删除 RPC 消息的重放 (issue#14164, pr#7042, Jason Dillaman)

  • librbd: readahead 修复 (Zhiqiang Wang)

  • librbd: 读取期间减少到用户缓冲区的内存复制 (pr#7548, Jianpeng Ma)

  • librbd: 减少常见错误条件日志的冗余 (issue#14234, pr#7114, Jason Dillaman)

  • librbd: 如果需要,在重放日志操作之前刷新镜像 (issue#14908, pr#7978, Jason Dillaman)

  • librbd: 从计时器线程中移除已取消的任务 (issue#14476, pr#7329, Douglas Fuller)

  • librbd: 移除 librbd::async_flatten 中重复的 read_only 测试 (pr#5856, runsisi)

  • librbd: 移除 open/close 状态机中最后同步的 librados 调用 (pr#7839, Jason Dillaman)

  • librbd: 重放刷新后的日志操作需要锁定 (pr#8028, Jason Dillaman)

  • librbd: resize 应该只更新头部的镜像大小 (issue#13674, pr#6447, Jason Dillaman)

  • librbd: 按 id 打开时检索镜像名称 (pr#7736, Mykola Golub)

  • librbd: 如果删除 object_map 头对象失败则返回错误 (issue#14098, pr#6958, xie xingguo)

  • librbd: 从 close 返回结果代码 (#12069 Jason Dillaman)

  • librbd: 撤销 “librbd: per CephContext 使用 task finisher” (issue#14780, pr#7667, Josh Durgin)

  • librbd: 发送镜像状态更新通知 (pr#8355, Jason Dillaman)

  • librbd: 在单 CPU 环境下发现的几个竞争条件 (pr#7653, Jason Dillaman)

  • librbd: 简化 32 位环境的 IO 方法签名 (pr#6700, Jason Dillaman)

  • librbd: 修复错误消息和 readahead 计数器的小问题 (issue#14127, pr#6983, xie xingguo)

  • librbd: 在 id 初始化后启动性能计数器 (issue#13720, pr#6494, Mykola Golub)

  • librbd: 在镜像中存储元数据,包括配置选项 (Haomai Wang)

  • librbd: 支持 eventfd 用于 AIO 完成通知 (pr#5465, Haomai Wang)

  • librbd: 获取镜像元数据时容忍旧 OSD (#11549 Jason Dillaman)

  • librbd: truncate 不需要将对象标记为存在于对象映射中 (issue#14789, pr#7772, xinxin shu)

  • librbd: snap remove 状态机中的未初始化状态 (pr#6982, Jason Dillaman)

  • librbd: 更新镜像池模式和镜像对等处理 (pr#7718, Jason Dillaman)

  • librbd: 使用异步 librados 通知 (pr#7668, Jason Dillaman)

  • librbd: 尽可能使用 write_full (Zhiqiang Wang)

  • log: 不重复向 stderr 输出错误 (issue#14616, pr#7983, Sage Weil)

  • log: 修复日志轮换导致的堆栈溢出竞争条件 (#12465 Samuel Just)

  • log: 修复刷新大日志行时的堆栈溢出 (issue#14707, pr#7599, Igor Fedotov)

  • logrotate.d: 优先使用 service 而非 invoke-rc.d (#11330 Win Hierman, Sage Weil)

  • log: 以可移植方式进行 segv (issue#14856, pr#7790, Kefu Chai)

  • log: 使用 delete[] (pr#7904, Sage Weil)

  • mailmap: 添加 UMCloud 关联 (pr#6820, Jiaying Ren)

  • mailmap for 10.0.4 (pr#7932, Abhishek Lekshmanan)

  • mailmap: 更改 Dongmao Zhang 的组织 (pr#7173, Dongmao Zhang)

  • mailmap: Igor Podoski 关联 (pr#7219, Igor Podoski)

  • mailmap: Jewel 更新 (pr#6750, Abhishek Lekshmanan)

  • mailmap: 修改成员信息 (pr#6468, Xiaowei Chen)

  • mailmap: 修订组织 (pr#6519, Li Wang)

  • mailmap: Ubuntu Kylin 名称更改为 Kylin Cloud (pr#6532, Loic Dachary)

  • mailmap: 更新 .organizationmap (pr#6565, chenji-kael)

  • mailmap 更新 (pr#7210, M Ranga Swami Reddy)

  • mailmap 更新 (pr#8522, M Ranga Swami Reddy)

  • mailmap: infernalis 更新 (pr#6495, Yann Dupont)

  • mailmap: 更新 (pr#6258, M Ranga Swami Reddy)

  • mailmap: 更新 (pr#6594, chenji-kael)

  • mailmap 更新 (pr#6992, Loic Dachary)

  • mailmap 更新 (pr#7189, Loic Dachary)

  • mailmap 更新 (pr#7528, Yann Dupont)

  • mailmap 更新 (pr#8256, Loic Dachary)

  • mailmap: Xie Xingguo 关联 (pr#6409, Loic Dachary)

  • Makefile-env.am: 为 CEPH_BUILD_VIRTUALENV 设置默认值 (part 2) (pr#8320, Loic Dachary)

  • makefile: 修复 rbdmap 手册页 (pr#8310, Kefu Chai)

  • makefile: 从 libclient.la 中移除 libedit (pr#7284, Kefu Chai)

  • makefiles: 从依赖项中移除 bz2-dev (issue#13981, pr#6939, Piotr Dałek)

  • man/8/ceph-disk: 修复格式问题 (pr#8003, Sage Weil)

  • man/8/ceph-disk: 修复格式问题 (pr#8012, Sage Weil)

  • man: 在 “rados” 手册页中记录 listwatchers 命令 (pr#7021, Kefu Chai)

  • mdsa: 更多快照修复,主要围绕快照 inode/dentry 跟踪 (pr#7798, Yan, Zheng)

  • mds: 将 cmapv 添加到 ESessions 默认构造函数初始化列表 (pr#8403, John Coyle)

  • mds: 为 MDSMap 添加 'damaged' 状态 (John Spray)

  • mds: 为 perfcounters 添加昵称 (John Spray)

  • mds: 在 auth caps 中添加 'p' 标志以控制设置布局中的池 (pr#6567, John Spray)

  • mds: 回复时推进 clientreplay (issue#14357, pr#7216, John Spray)

  • mds: 允许客户端在打开文件时请求 caps (issue#14360, pr#7952, Yan, Zheng)

  • mds: 避免在驱逐会话前发出 cap 警告 (John Spray)

  • mds: 避免陷入 XLOCKDONE (#11254 Yan, Zheng)

  • mds, client: 为 file_layout_t (以前为 ceph_file_layout) 添加命名空间 (pr#7098, Yan, Zheng, Sage Weil)

  • mds, client: 修复 handle_conf_change 周围的锁定问题 (issue#14365, issue#14374, pr#7312, John Spray)

  • mds: 禁用有问题的 rstat 传播到快照父级 (Yan, Zheng)

  • mds: 不将快照项目添加到布隆过滤器 (Yan, Zheng)

  • mds: 自杀时不双重关闭计时器 (issue#14697, pr#7616, Greg Farnum)

  • mds: 通过 asok 公开 frags (John Spray)

  • mds: 通过 status ASOK 命令公开恢复状态 (issue#14146, pr#7068, Yan, Zheng)

  • mds: 扩展现有池访问检查以包括特定的 RADOS 命名空间。(pr#8444, Yan, Zheng)

  • mds: filelock 死锁 (pr#7713, Yan, Zheng)

  • mds: 修复重新连接期间的客户端功能 (client.XXXX 不响应 mclientcaps(revoke)) (issue#11482, pr#6432, Yan, Zheng)

  • mds: 修复重启时的客户端 cap/消息重放顺序 (issue#14254, issue#13546, pr#7199, Yan, Zheng)

  • mds: 修复日志对象中预期的空洞 (#13167 Yan, Zheng)

  • mds: 修复 file_layout_t 遗留编码问题 (pr#8455, Sage Weil)

  • mds: 修复 fsmap 解码 (pr#8063, Greg Farnum)

  • mds: 修复 FSMap 升级与 map 中的守护进程 (pr#8073, John Spray, Greg Farnum)

  • mds: 修复处理缺失的 mydir dirfrag (#11641 John Spray)

  • mds: 修复 inode_t::compare() (issue#15038, pr#8014, Yan, Zheng)

  • mds: 修复大型客户端 id 的整数截断 (Henry Chang)

  • mds: 修复 shutdown 时的 mydir 副本问题 (#10743 John Spray)

  • mds: 修复乱序消息 (#11258 Yan, Zheng)

  • mds: 修复重新加入 (Yan, Zheng)

  • mds: 修复 scrub_path (pr#6684, John Spray)

  • mds: 修复在一次 setxattr 中设置整个文件布局 (John Spray)

  • mds: 修复 setvxattr (a536d114 中损坏) (issue#14029, pr#6941, John Spray)

  • mds: 修复 shutdown (John Spray)

  • mds: 修复 shutdown with strays (#10744 John Spray)

  • mds: 修复 SnapServer 在删除池时崩溃 (John Spray)

  • mds: 修复快照 bug (Yan, Zheng)

  • mds: 修复 standby replay 线程创建 (issue#14144, pr#7132, John Spray)

  • mds: 修复 stray 处理 (John Spray)

  • mds: 修复 'stripe_count > 1' 情况下的 stray 清除 (issue#15050, pr#8040, Yan, Zheng)

  • mds: 修复 stray 重集成 (Yan, Zheng)

  • mds: 修复 suicide beacon (John Spray)

  • mds: 在 do_open_truncate 中立即刷新 (#11011 John Spray)

  • mds: 函数参数 'df' 应按引用传递 (pr#7490, Na Xie)

  • mds: 处理杂项损坏问题 (John Spray)

  • mds: 实现快照重命名 (pr#5645, xinxin shu)

  • mds: 改进 dump 方法 (John Spray)

  • mds: 添加判断以避免访问 NULL 指针的风险 (pr#7358, Kongming Wu)

  • mds: 许多修复 (Yan, Zheng, John Spray, Greg Farnum)

  • mds: 许多快照和 stray 修复 (Yan, Zheng)

  • mds: messages/MOSDOp: 在 assert 中进行类型转换以消除警告 (issue#13625, pr#6414, David Zafman)

  • mds: 杂项修复 (Jianpeng Ma, Dan van der Ster, Zhang Zhi)

  • mds: 杂项日志清理和修复 (#10368 John Spray)

  • mds: 杂项修复改进 (John Spray)

  • mds: 杂项快照修复 (Zheng Yan)

  • mds: 杂项快照修复 (Yan, Zheng)

  • mds: 多文件系统支持 (issue#14952, pr#6953, John Spray, Sage Weil)

  • mds: 用于会话的新过滤 MDS tell 命令 (pr#6180, John Spray)

  • mds: 使用 omap 的新 SessionMap 存储 (#10649 John Spray)

  • mds: 可靠地持久化 completed_requests (#11048 John Spray)

  • mds: 为 stray dentry/inode 正确设置 STATE_STRAY/STATE_ORPHAN (issue#13777, pr#6553, Yan, Zheng)

  • mds: 在持久标志后面保护一些不稳定/实验性功能 (pr#8383, Greg Farnum)

  • mds: 减少内存消耗 (Yan, Zheng)

  • mds: 修复命令选项 “--hot-standby” (pr#6454, Wei Feng)

  • mds: 在 blacklist 时重新生成而不是自杀 (John Spray)

  • mds: ScrubStack 和 “tag path” 命令 (pr#5662, Yan, Zheng, John Spray, Greg Farnum)

  • mds: 分离 Journaler 中的 safe_pos (#10368 John Spray)

  • mds/Session: 使用 projected parent 进行 auth path 检查 (issue#13364, pr#6200, Sage Weil)

  • mds: 快照重命名支持 (#3645 Yan, Zheng)

  • mds: 在头部对象上存储布局 (#4161 John Spray)

  • mds: 拆除来自 tell 命令的连接 (issue#14048, pr#6933, John Spray)

  • mds: 限制清除 stray 操作 (#10390 John Spray)

  • mds: 容忍时钟向后跳转 (#11053 Yan, Zheng)

  • mds: 警告客户端未能推进 oldest_client_tid (#10657 Yan, Zheng)

  • mds: MDSDaemon suicide 时应该等待 messenger (pr#6996, Wei Feng)

  • messages/MOSDOp: 为 v6 编码清除 reqid inc (issue#15230, pr#8299, Sage Weil)

  • Minor fixes around data scan in some scenarios (pr#8115, Yan, Zheng)

  • mirrors: 更改 se.ceph.com 的联系电子邮件地址 (pr#8007, Wido den Hollander)

  • mirrors: 更新镜像的脚本和文档 (pr#7847, Wido den Hollander)

  • misc cleanups and fixes (Danny Al-Gaaf)

  • misc coverity fixes (Danny Al-Gaaf)

  • misc performance and cleanup (Nathan Cutler, Xinxin Shu)

  • misc: 创建 shared_ptr 时使用 make_shared (pr#7769, Somnath Roy)

  • mon: 为最大选举时间添加独立选项 (pr#7245, Sangdi Xu)

  • mon: 在 MonitorDBStore 上添加缓存 (Kefu Chai)

  • mon: 添加 'mon_metadata <id>' 命令 (Kefu Chai)

  • mon: 添加 'node ls …' 命令 (Kefu Chai)

  • mon: 为 mon 命令添加 NOFORWARD, OBSOLETE, DEPRECATE 标志 (Joao Eduardo Luis)

  • mon: 添加 osd blacklist clear (pr#6945, John Spray)

  • mon: 将 PG 计数添加到 'ceph osd df' 输出 (Michal Jarzabek)

  • mon: 添加 RAW USED 列到 ceph df detail (pr#7087, Ruifeng Yang)

  • mon: 如果 pg_temp 更新已挂起,则阻止 'ceph osd pg-temp …' (pr#6704, Sage Weil)

  • mon: 'ceph osd metadata' 可以转储所有 osd (Haomai Wang)

  • mon: 清理、重组一些 mon 命令 (Joao Eduardo Luis)

  • mon: 清理 set-quota 错误消息 (pr#7371, Abhishek Lekshmanan)

  • monclient: 避免时钟偏移时的密钥续订风暴 (issue#12065, pr#8258, Alexey Sheplyakov)

  • monclient: flush_log (John Spray)

  • mon: 也压缩完整 epoch (issue#14537, pr#7396, Kefu Chai)

  • mon: 创建池时考虑池大小 (issue#14509, pr#7359, songbaisen)

  • mon: 设置池 crush 规则时考虑池大小 (issue#14495, pr#7341, song baisen)

  • mon: 将日志消息降级到 level 2 (pr#6929, Kongming Wu)

  • mon: 检测 kv 后端故障 (Sage Weil)

  • mon: 禁止 >2 层的 tier (#11840 Kefu Chai)

  • mon: 禁止纠删码池作为 tier (#11650 Samuel Just)

  • mon: 不停用最后一个 mds (#10862 John Spray)

  • mon: 不为 split pgs 发送无用的 pg_create 消息 (pr#8247, Sage Weil)

  • mon: MRemoveSnaps 不需要 OSD W (#13777 John Spray)

  • mon: 丢弃无用的 rank init assignment (issue#14508, pr#7321, huanwen ren)

  • mon: 默认启用 'mon osd prime pg temp' (pr#7838, Robert LeBlanc)

  • mon: 修复 'osd df' 的平均利用率计算 (Mykola Golub)

  • mon: 修复 %USED 计算 (pr#7881, Adam Kupczyk)

  • mon: 修复 ceph df pool available 对 0 权重 OSD 的计算 (pr#6660, Chengyuan Li)

  • mon: 修复 PG 相关 Monitor 文件的编码风格 (pr#6881, Wido den Hollander)

  • mon: 修复新池的 CRUSH map 测试 (Sage Weil)

  • mon: 修复与 mondbstore->get() 更改相关的修复 (pr#6564, Piotr Dałek)

  • mon: 修复 keyring 权限 (issue#14950, pr#7880, Owen Synge)

  • mon: 修复 preinit 错误路径中的锁定问题 (issue#14473, pr#7353, huanwen ren)

  • mon: 修复调试时的 log dump 崩溃 (Mykola Golub)

  • mon: 修复 mds beacon replies (#11590 Kefu Chai)

  • mon: 修复元数据更新竞争条件 (Mykola Golub)

  • mon: 修复 min_last_epoch_clean 跟踪 (Kefu Chai)

  • mon: 修复 monmap 创建时间戳 (pr#7459, duanweijun)

  • mon: 修复 'pg ls' 排序顺序,状态名称 (#11569 Kefu Chai)

  • mon: 修复刷新 (#11470 Joao Eduardo Luis)

  • mon: 修复 osd id 的重用 (删除 osd 时清除 osd 信息) (issue#13988, pr#6900, Loic Dachary, Sage Weil)

  • mon: 修复 routed_request_tids 泄漏 (pr#6102, Ning Yao)

  • mon: 修复 config-key 数据同步 (pr#7363, Xiaowei Chen)

  • mon: 修复监控日志中无法更改订阅级别的问题 (pr#7031, Zhiqiang Wang)

  • mon: 修复 'osd df' 中的方差计算 (Sage Weil)

  • mon: 如果多个 PG 陷入 inactive 状态,则进入 ERR 状态 (issue#13923, pr#7253, Wido den Hollander)

  • mon: 改进 crushtool 调用 (Mykola Golub)

  • mon: 在新 pg 上将 last_* 时间戳初始化为创建时间 (issue#14952, pr#7980, Sage Weil)

  • mon: 即使在 standalone 模式下,也正确初始化记录的选举 epoch (issue#13627, pr#6407, huanwen ren)

  • mon: 使阻塞的操作消息更具可读性 (Jianpeng Ma)

  • mon: 使时钟偏移检查合理 (issue#14175, pr#7141, Joao Eduardo Luis)

  • mon: 使 osd get pool 'all' 只返回适用的字段 (#10891 Michal Jarzabek)

  • mon: mark_down_pgs 与 pg_map 的 osdmap epoch 同步 (pr#8208, Sage Weil)

  • mon/MDSMonitor: 为 “ceph mds rmfailed” 添加确认 (issue#14379, pr#7248, Yan, Zheng)

  • mon/MDSMonitor.cc: 在健康指标变化时正确记录 beacon (issue#14684, pr#7757, Yan, Zheng)

  • mon: 杂项缩放修复 (Sage Weil)

  • mon: 修改 OSDMonitor.cc 中的 dout 级别 (pr#6928, Yongqiang He)

  • mon/MonClient: 配置不正确时避免空指针错误 (issue#14405, pr#7276, Bo Cai)

  • mon/MonClient: 修复关闭竞争条件 (issue#13992, pr#8335, Sage Weil)

  • mon/monitor: 一些清理 (pr#7520, huanwen ren)

  • mon: MonmapMonitor: 不向客户端公开未提交的状态 (pr#6854, Joao Eduardo Luis)

  • mon: 规范化纠删码 profile 以用于存储和比较 (Loic Dachary)

  • mon: 只向支持的对等体发送 mon 元数据 (Sage Weil)

  • mon: 可选在 'osd create' 时指定 osd id (Mykola Golub)

  • mon/OSDMonitor: osdmap laggy 设置间隔的最大限制 (pr#7109, Zengran Zhang)

  • mon: osd [test-]reweight-by-{pg,utilization} 命令更新 (pr#7890, Dan van der Ster, Sage Weil)

  • mon: 'osd tree' 修复 (Kefu Chai)

  • mon: paxos is_recovering calc error (pr#7227, Weijun Duan)

  • mon: 定期后台 scrub (Joao Eduardo Luis)

  • mon/PGMap: 在状态报告中分别显示 rd/wr iops (pr#7072, Cilang Zhao)

  • mon: PGMonitor: acting primary diff with cur_stat, 不应将 pg 设置为 stale (pr#7083, Xiaowei Chen)

  • mon/PGMonitor: 可靠地标记 PGs 状态 (pr#8089, Sage Weil)

  • mon: PG Monitor 应报告等待 backfill (issue#12744, pr#7398, Abhishek Lekshmanan)

  • mon/pgmonitor: 在 get_rule_avail 中使用适当的强制转换 (pr#7705, huanwen ren)

  • mon: 防止 crush 规则引用的 bucket 被删除 (#11602 Sage Weil)

  • mon: 防止 pgp_num > pg_num (#12025 Xinxin Shu)

  • mon: 防止具有快照状态的池用作 tier (#11493 Sage Weil)

  • mon: CRUSH map 更改时 prime pg_temp (Sage Weil)

  • mon: 减少 pg health check 的 CPU 和内存管理器压力 (pr#7482, Piotr Dałek)

  • mon: 优化 check_remove_tier 检查 (#11504 John Spray)

  • mon: 拒绝大的 max_mds 值 (#12222 John Spray)

  • mon: 移除 'mds setmap' (issue#15136, pr#8121, Sage Weil)

  • mon: 移除 remove_legacy_versions() (pr#8324, Kefu Chai)

  • mon: 移除 'mds rm …' 中多余的 who 参数 (John Spray)

  • mon: 移除 update_from_paxos 不必要的注释 (pr#8400, Qinghua Jin)

  • mon: 移除未使用的变量 (issue#15292, pr#8337, Javier M. Mellid)

  • mon: 撤销 MonitorDBStore 的 WholeStoreIteratorImpl::get (issue#13742, pr#6522, Piotr Dałek)

  • mon: 当 cephx_verify_authorizer 返回 false 时,不应设置 isvalid = true (issue#13525, pr#6306, Ruifeng Yang)

  • mon: 在 ceph df detail 命令中显示池配额信息 (issue#14216, pr#7094, song baisen)

  • mon: MonmapMonitor.cc 中的一些清理 (pr#7418, huanwen ren)

  • mon: 标准化 Ceph 删除命令 (pr#7939, Dongsheng Yang)

  • mon: 简化会话处理,修复内存泄漏 (Sage Weil)

  • mon: 支持按子树级别 (默认为 host) 的 min_down_reporter (pr#6709, Xiaoxi Chen)

  • mon: 消除对象计数 skew 消息的混淆 (pr#7882, Piotr Dałek)

  • mon: 关闭时取消注册命令 (pr#7504, huanwen ren)

  • mon: 升级必须通过 hammer (Sage Weil)

  • mon: 警告 pg 未 scrub 的情况 (issue#13142, pr#6440, Michal Jarzabek)

  • mon: 警告虚假缓存 tier 配置 (Jianpeng Ma)

  • mount.ceph: 内存泄漏 (pr#6905, Qiankun Zheng)

  • mount.fuse.ceph: 更好地解析 mount 命令传递给 mount.fuse.ceph 的参数 (issue#14735, pr#7607, Florent Bautista)

  • mrun: 更新 cmake 二进制文件路径 (pr#8447, Casey Bodley)

  • msg: 为虚拟方法添加 override (pr#6977, Michal Jarzabek)

  • msg: 为 “random” Messenger 添加线程安全 + 修复随机函数错误用法 (pr#7650, Avner BenHanoch)

  • msg/async: AsyncConnection: 避免在 cleanup_handler 中进行调试日志记录 (pr#7547, Haomai Wang)

  • msg/async: AsyncMessenger: 修复几个 bug (pr#7831, Haomai Wang)

  • msg/async: AsyncMessenger: 修复 valgrind 泄漏 (pr#7725, Haomai Wang)

  • msg/async: 避免节流时的日志垃圾信息 (issue#15031, pr#8263, Kefu Chai)

  • msg/async: 一些修复 (pr#7379, Piotr Dałek)

  • msg/async: 清理死连接和杂项 (pr#7158, Haomai Wang)

  • msg/async: 不需要时,不计算 msg header crc (pr#7815, Piotr Dałek)

  • msg/async: 不使用 shared_ptr 管理 EventCallback (pr#7028, Haomai Wang)

  • msg/async: Event: 修复时钟偏移问题 (pr#7949, Wei Jin)

  • msg/async: 修复数组边界 (pr#7451, Wei Jin)

  • msg: async: 修复 perf counter 描述并简化 _send_keepalive_or_ack (pr#8046, xie xingguo)

  • msg/async: 修复潜在的竞争条件 (pr#7453, Haomai Wang)

  • msg/async: 修复发送 closed local_connection 消息问题 (pr#7255, Haomai Wang)

  • msg/async: 让接收者尽快确认消息 (pr#6478, Haomai Wang)

  • msg/async: 减少消息确认的额外 tcp 包 (pr#7380, Haomai Wang)

  • msg/async: 移除实验功能 (pr#7820, Haomai Wang)

  • msg: async: 小清理 (pr#7871, xie xingguo)

  • msg/async: 更智能的 MSG_MORE (pr#7625, Piotr Dałek)

  • msg: async: 在指定范围内绑定端口失败后重新开始 (issue#14928, issue#13002, pr#7852, xie xingguo)

  • msg/async: 支持 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: 如果启用 async msg,将因 assertion 而崩溃 (pr#6640, Zhi Zhang)

  • msg: 绑定 osd addr 时过滤 lo 地址 (pr#7012, Ji Chen)

  • msgr: 添加 ceph_perf_msgr 工具 (Hoamai Wang)

  • msgr: async: 修复 seq 处理 (Haomai Wang)

  • msgr: async: 许多许多修复 (Haomai Wang)

  • msg: 从 Dispatcher 中移除不需要的 include (pr#6814, Michal Jarzabek)

  • msg: 移除重复代码 - local_delivery 现在将调用 'enqueue' (pr#7948, Avner BenHanoch)

  • msg: 移除不需要的 inline (pr#6989, Michal Jarzabek)

  • msgr: 修复大消息数据内容长度导致溢出 (pr#6809, Jun Huang, Haomai Wang)

  • msgr: simple: 修复 clear_pipe (#11381 Haomai Wang)

  • msgr: simple: 修复 connect_seq assert (Haomai Wang)

  • msgr: xio: fastpath 改进 (Raju Kurunkad)

  • msgr: xio: 修复 ip 和 nonce (Raju Kurunkad)

  • msgr: xio: 改进 lane 分配 (Vu Pham)

  • msgr: xio: 杂项修复 (#10735 Matt Benjamin, Kefu Chai, Danny Al-Gaaf, Raju Kurunkad, Vu Pham, Casey Bodley)

  • msgr: xio: 与 accellio v1.4 同步 (Vu Pham)

  • msg: 显著减少连接的最小内存使用量 (pr#7567, Piotr Dałek)

  • msg/simple: pipe: 签名检查失败时的内存泄漏 (pr#7096, Ruifeng Yang)

  • msg/simple: 移除不需要的 friend 声明 (pr#6924, Michal Jarzabek)

  • msg: 单元测试 (Haomai Wang)

  • msg/xio: 修复编译 (pr#7479, Roi Dayan)

  • msg/xio: 修复 (pr#7603, Roi Dayan)

  • mstart: 也为 rgw 启动不同的端口 (pr#8167, Abhishek Lekshmanan)

  • nfs for rgw (Matt Benjamin, Orit Wasserman) (pr#7634, Yehuda Sadeh, Matt Benjamin)

  • objectcacher: 杂项 bug 修复 (Jianpeng Ma)

  • objecter: 避免 Objecter::rwlock 的递归锁定 (pr#7343, Yan, Zheng)

  • organizationmap: 修改 org mail info. (pr#7240, Xiaowei Chen)

  • os/bluestore: 一些修复 (pr#8193, Sage Weil)

  • os/bluestore/BlueFS: 在 reap ioct 之前,它应该等待 io 完成 (pr#8178, Jianpeng Ma)

  • os/bluestore/BlueStore: 在写入前不要泄漏 trim overlay 数据。(pr#7895, Jianpeng Ma)

  • os/bluestore: ceph-bluefs-tool 修复 (issue#15261, pr#8292, Venky Shankar)

  • os/bluestore: 克隆 overlay 数据 (pr#7860, Jianpeng Ma)

  • os/bluestore: 修复 assert (issue#14436, pr#7293, xie xingguo)

  • os/bluestore: 修复 SPDK 路径解析中的拼写错误 (pr#7601, Jianjian Huo)

  • os/bluestore: 修复 bluestore_wal_transaction_t 编码测试 (pr#7342, Kefu Chai)

  • os/bluestore: 修复 bluestore_wal_transaction_t 编码测试 (pr#7419, Kefu Chai, Brad Hubbard)

  • os/bluestore: 将新的 onode 插入到 onode LRU 的开头位置 (pr#7492, Jianjian Huo)

  • os/bluestore/KernelDevice: 强制块大小 (pr#8006, Sage Weil)

  • os/bluestore: 使 bluestore_sync_transaction = true 可以工作。(pr#7674, Jianpeng Ma)

  • os/bluestore/NVMEDevice: 使 IO 线程使用 dpdk launch (pr#8160, Haomai Wang)

  • os/bluestore/NVMEDevice: 重构 probe/attach 代码并支持 zero 命令 (pr#7647, Haomai Wang)

  • os/bluestore: 改进 BlueFS bdev 管理并添加 perfcounters (issue#15376, pr#8431, Sage Weil)

  • os/bluestore: bluestore StupidAllocator 中的小修复 (pr#8101, Jianjian Huo)

  • os/bluestore: 为 Dir 使用 intrusive_ptr (pr#7247, Igor Fedotov)

  • osd: 在恢复期间推送 raw clone 时添加缓存提示 (pr#7069, Zhiqiang Wang)

  • osd: 添加配置选项 osd_read_ec_check_for_errors 用于测试 (pr#5865, David Zafman)

  • osd: 为 tier 操作添加延迟性能计数器 (Xinze Chi)

  • osd: 添加杂项 perfcounters (Xinze Chi)

  • osd: 为 usage message 添加缺失的换行符 (pr#7613, Willem Jan Withagen)

  • osd: 添加 osd op queue latency perfcounter (pr#5793, Haomai Wang)

  • osd: 为缓存 tier 添加 pin/unpin 支持 (11066) (pr#6326, Zhiqiang Wang)

  • osd: 添加 'proxy' 缓存模式 (issue#12814, pr#8210, Sage Weil)

  • osd: 添加 scrub persist/query API (issue#13505, pr#6898, Kefu Chai, Samuel Just)

  • osd: 在恢复中添加简单的睡眠注入 (Sage Weil)

  • osd: 添加对每个池 scrub 优先级的支持 (pr#7062, Zhiqiang Wang)

  • osd: HeartbeatDispatcher 修复和清理 (pr#7550, Kefu Chai)

  • osd: 允许使用配置修复 history.last_epoch_started (pr#6793, David Zafman)

  • osd: 允许稀疏读取的 SEEK_HOLE/SEEK_DATA (Zhiqiang Wang)

  • osd: 自动修复 EC 池 (issue#12754, pr#6196, Guang Yang)

  • osd: 避免为大多数操作计算 crush mapping (pr#6371, Sage Weil)

  • osd: 避免在 PG::get/put 中进行调试 std::string 初始化 (pr#7117, Evgeniy Firsov)

  • osd: 在 FileStore::_check_replay_guard 中避免对 replaying 和 can_checkpoint() 进行双重检查 (pr#6471, Ning Yao)

  • osd: 避免 ReplicatedBackend 中重复的 op->mark_started (pr#6689, Jacek J. Łakis)

  • osd: 避免在 pg 元数据中重复 omap set (Sage Weil)

  • osd: 避免在比较 scrub map 时 FORCE 更新 digest 被 MAYBE 覆盖 (pr#7051, Zhiqiang Wang)

  • osd: 避免多次 hit set 插入 (Zhiqiang Wang)

  • osd: 避免 osd_op_thread 因为 osd_scrub_sleep 自杀 (pr#7009, Jianpeng Ma)

  • osd: 在某些情况下避免 transaction append (Sage Weil)

  • osd: 如果正在关闭,则退出 _committed_osd_maps (pr#8267, Samuel Just)

  • osd: blockdevice: 避免隐式类型转换并添加 guard (pr#7460, xie xingguo)

  • osd: bluefs: 修复奇数页面大小的对齐问题 (pr#7900, Dan Mick)

  • osd: bluestore: 为虚拟函数添加 'override' (pr#7886, Michal Jarzabek)

  • osd: bluestore: 允许 _dump_onode 动态接受日志级别 (pr#7995, Jianpeng Ma)

  • osd: bluestore/blockdevice: 使用 std::mutex 等 (pr#7568, Sage Weil)

  • osd: bluestore: bluefs: 修复几个小 bug (issue#14344, issue#14343, pr#7200, xie xingguo)

  • osd: bluestore/BlueFS: 在 mkfs 中更早地初始化 super block_size (pr#7535, Sage Weil)

  • osd: bluestore: 在没有 libaio 时不包含 (issue#14207, pr#7169, Mykola Golub)

  • osd: bluestore: 修复 bluestore onode_t attr 泄漏 (pr#7125, Ning Yao)

  • osd: bluestore: 修复 bluestore_wal_transaction_t 编码测试 (pr#7168, Kefu Chai)

  • osd: bluestore: 修复检查写入是否落在同一 extent 内 (issue#14954, pr#7892, Jianpeng Ma)

  • osd: BlueStore: 修复 fsck 和 blockdevice 读取相关问题 (pr#7362, xie xingguo)

  • osd: BlueStore: 修复空指针访问 (issue#14561, pr#7435, xie xingguo)

  • osd: bluestore: 修复几个 bug (issue#14259, issue#14353, issue#14260, issue#14261, pr#7122, xie xingguo)

  • osd: bluestore: 修复空间重新平衡、collection split、buffered reads (pr#7196, Sage Weil)

  • osd: bluestore: 对于覆盖 extent,在 min_alloc_size 写入时分配新 extent (pr#7996, Jianpeng Ma)

  • osd: bluestore: 改进 fs-type 验证并整理 (pr#7651, xie xingguo)

  • osd: bluestore, kstore: 修复 nid overwritten 逻辑 (issue#14407, issue#14433, pr#7283, xie xingguo)

  • osd: bluestore: 杂项修复 (pr#7658, Jianpeng Ma)

  • osd: bluestore: 更多修复 (pr#7130, Sage Weil)

  • osd: BlueStore/NVMEDevice: 修复编译和 fd 泄漏 (pr#7496, xie xingguo)

  • osd: bluestore: NVMEDevice: 修复错误处理 (pr#7799, xie xingguo)

  • osd: bluestore: 移除不需要的 includes (pr#7870, Michal Jarzabek)

  • osd: bluestore: 撤销 NVMEDevice task cstor 和 refresh 接口更改 (pr#7729, Haomai Wang)

  • osd: bluestore 更新,scrub 修复 (pr#8035, Sage Weil)

  • osd: bluestore: 为 allocator 使用 btree_map (pr#7269, Igor Fedotov, Sage Weil)

  • osd: 将 PG 删除分成多次迭代 (#10198 Guang Yang)

  • osd: 缓存代理写入支持 (Zhiqiang Wang, Samuel Just)

  • osd: 缓存 tier: 添加 eviction check list size 的配置选项 (pr#6997, Yuan Zhou)

  • osd: 在新 split 的子 PG 上调用 on_new_interval (issue#13962, pr#6778, Sage Weil)

  • osd: 如果重新绑定网络失败,则取消故障报告 (pr#6278, Xinze Chi)

  • osdc: 修复 tick_event 和 shutdown 的竞争条件 (issue#14256, pr#7151, Adam C. Emerson)

  • osd: 将 mutex 更改为 spinlock 以优化线程上下文切换。(pr#6492, Xiaowei Chen)

  • osd: 在 do_restart 之前检查 do_shutdown (pr#6547, Xiaoxi Chen)

  • osd: 在 pre_booting 之前检查 health state (issue#14181, pr#7053, Xiaoxi Chen)

  • osd: 处理 map 时检查 scrub 状态 (Jianpeng Ma)

  • osd: 澄清 scrub 结果报告 (pr#6534, Li Wang)

  • osd/ClassHandler: 仅 dlclose() 未缺失的类 (pr#8354, Kefu Chai)

  • osd: 清理 CMPXATTR 检查 (pr#5961, Jianpeng Ma)

  • osd: 清理一些 constness, privateness (Kefu Chai)

  • osd: 如果 copy-from 失败,清理 temp object (pr#8487, Sage Weil)

  • osd: 如果 promotion 失败,清理 temp object (Jianpeng Ma)

  • osd: 停止 pgs 后清除 pg_stat_queue (issue#14212, pr#7091, Sage Weil)

  • osdc/Objecter: 允许每个池调用 op_cancel_writes (John Spray)

  • osdc/Objecter: 分配 tid 后 dout log (pr#8202, Xinze Chi)

  • osdc/Objecter: 修复 tid 分配的窄竞争条件 (issue#14364, pr#7981, Sage Weil)

  • osdc/Objecter: 在 PGNLS ops 中使用完整的 pgid hash (pr#8378, Sage Weil)

  • osd: 根据写入的最近程度配置 promotion (Zhiqiang Wang)

  • osd: 在让 agent 睡眠时考虑 high/low 模式 (issue#14752, pr#7631, Sage Weil)

  • osd: 将 collection 限制为 meta 和 PGs (normal 和 temp) (Sage Weil)

  • osd: 正确处理小的 osd_scrub_interval_randomize_ratio (pr#7147, Samuel Just)

  • osd: 推迟解码 MOSDRepOp/MOSDRepOpReply (pr#6503, Xinze Chi)

  • osd: 延迟填充内存中的 PG log hashmap (pr#6425, Piotr Dałek)

  • osd: 默认禁用 filestore_xfs_extsize (issue#14397, pr#7265, Ken Dreyer)

  • osd: 不在 pg 中保留旧 osdmap 的引用 (issue#13990, pr#7007, Kefu Chai)

  • osd: 不为用户发起的 scrub 进行随机 deep scrub (pr#6673, David Zafman)

  • osd: 不发送重复的 MMonGetOSDMap 请求 (Sage Weil, Kefu Chai)

  • osd: 如果没有必要,不更新 epoch 和 rollback_info 对象属性 (pr#6555, Ning Yao)

  • osd: 丢弃弃用的 removal pg 类型 (pr#6970, Igor Podoski)

  • osd: 丢弃 fiemap len=0 逻辑 (pr#7267, Sage Weil)

  • osd: 从 load_pgs() 中丢弃 interim set (pr#6277, Piotr Dałek)

  • osd: 使用 pg query 为每个 peer dump 缺失对象数量 (pr#6058, Guang Yang)

  • osd: 重复清除 peer_missing (pr#8315, Ning Yao)

  • osd: EIO 注入 (David Zhang)

  • osd: 消除 txn apend, ECSubWrite copy (Samuel Just)

  • osd: 为分片工作队列互斥锁启用 perfcounters (pr#6455, Jacek J. Łakis)

  • osd: 确保新 osdmap 在发布到 pgs 之前提交 (issue#15073, pr#8096, Sage Weil)

  • osd: erasure-code: 根据 LRU 丢弃条目 (Andreas-Joachim Peters)

  • osd: erasure-code: 修复 SHEC 浮点 bug (#12936 Loic Dachary)

  • osd: erasure-code: 更新到 ISA-L 2.14 (Yuan Zhou)

  • osd: filejournal: 清理 (David Zafman)

  • osd: FileJournal: _fdump 错误地返回 journal 当前不可读。(issue#13626, pr#6406, xie xingguo)

  • osd: FileJournal: 修复 create 方法的返回代码 (issue#14134, pr#6988, xie xingguo)

  • osd: FileJournal: 减少 write_aio_bl 中的锁定范围 (issue#12789, pr#5670, Zhi Zhang)

  • osd: filejournal: 报告 journal entry count (pr#7643, tianqing)

  • osd: FileJournal: 支持从 writeq 批量 peak 和 pop (pr#6701, Xinze Chi)

  • osd: FileStore: 添加一个字段指示 set xattr 时 xattr 只有一个 chunk。(pr#6244, Jianpeng Ma)

  • osd: FileStore: 添加 O_DSYNC 写入方案 (pr#7752, Somnath Roy)

  • osd: FileStore: 为 object_map->sync() 添加错误检查 (pr#7281, Chendi Xue)

  • osd: FileStore: 清理: 移除过时的选项 “filestore_xattr_use_omap” (issue#14356, pr#7217, Vikhyat Umrao)

  • osd: filestore: 使用 splice 克隆 (Jianpeng Ma)

  • osd: FileStore: 有条件的收集驱动器元数据 (pr#6956, Somnath Roy)

  • osd: filestore: FALLOC_FL_PUNCH_HOLE 必须与 FALLOC_FL_KEEP_SIZE 一起使用 (pr#7768, xinxin shu)

  • osd: filestore: 如果 statfs 遇到 ENOENT 则快速中止 (pr#7703, xie xingguo)

  • osd: FileStore: 修复 m_disable_wbthrottle 的初始化顺序 (pr#8067, Samuel Just)

  • osd: filestore: 修复 split vs collection_move_rename 和长对象名称的竞争条件 (issue#14766, pr#8136, Samuel Just)

  • osd: filestore: 修复递归锁 (Xinxin Shu)

  • osd: filestore: 修复克隆时错误代码被覆盖 (issue#14817, issue#14827, pr#7711, xie xingguo)

  • osd: filestore: 修复 mkfs 期间错误情况的结果代码范围错误 (issue#14814, pr#7704, xie xingguo)

  • osd: filestore: 修复 mount 期间错误情况的结果代码范围错误 (issue#14815, pr#7707, xie xingguo)

  • osd: FileStore: LFNIndex: 移除冗余的局部变量‘obj’。 (issue#13552, pr#6333, xiexingguo)

  • osd: FileStore: 修改冒号的格式 (pr#7333, Donghai Xu)

  • osd: FileStore:: 优化lfn_unlink (pr#6649, Jianpeng Ma)

  • osd: FileStore: 如果_fgetattrs失败,可能存在内存泄漏 (issue#13597, pr#6377, xie xingguo)

  • osd: FileStore: 如果读取文件失败,在osd断言之前打印文件名 (pr#7111, Ji Chen)

  • osd: FileStore: 移除__SWORD_TYPE依赖 (pr#6263, John Coyle)

  • osd: FileStore: 移除未使用的局部变量‘handle’ (pr#6381, xie xingguo)

  • osd: filestore: 重构journal和op队列限速 (pr#7767, Samuel Just)

  • osd: FileStore: 支持多个磁盘上的完成和应用完成器 (pr#6486, Xinze Chi, Haomai Wang)

  • osd: FileStore: 使用pwritev而不是lseek+writev (pr#7349, Haomai Wang, Tao Chang)

  • osd: 修复当缺少克隆时错误的scrub结果 (issue#12738, issue#12740, pr#5783, David Zafman)

  • osd: 修复损坏的平衡/本地化读取处理 (issue#13491, pr#6364, Jason Dillaman)

  • osd: 修复last_* PG状态时间戳中的bug (pr#6517, Li Wang)

  • osd: 修复omap操作的bug (pr#8230, Jianpeng Ma)

  • osd: 修复check_for_full (Henry Chang)

  • osd: 修复ClassHandler::ClassData::get_filter() (pr#6747, Yan, Zheng)

  • osd: 修复/清理完整map请求处理 (pr#8446, Sage Weil)

  • osd: 修复OSD::is_healthy中的调试信息 (pr#6226, Xiaoxi Chen)

  • osd: 修复make_writeable中的脏核算 (Zhiqiang Wang)

  • osd: 修复在未正确设置drity_info字段的情况下脏污信息的问题 (pr#8275, xie xingguo)

  • osd: 修复dump_ops_in_flight竞争条件 (issue#8885, pr#8044, David Zafman)

  • osd: 修复重复提升丢失操作的bug (Zhiqiang Wang)

  • osd: 修复当对象不可恢复时无休止的修复 (Jianpeng Ma, Kefu Chai)

  • osd: 修复handle_pg_create中的epoch检查 (pr#8382, Samuel Just)

  • osd: 修复op结果代码未检查或设置的几种情况 (issue#13566, pr#6347, xie xingguo)

  • osd: 修复ms_handle_connect()期间的失败报告处理 (pr#8348, xie xingguo)

  • osd: 修复FileStore::_destroy_collection错误返回代码 (pr#6612, Ruifeng Yang)

  • osd: 修复CALL操作的强制提升 (issue#14745, pr#7617, Sage Weil)

  • osd: 修复fusestore在停止/退出时挂起的问题 (issue#14786, pr#7677, xie xingguo)

  • osd: 修复hitset对象命名以使用GMT (Kefu Chai)

  • osd: 修复不准确的计数器并跳过空事务的排队 (pr#7754, xie xingguo)

  • osd: 修复WBThrottle中不正确的限速 (pr#6713, Zhang Huan)

  • osd: 修复process_copy_chunk中无效的列表遍历 (pr#7511, Samuel Just)

  • osd: 修复当flush失败时缺少对象解锁的问题 (issue#14511, pr#7584, Igor Fedotov)

  • osd: 修复日志信息 (pr#8273, Wei Jin)

  • osd: 修复杂项内存泄漏 (Sage Weil)

  • osd: 修复MOSDOp编码 (pr#6174, Sage Weil)

  • osd: 修复replica_scrub中MOSDRepScrub引用计数器 (pr#6730, Jie Wang)

  • osd: 修复回填期间负退化状态 (Guang Yang)

  • osd: 修复空指针访问和竞争条件 (issue#14072, pr#6916, xie xingguo)

  • osd: 修复osdmap转储黑名单项 (John Spray)

  • osd: 修复pg_stat_t中‘==’运算符重载 (issue#14921, pr#7842, xie xingguo)

  • osd: 修复FileStore中peek_queue锁定 (Xinze Chi)

  • osd: 修复pg复活 (#11429 Samuel Just)

  • osd: 修复提升与完整缓存层的冲突 (Samuel Just)

  • osd: 修复heartbeat_need_update的竞争条件 (issue#14387, pr#7739, xie xingguo)

  • osd: 修复reactivate (当我们已经有superblock时,在mkfs()中检查OSDSuperblock) (issue#13586, pr#6385, Vicente Cheng)

  • osd: 修复引用计数、罕见竞争条件等 (pr#8254, xie xingguo)

  • osd: 修复当pg仍在激活时重放重新排队 (#13116 Samuel Just)

  • osd: 修复maybe_handle_cache_detail()的返回值 (pr#7593, Igor Fedotov)

  • osd: 修复index()之前的rollback_info_trimmed_to (issue#13965, pr#6801, Samuel Just)

  • osd: 修复scrub开始hobject (pr#7467, Sage Weil)

  • osd: 修复scrub stat bugs (Sage Weil, Samuel Just)

  • osd: 修复缓存层中的快照刷新 (再次) (#11787 Samuel Just)

  • osd: 修复提升时的快照处理 (#11296 Sam Just)

  • osd: 修复稀疏读取结果代码检查逻辑 (issue#14151, pr#7016, xie xingguo)

  • osd: 修复临时清除 (David Zafman)

  • osd: 修复升级后临时对象移除 (issue#13862, pr#6976, David Zafman)

  • osd: 修复tick相关问题 (pr#8369, xie xingguo)

  • osd: 修复琐碎的scrub bug (pr#6533, Li Wang)

  • osd: 修复两个scrub相关问题 (pr#8462, xie xingguo)

  • osd: 修复从缓存池删除时 unnecessary object promotion (issue#13894, pr#7537, Igor Fedotov)

  • osd: 修复wip (l_osd_op_wip) perf计数器并移除repop_map (pr#7077, Xinze Chi)

  • osd: 修复错误放置的断言和一些清理工作 (pr#6766, xiexingguo, xie xingguo)

  • osd: 修复find_osd_on_ip()的错误返回类型 (issue#14872, pr#7812, xie xingguo)

  • osd: 修复localized read逻辑中右括号的错误使用 (pr#6566, Jie Wang)

  • osd: 强制提升EC无法处理的操作 (Zhiqiang Wang)

  • osd: ghobject_t: 使用!而不是@作为分隔符 (pr#7595, Sage Weil)

  • osd: 处理与pg删除竞争的重复pg_create (pr#8033, Sage Weil)

  • osd: 处理带有重叠条目的日志拆分 (#11358 Samuel Just)

  • osd: 在unfound calc中忽略不存在的osds (#10976 Mykola Golub)

  • osd: 改善在具有大内存页的机器上的行为 (Steve Capper)

  • osd: 改善缓存层代理的温度计算 (pr#4737, MingXin Liu)

  • osd: 在每个collection/pgid中包含一个临时命名空间 (Sage Weil)

  • osd: 增加默认最大打开文件数 (Owen Synge)

  • osd: 在构造时初始化last_recalibrate字段 (pr#8071, xie xingguo)

  • osd: init started to 0 (issue#13206, pr#6107, Sage Weil)

  • osd: KeyValueStore: 不要将NULL上下文排队 (pr#6783, Haomai Wang)

  • osd: KeyValueStore: 修复mkfs的返回代码 (pr#7036, xie xingguo)

  • osd: KeyValueStore: 修复keyvaluestore_default_strip_size的名称拼写错误 (pr#6375, Zhi Zhang)

  • osd: KeyValueStore: 修复错误放置的断言 (issue#14176, issue#14178, pr#7047, xie xingguo)

  • osd: keyvaluestore: 杂项修复 (Varada Kari)

  • osd: kstore: 修复_txc_finish()中的竞争条件 (pr#7804, Jianjian Huo)

  • osd: kstore: 延迟分解 (pr#7850, James Liu)

  • osd: kstore: 几个小的修复 (issue#14351, issue#14352, pr#7213, xie xingguo)

  • osd: kstore: kstore的小修复 (issue#14204, pr#7095, xie xingguo)

  • osd: kstore: 与最近的bluestore更新同步kstore (pr#7681, Jianjian Huo)

  • osd: 低速和高速刷新模式 (Mingxin Liu)

  • osd: 使后端和块设备代码更通用一些 (pr#6759, Sage Weil)

  • osd: 使list_missing查询missing_loc.needs_recovery_map (pr#6298, Guang Yang)

  • osd: 使自杀超时单独可配置 (Samuel Just)

  • osdmap: 移除未使用的局部变量 (pr#6864, luo kexue)

  • osdmap: 移除未使用的变量 (pr#8423, Wei Jin)

  • osd: memstore: 修复test_pageset的Page对齐 (pr#7587, Casey Bodley)

  • osd: memstore: 修复两个bug (pr#6963, Casey Bodley, Sage Weil)

  • osd: 将local_t和op_t txn合并为一个 (pr#6439, Xinze Chi)

  • osd: 将多个setattr调用合并为setattrs调用 (Xinxin Shu)

  • osd: min_write_recency_for_promote & min_read_recency_for_promote仅适用于分层 (pr#8081, huanwen ren)

  • osd: 杂项FileStore修复 (issue#14192, issue#14188, issue#14194, issue#14187, issue#14186, pr#7059, xie xingguo)

  • osd: 杂项修复 (Ning Yao, Kefu Chai, Xinze Chi, Zhiqiang Wang, Jianpeng Ma)

  • osd: 杂项map利用率优化 (pr#6950, Ning Yao)

  • osd, mon: 修复退出问题 (pr#7420, Jiaying Ren)

  • osd,mon: 将leveldb和rocksdb日志记录到ceph日志 (pr#6921, Sage Weil)

  • osd: 更多修复不正确脏污信息;重新发送重复的scrub-reserve请求的回复 (pr#8291, xie xingguo)

  • osd: 将MOSDOp和MOSDOpReply的最新解码版本移到前面 (pr#6642, Jacek J. Łakis)

  • osd: 在OpWQ中移动scrub (Samuel Just)

  • osd: 在函数中新建和删除ObjectStore::Transaction不是必需的 (pr#6299, Ruifeng Yang)

  • osd: newstore: 杂项更新 (包括kv和os/fs内容) (pr#6609, Sage Weil)

  • osd: newstore原型 (Sage Weil)

  • osd: 记下丢失的克隆数量 (pr#6654, Kefu Chai)

  • osd: ObjectStore内部API重构 (Sage Weil)

  • osd: Omap小bug适配 (pr#6669, Jianpeng Ma, David Zafman)

  • osd: 如果启用object-map,优化克隆写入路径 (pr#6403, xinxin shu)

  • osd: 优化get_object_context (pr#6305, Jianpeng Ma)

  • osd: 优化MOSDOp/do_op/handle_op (pr#5211, Jacek J. Lakis)

  • osd: 优化scrub subset_last_update计算 (pr#6518, Li Wang)

  • osd: 优化session_handle_reset函数 (issue#14182, pr#7054, songbaisen)

  • osd: os/chain_xattr: 在linux上使用linux/limits.h获取XATTR_NAME_MAX。 (pr#6343, John Coyle)

  • osd/OSD.cc: 每个MOSDMap消息完成full_map_request。 (issue#15130, pr#8147, Xiaoxi Chen)

  • osd/OSD: 修复build_past_intervals_parallel (pr#8215, David Zafman)

  • osd/OSDMap: 修复summarize_mapping_stats中的拼写错误 (pr#8088, Sage Weil)

  • osd: OSDMap: 当deepish_copy_from时重置osd_primary_affinity shared_ptr (issue#14686, pr#7553, Xinze Chi)

  • osd: OSDService: 修复osdmap注释中的拼写错误 (pr#7275, Brad Hubbard)

  • osd: os: 在FileStore中跳过检查pg_meta对象是否存在 (pr#6870, Ning Yao)

  • osd: 部分恢复“ReplicatedPG: result code not correctly set in some cases.” (issue#13796, pr#6622, Sage Weil)

  • osd: peer_features包括self (David Zafman)

  • osd: PG::activate(): 更优雅地处理意外的cached_removed_snaps (issue#14428, pr#7309, Alexey Sheplyakov)

  • osd/PG: 在pg查询输出中指示ignore_history_les是否有帮助 (pr#8156, Sage Weil)

  • osd: PGLog: 清理read_log (pr#7092, Jie Wang)

  • osd/PGLog: 修复警告 (pr#8057, Sage Weil)

  • osd: pg_pool_t: 为池选项添加字典 (issue#13077, pr#6081, Mykola Golub)

  • osd/PG: 为子pg设置epoch_created和parent_split_bits (issue#15426, pr#8552, Kefu Chai)

  • osd: 池大小更改触发新间隔 (#11771 Samuel Just)

  • osd: 当只有一个peer丢失时预填充needs_recovery_map (#9558 Guang Yang)

  • osd: 防止osd_recovery_sleep导致恢复线程自杀 (pr#7065, Jianpeng Ma)

  • osd: 概率缓存层提升限速 (pr#7465, Sage Weil)

  • osd: 随机化深度 scrubbing (pr#6550, Dan van der Ster, Herve Rousseau)

  • osd: 随机化scrub时间 (#10973 Kefu Chai)

  • osd: recovery, peering fixes (#11687 Samuel Just)

  • osd: 减少一些结构体的内存消耗 (pr#6475, Piotr Dałek)

  • osd: 减少coll_t::calc_str()中的字符串使用 (pr#6505, Igor Podoski)

  • osd: 重构scrub和digest记录 (Sage Weil)

  • osd: 拒绝在非零偏移处首次写入EC对象 (Jianpeng Ma)

  • osd: 放松代理读取上的回复顺序 (#11211 Zhiqiang Wang)

  • osd: scrub中断时释放相关资源 (pr#6744, Jianpeng Ma)

  • osd: 当OpRequest未注册时释放消息限速 (issue#14248, pr#7148, Samuel Just)

  • osd: 移除__SWORD_TYPE依赖 (pr#6262, John Coyle)

  • osd: 移除未使用的OSDMap::set_weightf() (issue#14369, pr#7231, huanwen ren)

  • osd: 移除up_thru_pending字段,该字段从未使用过 (pr#7991, xie xingguo)

  • osd: 重新排序PGLog结构中的bool字段 (pr#6279, Piotr Dałek)

  • osd: 在eversion_t::get_key_name中用更快的实现替换snprintf (pr#7121, Evgeniy Firsov)

  • osd/ReplicatedPG: 更仔细地调用publish_stats_to_osd() (issue#14962, pr#8039, Greg Farnum)

  • osd: replicatedpg: 如果在do_pg_op()期间遇到致命错误,则中断循环 (issue#14922, pr#7844, xie xingguo)

  • osd: ReplicatedPG: 清理未使用的函数 (pr#7211, Xiaowei Chen)

  • osd/ReplicatedPG: 在应用repops后更改时清除watches (issue#15151, pr#8163, Sage Weil)

  • osd/ReplicatedPG: 修复promotion recency logic (issue#14320, pr#6702, Sage Weil)

  • osd: ReplicatedPG: 移除未使用的局部变量 (issue#13575, pr#6360, xiexingguo)

  • osd/ReplicatedPG::_rollback_to: 更新OMAP标志 (issue#14777, pr#8495, Samuel Just)

  • osd: repop和lost-unfound大修 (pr#7765, Samuel Just)

  • osd: 要求firefly特性 (David Zafman)

  • osd: 在构建新的past_interval时重置primary和up_primary。 (issue#13471, pr#6240, xiexingguo)

  • osd: 解决启动与NOUP设置+清除竞争 (pr#7483, Sage Weil)

  • osd: scrub: 如果读取错误,不要赋值 (pr#6568, Li Wang)

  • osd/ScrubStore: 移除未使用的函数 (pr#8045, Kefu Chai)

  • osd: 设置初始crush权重时精度更高 (Sage Weil)

  • osd: 几个小的清理工作 (pr#7055, xie xingguo)

  • osd: SHEC不再是实验性的

  • osd: 如果在短时间内翻动次数过多,则关闭 (pr#6708, Xiaoxi Chen)

  • osd: 跳过带有FADVISE_DONTNEED/NOCACHE的writefull提升 (pr#7010, Jianpeng Ma)

  • osd: 跳过flush/evict操作的提升 (Zhiqiang Wang)

  • osd: 略微减小pg_log_entry_t的实际大小 (pr#6690, Piotr Dałek)

  • osd: memstore的小修复 (issue#14228, issue#14229, issue#14227, pr#7107, xie xingguo)

  • osd: 条带化小xattrs以适应XFS的255字节内联限制 (Sage Weil, Ning Yao)

  • osd: 支持池级别recovery_priority和recovery_op_priority (pr#5953, Guang Yang)

  • osd: 在syncfs时同步object_map (Samuel Just)

  • osd: 如果op是rw,则获取排他锁 (Samuel Just)

  • osd: 节流evict操作 (Yunchuan Wen)

  • osd: 尝试在刷新完成后驱逐 (pr#5630, Zhiqiang Wang)

  • osd: 升级必须经过hammer (Sage Weil)

  • osd: 使用临时对象进行恢复 (Sage Weil)

  • osd: 使用原子操作生成ceph_tid (pr#7017, Evgeniy Firsov)

  • osd: 使用blkid收集分区信息 (Joseph Handzik)

  • osd: 在object_stat_sum_t.is_zero()中使用优化的is_zero (pr#7203, Piotr Dałek)

  • osd: 引用PG时使用pg id(不带分片) (pr#6236, Guang Yang)

  • osd: 使用SEEK_HOLE / SEEK_DATA进行稀疏复制 (Xinxin Shu)

  • osd: utime_t, eversion_t, osd_stat_sum_t编码优化 (pr#6902, Xinze Chi)

  • osd: WBThrottle清理工作 (Jianpeng Ma)

  • osd: WeightedPriorityQueue: 移至侵入式容器 (pr#7654, Robert LeBlanc)

  • osd: write file journal optimization (pr#6484, Xinze Chi)

  • osd: 在干净关闭时写入日志头 (Xinze Chi)

  • os/filestore: 扩大getxattr缓冲区大小 (Jianpeng Ma)

  • os/filestore/FileJournal: 通过config option设置块大小 (pr#7628, Sage Weil)

  • os/filestore: 修复_zero中的punch hole用法 (pr#8050, Sage Weil)

  • os/filestore: 修复destroy_collection的结果处理逻辑 (pr#7721, xie xingguo)

  • os/filestore: 强制lfn属性原子写入,重构名称长度限制 (pr#8496, Samuel Just)

  • os/filestore: 要求完整对象读取的offset == length == 0;添加测试 (pr#7957, Jianpeng Ma)

  • os/fs: 修复io_getevents参数 (pr#7355, Jingkai Yuan)

  • os/fusestore: 添加错误处理 (pr#7395, xie xingguo)

  • os/keyvaluestore: 杀死KeyValueStore (pr#7320, Haomai Wang)

  • os/kstore: 将新的onode插入onode LRU的前面位置 (pr#7505, xie xingguo)

  • os/ObjectStore: 为ObjectStore::Transaction添加自定义移动操作 (pr#7303, Casey Bodley)

  • os/ObjectStore: 添加noexcept以确保使用移动构造函数 (pr#8421, Kefu Chai)

  • os/ObjectStore: 修复split dest_cid的_update_op (pr#8364, Sage Weil)

  • os/ObjectStore: 实现更高效的get_encoded_bytes() (pr#7775, Piotr Dałek)

  • os/ObjectStore: 使设备uuid探测输出更友好 (pr#8418, Sage Weil)

  • os/ObjectStore: transaction append中的try_move_rename并为store_test添加覆盖率 (issue#15205, pr#8359, Samuel Just)

  • packaging: 添加python devel包的构建依赖 (pr#7205, Josh Durgin)

  • packaging: 使infernalis -> jewel升级工作 (issue#15047, pr#8034, Nathan Cutler)

  • packaging: 将cephfs修复工具移至ceph-common (issue#15145, pr#8133, Boris Ranto, Ken Dreyer)

  • PG: pg down state被osd.x阻止,丢失osd.x无法解决peering卡住 (issue#13531, pr#6317, Xiaowei Chen)

  • pybind: 为Manila和类似框架添加ceph_volume_client接口 (pr#6205, John Spray)

  • pybind: 为libcephfs python绑定添加flock (pr#7902, John Spray)

  • pybind/cephfs: 添加symlink及其单元测试 (pr#6323, Shang Ding)

  • pybind: 在conf_parse_argv()中正确解码空字符串 (pr#6711, Josh Durgin)

  • pybind: 确保传递正确的python标志 (pr#7663, James Page)

  • pybind: 修复构建失败,移除方法中多余的分号 (issue#14371, pr#7235, Abhishek Lekshmanan)

  • pybind: 无论结果代码如何,都将RBD镜像标记为已关闭 (pr#8005, Jason Dillaman)

  • pybind: 实现rados_ioctx_snapshot_rollback (pr#6878, Florent Manens)

  • pybind/Makefile.am: 防止创建CYTHON_BUILD_DIR的竞争条件 (issue#15276, pr#8356, Dan Mick)

  • pybind: 将cephfs移至Cython (pr#7745, John Spray, Mehdi Abaakouk)

  • pybind: pep8清理工作 (Danny Al-Gaaf)

  • pybind: 将rbd绑定移植到Cython (issue#13115, pr#6768, Hector Martin)

  • pybind/rados: 修复aio中的对象生命周期问题和其他bug (pr#7778, Hector Martin)

  • pybind/rados: python3修复 (pr#8331, Mehdi Abaakouk)

  • pybind/rados: 使用__dealloc__因为__del__被cython忽略 (pr#7692, Mehdi Abaakouk)

  • pybind: 移除迭代器上的next() (pr#7706, Mehdi Abaakouk)

  • pybind: 将rbd的__del__替换为__dealloc__ (pr#7708, Josh Durgin)

  • pybind: 支持ioctx:exec (pr#6795, Noah Watkins)

  • pybind/test_rbd: 修复test_create_defaults (issue#14279, pr#7155, Josh Durgin)

  • pybind: 使用rados install-exec规则的正确子目录 (pr#7684, Josh Durgin)

  • pycephfs: 绑定的大量修复 (Haomai Wang)

  • python binding of librados with cython (pr#7621, Mehdi Abaakouk)

  • python: 使用pip而不是python setup.py (pr#7605, Loic Dachary)

  • qa: 添加工作单元运行ceph_test_rbd_mirror (pr#8221, Josh Durgin)

  • qa: 在RHEL/CentOS上禁用rbd/qemu-iotests测试用例055librbd: journal replay should honor inter-event dependencies (issue#14385, pr#7272, Jason Dillaman)

  • qa: erasure-code基准测试插件选择 (pr#6685, Loic Dachary)

  • qa: 修复filelock_interrupt.py测试 (Yan, Zheng)

  • qa: 改进ceph-disk测试 (Loic Dachary)

  • qa: 改进docker构建层 (Loic Dachary)

  • qa/krbd: Expunge generic/247 (pr#6831, Douglas Fuller)

  • qa: run-make-check.sh脚本 (Loic Dachary)

  • qa: 更新rest测试cephfs调用 (issue#15309, pr#8372, John Spray)

  • qa: 更新rest测试cephfs调用 (part 2) (issue#15309, pr#8393, John Spray)

  • qa/workunits/cephtool/test.sh: /tmp/obj1上的假阳性失败。 (pr#6837, Robin H. Johnson)

  • qa/workunits/cephtool/test.sh: 没有./ (pr#6748, Sage Weil)

  • qa/workunits/cephtool/test.sh: 在ceph_watch_start()中等待更长时间 (issue#14910, pr#7861, Kefu Chai)

  • qa/workunits: merge_diff不应尝试使用条带化 (issue#14165, pr#7041, Jason Dillaman)

  • qa/workunits/rados/test.sh: 也捕获stderr (pr#8004, Sage Weil)

  • qa/workunits/rados/test.sh: 测试tmap_migrate (pr#8114, Sage Weil)

  • qa/workunits/rbd: 在读取标志测试期间不使用对象map (pr#8104, Jason Dillaman)

  • qa/workunits/rbd: 新的在线维护操作测试 (pr#8216, Jason Dillaman)

  • qa/workunits/rbd: rbd-nbd测试应使用sudo进行map/unmap操作 (issue#14221, pr#7101, Jason Dillaman)

  • qa/workunits/rbd: 使用POSIX函数定义 (issue#15104, pr#8068, Nathan Cutler)

  • qa/workunits/rest/test.py: 为‘mds setmap’添加确认 (issue#14606, pr#7982, Sage Weil)

  • qa/workunits/rest/test.py: 不使用newfs (pr#8191, Sage Weil)

  • qa/workunits/snaps: 将快照测试移至fs子目录 (pr#6496, Yan, Zheng)

  • rados: 为bufferlist类型添加ceph::命名空间 (pr#8059, Noah Watkins)

  • rados: 添加--striper选项以使用libradosstriper (#10759 Sebastien Ponce)

  • rados: bench: 添加--no-verify选项以提高性能 (Piotr Dalek)

  • rados: bench: 修复off-by-one以避免写入超过object_size (pr#6677, Tao Chang)

  • rados bench: 杂项修复 (Dmitry Yatsushkevich)

  • rados: 修复write bench的bug (pr#7851, James Liu)

  • rados: 修复池移除失败时的错误消息 (Wido den Hollander)

  • radosgw-admin: 添加‘bucket check’功能以修复桶索引 (Yehuda Sadeh)

  • radosgw-admin: 允许 (pr#8529, Orit Wasserman)

  • radosgw-admin: 检查参数的合法性 (issue#13018, pr#5879, Qiankun Zheng)

  • radosgw-admin: 为--secret添加--secret-key别名 (issue#5821, pr#5335, Yuan Zhou)

  • radosgw-admin: 修复‘realm pull’ (pr#8404, Casey Bodley)

  • radosgw-admin: 修复subuser modify输出 (#12286 Guce)

  • radosgw-admin: metadata list user应该在user pool为空时返回空列表 (issue#13596, pr#6465, Orit Wasserman)

  • radosgw-admin: ‘period commit’提供用户可读的错误消息 (pr#8264, Casey Bodley)

  • rados: 正确处理--snapid参数 (Abhishek Lekshmanan)

  • rados: 实现rm --force选项以在满时强制移除 (pr#6202, Xiaowei Chen)

  • rados: 改进bench缓冲区处理,性能 (Piotr Dalek)

  • rados: 杂项bench修复 (Dmitry Yatsushkevich)

  • rados: write benchmark的新选项 (pr#6340, Joaquim Rocha)

  • rados: 新的池导入实现 (John Spray)

  • rados: 在CLI中将errno转换为字符串 (#10877 Kefu Chai)

  • rbd: 接受map options配置选项 (Ilya Dryomov)

  • rbd: 接受--user,拒绝-i命令行选项 (pr#6590, Ilya Dryomov)

  • rbd: 添加磁盘使用工具 (#7746 Jason Dillaman)

  • rbd: 对条带化参数进行额外验证 (pr#6914, Na Xie)

  • rbd: 为重构的CLI添加缺少的命令别名 (issue#13806, pr#6606, Jason Dillaman)

  • rbd: 添加--object-size选项,弃用--order (issue#12112, pr#6830, Vikhyat Umrao)

  • rbd: 为rbd admin socket命令添加池名称以消除歧义 (pr#6904, wuxiangwei)

  • rbd: 添加RBD池镜像配置API + CLI (pr#6129, Jason Dillaman)

  • rbd: 添加对镜像提升/降级/重新同步的支持 (pr#8138, Jason Dillaman)

  • rbd: 允许librados修剪命令行配置覆盖 (issue#15250, pr#8282, Jason Dillaman)

  • rbd: 允许按spec unmapping (Ilya Dryomov)

  • rbd: cli: 修复--io-pattern的arg解析 (Dmitry Yatsushkevich)

  • rbd: 克隆操作应默认为镜像格式2 (pr#8119, Jason Dillaman)

  • rbd: 纠正merge-diff的输出字符串 (pr#7046, Kongming Wu)

  • rbd: 弃用镜像格式1 (pr#7841, Jason Dillaman)

  • rbd: 弃用--new-format选项 (Jason Dillman)

  • rbd: 动态生成的bash补全 (issue#13494, pr#6316, Jason Dillaman)

  • rbd: 修复“--without-rbd”构建 (issue#14058, pr#6899, Piotr Dałek)

  • rbd: 修复克隆问题 (issue#13553, pr#6334, xinxin shu)

  • rbd: 修复错误消息 (#2862 Rajesh Nambiar)

  • rbd: 修复重构的CLI和相关测试 (pr#6738, Ilya Dryomov)

  • rbd: 修复init-rbdmap CMDPARAMS (issue#13214, pr#6109, Sage Weil)

  • rbd: 修复链接问题 (Jason Dillaman)

  • rbd: 修复静态初始化顺序问题 (pr#6978, Mykola Golub)

  • rbd-fuse: 镜像名称不能包含快照名称 (pr#7044, Yongqiang He)

  • rbd-fuse: 实现mv操作 (pr#6938, wuxiangwei)

  • rbd: 改进CLI参数解析、用法 (Ilya Dryomov)

  • rbd: journal: 通过conf, cli, api配置以及一些修复 (pr#6665, Mykola Golub)

  • rbd: journal reset应该禁用/重新启用journaling功能 (issue#15097, pr#8490, Jason Dillaman)

  • rbd: 使配置更改实际应用 (pr#6520, Mykola Golub)

  • rbdmap: 添加manpage (issue#15212, pr#8224, Nathan Cutler)

  • rbdmap: systemd支持 (issue#13374, pr#6479, Boris Ranto)

  • rbd: merge_diff测试应使用新的--object-size参数而不是--order (issue#14106, pr#6972, Na Xie, Jason Dillaman)

  • rbd-mirror: asok命令获取Mirror和Replayer级别的状态和刷新 (pr#8235, Mykola Golub)

  • rbd-mirror: 启用/禁用池镜像应更新镜像目录 (issue#15217, pr#8261, Ricardo Dias)

  • rbd-mirror: 修复镜像重放测试失败 (pr#8158, Jason Dillaman)

  • rbd-mirror: 修复由于主循环中等待30秒导致的长时间终止 (pr#8185, Mykola Golub)

  • rbd-mirror: 修复迭代器缺少增量 (pr#8352, runsisi)

  • rbd-mirror: ImageReplayer异步启动/停止 (pr#7944, Mykola Golub)

  • rbd-mirror: ImageReplayer改进 (pr#7759, Mykola Golub)

  • rbd-mirror: 实现ImageReplayer (pr#7614, Mykola Golub)

  • rbd-mirror: 初始故障转移/故障恢复支持 (pr#8287, Jason Dillaman)

  • rbd-mirror: 与镜像同步状态机集成 (pr#8079, Jason Dillaman)

  • rbd-mirror: 使远程上下文尊重env和argv配置参数 (pr#8182, Mykola Golub)

  • rbd-mirror: 对初始骨架实现的小修复 (pr#7958, Mykola Golub)

  • rbd-mirror: 当不在镜像模式时,防止启用/禁用镜像的镜像 (issue#15267, pr#8332, Ricardo Dias)

  • rbd-mirror: 远程到本地集群镜像同步 (pr#7979, Jason Dillaman)

  • rbd-mirror: 将fsid切换为mirror uuid (issue#15238, pr#8280, Ricardo Dias)

  • rbd-mirror: 在asok命令中使用池/镜像名称 (pr#8159, Mykola Golub)

  • rbd-mirror: 使用镜像目录检测候选镜像 (issue#15142, pr#8162, Ricardo Dias)

  • rbd-mirror: 解决lockdep单例交错的变通方法 (pr#8476, Jason Dillaman)

  • rbd: 当指定stripingv2功能时,必须同时指定stripe-unit和stripe-count (pr#7026, Donghai Xu)

  • rbd-nbd: 添加版权 (pr#7166, Li Wang)

  • rbd-nbd: 修复返回代码处理 (pr#7215, Mykola Golub)

  • rbd-nbd: RBD的网络块设备 (NBD) 支持 (pr#6657, Yunchuan Wen, Li Wang)

  • rbd-nbd: 日志记录和forking的小改进 (pr#7127, Mykola Golub)

  • rbd: 错误时输出格式化程序可能未关闭 (issue#13711, pr#6706, xie xingguo)

  • rbd: rbdmap改进 (pr#6445, Boris Ranto)

  • rbd: rbd order将在配置选项中设置为0时放置在22 (issue#14139, issue#14047, pr#6886, huanwen ren)

  • rbd: rbd-replay-prep和rbd-replay改进 (Jason Dillaman)

  • rbd: 识别queue_depth内核选项 (Ilya Dryomov)

  • rbd: 重构cli命令处理 (pr#5987, Jason Dillaman)

  • rbd/run_cli_tests.sh: 反映测试失败 (issue#14825, pr#7781, Zack Cerza)

  • rbd: stripe unit/count从配置设置不正确 (pr#6593, Mykola Golub)

  • rbd: 条带化参数应支持64位整数 (pr#6942, Na Xie)

  • rbd: 支持启用/禁用特定镜像的镜像功能 (issue#13296, pr#8056, Ricardo Dias)

  • rbd: 支持CLI的G和T单位 (Abhishek Lekshmanan)

  • rbd: 支持负布尔命令行选项 (issue#13784, pr#6607, Jason Dillaman)

  • rbd: 修复rbd map + cephx_sign_messages选项 (pr#6583, Ilya Dryomov)

  • rbd: 更新默认镜像功能 (pr#7846, Jason Dillaman)

  • rbd: 更新rbd man page (Ilya Dryomov)

  • rbd: 更新xfstests测试 (Douglas Fuller)

  • rbd: 未指定时使用配置中的默认order (pr#6965, Yunchuan Wen)

  • rbd: 在帮助中使用image-spec和snap-spec (Vikhyat Umrao, Ilya Dryomov)

  • release-notes: v0.94.4发行说明草稿 (pr#5907, Loic Dachary)

  • release-notes: v0.94.4发行说明草稿 (pr#6195, Loic Dachary)

  • release-notes: v0.94.4发行说明草稿 (pr#6238, Loic Dachary)

  • release-notes: v0.94.6发行说明草稿 (issue#13356, pr#7689, Abhishek Varshney, Loic Dachary)

  • release-notes: v10.0.3发行说明草稿 (pr#7592, Loic Dachary)

  • release-notes: v10.0.4发行说明草稿 (pr#7966, Loic Dachary)

  • release-notes: v9.2.1发行说明草稿 (issue#13750, pr#7694, Abhishek Varshney)

  • releases: 哪里合并了什么,什么时候合并的? (pr#8358, Loic Dachary)

  • rest-bench: 杂项修复 (Shawn Chen)

  • rest-bench: 支持https (#3968 Yuan Zhou)

  • rgw: 仅在第一次响应请求时接受数据 (pr#8084, sunspot)

  • rgw: 在admin接口中添加更多帮助选项 (pr#8410, Abhishek Lekshmanan)

  • rgw: 添加一个方法来在移除子用户时清除所有关联的key (issue#12890, pr#6002, Sangdi Xu)

  • rgw: 添加缺少的cap类型 (pr#6774, Yehuda Sadeh)

  • rgw: 在分配用户cap时添加对type字段的检查 (pr#6051, Kongming Wu)

  • rgw: 添加桶请求付费功能使用情况统计集成 (issue#13834, pr#6656, Javier M. Mellid)

  • rgw: 为TEMP_FAILURE_RETRY添加compat头文件 (pr#6294, John Coyle)

  • rgw: 添加默认配额配置 (pr#6400, Daniel Gryniewicz)

  • rgw: 添加生命周期功能 (pr#6331, Ji Chen)

  • rgw: 添加最大分段上传部分 (#12146 Abshishek Dixit)

  • rgw: 为admin op API添加缺少的错误代码 (pr#7037, Dunrong Huang)

  • rgw: 为Swift容器详细信息添加缺少的标头 (#10666 Ahmad Faheem, Dmytro Iurchenko)

  • rgw: 为account GET添加stats到标头 (#10684 Yuan Zhou)

  • rgw: 添加radosgw-admin sync status命令,提供特定区域同步过程的人类可读状态 (pr#8030, Yehuda Sadeh)

  • rgw: 添加对Keystone admin token缓存的支持。 (pr#7630, Radoslaw Zarzynski)

  • rgw: 添加对Swift帐户GET的“end_marker”参数支持。 (issue#10682, pr#4216, Radoslaw Zarzynski)

  • rgw: 添加对获取Swift DLO的支持,无需清单处理 (pr#6206, Radoslaw Zarzynski)

  • rgw: 添加对Swift容器PUT期间元数据上传的支持。 (pr#8002, Radoslaw Zarzynski)

  • rgw: 添加对Swift API的静态大对象支持 (issue#12886, issue#13452, pr#6643, Yehuda Sadeh, Radoslaw Zarzynski)

  • rgw: 添加对Swift API的系统请求支持 (pr#7666, Radoslaw Zarzynski)

  • rgw: 为响应添加Trasnaction-Id (Abhishek Dixit)

  • rgw: 为Swift容器添加X-Timestamp (#10938 Radoslaw Zarzynski)

  • rgw: 为rgw-admin help添加zone delete (pr#8184, Abhishek Lekshmanan)

  • rgw: 复制操作中桶不存在时调整错误代码 (issue#14975, pr#7916, Yehuda Sadeh)

  • rgw: 调整request_uri以支持http请求的absoluteURI (issue#12917, pr#7675, Wenjun Huang)

  • rgw: 用于检索使用情况信息的admin api (Ji Chen) (pr#8031, Yehuda Sadeh, Ji Chen)

  • rgw_admin: orphans finish segfaults (pr#6652, Igor Fedotov)

  • rgw-admin: 移除未使用的迭代器并修复错误消息 (pr#8507, Karol Mroz)

  • rgw_admin: 移除未使用的parent_period参数 (pr#8411, Abhishek Lekshmanan)

  • rgw: 允许Keystone情况下的隐式租户 (pr#8139, Pete Zaitcev)

  • rgw: 允许使用自签名证书进行Keystone身份验证 (issue#14853, issue#13422, pr#7777, Abhishek Lekshmanan)

  • rgw: 总是检查token是否过期 (#11367 Anton Aksola, Riku Lehto)

  • rgw: 近似AmazonS3 HostId错误字段。 (pr#7444, Robin H. Johnson)

  • rgw: aws4 subdomain calling bugfix (issue#15369, pr#8472, Javier M. Mellid)

  • rgw: bucket link现在设置bucket.instance acl (bug fix) (issue#11076, pr#8037, Zengran Zhang)

  • rgw: 桶请求付费支持 (issue#13427, pr#6214, Javier M. Mellid)

  • rgw: RadosGW和其他地方mtime异常的Bug修复 (pr#7328, Adam C. Emerson, Casey Bodley)

  • rgw: 与构建相关的修复 (pr#8076, Yehuda Sadeh, Matt Benjamin)

  • rgw: 仅在必要时在RGWPutObj_ObjStore中计算有效负载哈希。 (pr#7869, Radoslaw Zarzynski)

  • [rgw] 在RGWFileHandle::write中检查返回代码 (pr#7875, Brad Hubbard)

  • rgw: 调用fe->run()时检查返回值 (issue#14585, pr#7457, wei qiaomiao)

  • rgw: 澄清尝试创建已存在用户时的错误消息 (pr#5938, Zeqiang Zhuang)

  • rgw: 清理注释和消息 (pr#7633, Pete Zaitcev)

  • rgw: content length (issue#13582, pr#6975, Yehuda Sadeh)

  • rgw: 用于修复损坏分段对象的转换工具 (#12079 Yehuda Sadeh)

  • rgw: 在移除时将普通对象转换为版本化对象(带有空版本) (issue#15243, pr#8268, Yehuda Sadeh)

  • rgw: 删除默认区域 (pr#7005, YankunLi)

  • rgw: 记录池和对象的布局 (Pete Zaitcev)

  • rgw: 使用带有错误参数的admin op API时,不要中止radosgw服务器 (issue#14190, issue#14191, pr#7063, Dunrong Huang)

  • rgw: 不要用引号括起桶标头 (#11860 Wido den Hollander)

  • rgw: 不要为HEAD请求预取数据 (Guang Yang)

  • rgw: 复制对象时不要保留ACL (#12370 Yehuda Sadeh)

  • rgw: 在“304 Not Modified”响应上不要发送Content-Type (issue#15119, pr#8253, Wido den Hollander)

  • rgw: 如果长度为0,不要设置content-type (#11091 Orit Wasserman)

  • rgw: 设置ACL时不要覆盖桶/对象所有者 (#10978 Yehuda Sadeh)

  • rgw: 对于命名空间对象列表,不要使用end_marker (#11437 Yehuda Sadeh)

  • rgw: 如果配置了frontend,不要使用rgw_socket_path (#11160 Yehuda Sadeh)

  • rgw: 对于metadata api path entry,不要使用s->bucket (issue#14549, pr#7408, Yehuda Sadeh)

  • rgw: 删除调试消息 (pr#7280, Pete Zaitcev)

  • rgw: 启动后删除rgw/civetweb权限 (issue#13600, pr#8019, Karol Mroz)

  • rgw: 从rgw_admin.cc中删除未使用的usage_exit (pr#7632, Pete Zaitcev)

  • rgw: 在Swift cont/obj的POST上强制执行Content-Length (#10661 Radoslaw Zarzynski)

  • rgw: 如果前端没有发送所有数据,则报错 (#11851 Yehuda Sadeh)

  • rgw: 通过admin socket公开不健康worker的数量 (Guang Yang)

  • rgw: 扩展rgw_extended_http_attrs以影响Swift帐户和容器 (pr#5969, Radoslaw Zarzynski)

  • rgw: 如果分段上传未指定部分,则出错 (#11435 Yehuda Sadeh)

  • rgw: fcgi应该包含acconfig (pr#7760, Abhishek Lekshmanan)

  • rgw_file: 在新对象上设置owner uid, gid和Unix mode (pr#8321, Matt Benjamin)

  • rgw: 修复明显的语法错误 (pr#6888, Pavan Rallabhandi)

  • rgw: 修复复制对象属性的赋值 (#11563 Yehuda Sadeh)

  • rgw: 修复错误消息中的拼写错误 (pr#8434, Abhishek Lekshmanan)

  • rgw: 修复init-radosgw中的拼写错误 (pr#6817, Zhi Zhang)

  • rgw: 修复容器列表中的损坏统计信息 (#11285 Radoslaw Zarzynski)

  • rgw: 修复域/子域拆分中的bug (Robin H. Johnson)

  • rgw: 修复Content-Type标头的大小写 (Robin H. Johnson)

  • rgw: 修复civetweb最大线程数 (#10243 Yehuda Sadeh)

  • rgw: 修复编译警告 (pr#7160, Yehuda Sadeh)

  • rgw: 修复编译错误 (pr#8394, xie xingguo)

  • rgw: 修复Connection: 标头处理 (#12298 Wido den Hollander)

  • rgw: 修复复制元数据,支持swift的X-Copied-From (#10663 Radoslaw Zarzynski)

  • rgw: 修复数据损坏竞争条件 (#11749 Wuxingyi)

  • rgw: 修复Swift DLO GET上X-Object-Manifest的解码 (Radslow Rzarzynski)

  • rgw: 修复per-period元数据日志 (pr#7827, Casey Bodley)

  • rgw: 修复Swift帐户GET中limit == 0时的问题 (#10683 Radoslaw Zarzynski)

  • rgw: 修复Swift容器上空元数据项的处理 (#11088 Radoslaw Zarzynski)

  • rgw: 修复获取用户配额时的JSON响应 (#12117 Wuxingyi)

  • rgw: 修复以_开头的对象的locator (#11442 Yehuda Sadeh)

  • rgw: 修复lockdep假阳性 (pr#8284, Yehuda Sadeh)

  • rgw: 修复日志轮换 (Wuxingyi)

  • rgw: 修复mdlog (pr#8183, Orit Wasserman)

  • rgw: 修复重试路径中的分段上传 (#11604 Yehuda Sadeh)

  • rgw: 修复无法显示对象名称不包含...的对象 (issue#12963, pr#5738, Weijun Duan)

  • rgw: 修复openssl链接 (pr#6513, Yehuda Sadeh)

  • rgw: 修复rgw_admin和rgw_tools中的部分读取问题 (pr#6761, Jiaying Ren)

  • rgw: 修复删除以双下划线开头的对象的问题 (issue#15318, pr#8488, Orit Wasserman)

  • rgw: 修复POST上的配额强制执行 (#11323 Sergey Arkhipov)

  • rgw: 修复非Debian系统上的reload。 (pr#6482, Hervé Rousseau)

  • rgw: 修复reset_loc (#11974 Yehuda Sadeh)

  • rgw: 修复删除过期对象的响应 (issue#13469, pr#6228, Yuan Zhou)

  • rgw: 修复缺少上传时的返回代码 (#11436 Yehuda Sadeh)

  • rgw: 修复带有租户的子用户 (#7618 Pete Zaitcev)

  • rgw: 修复swift API返回不正确的帐户元数据 (issue#13140, pr#6047, Sangdi Xu)

  • rgw: 修复sysvinit脚本

  • rgw: 修复带有多个实例的sysvinit脚本 (Sage Weil, Pavan Rallabhandi)

  • rgw: 修复构建失败 (pr#6927, Kefu Chai)

  • rgw: 修复RGWHTTPClient::process错误消息中的拼写错误 (pr#6424, Brad Hubbard)

  • rgw: 修复parse()返回值的错误检查 (pr#6797, Dunrong Huang)

  • rgw: 修复S3桶POST期间错误的etag计算。 (issue#11241, pr#6030, Radoslaw Zarzynski)

  • rgw: 修复Swift帐户列表期间limit=0的错误处理。 (issue#14903, pr#7821, Radoslaw Zarzynski)

  • rgw: 为swift bucket stats请求强制执行content_type (#12095 Orit Wasserman)

  • rgw: 对没有body的响应强制执行content type标头 (#11438 Orit Wasserman)

  • rgw: 为civetweb生成Date标头 (#10873 Radoslaw Zarzynski)

  • rgw: 设置attrs时生成新的对象标签 (#11256 Yehuda Sadeh)

  • rgw: highres时间戳 (pr#8108, Yehuda Sadeh, Adam C. Emerson, Matt Benjamin)

  • rgw: 改进content-length env var处理 (#11419 Robin H. Johnson)

  • rgw: 改进swift帐户元数据支持 (Radoslaw Zarzynski)

  • rgw: 改进S3/Keystone集成中的错误处理 (pr#7597, Radoslaw Zarzynski)

  • rgw: 改进expirer中已移除桶的处理 (Radoslaw Rzarzynski)

  • rgw: 增加RGWObjManifest行的详细程度 (pr#7285, magicrobotmonkey)

  • rgw: indexless (pr#7786, Yehuda Sadeh)

  • rgw: 在刷新缓存数据之前为第一个块发出aio (#11322 Guang Yang)

  • rgw: Jewel nfs fixes 3 (pr#8460, Matt Benjamin)

  • rgw: keystone v3 (pr#7719, Mark Barnes, Radoslaw Zarzynski)

  • rgw: ldap修复 (pr#8168, Matt Benjamin)

  • rgw_ldap: 使ldap.h包含有条件 (pr#8500, Matt Benjamin)

  • rgw: ldap (Matt Benjamin) (pr#7985, Matt Benjamin)

  • rgw: 让radosgw-admin bucket stats返回标准的json (pr#7029, Ruifeng Yang)

  • rgw: 链接系统openssl(而不是在运行时dlopen) (pr#6419, Sage Weil)

  • rgw: 链接civetweb和openssl (Sage, Marcus Watts) (pr#7825, Marcus Watts, Sage Weil)

  • rgw: 将付款人信息链接到使用情况日志记录 (pr#7918, Yehuda Sadeh, Javier M. Mellid)

  • rgw: 记录到/var/log/ceph而不是/var/log/radosgw

  • rgw: 使init脚本等待radosgw停止 (#11140 Dmitry Yatsushkevich)

  • rgw: 使最大put大小可配置 (#6999 Yuan Zhou)

  • rgw: 使配额/gc线程可配置 (#11047 Guang Yang)

  • rgw: 使读取用户桶向后兼容 (#10683 Radoslaw Zarzynski)

  • rgw: mdlog trim添加使用提示 (pr#6059, Weijun Duan)

  • rgw: 使用前缀覆盖正确合并清单 (#11622 Yehuda Sadeh)

  • rgw: 修改radosgw-admin metadata list user操作时命令卡住的问题 (pr#7032, Peiyang Liu)

  • rgw: 修改执行“log show”命令时选项date的文档和帮助信息的描述 (pr#6080, Kongming Wu)

  • rgw: 修改parse_metadata_key方法中的条件语句。 (pr#5875, Zengran Zhang)

  • rgw: 从 rgw_front.h 移动 signal.h 依赖 (pr#7678, Matt Benjamin)

  • rgw: Multipart ListPartsResult ETag 引用 (issue#15334, pr#8387, Robin H. Johnson)

  • rgw: 对 Swift API 的 SLO/DLO 的 etag 计算进行了多项改进。 (pr#7764, Radoslaw Zarzynski)

  • rgw: TempURL 的多项 Swift API 合规性改进 (Radoslaw Zarzynsk) (issue#14806, issue#11163, pr#7891, Radoslaw Zarzynski)

  • rgw: multisite 修复 (pr#8013, Yehuda Sadeh)

  • rgw: multitenancy 支持 (pr#6784, Yehuda Sadeh, Pete Zaitcev)

  • rgw: 新的 multisite 合并 (issue#14549, pr#7709, Yehuda Sadeh, Orit Wasserman, Casey Bodley, Daniel Gryniewicz)

  • rgw: 仅扫描不在命名空间中的对象 (#11984 Yehuda Sadeh)

  • rgw: 孤立对象检测工具 (Yehuda Sadeh)

  • rgw: 更好地解析 --subuser (pr#7279, Pete Zaitcev)

  • rgw: 传入 civetweb 可配置参数 (#10907 Yehuda Sadeh)

  • rgw: 阻止匿名用户读取具有经过身份验证的读取 ACL 的 bucket (issue#13207, pr#6057, root)

  • rgw: radosgw-admin bucket check --fix 不起作用 (pr#7093, Weijun Duan)

  • rgw: 纠正 PUT 响应中的 202 Accepted (#11148 Radoslaw Zarzynski)

  • rgw: 当 s3 密钥为空时拒绝计算摘要 (issue#13133, pr#6045, Sangdi Xu)

  • rgw: 删除 RGWRados::get_bucket_info() 中的重复代码 (pr#7413, liyankun)

  • rgw: 删除 RGWGetObj::execute 中的额外检查 (issue#12352, pr#5262, Javier M. Mellid)

  • rgw: 删除 bucket 后删除元文件 (#11149 Orit Wasserman)

  • rgw: 从 HTTP_HOST 标头中删除尾随的 :port (Sage Weil)

  • rgw: 删除 PutMetadataAccount:execute 中未使用的代码 (pr#6668, Pete Zaitcev)

  • rgw: 删除 RGWPutMetadataBucket::execute 中未使用的变量 (pr#6735, Radoslaw Zarzynski)

  • rgw: 删除未使用的 vector (pr#7990, Na Xie)

  • rgw: 在遍历 bucket 对象时重置返回代码 (issue#14826, pr#7803, Orit Wasserman)

  • rgw: 在主节点关闭时重试 RGWRemoteMetaLog::read_log_info() (pr#8453, Casey Bodley)

  • rgw: 列出 buckets 时,如果限制错误,则返回 412 (#11613 Yehuda Sadeh)

  • rgw: 恢复 “rgw ldap” (pr#8075, Yehuda Sadeh)

  • rgw: 重做 X-Trans-Id 标头以符合 Swift API (Radoslaw Rzarzynski)

  • rgw/rgw_admin: 修复 list 和 stats 命令的错误 (pr#8200, Qiankun Zheng)

  • rgw/rgw_common.h: 修复 RGWBucketInfo 解码 (pr#8154, Kefu Chai)

  • rgw/rgw_common.h: 修复 RGWBucketInfo 解码 (pr#8165, Kefu Chai)

  • rgw: RGWLib::env 未使用,因此将其删除 (pr#7874, Brad Hubbard)

  • rgw/rgw_orphan: 检查 save_state 的返回值 (pr#7544, Boris Ranto)

  • rgw/rgw_resolve: 当 res_nquery 未实现时,回退到 res_query (pr#6292, John Coyle)

  • rgw: RGWZoneParams::create 不应处理 -EEXIST 错误 (pr#7927, Orit Wasserman)

  • rgw: s3 encoding-type for get bucket (Jeff Weber)

  • rgw: S3: 在 ListBucketResult 中设置 EncodingType (pr#7712, Victor Makarov)

  • rgw: 为 swift 发送 ETag, Last-Modified (#11087 Radoslaw Zarzynski)

  • rgw: 在 container GET, PUT, DELETE, HEAD 上设置 content length (#10971, #11036 Radoslaw Zarzynski)

  • rgw: 在 ceph.conf 中设置每个用户的最大 buckets 数量 (Vikhyat Umrao)

  • rgw: 在多个 librados 实例上分片工作 (Pavan Rallabhandi)

  • rgw: url 查询部分中包含转义字符的签名不匹配 (issue#15358, pr#8445, Javier M. Mellid)

  • rgw: 静态大对象 (Radoslaw Zarzynski, Yehuda Sadeh)

  • rgw: 在创建系统对象元数据时将其存储在缓存中 (issue#14678, pr#7615, Yehuda Sadeh)

  • rgw: 支持 radosgw 守护程序的 core file limit (pr#6346, Guang Yang)

  • rgw: 支持 swift container GET 上的 end marker (#10682 Radoslaw Zarzynski)

  • rgw: 支持 aws authentication v4 (Javier M. Mellid) (issue#10333, pr#7720, Yehuda Sadeh, Javier M. Mellid)

  • rgw: 支持 Swift expiration API (Radoslaw Rzarzynski, Yehuda Sadeh)

  • rgw: 支持 admin policy API 的 json 格式 (Dunrong Huang) (issue#14090, pr#8036, Yehuda Sadeh, Dunrong Huang)

  • rgw: swift: 允许使用 COPY 设置属性 (#10662 Ahmad Faheem, Dmytro Iurchenko)

  • rgw: swift 批量删除 (Radoslaw Zarzynski)

  • rgw: swift: 不要覆盖发送的 content type (#12363 Orit Wasserman)

  • rgw: swift: 在响应中强制执行 Content-Type (#12157 Radoslaw Zarzynski)

  • rgw: swift: 修复 account listing (#11501 Radoslaw Zarzynski)

  • rgw: swift: 修复复制时的元数据处理 (#10645 Radoslaw Zarzynski)

  • rgw: swift: 发送 Last-Modified 标头 (#10650 Radoslaw Zarzynski)

  • rgw: swift: 为 account GET 设置 Content-Length (#12158 Radoslav Zarzynski)

  • rgw: swift: 在 keystone tokens 上设置 content-length (#11473 Herv Rousseau)

  • rgw: swift 使用 Civetweb ssl 无法获取正确的 url (issue#13628, pr#6408, Weijun Duan)

  • rgw: swift 版本控制禁用 (pr#8066, Yehuda Sadeh, Radoslaw Zarzynski)

  • rgw: 同步修复 3 (pr#8170, Yehuda Sadeh)

  • rgw: 同步修复 4 (pr#8190, Yehuda Sadeh)

  • rgw 同步修复 (pr#8095, Yehuda Sadeh)

  • rgw: map 'headers' 被分配了错误的值 (pr#8481, weiqiaomiao)

  • rgw: 尝试按照配置中适当的顺序解析 Keystone token。 (pr#7822, Radoslaw Zarzynski)

  • rgw: 使用 token 信息更新 keystone 缓存 (#11125 Yehuda Sadeh)

  • rgw: 更新到最新的 civetweb,为 IPv6 启用配置 (#10965 Yehuda Sadeh)

  • rgw: 复制时使用源 bucket 的 attrs (#11639 Javier M. Mellid)

  • rgw: 为 gc chains 使用正确的 oid (#11447 Yehuda Sadeh)

  • rgw: 在 RGWUserBuckets 中使用 count fn 进行配额检查 (pr#8294, Abhishek Lekshmanan)

  • rgw: 为 RGWPeriodHistory 使用 pimpl 模式 (pr#7809, Casey Bodley)

  • rgw: 删除 bucket 时用户配额可能无法调整 (issue#14507, pr#7586, root)

  • rgw: user rm 是幂等的 (Orit Wasserman)

  • rgw: 为 C_Reinitwatch 使用智能指针 (pr#6767, Orit Wasserman)

  • rgw: 为 civetweb 使用唯一的 request id (#10295 Orit Wasserman)

  • rgw: 警告可疑的 civetweb 前端参数 (pr#6944, Matt Benjamin)

  • rocksdb: 为 get/put 延迟添加 perf counters (Xinxin Shu)

  • rocksdb: 使用 PORTABLE=1 构建 (pr#6311, Sage Weil)

  • rocksdb, leveldb: 修复 compact_on_mount (Xiaoxi Chen)

  • rocksdb: 将选项作为单个字符串传递 (Xiaoxi Chen)

  • rocksdb: 从 dist tarball 中删除 rdb 源文件 (issue#13554, pr#6379, Kefu Chai)

  • rocksdb: 从 dist tarball 中删除 rdb 源文件 (issue#13554, pr#7105, Venky Shankar)

  • rocksdb: 更新到最新版本 (Xiaoxi Chen)

  • rocksdb: 使用原生 rocksdb makefile (和我们的 autotools) (pr#6290, Sage Weil)

  • rpm: 添加 suse 防火墙文件 (Tim Serong)

  • rpm: 始终重新构建并安装 rpm 的手册页 (Owen Synge)

  • rpm: ceph.spec.in: 正确声明 SLE/openSUSE 的 systemd 依赖关系 (pr#6114, Nathan Cutler)

  • rpm: ceph.spec.in: 修复 libs-compat / devel-compat 条件 (issue#12315, pr#5219, Ken Dreyer)

  • rpm,deb: 删除 btrfs-progs 的条件 BuildRequires (issue#15042, pr#8016, Erwan Velu)

  • 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)

  • rpm: 将 %post(un) ldconfig 调用移动到 ceph-base (issue#14940, pr#7867, Nathan Cutler)

  • rpm: 将运行时依赖关系移动到 ceph-base 并修复其他打包问题 (issue#14864, pr#7826, Nathan Cutler)

  • rpm: 创建 ceph 用户/组时优先使用 UID/GID 167 (issue#15246, pr#8277, Nathan Cutler)

  • rpm: 删除子包对“ceph”的依赖关系 (issue#15146, pr#8137, Ken Dreyer)

  • rpm: rhel 5.9 librados 编译修复,将 blkid 移动到 RBD 检查/编译 (issue#13177, pr#5954, Rohan Mars)

  • script: 向 stop.sh 脚本添加缺少的 stop_rgw 变量 (pr#7959, Karol Mroz)

  • scripts: 调整 mstart 和 mstop 脚本以在 cmake 构建下运行 (pr#6920, Orit Wasserman)

  • scripts: release_notes 可以跟踪原始问题 (pr#6009, Abhishek Lekshmanan)

  • script: subscription-manager 支持 (issue#14972, pr#7907, Loic Dachary)

  • selinux: 允许日志文件位于 /var/log/radosgw (pr#7604, Boris Ranto)

  • selinux policy (Boris Ranto, Milan Broz)

  • selinux: 更新策略以授予额外访问权限 (issue#14870, pr#7971, Boris Ranto)

  • 按字节设置 128MB tcmalloc 缓存大小 (pr#8427, Star Guo)

  • sstring.hh: str_len(...) 的返回类型不需要是 const (pr#7679, Matt Benjamin)

  • 字符串化输出的错误代码并修复不匹配的括号。 (pr#6998, xie.xingguo, xie xingguo)

  • Striper: 降低 assemble_result 日志级别 (pr#8426, Jason Dillaman)

  • submodules: 恢复意外的更改 (pr#7929, Yehuda Sadeh)

  • systemd: 正确转义块设备路径 (issue#14706, pr#7579, James Page)

  • systemd: 删除 systemd 施加的进程/线程限制 (pr#8450, James Page)

  • systemd: 修复拼写错误 (pr#6679, Tobias Suckow)

  • systemd: logrotate 修复 (Tim Serong, Lars Marowsky-Bree, Nathan Cutler)

  • systemd: 许多修复 (Sage Weil, Owen Synge, Boris Ranto, Dan van der Ster)

  • systemd: 以用户 ceph 身份运行守护程序

  • systemd: 在 rbdmap 单元文件中设置环境 (issue#14984, pr#8222, Nathan Cutler)

  • systemd: 按守护程序类型启动/停止/重新启动 ceph 服务 (issue#13497, pr#6276, Zhi Zhang)

  • sysvinit: 允许自定义集群名称 (pr#6732, Richard Chan)

  • sysvinit 兼容性: 杂项修复 (Owen Synge)

  • test: 添加缺少的 shut_down mock 方法 (pr#8125, Jason Dillaman)

  • test/bufferlist: 避免误报测试 (pr#7955, Erwan Velu)

  • test: ceph_test_rados: 减少 CPU 使用量 (pr#7513, Samuel Just)

  • test/cli-integration/rbd: 禁用进度输出 (issue#14931, pr#7858, Josh Durgin)

  • test: 修复使用未优化 cmake 构建发现的 librbd 错误 (pr#7914, Jason Dillaman)

  • test: 为具有不同前缀的 rbd 测试创建池 (pr#7738, Mykola Golub)

  • test: 启用已解决的 bug #2339 的测试。 (pr#7743, You Ji)

  • test/encoding/readable.sh 修复 (pr#6714, Igor Podoski)

  • Test.sh 上的测试退出值,修复 tier.cc (issue#15165, pr#8266, Samuel Just)

  • test: 修复 rbd 权限测试用例发现的问题 (pr#8129, Jason Dillaman)

  • test: 修复 osd-scrub-snaps.sh (pr#6697, Xinze Chi)

  • test: 修复测试以在具有 snap_### dirs 的 btrfs 上运行 (issue#15347, pr#8420, David Zafman)

  • test: rbd-mirror 测试的修复和改进 (pr#8090, Mykola Golub)

  • test: 修复 lfn 更改导致的 ut 测试失败 (issue#15464, pr#8544, xie xingguo)

  • test: 修复 rbd-mirror 测试用例的 valgrind memcheck 问题 (issue#15354, pr#8493, Jason Dillaman)

  • test: 处理 rbd lock 测试期间 close 抛出的异常 (pr#8124, Jason Dillaman)

  • test/libcephfs/flock: 为 flock 操作添加 sys/file.h 包含 (pr#6310, John Coyle)

  • test/librados/test.cc: 也清理 EC pools 的 crush 规则 (issue#13878, pr#6788, Loic Dachary, Dan Mick)

  • test/librbd/fsx: 使用 c++11 std::mt19937 生成器而不是 random_r() (pr#6332, John Coyle)

  • test: 杂项 fs 测试改进 (John Spray, Loic Dachary)

  • test/mon/osd-erasure-code-profile: 选择新的 mon port (pr#7161, Sage Weil)

  • test: TestWatchNotify 的更多调试日志记录 (pr#7737, Mykola Golub)

  • test: 新的 librbd flatten 测试用例 (pr#7609, Jason Dillaman)

  • test/osd: 放松 osd-markdown.sh 中的计时间隔 (pr#7899, Dan Mick)

  • test_pool_create.sh: 将测试文件放在测试目录中以便清理 (pr#8219, Josh Durgin)

  • test/pybind/test_ceph_argparse: 修复 reweight-by-utilization 测试 (pr#8027, Kefu Chai, Sage Weil)

  • test: python 测试,linter 清理 (Alfredo Deza)

  • test/radosgw-admin: 更新预期的用法输出 (pr#7723, Kefu Chai)

  • test: rbd-mirror: 添加“切换到下一个 tag”测试 (pr#8149, Mykola Golub)

  • test: rbd-mirror: 使用所有字段比较位置 (pr#8172, Mykola Golub)

  • test: rbd-mirror: 手动测试的脚本改进 (pr#8325, Mykola Golub)

  • test: writeback CoW 死锁的重现器 (pr#8009, Jason Dillaman)

  • test/rgw: 添加跨周期的元数据同步 multisite 测试 (pr#7887, Casey Bodley)

  • test_rgw_admin: 使用 freopen 进行输出重定向。 (pr#6303, John Coyle)

  • tests: 为 ec test 添加 const (pr#6911, Michal Jarzabek)

  • tests: 添加 Ubuntu 16.04 xenial dockerfile (pr#8519, Loic Dachary)

  • tests: 允许 docker-test.sh 在 root 下运行 (issue#13355, pr#6173, Loic Dachary)

  • tests: 允许 object corpus readable test 跳过特定的 incompat 实例 (pr#6932, Igor Podoski)

  • tests: centos7 需要启用 Continuous Release (CR) Repository for (issue#13997, pr#6842, Brad Hubbard)

  • tests: ceph-disk.sh: 应该使用 “readlink -f” 代替 (pr#7594, Kefu Chai)

  • tests: ceph-disk.sh: 使用 “readlink -f” 代替 fullpath (pr#7606, Kefu Chai)

  • tests: ceph-disk workunit 使用 configobj (pr#6342, Loic Dachary)

  • tests: ceph-helpers assert success 获取 backfills (pr#6699, Loic Dachary)

  • tests: ceph_test_keyvaluedb_iterators: 修复损坏的测试 (pr#6597, Haomai Wang)

  • tests: 拼接 test_rados_test_tool from src and qa (issue#13691, pr#6464, Loic Dachary)

  • tests: 默认使用 rocksdb 配置 (issue#14220, pr#7100, Loic Dachary)

  • tests: 在创建之前销毁 testprofile (issue#13664, pr#6446, Loic Dachary)

  • tests: 修复一些构建警告 (pr#7608, Sage Weil)

  • tests: rbd xstests 修复 (Douglas Fuller)

  • tests: 修复 osd-scrub-snap.sh 的失败 (issue#13986, pr#6890, Loic Dachary, Ning Yao)

  • tests: 修复 make check。 (pr#7102, David Zafman)

  • tests: 修复损坏的 test/cephtool-test-mon.sh 测试 (pr#8429, Erwan Velu)

  • tests: 修复测试自动 scrub 的竞争条件 (issue#13592, pr#6724, Xinze Chi, Loic Dachary)

  • tests: 修复 test_rados_tools.sh rados lookup (issue#13691, pr#6502, Loic Dachary)

  • tests: 修复 tiering 健康检查 (Loic Dachary)

  • tests: 修复 TestClsRbd.snapshots 测试用例中的拼写错误 (issue#13727, pr#6504, Jason Dillaman)

  • tests: 在销毁 MockImageCtx 之前刷新 op 工作队列 (issue#14092, pr#7002, Jason Dillaman)

  • tests for low-level performance (Haomai Wang)

  • tests: 忽略 test-suite.log (pr#6584, Loic Dachary)

  • tests: 提高 'make check' 执行时间 (pr#8131, Erwan Velu)

  • tests: 许多 ec 非回归改进 (Loic Dachary)

  • tests: 许多 ec 测试改进 (Loic Dachary)

  • tests: 通知 slave 需要等待 master (issue#13810, pr#7220, Jason Dillaman)

  • tests: --osd-scrub-load-threshold=2000 以获得更高的一致性 (issue#14027, pr#6871, Loic Dachary)

  • tests: osd-scrub-snaps.sh 在错误时显示完整的 osd 日志 (issue#13986, pr#6857, Loic Dachary)

  • tests: port 唯一性提醒 (pr#6387, Loic Dachary)

  • tests: 恢复 run-cli-tests (pr#6571, Loic Dachary, Sage Weil, Jason Dillaman)

  • tests: 在客户端更新测试中进行快照重命名和重建对象映射 (pr#7224, Jason Dillaman)

  • tests: 同步 ceph-erasure-code-corpus for mktemp -d (pr#7596, Loic Dachary)

  • tests: test/librados/test.cc 必须创建 profile (issue#13664, pr#6452, Loic Dachary)

  • tests: test_pidfile.sh 遗留进程 (issue#14834, pr#7734, Loic Dachary)

  • tests: unittest_bufferlist: 修复 hexdump test (pr#7152, Sage Weil)

  • tests: unittest_ipaddr: 修复 segv (pr#7154, Sage Weil)

  • test/system/rados_list_parallel: 如果 rados_write 失败,则打印 oid (issue#15240, pr#8309, Kefu Chai)

  • test/system/*: 使用动态生成的池名称 (issue#15240, pr#8318, Kefu Chai)

  • test/test-erasure-code.sh: 禁用 pg_temp priming (issue#15211, pr#8260, Sage Weil)

  • test: TestMirroringWatcher 测试用例未关闭镜像 (pr#8435, Jason Dillaman)

  • test/TestPGLog: 修复 FTBFS (issue#14930, pr#7855, Kefu Chai)

  • test/test_pool_create.sh: 修复 port (pr#8361, Sage Weil)

  • test/time: 比较时不需要 abs(uint64_t) (pr#7726, Kefu Chai)

  • test: 更新 rbd integration cram tests 以适应新的默认功能 (pr#8001, Jason Dillaman)

  • test: 为 object cacher test 使用顺序 journal_tid (issue#13877, pr#6710, Josh Durgin)

  • tools: 添加 cephfs-table-tool ‘take_inos’ (pr#6655, John Spray)

  • tools/cephfs: 添加 tmap_upgrade (pr#7003, John Spray)

  • tools/cephfs: 修复写入固定大小缓冲区时 header 溢出 (#13816) (pr#6617, John Spray)

  • tools/cephfs: 修复 tmap_upgrade (issue#15135, pr#8128, John Spray)

  • tools: ceph_monstore_tool: 添加 inflate-pgmap 命令 (issue#14217, pr#7097, Kefu Chai)

  • tools: ceph-monstore-update-crush: 在测试 crushmap 时添加 “--test” (pr#6418, Kefu Chai)

  • tools: 修复 cephfs-data-scan 中的布局处理 (#13898) (pr#6719, John Spray)

  • tools: monstore: 添加 ‘show-versions’ 命令。 (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 tunables 现在是 firefly (pr#8098, Sage Weil)

  • upstart: 限制重启 (#11798 Sage Weil, Greg Farnum)

  • 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 时无害的 msg (pr#7640, Patrick Donnelly)

  • xio: 向 xio msgr logs 添加前缀 (pr#8148, Roi Dayan)

  • xio: 修复针对最新 accelio 的编译问题 (pr#8022, Roi Dayan)

  • xio: 修复在多个 RDMA port 的情况下分配不正确的 ip (pr#7747, Subramanyam Varanasi)

  • xio: 删除重复的 peer addr 分配 (pr#8025, Roi Dayan)

  • xio: 删除多余的魔术方法 (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)

由 Ceph 基金会为您呈现

Ceph 文档是由非营利性 Ceph 基金会 资助和托管的社区资源。如果您希望支持这项工作和我们的其他努力,请考虑 立即加入