]>
Commit | Line | Data |
---|---|---|
20effc67 TL |
1 | ====== |
2 | Hammer | |
3 | ====== | |
4 | ||
5 | Hammer is the 8th stable release of Ceph. It is named after the | |
6 | hammer octopus (Octopus australis). | |
7 | ||
11fdf7f2 TL |
8 | v0.94.10 Hammer |
9 | =============== | |
10 | ||
11 | This Hammer point release fixes several bugs and adds two new features. | |
12 | ||
13 | We recommend that all hammer v0.94.x users upgrade. | |
14 | ||
15 | For more detailed information, see :download:`the complete changelog <../changelog/v0.94.10.txt>`. | |
16 | ||
17 | New Features | |
18 | ------------ | |
19 | ||
20 | ceph-objectstore-tool and ceph-monstore-tool now enable user to | |
21 | rebuild the monitor database from OSDs. (This feature is especially useful when | |
22 | all monitors fail to boot due to leveldb corruption.) | |
23 | ||
24 | In RADOS Gateway, it is now possible to reshard an existing bucket's index | |
25 | using an off-line tool. | |
26 | ||
27 | Usage: | |
28 | ||
29 | $ radosgw-admin bucket reshard --bucket=<bucket_name> --num_shards=<num_shards> | |
30 | ||
31 | This will create a new linked bucket instance that points to the newly created | |
32 | index objects. The old bucket instance still exists and currently it's up to | |
33 | the user to manually remove the old bucket index objects. (Note that bucket | |
34 | resharding currently requires that all IO (especially writes) to the specific | |
35 | bucket is quiesced.) | |
36 | ||
37 | Other Notable Changes | |
38 | --------------------- | |
39 | ||
40 | * build/ops: ceph-create-keys loops forever (`issue#17753 <http://tracker.ceph.com/issues/17753>`_, `pr#12805 <http://github.com/ceph/ceph/pull/12805>`_, Alfredo Deza) | |
41 | * build/ops: improve ceph.in error message (`issue#11101 <http://tracker.ceph.com/issues/11101>`_, `pr#10905 <http://github.com/ceph/ceph/pull/10905>`_, Kefu Chai) | |
42 | * build/ops: make stop.sh more portable (`issue#16918 <http://tracker.ceph.com/issues/16918>`_, `pr#10569 <http://github.com/ceph/ceph/pull/10569>`_, Mykola Golub) | |
43 | * build/ops: remove SYSTEMD_RUN from initscript (`issue#16440 <http://tracker.ceph.com/issues/16440>`_, `issue#7627 <http://tracker.ceph.com/issues/7627>`_, `pr#9873 <http://github.com/ceph/ceph/pull/9873>`_, Vladislav Odintsov) | |
44 | * cephx: Fix multiple segfaults due to attempts to encrypt or decrypt (`issue#16266 <http://tracker.ceph.com/issues/16266>`_, `pr#11930 <http://github.com/ceph/ceph/pull/11930>`_, Brad Hubbard) | |
45 | * common: SIGABRT in TrackedOp::dump() via dump_ops_in_flight() (`issue#8885 <http://tracker.ceph.com/issues/8885>`_, `pr#12121 <http://github.com/ceph/ceph/pull/12121>`_, Jianpeng Ma, Zhiqiang Wang, David Zafman) | |
46 | * common: os/ObjectStore: fix _update_op for split dest_cid (`issue#15345 <http://tracker.ceph.com/issues/15345>`_, `pr#12071 <http://github.com/ceph/ceph/pull/12071>`_, Sage Weil) | |
47 | * crush: reset bucket->h.items[i] when removing tree item (`issue#16525 <http://tracker.ceph.com/issues/16525>`_, `pr#10724 <http://github.com/ceph/ceph/pull/10724>`_, Kefu Chai) | |
48 | * doc: add "Upgrading to Hammer" section (`issue#17386 <http://tracker.ceph.com/issues/17386>`_, `pr#11372 <http://github.com/ceph/ceph/pull/11372>`_, Kefu Chai) | |
49 | * doc: add orphan options to radosgw-admin --help and man page (`issue#17281 <http://tracker.ceph.com/issues/17281>`_, `issue#17280 <http://tracker.ceph.com/issues/17280>`_, `pr#11140 <http://github.com/ceph/ceph/pull/11140>`_, Abhishek Lekshmanan, Casey Bodley, Ken Dreyer, Thomas Serlin) | |
50 | * doc: clarify that RGW bucket object versioning is supported (`issue#16574 <http://tracker.ceph.com/issues/16574>`_, `pr#10437 <http://github.com/ceph/ceph/pull/10437>`_, Yuan Zhou, shawn chen) | |
51 | * librados: bad flags can crash the osd (`issue#16012 <http://tracker.ceph.com/issues/16012>`_, `pr#11936 <http://github.com/ceph/ceph/pull/11936>`_, Jianpeng Ma, Sage Weil) | |
52 | * librbd: ceph 10.2.2 rbd status on image format 2 returns "(2) No such file or directory" (`issue#16887 <http://tracker.ceph.com/issues/16887>`_, `pr#10987 <http://github.com/ceph/ceph/pull/10987>`_, Jason Dillaman) | |
53 | * librbd: diffs to clone's first snapshot should include parent diffs (`issue#18068 <http://tracker.ceph.com/issues/18068>`_, `pr#12446 <http://github.com/ceph/ceph/pull/12446>`_, Jason Dillaman) | |
54 | * librbd: image.stat() call in librbdpy fails sometimes (`issue#17310 <http://tracker.ceph.com/issues/17310>`_, `pr#11949 <http://github.com/ceph/ceph/pull/11949>`_, Jason Dillaman) | |
55 | * librbd: request exclusive lock if current owner cannot execute op (`issue#16171 <http://tracker.ceph.com/issues/16171>`_, `pr#12018 <http://github.com/ceph/ceph/pull/12018>`_, Mykola Golub) | |
56 | * mds: fix cephfs-java ftruncate unit test failure (`issue#11258 <http://tracker.ceph.com/issues/11258>`_, `pr#11939 <http://github.com/ceph/ceph/pull/11939>`_, Yan, Zheng) | |
57 | * mon: %USED of ceph df is wrong (`issue#16933 <http://tracker.ceph.com/issues/16933>`_, `pr#11934 <http://github.com/ceph/ceph/pull/11934>`_, Kefu Chai) | |
58 | * mon: MonmapMonitor should return success when MON will be removed (`issue#17725 <http://tracker.ceph.com/issues/17725>`_, `pr#12006 <http://github.com/ceph/ceph/pull/12006>`_, Joao Eduardo Luis) | |
59 | * mon: OSDMonitor: Missing nearfull flag set (`issue#17390 <http://tracker.ceph.com/issues/17390>`_, `pr#11273 <http://github.com/ceph/ceph/pull/11273>`_, Igor Podoski) | |
60 | * mon: OSDs marked OUT wrongly after monitor failover (`issue#17719 <http://tracker.ceph.com/issues/17719>`_, `pr#11946 <http://github.com/ceph/ceph/pull/11946>`_, Dong Wu) | |
61 | * mon: fix memory leak in prepare_beacon (`issue#17285 <http://tracker.ceph.com/issues/17285>`_, `pr#10238 <http://github.com/ceph/ceph/pull/10238>`_, Igor Podoski) | |
62 | * mon: osd flag health message is misleading (`issue#18175 <http://tracker.ceph.com/issues/18175>`_, `pr#12687 <http://github.com/ceph/ceph/pull/12687>`_, Sage Weil) | |
63 | * mon: prepare_pgtemp needs to only update up_thru if newer than the existing one (`issue#16185 <http://tracker.ceph.com/issues/16185>`_, `pr#11937 <http://github.com/ceph/ceph/pull/11937>`_, Samuel Just) | |
64 | * mon: return size_t from MonitorDBStore::Transaction::size() (`issue#14217 <http://tracker.ceph.com/issues/14217>`_, `pr#10904 <http://github.com/ceph/ceph/pull/10904>`_, Kefu Chai) | |
65 | * mon: send updated monmap to its subscribers (`issue#17558 <http://tracker.ceph.com/issues/17558>`_, `pr#11457 <http://github.com/ceph/ceph/pull/11457>`_, Kefu Chai) | |
66 | * msgr: OpTracker needs to release the message throttle in _unregistered (`issue#14248 <http://tracker.ceph.com/issues/14248>`_, `pr#11938 <http://github.com/ceph/ceph/pull/11938>`_, Samuel Just) | |
67 | * msgr: simple/Pipe: error decoding addr (`issue#18072 <http://tracker.ceph.com/issues/18072>`_, `pr#12266 <http://github.com/ceph/ceph/pull/12266>`_, Sage Weil) | |
68 | * osd: PG::_update_calc_stats wrong for CRUSH_ITEM_NONE up set items (`issue#16998 <http://tracker.ceph.com/issues/16998>`_, `pr#11933 <http://github.com/ceph/ceph/pull/11933>`_, Samuel Just) | |
69 | * osd: PG::choose_acting valgrind error or ./common/hobject.h: 182: FAILED assert(!max || (\*this == hobject_t(hobject_t::get_max()))) (`issue#13967 <http://tracker.ceph.com/issues/13967>`_, `pr#11932 <http://github.com/ceph/ceph/pull/11932>`_, Tao Chang) | |
70 | * osd: ReplicatedBackend::build_push_op: add a second config to limit omap entries/chunk independently of object data (`issue#16128 <http://tracker.ceph.com/issues/16128>`_, `pr#12417 <http://github.com/ceph/ceph/pull/12417>`_, Wanlong Gao) | |
71 | * osd: crash on EIO during deep-scrubbing (`issue#16034 <http://tracker.ceph.com/issues/16034>`_, `pr#11935 <http://github.com/ceph/ceph/pull/11935>`_, Nathan Cutler) | |
72 | * osd: filestore: FALLOC_FL_PUNCH_HOLE must be used with FALLOC_FL_KEEP_SIZE (`issue#18446 <http://tracker.ceph.com/issues/18446>`_, `pr#13041 <http://github.com/ceph/ceph/pull/13041>`_, xinxin shu) | |
73 | * osd: fix cached_removed_snaps bug in PGPool::update after map gap (`issue#18628 <http://tracker.ceph.com/issues/18628>`_, `issue#15943 <http://tracker.ceph.com/issues/15943>`_, `pr#12906 <http://github.com/ceph/ceph/pull/12906>`_, Samuel Just) | |
74 | * osd: fix collection_list shadow return value (`issue#17713 <http://tracker.ceph.com/issues/17713>`_, `pr#11927 <http://github.com/ceph/ceph/pull/11927>`_, Haomai Wang) | |
75 | * osd: fix fiemap issue in xfs when #extents > 1364 (`issue#17610 <http://tracker.ceph.com/issues/17610>`_, `pr#11615 <http://github.com/ceph/ceph/pull/11615>`_, Kefu Chai, Ning Yao) | |
76 | * osd: update PGPool to detect map gaps and reset cached_removed_snaps (`issue#15943 <http://tracker.ceph.com/issues/15943>`_, `pr#11676 <http://github.com/ceph/ceph/pull/11676>`_, Samuel Just) | |
77 | * rbd: export diff should open image as read-only (`issue#17671 <http://tracker.ceph.com/issues/17671>`_, `pr#11948 <http://github.com/ceph/ceph/pull/11948>`_, liyankun) | |
78 | * rbd: fix parameter check (`issue#18237 <http://tracker.ceph.com/issues/18237>`_, `pr#12312 <http://github.com/ceph/ceph/pull/12312>`_, Yankun Li) | |
79 | * rbd: fix possible rbd data corruption (`issue#16002 <http://tracker.ceph.com/issues/16002>`_, `pr#11618 <http://github.com/ceph/ceph/pull/11618>`_, Yan, Zheng, Greg Farnum) | |
80 | * rgw: Anonymous user is able to read bucket with authenticated read ACL (`issue#13207 <http://tracker.ceph.com/issues/13207>`_, `pr#11045 <http://github.com/ceph/ceph/pull/11045>`_, rahul.1aggarwal@gmail.com) | |
81 | * rgw: COPY broke multipart files uploaded under dumpling (`issue#16435 <http://tracker.ceph.com/issues/16435>`_, `pr#11950 <http://github.com/ceph/ceph/pull/11950>`_, Yehuda Sadeh) | |
82 | * rgw: TempURL in radosgw behaves now like its Swift's counterpart. (`issue#18316 <http://tracker.ceph.com/issues/18316>`_, `pr#12619 <http://github.com/ceph/ceph/pull/12619>`_, Radoslaw Zarzynski) | |
83 | * rgw: default quota fixes (`issue#16410 <http://tracker.ceph.com/issues/16410>`_, `pr#10839 <http://github.com/ceph/ceph/pull/10839>`_, Pavan Rallabhandi, Daniel Gryniewicz) | |
84 | * rgw: do not abort when accept a CORS request with short origin (`issue#18187 <http://tracker.ceph.com/issues/18187>`_, `pr#12398 <http://github.com/ceph/ceph/pull/12398>`_, LiuYang) | |
85 | * rgw: do not omap_getvals with (u64)-1 max (`issue#17985 <http://tracker.ceph.com/issues/17985>`_, `pr#12418 <http://github.com/ceph/ceph/pull/12418>`_, Yehuda Sadeh, Sage Weil) | |
86 | * rgw: fix crash when client posts object with null condition (`issue#17635 <http://tracker.ceph.com/issues/17635>`_, `pr#11809 <http://github.com/ceph/ceph/pull/11809>`_, Yehuda Sadeh) | |
87 | * rgw: fix inconsistent uid/email handling in radosgw-admin (`issue#13598 <http://tracker.ceph.com/issues/13598>`_, `pr#11952 <http://github.com/ceph/ceph/pull/11952>`_, Matt Benjamin) | |
88 | * rgw: implement offline resharding command (`issue#17745 <http://tracker.ceph.com/issues/17745>`_, `pr#12227 <http://github.com/ceph/ceph/pull/12227>`_, Yehuda Sadeh, Orit Wasserman, weiqiaomiao) | |
89 | * rgw: swift: ranged request on a DLO provides wrong values in Content-Range HTTP header (`issue#13452 <http://tracker.ceph.com/issues/13452>`_, `pr#11951 <http://github.com/ceph/ceph/pull/11951>`_, Radoslaw Zarzynski) | |
90 | * rgw: the value of total_time is wrong in the result of 'radosgw-admin log show' opt (`issue#17598 <http://tracker.ceph.com/issues/17598>`_, `pr#11899 <http://github.com/ceph/ceph/pull/11899>`_, weiqiaomiao) | |
91 | * tests: Cannot clone ceph/s3-tests.git (missing branch) (`issue#18384 <http://tracker.ceph.com/issues/18384>`_, `pr#12744 <http://github.com/ceph/ceph/pull/12744>`_, Orit Wasserman) | |
92 | * tests: Cannot reserve CentOS 7.2 smithi machines (`issue#18401 <http://tracker.ceph.com/issues/18401>`_, `pr#12762 <http://github.com/ceph/ceph/pull/12762>`_, Nathan Cutler) | |
93 | * tests: OSDs commit suicide in rbd suite when testing on btrfs (`issue#18397 <http://tracker.ceph.com/issues/18397>`_, `pr#12758 <http://github.com/ceph/ceph/pull/12758>`_, Nathan Cutler) | |
94 | * tests: Workunits needlessly wget from git.ceph.com (`issue#18336 <http://tracker.ceph.com/issues/18336>`_, `issue#18271 <http://tracker.ceph.com/issues/18271>`_, `issue#18388 <http://tracker.ceph.com/issues/18388>`_, `pr#12685 <http://github.com/ceph/ceph/pull/12685>`_, Sage Weil, Nathan Cutler) | |
95 | * tests: cephfs test failures (ceph.com/qa is broken, should be download.ceph.com/qa) (`issue#18574 <http://tracker.ceph.com/issues/18574>`_, `pr#13022 <http://github.com/ceph/ceph/pull/13022>`_, John Spray) | |
96 | * tests: merge ceph-qa-suite (`pr#12455 <http://github.com/ceph/ceph/pull/12455>`_, Sage Weil) | |
97 | * tests: objecter_requests workunit fails on wip branches (`issue#18393 <http://tracker.ceph.com/issues/18393>`_, `pr#12759 <http://github.com/ceph/ceph/pull/12759>`_, Sage Weil) | |
98 | * tests: populate mnt_point in qa/tasks/ceph.py (`issue#18383 <http://tracker.ceph.com/issues/18383>`_, `pr#12743 <http://github.com/ceph/ceph/pull/12743>`_, Nathan Cutler) | |
99 | * tests: qemu/tests/qemu-iotests/077 fails in dumpling, hammer, and jewel (`issue#10773 <http://tracker.ceph.com/issues/10773>`_, `pr#12423 <http://github.com/ceph/ceph/pull/12423>`_, Jason Dillaman) | |
100 | * tests: run fs/thrash on xfs instead of btrfs (`issue#17151 <http://tracker.ceph.com/issues/17151>`_, `pr#13039 <http://github.com/ceph/ceph/pull/13039>`_, Nathan Cutler) | |
101 | * tests: update Ubuntu image url after ceph.com refactor (`issue#18542 <http://tracker.ceph.com/issues/18542>`_, `pr#12957 <http://github.com/ceph/ceph/pull/12957>`_, Jason Dillaman) | |
102 | * tests: update rbd/singleton/all/formatted-output.yaml to support ceph-ci * (`issue#18440 <http://tracker.ceph.com/issues/18440>`_, `pr#12824 * <http://github.com/ceph/ceph/pull/12824>`_, Venky Shankar, Nathan Cutler) | |
103 | * tools: add a tool to rebuild mon store from OSD (`issue#17179 <http://tracker.ceph.com/issues/17179>`_, `issue#17400 <http://tracker.ceph.com/issues/17400>`_, `pr#11125 <http://github.com/ceph/ceph/pull/11125>`_, Kefu Chai, xie xingguo) | |
104 | * tools: ceph-objectstore-tool crashes if --journal-path <a-directory> (`issue#17307 <http://tracker.ceph.com/issues/17307>`_, `pr#11929 <http://github.com/ceph/ceph/pull/11929>`_, Kefu Chai) | |
105 | * tools: ceph-objectstore-tool: add a way to split filestore directories offline (`issue#17220 <http://tracker.ceph.com/issues/17220>`_, `pr#11253 <http://github.com/ceph/ceph/pull/11253>`_, Josh Durgin) | |
106 | * tools: crushtool --compile generates output despite missing item (`issue#17306 <http://tracker.ceph.com/issues/17306>`_, `pr#11931 <http://github.com/ceph/ceph/pull/11931>`_, Kefu Chai) | |
107 | ||
108 | ||
109 | v0.94.9 Hammer | |
110 | ============== | |
111 | ||
112 | This Hammer point release fixes a build issue present in 0.94.8 that prevented us | |
113 | from generating packages for Ubuntu Precise and CentOS 6.x. | |
114 | ||
115 | We recommend all users of v0.94.7 or older upgrade. | |
116 | ||
117 | For more detailed information, see :download:`the complete changelog <../changelog/v0.94.9.txt>`. | |
118 | ||
119 | Notable Changes | |
120 | --------------- | |
121 | ||
122 | * build/ops: revert: boost uuid makes valgrind complain (`pr#10913 <http://github.com/ceph/ceph/pull/10913>`_, Sage Weil) | |
123 | ||
124 | ||
125 | v0.94.8 Hammer | |
126 | ============== | |
127 | ||
128 | This Hammer point release fixes several bugs. | |
129 | ||
130 | We recommend that all hammer v0.94.x users upgrade. | |
131 | ||
132 | For more detailed information, see :download:`the complete changelog <../changelog/v0.94.8.txt>`. | |
133 | ||
134 | Notable Changes | |
135 | --------------- | |
136 | ||
137 | * build/ops: rocksdb do not link against tcmalloc if it's disabled (`issue#14799 <http://tracker.ceph.com/issues/14799>`_, `pr#10750 <http://github.com/ceph/ceph/pull/10750>`_, Sage Weil, Kefu Chai) | |
138 | * build/ops: Add -D_LARGEFILE64_SOURCE to Linux build. (`issue#16611 <http://tracker.ceph.com/issues/16611>`_, `pr#10182 <http://github.com/ceph/ceph/pull/10182>`_, Ira Cooper) | |
139 | * build/ops: boost uuid makes valgrind complain (`issue#12736 <http://tracker.ceph.com/issues/12736>`_, `pr#9741 <http://github.com/ceph/ceph/pull/9741>`_, Sage Weil, Rohan Mars) | |
140 | * build/ops: ceph-disk s/by-parttype-uuid/by-parttypeuuid/ (`issue#15867 <http://tracker.ceph.com/issues/15867>`_, `pr#9107 <http://github.com/ceph/ceph/pull/9107>`_, Nathan Cutler) | |
141 | * common: add units to rados bench output and clean up formatting (`issue#12248 <http://tracker.ceph.com/issues/12248>`_, `pr#8960 <http://github.com/ceph/ceph/pull/8960>`_, Dmitry Yatsushkevich, Brad Hubbard, Gu Zhongyan) | |
142 | * common: config set with negative value results in "error setting 'filestore_merge_threshold' to '-40': (22) Invalid argument" (`issue#13829 <http://tracker.ceph.com/issues/13829>`_, `pr#10291 <http://github.com/ceph/ceph/pull/10291>`_, Brad Hubbard, Kefu Chai) | |
143 | * common: linking to -lrbd causes process startup times to balloon (`issue#15225 <http://tracker.ceph.com/issues/15225>`_, `pr#8538 <http://github.com/ceph/ceph/pull/8538>`_, Richard W.M. Jones) | |
144 | * doc: fix by-parttypeuuid in ceph-disk(8) nroff (`issue#15867 <http://tracker.ceph.com/issues/15867>`_, `pr#10699 <http://github.com/ceph/ceph/pull/10699>`_, Ken Dreyer) | |
145 | * fs: double decreased the count to trim caps which will cause failing to respond to cache pressure (`issue#14319 <http://tracker.ceph.com/issues/14319>`_, `pr#8804 <http://github.com/ceph/ceph/pull/8804>`_, Zhi Zhang) | |
146 | * log: do not repeat errors to stderr (`issue#14616 <http://tracker.ceph.com/issues/14616>`_, `pr#10227 <http://github.com/ceph/ceph/pull/10227>`_, Sage Weil) | |
147 | * mds: failing file operations on kernel based cephfs mount point leaves unaccessible file behind on hammer 0.94.7 (`issue#16013 <http://tracker.ceph.com/issues/16013>`_, `pr#10198 <http://github.com/ceph/ceph/pull/10198>`_, Yan, Zheng) | |
148 | * mds: fix stray purging in 'stripe_count > 1' case (`issue#15050 <http://tracker.ceph.com/issues/15050>`_, `pr#8042 <http://github.com/ceph/ceph/pull/8042>`_, Yan, Zheng) | |
149 | * mds: wrongly treat symlink inode as normal file/dir when symlink inode is stale on kcephfs (`issue#15702 <http://tracker.ceph.com/issues/15702>`_, `pr#9404 <http://github.com/ceph/ceph/pull/9404>`_, Zhi Zhang) | |
150 | * mon: LibRadosMiscConnectFailure.ConnectFailure (not so intermittent) failure in upgrade/hammer-x (`issue#13992 <http://tracker.ceph.com/issues/13992>`_, `pr#8806 <http://github.com/ceph/ceph/pull/8806>`_, Sage Weil) | |
151 | * mon: Monitor: validate prefix on handle_command() (`issue#16297 <http://tracker.ceph.com/issues/16297>`_, `pr#10038 <http://github.com/ceph/ceph/pull/10038>`_, You Ji) | |
152 | * mon: drop pg temps from not the current primary in OSDMonitor (`issue#16127 <http://tracker.ceph.com/issues/16127>`_, `pr#9893 <http://github.com/ceph/ceph/pull/9893>`_, Samuel Just) | |
153 | * mon: fix calculation of %USED (`issue#15641 <http://tracker.ceph.com/issues/15641>`_, `pr#9125 <http://github.com/ceph/ceph/pull/9125>`_, Ruifeng Yang, David Zafman) | |
154 | * mon: improve reweight_by_utilization() logic (`issue#15686 <http://tracker.ceph.com/issues/15686>`_, `pr#9416 <http://github.com/ceph/ceph/pull/9416>`_, xie xingguo) | |
155 | * mon: pool quota alarm is not in effect (`issue#15478 <http://tracker.ceph.com/issues/15478>`_, `pr#8593 <http://github.com/ceph/ceph/pull/8593>`_, Danny Al-Gaaf) | |
156 | * mon: wrong ceph get mdsmap assertion (`issue#14681 <http://tracker.ceph.com/issues/14681>`_, `pr#7542 <http://github.com/ceph/ceph/pull/7542>`_, Vicente Cheng) | |
157 | * msgr: ceph-osd valgrind invalid reads/writes (`issue#15870 <http://tracker.ceph.com/issues/15870>`_, `pr#9238 <http://github.com/ceph/ceph/pull/9238>`_, Samuel Just) | |
158 | * objecter: LibRadosWatchNotifyPPTests/LibRadosWatchNotifyPP.WatchNotify2Timeout/1 segv (`issue#15760 <http://tracker.ceph.com/issues/15760>`_, `pr#9400 <http://github.com/ceph/ceph/pull/9400>`_, Sage Weil) | |
159 | * osd: OSD reporting ENOTEMPTY and crashing (`issue#14766 <http://tracker.ceph.com/issues/14766>`_, `pr#9277 <http://github.com/ceph/ceph/pull/9277>`_, Samuel Just) | |
160 | * osd: When generating past intervals due to an import end at pg epoch and fix build_past_intervals_parallel (`issue#12387 <http://tracker.ceph.com/issues/12387>`_, `issue#14438 <http://tracker.ceph.com/issues/14438>`_, `pr#8464 <http://github.com/ceph/ceph/pull/8464>`_, David Zafman) | |
161 | * osd: acting_primary not updated on split (`issue#15523 <http://tracker.ceph.com/issues/15523>`_, `pr#9001 <http://github.com/ceph/ceph/pull/9001>`_, Sage Weil) | |
162 | * osd: assert(!actingbackfill.empty()): old watch timeout tries to queue repop on replica (`issue#15391 <http://tracker.ceph.com/issues/15391>`_, `pr#8665 <http://github.com/ceph/ceph/pull/8665>`_, Sage Weil) | |
163 | * osd: assert(rollback_info_trimmed_to == head) in PGLog (`issue#13965 <http://tracker.ceph.com/issues/13965>`_, `pr#8849 <http://github.com/ceph/ceph/pull/8849>`_, Samuel Just) | |
164 | * osd: delete one of the repeated op->mark_started in ReplicatedBackend::sub_op_modify_impl (`issue#16572 <http://tracker.ceph.com/issues/16572>`_, `pr#9977 <http://github.com/ceph/ceph/pull/9977>`_, shun-s) | |
165 | * osd: fix omap digest compare when scrub (`issue#16000 <http://tracker.ceph.com/issues/16000>`_, `pr#9271 <http://github.com/ceph/ceph/pull/9271>`_, Xinze Chi) | |
166 | * osd: is_split crash in handle_pg_create (`issue#15426 <http://tracker.ceph.com/issues/15426>`_, `pr#8805 <http://github.com/ceph/ceph/pull/8805>`_, Kefu Chai) | |
167 | * osd: objects unfound after repair (fixed by repeering the pg) (`issue#15006 <http://tracker.ceph.com/issues/15006>`_, `pr#7961 <http://github.com/ceph/ceph/pull/7961>`_, Jianpeng Ma, Loic Dachary, Kefu Chai) | |
168 | * osd: rados cppool omap to ec pool crashes osd (`issue#14695 <http://tracker.ceph.com/issues/14695>`_, `pr#8845 <http://github.com/ceph/ceph/pull/8845>`_, Jianpeng Ma) | |
169 | * osd: remove all stale osdmaps in handle_osd_map() (`issue#13990 <http://tracker.ceph.com/issues/13990>`_, `pr#9090 <http://github.com/ceph/ceph/pull/9090>`_, Kefu Chai) | |
170 | * osd: send write and read sub ops on behalf of client ops at normal priority in ECBackend (`issue#14313 <http://tracker.ceph.com/issues/14313>`_, `pr#8573 <http://github.com/ceph/ceph/pull/8573>`_, Samuel Just) | |
171 | * rbd: snap rollback: restore the link to parent (`issue#14512 <http://tracker.ceph.com/issues/14512>`_, `pr#8535 <http://github.com/ceph/ceph/pull/8535>`_, Alexey Sheplyakov) | |
172 | * rgw: S3: set EncodingType in ListBucketResult (`issue#15896 <http://tracker.ceph.com/issues/15896>`_, `pr#8987 <http://github.com/ceph/ceph/pull/8987>`_, Victor Makarov, Robin H. Johnson) | |
173 | * rgw: backport rgwx-copy-if-newer for radosgw-agent (`issue#16262 <http://tracker.ceph.com/issues/16262>`_, `pr#9671 <http://github.com/ceph/ceph/pull/9671>`_, Yehuda Sadeh) | |
174 | * rgw: bucket listing following object delete is partial (`issue#14826 <http://tracker.ceph.com/issues/14826>`_, `pr#10555 <http://github.com/ceph/ceph/pull/10555>`_, Orit Wasserman) | |
175 | * rgw: convert plain object to versioned (with null version) when removing (`issue#15243 <http://tracker.ceph.com/issues/15243>`_, `pr#8755 <http://github.com/ceph/ceph/pull/8755>`_, Yehuda Sadeh) | |
176 | * rgw: fix multi-delete query param parsing. (`issue#16618 <http://tracker.ceph.com/issues/16618>`_, `pr#10189 <http://github.com/ceph/ceph/pull/10189>`_, Robin H. Johnson) | |
177 | * rgw: have a flavor of bucket deletion to bypass GC and to trigger (`issue#15557 <http://tracker.ceph.com/issues/15557>`_, `pr#10509 <http://github.com/ceph/ceph/pull/10509>`_, Pavan Rallabhandi) | |
178 | * rgw: keep track of written_objs correctly (`issue#15886 <http://tracker.ceph.com/issues/15886>`_, `pr#9240 <http://github.com/ceph/ceph/pull/9240>`_, Yehuda Sadeh) | |
179 | * rgw: multipart ListPartsResult has missing quotes on ETag (`issue#15334 <http://tracker.ceph.com/issues/15334>`_, `pr#8475 <http://github.com/ceph/ceph/pull/8475>`_, xie xingguo, Robin H. Johnson) | |
180 | * rgw: no Last-Modified, Content-Size and X-Object-Manifest headers if no segments in DLO manifest (`issue#15812 <http://tracker.ceph.com/issues/15812>`_, `pr#9402 <http://github.com/ceph/ceph/pull/9402>`_, Radoslaw Zarzynski) | |
181 | * rgw: radosgw server abort when user passed bad parameters to set quota (`issue#14190 <http://tracker.ceph.com/issues/14190>`_, `issue#14191 <http://tracker.ceph.com/issues/14191>`_, `pr#8313 <http://github.com/ceph/ceph/pull/8313>`_, Dunrong Huang) | |
182 | * rgw: radosgw-admin region-map set is not reporting the bucket quota correctly (`issue#16815 <http://tracker.ceph.com/issues/16815>`_, `pr#10554 <http://github.com/ceph/ceph/pull/10554>`_, Yehuda Sadeh, Orit Wasserman) | |
183 | * rgw: refrain from sending Content-Type/Content-Length for 304 responses (`issue#16327 <http://tracker.ceph.com/issues/16327>`_, `issue#13582 <http://tracker.ceph.com/issues/13582>`_, `issue#15119 <http://tracker.ceph.com/issues/15119>`_, `issue#14005 <http://tracker.ceph.com/issues/14005>`_, `pr#8379 <http://github.com/ceph/ceph/pull/8379>`_, Yehuda Sadeh, Nathan Cutler, Wido den Hollander) | |
184 | * rgw: remove bucket index objects when deleting the bucket (`issue#16412 <http://tracker.ceph.com/issues/16412>`_, `pr#10530 <http://github.com/ceph/ceph/pull/10530>`_, Orit Wasserman) | |
185 | * rgw: set Access-Control-Allow-Origin to an asterisk if allowed in a rule (`issue#15348 <http://tracker.ceph.com/issues/15348>`_, `pr#8528 <http://github.com/ceph/ceph/pull/8528>`_, Wido den Hollander) | |
186 | * rgw: subset of uploaded objects via radosgw are unretrievable when using EC pool (`issue#15745 <http://tracker.ceph.com/issues/15745>`_, `pr#9407 <http://github.com/ceph/ceph/pull/9407>`_, Yehuda Sadeh) | |
187 | * rgw: subuser rm fails with status 125 (`issue#14375 <http://tracker.ceph.com/issues/14375>`_, `pr#9961 <http://github.com/ceph/ceph/pull/9961>`_, Orit Wasserman) | |
188 | * rgw: the swift key remains after removing a subuser (`issue#12890 <http://tracker.ceph.com/issues/12890>`_, `issue#14375 <http://tracker.ceph.com/issues/14375>`_, `pr#10718 <http://github.com/ceph/ceph/pull/10718>`_, Orit Wasserman, Sangdi Xu) | |
189 | * rgw: user quota may not adjust on bucket removal (`issue#14507 <http://tracker.ceph.com/issues/14507>`_, `pr#8113 <http://github.com/ceph/ceph/pull/8113>`_, Edward Yang) | |
190 | * tests: be more generous with test timeout (`issue#15403 <http://tracker.ceph.com/issues/15403>`_, `pr#8470 <http://github.com/ceph/ceph/pull/8470>`_, Loic Dachary) | |
191 | * tests: qa/workunits/rbd: respect RBD_CREATE_ARGS environment variable (`issue#16289 <http://tracker.ceph.com/issues/16289>`_, `pr#9722 <http://github.com/ceph/ceph/pull/9722>`_, Mykola Golub) | |
192 | ||
193 | v0.94.7 Hammer | |
194 | ============== | |
195 | ||
196 | This Hammer point release fixes several minor bugs. It also includes | |
197 | a backport of an improved 'ceph osd reweight-by-utilization' command | |
198 | for handling OSDs with higher-than-average utilizations. | |
199 | ||
200 | We recommend that all hammer v0.94.x users upgrade. | |
201 | ||
202 | For more detailed information, see :download:`the complete changelog <../changelog/v0.94.7.txt>`. | |
203 | ||
204 | Notable Changes | |
205 | --------------- | |
206 | ||
207 | * auth: keyring permisions for mon deamon (`issue#14950 <http://tracker.ceph.com/issues/14950>`_, `pr#8049 <http://github.com/ceph/ceph/pull/8049>`_, Owen Synge) | |
208 | * auth: PK11_DestroyContext() is called twice if PK11_DigestFinal() fails (`issue#14958 <http://tracker.ceph.com/issues/14958>`_, `pr#7922 <http://github.com/ceph/ceph/pull/7922>`_, Brad Hubbard, Dunrong Huang) | |
209 | * auth: use libnss more safely (`issue#14620 <http://tracker.ceph.com/issues/14620>`_, `pr#7488 <http://github.com/ceph/ceph/pull/7488>`_, Sage Weil) | |
210 | * ceph-disk: use blkid instead of sgdisk -i (`issue#14080 <http://tracker.ceph.com/issues/14080>`_, `issue#14094 <http://tracker.ceph.com/issues/14094>`_, `pr#7475 <http://github.com/ceph/ceph/pull/7475>`_, Ilya Dryomov, Loic Dachary) | |
211 | * ceph-fuse: fix ceph-fuse writing to stale log file after log rotation (`issue#12350 <http://tracker.ceph.com/issues/12350>`_, `pr#7110 <http://github.com/ceph/ceph/pull/7110>`_, Zhi Zhang) | |
212 | * ceph init script unconditionally sources /lib/lsb/init-functions (`issue#14402 <http://tracker.ceph.com/issues/14402>`_, `pr#7797 <http://github.com/ceph/ceph/pull/7797>`_, Yan, Zheng) | |
213 | * ceph.in: Notify user that 'tell' can't be used in interactive mode (`issue#14773 <http://tracker.ceph.com/issues/14773>`_, `pr#7656 <http://github.com/ceph/ceph/pull/7656>`_, David Zafman) | |
214 | * ceph-objectstore-tool, osd: Fix import handling (`issue#10794 <http://tracker.ceph.com/issues/10794>`_, `issue#13382 <http://tracker.ceph.com/issues/13382>`_, `pr#7917 <http://github.com/ceph/ceph/pull/7917>`_, Sage Weil, David Zafman) | |
215 | * client: added permission check based on getgrouplist (`issue#13268 <http://tracker.ceph.com/issues/13268>`_, `pr#6604 <http://github.com/ceph/ceph/pull/6604>`_, Yan, Zheng, Danny Al-Gaaf) | |
216 | * client: inoderef (`issue#13729 <http://tracker.ceph.com/issues/13729>`_, `pr#6551 <http://github.com/ceph/ceph/pull/6551>`_, Yan, Zheng) | |
217 | * common: clock skew report is incorrect by ceph health detail command (`issue#14175 <http://tracker.ceph.com/issues/14175>`_, `pr#8051 <http://github.com/ceph/ceph/pull/8051>`_, Joao Eduardo Luis) | |
218 | * global/pidfile: do not start two daemons with a single pid-file (`issue#13422 <http://tracker.ceph.com/issues/13422>`_, `pr#7671 <http://github.com/ceph/ceph/pull/7671>`_, Loic Dachary, shun song) | |
219 | * librados: segfault in Objecter::handle_watch_notify (`issue#13805 <http://tracker.ceph.com/issues/13805>`_, `pr#7992 <http://github.com/ceph/ceph/pull/7992>`_, Sage Weil) | |
220 | * librbd: flattening an rbd image with active IO can lead to hang (`issue#14092 <http://tracker.ceph.com/issues/14092>`_, `issue#14483 <http://tracker.ceph.com/issues/14483>`_, `pr#7485 <http://github.com/ceph/ceph/pull/7485>`_, Jason Dillaman) | |
221 | * librbd: possible QEMU deadlock after creating image snapshots (`issue#14988 <http://tracker.ceph.com/issues/14988>`_, `pr#8011 <http://github.com/ceph/ceph/pull/8011>`_, Jason Dillaman) | |
222 | * mon: Bucket owner isn't changed after unlink/link (`issue#11076 <http://tracker.ceph.com/issues/11076>`_, `pr#8583 <http://github.com/ceph/ceph/pull/8583>`_, Zengran Zhang) | |
223 | * monclient: avoid key renew storm on clock skew (`issue#12065 <http://tracker.ceph.com/issues/12065>`_, `pr#8398 <http://github.com/ceph/ceph/pull/8398>`_, Alexey Sheplyakov) | |
224 | * mon: implement reweight-by-utilization feature (`issue#15054 <http://tracker.ceph.com/issues/15054>`_, `pr#8026 <http://github.com/ceph/ceph/pull/8026>`_, Kefu Chai, Dan van der Ster, Sage Weil) | |
225 | * mon/LogMonitor: use the configured facility if log to syslog (`issue#13748 <http://tracker.ceph.com/issues/13748>`_, `pr#7648 <http://github.com/ceph/ceph/pull/7648>`_, Kefu Chai) | |
226 | * mon: mon sync does not copy config-key (`issue#14577 <http://tracker.ceph.com/issues/14577>`_, `pr#7576 <http://github.com/ceph/ceph/pull/7576>`_, Xiaowei Chen) | |
227 | * mon/OSDMonitor: avoid underflow in reweight-by-utilization if max_change=1 (`issue#15655 <http://tracker.ceph.com/issues/15655>`_, `pr#8979 <http://github.com/ceph/ceph/pull/8979>`_, Samuel Just) | |
228 | * osd: consume_maps clearing of waiting_for_pg needs to check the spg_t shard for acting set membership (`issue#14278 <http://tracker.ceph.com/issues/14278>`_, `pr#7577 <http://github.com/ceph/ceph/pull/7577>`_, Samuel Just) | |
229 | * osd: log inconsistent shard sizes (`issue#14009 <http://tracker.ceph.com/issues/14009>`_, `pr#6946 <http://github.com/ceph/ceph/pull/6946>`_, Loic Dachary) | |
230 | * osd: OSD coredumps with leveldb compact on mount = true (`issue#14748 <http://tracker.ceph.com/issues/14748>`_, `pr#7645 <http://github.com/ceph/ceph/pull/7645>`_, Xiaoxi Chen) | |
231 | * osd/OSDMap: reset osd_primary_affinity shared_ptr when deepish_copy_from (`issue#14686 <http://tracker.ceph.com/issues/14686>`_, `pr#7590 <http://github.com/ceph/ceph/pull/7590>`_, Xinze Chi) | |
232 | * osd: Protect against excessively large object map sizes (`issue#15121 <http://tracker.ceph.com/issues/15121>`_, `pr#8401 <http://github.com/ceph/ceph/pull/8401>`_, Jason Dillaman) | |
233 | * osd/ReplicatedPG: do not proxy read *and* process op locally (`issue#15171 <http://tracker.ceph.com/issues/15171>`_, `pr#8187 <http://github.com/ceph/ceph/pull/8187>`_, Sage Weil) | |
234 | * osd: scrub bogus results when missing a clone (`issue#14875 <http://tracker.ceph.com/issues/14875>`_, `issue#14874 <http://tracker.ceph.com/issues/14874>`_, `issue#14877 <http://tracker.ceph.com/issues/14877>`_, `issue#10098 <http://tracker.ceph.com/issues/10098>`_, `issue#14878 <http://tracker.ceph.com/issues/14878>`_, `issue#14881 <http://tracker.ceph.com/issues/14881>`_, `issue#14882 <http://tracker.ceph.com/issues/14882>`_, `issue#14883 <http://tracker.ceph.com/issues/14883>`_, `issue#14879 <http://tracker.ceph.com/issues/14879>`_, `issue#10290 <http://tracker.ceph.com/issues/10290>`_, `issue#12740 <http://tracker.ceph.com/issues/12740>`_, `issue#12738 <http://tracker.ceph.com/issues/12738>`_, `issue#14880 <http://tracker.ceph.com/issues/14880>`_, `issue#11135 <http://tracker.ceph.com/issues/11135>`_, `issue#14876 <http://tracker.ceph.com/issues/14876>`_, `issue#10809 <http://tracker.ceph.com/issues/10809>`_, `issue#12193 <http://tracker.ceph.com/issues/12193>`_, `issue#11237 <http://tracker.ceph.com/issues/11237>`_, `pr#7702 <http://github.com/ceph/ceph/pull/7702>`_, Xinze Chi, Sage Weil, John Spray, Kefu Chai, Mykola Golub, David Zafman) | |
235 | * osd: Unable to bring up OSD's after dealing with FULL cluster (OSD assert with /include/interval_set.h: 386: FAILED assert(_size >= 0)) (`issue#14428 <http://tracker.ceph.com/issues/14428>`_, `pr#7415 <http://github.com/ceph/ceph/pull/7415>`_, Alexey Sheplyakov) | |
236 | * osd: use GMT time for the object name of hitsets (`issue#13192 <http://tracker.ceph.com/issues/13192>`_, `issue#9732 <http://tracker.ceph.com/issues/9732>`_, `issue#12968 <http://tracker.ceph.com/issues/12968>`_, `pr#7883 <http://github.com/ceph/ceph/pull/7883>`_, Kefu Chai, David Zafman) | |
237 | * qa/workunits/post-file.sh: sudo (`issue#14586 <http://tracker.ceph.com/issues/14586>`_, `pr#7456 <http://github.com/ceph/ceph/pull/7456>`_, Sage Weil) | |
238 | * qa/workunits: remove 'mds setmap' from workunits (`pr#8123 <http://github.com/ceph/ceph/pull/8123>`_, Sage Weil) | |
239 | * rgw: default quota params (`issue#12997 <http://tracker.ceph.com/issues/12997>`_, `pr#7188 <http://github.com/ceph/ceph/pull/7188>`_, Daniel Gryniewicz) | |
240 | * rgw: make rgw_fronends more forgiving of whitespace (`issue#12038 <http://tracker.ceph.com/issues/12038>`_, `pr#7414 <http://github.com/ceph/ceph/pull/7414>`_, Matt Benjamin) | |
241 | * rgw: radosgw-admin bucket check --fix not work (`issue#14215 <http://tracker.ceph.com/issues/14215>`_, `pr#7185 <http://github.com/ceph/ceph/pull/7185>`_, Weijun Duan) | |
242 | * rpm package building fails if the build machine has lttng and babeltrace development packages installed locally (`issue#14844 <http://tracker.ceph.com/issues/14844>`_, `pr#8440 <http://github.com/ceph/ceph/pull/8440>`_, Kefu Chai) | |
243 | * rpm: redhat-lsb-core dependency was dropped, but is still needed (`issue#14906 <http://tracker.ceph.com/issues/14906>`_, `pr#7876 <http://github.com/ceph/ceph/pull/7876>`_, Nathan Cutler) | |
244 | * test_bit_vector.cc uses magic numbers against #defines that vary (`issue#14747 <http://tracker.ceph.com/issues/14747>`_, `pr#7672 <http://github.com/ceph/ceph/pull/7672>`_, Jason Dillaman) | |
245 | * test/librados/tier.cc doesn't completely clean up EC pools (`issue#13878 <http://tracker.ceph.com/issues/13878>`_, `pr#8052 <http://github.com/ceph/ceph/pull/8052>`_, Loic Dachary, Dan Mick) | |
246 | * tests: bufferlist: do not expect !is_page_aligned() after unaligned rebuild (`issue#15305 <http://tracker.ceph.com/issues/15305>`_, `pr#8272 <http://github.com/ceph/ceph/pull/8272>`_, Kefu Chai) | |
247 | * tools: fix race condition in seq/rand bench (part 1) (`issue#14968 <http://tracker.ceph.com/issues/14968>`_, `issue#14873 <http://tracker.ceph.com/issues/14873>`_, `pr#7896 <http://github.com/ceph/ceph/pull/7896>`_, Alexey Sheplyakov, Piotr Dałek) | |
248 | * tools: fix race condition in seq/rand bench (part 2) (`issue#14873 <http://tracker.ceph.com/issues/14873>`_, `pr#7817 <http://github.com/ceph/ceph/pull/7817>`_, Alexey Sheplyakov) | |
249 | * tools/rados: add bench smoke tests (`issue#14971 <http://tracker.ceph.com/issues/14971>`_, `pr#7903 <http://github.com/ceph/ceph/pull/7903>`_, Piotr Dałek) | |
250 | * tools, test: Add ceph-objectstore-tool to operate on the meta collection (`issue#14977 <http://tracker.ceph.com/issues/14977>`_, `pr#7911 <http://github.com/ceph/ceph/pull/7911>`_, David Zafman) | |
251 | * unittest_crypto: benchmark 100,000 CryptoKey::encrypt() calls (`issue#14863 <http://tracker.ceph.com/issues/14863>`_, `pr#7801 <http://github.com/ceph/ceph/pull/7801>`_, Sage Weil) | |
252 | ||
253 | ||
254 | v0.94.6 Hammer | |
255 | ====================== | |
256 | ||
257 | This Hammer point release fixes a range of bugs, most notably a fix | |
258 | for unbounded growth of the monitor's leveldb store, and a workaround | |
259 | in the OSD to keep most xattrs small enough to be stored inline in XFS | |
260 | inodes. | |
261 | ||
262 | We recommend that all hammer v0.94.x users upgrade. | |
263 | ||
264 | For more detailed information, see :download:`the complete changelog <../changelog/v0.94.6.txt>`. | |
265 | ||
266 | Notable Changes | |
267 | --------------- | |
268 | * build/ops: Ceph daemon failed to start, because the service name was already used. (`issue#13474 <http://tracker.ceph.com/issues/13474>`_, `pr#6832 <http://github.com/ceph/ceph/pull/6832>`_, Chuanhong Wang) | |
269 | * build/ops: LTTng-UST tracing should be dynamically enabled (`issue#13274 <http://tracker.ceph.com/issues/13274>`_, `pr#6415 <http://github.com/ceph/ceph/pull/6415>`_, Jason Dillaman) | |
270 | * build/ops: ceph upstart script rbdmap.conf incorrectly processes parameters (`issue#13214 <http://tracker.ceph.com/issues/13214>`_, `pr#6159 <http://github.com/ceph/ceph/pull/6159>`_, Sage Weil) | |
271 | * build/ops: ceph.spec.in License line does not reflect COPYING (`issue#12935 <http://tracker.ceph.com/issues/12935>`_, `pr#6680 <http://github.com/ceph/ceph/pull/6680>`_, Nathan Cutler) | |
272 | * build/ops: ceph.spec.in libcephfs_jni1 has no %post and %postun (`issue#12927 <http://tracker.ceph.com/issues/12927>`_, `pr#5789 <http://github.com/ceph/ceph/pull/5789>`_, Owen Synge) | |
273 | * build/ops: configure.ac: no use to add "+" before ac_ext=c (`issue#14330 <http://tracker.ceph.com/issues/14330>`_, `pr#6973 <http://github.com/ceph/ceph/pull/6973>`_, Kefu Chai, Robin H. Johnson) | |
274 | * build/ops: deb: strip tracepoint libraries from Wheezy/Precise builds (`issue#14801 <http://tracker.ceph.com/issues/14801>`_, `pr#7316 <http://github.com/ceph/ceph/pull/7316>`_, Jason Dillaman) | |
275 | * build/ops: init script reload doesn't work on EL7 (`issue#13709 <http://tracker.ceph.com/issues/13709>`_, `pr#7187 <http://github.com/ceph/ceph/pull/7187>`_, Hervé Rousseau) | |
276 | * build/ops: init-rbdmap uses distro-specific functions (`issue#12415 <http://tracker.ceph.com/issues/12415>`_, `pr#6528 <http://github.com/ceph/ceph/pull/6528>`_, Boris Ranto) | |
277 | * build/ops: logrotate reload error on Ubuntu 14.04 (`issue#11330 <http://tracker.ceph.com/issues/11330>`_, `pr#5787 <http://github.com/ceph/ceph/pull/5787>`_, Sage Weil) | |
278 | * build/ops: miscellaneous spec file fixes (`issue#12931 <http://tracker.ceph.com/issues/12931>`_, `issue#12994 <http://tracker.ceph.com/issues/12994>`_, `issue#12924 <http://tracker.ceph.com/issues/12924>`_, `issue#12360 <http://tracker.ceph.com/issues/12360>`_, `pr#5790 <http://github.com/ceph/ceph/pull/5790>`_, Boris Ranto, Nathan Cutler, Owen Synge, Travis Rhoden, Ken Dreyer) | |
279 | * build/ops: pass tcmalloc env through to ceph-os (`issue#14802 <http://tracker.ceph.com/issues/14802>`_, `pr#7365 <http://github.com/ceph/ceph/pull/7365>`_, Sage Weil) | |
280 | * build/ops: rbd-replay-* moved from ceph-test-dbg to ceph-common-dbg as well (`issue#13785 <http://tracker.ceph.com/issues/13785>`_, `pr#6580 <http://github.com/ceph/ceph/pull/6580>`_, Loic Dachary) | |
281 | * build/ops: unknown argument --quiet in udevadm settle (`issue#13560 <http://tracker.ceph.com/issues/13560>`_, `pr#6530 <http://github.com/ceph/ceph/pull/6530>`_, Jason Dillaman) | |
282 | * common: Objecter: pool op callback may hang forever. (`issue#13642 <http://tracker.ceph.com/issues/13642>`_, `pr#6588 <http://github.com/ceph/ceph/pull/6588>`_, xie xingguo) | |
283 | * common: Objecter: potential null pointer access when do pool_snap_list. (`issue#13639 <http://tracker.ceph.com/issues/13639>`_, `pr#6839 <http://github.com/ceph/ceph/pull/6839>`_, xie xingguo) | |
284 | * common: ThreadPool add/remove work queue methods not thread safe (`issue#12662 <http://tracker.ceph.com/issues/12662>`_, `pr#5889 <http://github.com/ceph/ceph/pull/5889>`_, Jason Dillaman) | |
285 | * common: auth/cephx: large amounts of log are produced by osd (`issue#13610 <http://tracker.ceph.com/issues/13610>`_, `pr#6835 <http://github.com/ceph/ceph/pull/6835>`_, Qiankun Zheng) | |
286 | * common: client nonce collision due to unshared pid namespaces (`issue#13032 <http://tracker.ceph.com/issues/13032>`_, `pr#6151 <http://github.com/ceph/ceph/pull/6151>`_, Josh Durgin) | |
287 | * common: common/Thread:pthread_attr_destroy(thread_attr) when done with it (`issue#12570 <http://tracker.ceph.com/issues/12570>`_, `pr#6157 <http://github.com/ceph/ceph/pull/6157>`_, Piotr Dałek) | |
288 | * common: log: Log.cc: Assign LOG_DEBUG priority to syslog calls (`issue#13993 <http://tracker.ceph.com/issues/13993>`_, `pr#6994 <http://github.com/ceph/ceph/pull/6994>`_, Brad Hubbard) | |
289 | * common: objecter: cancellation bugs (`issue#13071 <http://tracker.ceph.com/issues/13071>`_, `pr#6155 <http://github.com/ceph/ceph/pull/6155>`_, Jianpeng Ma) | |
290 | * common: pure virtual method called (`issue#13636 <http://tracker.ceph.com/issues/13636>`_, `pr#6587 <http://github.com/ceph/ceph/pull/6587>`_, Jason Dillaman) | |
291 | * common: small probability sigabrt when setting rados_osd_op_timeout (`issue#13208 <http://tracker.ceph.com/issues/13208>`_, `pr#6143 <http://github.com/ceph/ceph/pull/6143>`_, Ruifeng Yang) | |
292 | * common: wrong conditional for boolean function KeyServer::get_auth() (`issue#9756 <http://tracker.ceph.com/issues/9756>`_, `issue#13424 <http://tracker.ceph.com/issues/13424>`_, `pr#6213 <http://github.com/ceph/ceph/pull/6213>`_, Nathan Cutler) | |
293 | * crush: crash if we see CRUSH_ITEM_NONE in early rule step (`issue#13477 <http://tracker.ceph.com/issues/13477>`_, `pr#6430 <http://github.com/ceph/ceph/pull/6430>`_, Sage Weil) | |
294 | * doc: man: document listwatchers cmd in "rados" manpage (`issue#14556 <http://tracker.ceph.com/issues/14556>`_, `pr#7434 <http://github.com/ceph/ceph/pull/7434>`_, Kefu Chai) | |
295 | * doc: regenerate man pages, add orphans commands to radosgw-admin(8) (`issue#14637 <http://tracker.ceph.com/issues/14637>`_, `pr#7524 <http://github.com/ceph/ceph/pull/7524>`_, Ken Dreyer) | |
296 | * fs: CephFS restriction on removing cache tiers is overly strict (`issue#11504 <http://tracker.ceph.com/issues/11504>`_, `pr#6402 <http://github.com/ceph/ceph/pull/6402>`_, John Spray) | |
297 | * fs: fsstress.sh fails (`issue#12710 <http://tracker.ceph.com/issues/12710>`_, `pr#7454 <http://github.com/ceph/ceph/pull/7454>`_, Yan, Zheng) | |
298 | * librados: LibRadosWatchNotify.WatchNotify2Timeout (`issue#13114 <http://tracker.ceph.com/issues/13114>`_, `pr#6336 <http://github.com/ceph/ceph/pull/6336>`_, Sage Weil) | |
299 | * librbd: ImageWatcher shouldn't block the notification thread (`issue#14373 <http://tracker.ceph.com/issues/14373>`_, `pr#7407 <http://github.com/ceph/ceph/pull/7407>`_, Jason Dillaman) | |
300 | * librbd: diff_iterate needs to handle holes in parent images (`issue#12885 <http://tracker.ceph.com/issues/12885>`_, `pr#6097 <http://github.com/ceph/ceph/pull/6097>`_, Jason Dillaman) | |
301 | * librbd: fix merge-diff for >2GB diff-files (`issue#14030 <http://tracker.ceph.com/issues/14030>`_, `pr#6980 <http://github.com/ceph/ceph/pull/6980>`_, Jason Dillaman) | |
302 | * librbd: invalidate object map on error even w/o holding lock (`issue#13372 <http://tracker.ceph.com/issues/13372>`_, `pr#6289 <http://github.com/ceph/ceph/pull/6289>`_, Jason Dillaman) | |
303 | * librbd: reads larger than cache size hang (`issue#13164 <http://tracker.ceph.com/issues/13164>`_, `pr#6354 <http://github.com/ceph/ceph/pull/6354>`_, Lu Shi) | |
304 | * mds: ceph mds add_data_pool check for EC pool is wrong (`issue#12426 <http://tracker.ceph.com/issues/12426>`_, `pr#5766 <http://github.com/ceph/ceph/pull/5766>`_, John Spray) | |
305 | * mon: MonitorDBStore: get_next_key() only if prefix matches (`issue#11786 <http://tracker.ceph.com/issues/11786>`_, `pr#5361 <http://github.com/ceph/ceph/pull/5361>`_, Joao Eduardo Luis) | |
306 | * mon: OSDMonitor: do not assume a session exists in send_incremental() (`issue#14236 <http://tracker.ceph.com/issues/14236>`_, `pr#7150 <http://github.com/ceph/ceph/pull/7150>`_, Joao Eduardo Luis) | |
307 | * mon: check for store writeablility before participating in election (`issue#13089 <http://tracker.ceph.com/issues/13089>`_, `pr#6144 <http://github.com/ceph/ceph/pull/6144>`_, Sage Weil) | |
308 | * mon: compact full epochs also (`issue#14537 <http://tracker.ceph.com/issues/14537>`_, `pr#7446 <http://github.com/ceph/ceph/pull/7446>`_, Kefu Chai) | |
309 | * mon: include min_last_epoch_clean as part of PGMap::print_summary and PGMap::dump (`issue#13198 <http://tracker.ceph.com/issues/13198>`_, `pr#6152 <http://github.com/ceph/ceph/pull/6152>`_, Guang Yang) | |
310 | * mon: map_cache can become inaccurate if osd does not receive the osdmaps (`issue#10930 <http://tracker.ceph.com/issues/10930>`_, `pr#5773 <http://github.com/ceph/ceph/pull/5773>`_, Kefu Chai) | |
311 | * mon: should not set isvalid = true when cephx_verify_authorizer return false (`issue#13525 <http://tracker.ceph.com/issues/13525>`_, `pr#6391 <http://github.com/ceph/ceph/pull/6391>`_, Ruifeng Yang) | |
312 | * osd: Ceph Pools' MAX AVAIL is 0 if some OSDs' weight is 0 (`issue#13840 <http://tracker.ceph.com/issues/13840>`_, `pr#6834 <http://github.com/ceph/ceph/pull/6834>`_, Chengyuan Li) | |
313 | * osd: FileStore calls syncfs(2) even it is not supported (`issue#12512 <http://tracker.ceph.com/issues/12512>`_, `pr#5530 <http://github.com/ceph/ceph/pull/5530>`_, Kefu Chai) | |
314 | * osd: FileStore: potential memory leak if getattrs fails. (`issue#13597 <http://tracker.ceph.com/issues/13597>`_, `pr#6420 <http://github.com/ceph/ceph/pull/6420>`_, xie xingguo) | |
315 | * osd: IO error on kvm/rbd with an erasure coded pool tier (`issue#12012 <http://tracker.ceph.com/issues/12012>`_, `pr#5897 <http://github.com/ceph/ceph/pull/5897>`_, Kefu Chai) | |
316 | * osd: OSD::build_past_intervals_parallel() shall reset primary and up_primary when begin a new past_interval. (`issue#13471 <http://tracker.ceph.com/issues/13471>`_, `pr#6398 <http://github.com/ceph/ceph/pull/6398>`_, xiexingguo) | |
317 | * osd: ReplicatedBackend: populate recovery_info.size for clone (bug symptom is size mismatch on replicated backend on a clone in scrub) (`issue#12828 <http://tracker.ceph.com/issues/12828>`_, `pr#6153 <http://github.com/ceph/ceph/pull/6153>`_, Samuel Just) | |
318 | * osd: ReplicatedPG: wrong result code checking logic during sparse_read (`issue#14151 <http://tracker.ceph.com/issues/14151>`_, `pr#7179 <http://github.com/ceph/ceph/pull/7179>`_, xie xingguo) | |
319 | * osd: ReplicatedPG::hit_set_trim osd/ReplicatedPG.cc: 11006: FAILED assert(obc) (`issue#13192 <http://tracker.ceph.com/issues/13192>`_, `issue#9732 <http://tracker.ceph.com/issues/9732>`_, `issue#12968 <http://tracker.ceph.com/issues/12968>`_, `pr#5825 <http://github.com/ceph/ceph/pull/5825>`_, Kefu Chai, Zhiqiang Wang, Samuel Just, David Zafman) | |
320 | * osd: avoid multi set osd_op.outdata in tier pool (`issue#12540 <http://tracker.ceph.com/issues/12540>`_, `pr#6060 <http://github.com/ceph/ceph/pull/6060>`_, Xinze Chi) | |
321 | * osd: bug with cache/tiering and snapshot reads (`issue#12748 <http://tracker.ceph.com/issues/12748>`_, `pr#6589 <http://github.com/ceph/ceph/pull/6589>`_, Kefu Chai) | |
322 | * osd: ceph osd pool stats broken in hammer (`issue#13843 <http://tracker.ceph.com/issues/13843>`_, `pr#7180 <http://github.com/ceph/ceph/pull/7180>`_, BJ Lougee) | |
323 | * osd: ceph-disk prepare fails if device is a symlink (`issue#13438 <http://tracker.ceph.com/issues/13438>`_, `pr#7176 <http://github.com/ceph/ceph/pull/7176>`_, Joe Julian) | |
324 | * osd: check for full before changing the cached obc (hammer) (`issue#13098 <http://tracker.ceph.com/issues/13098>`_, `pr#6918 <http://github.com/ceph/ceph/pull/6918>`_, Alexey Sheplyakov) | |
325 | * osd: config_opts: increase suicide timeout to 300 to match recovery (`issue#14376 <http://tracker.ceph.com/issues/14376>`_, `pr#7236 <http://github.com/ceph/ceph/pull/7236>`_, Samuel Just) | |
326 | * osd: disable filestore_xfs_extsize by default (`issue#14397 <http://tracker.ceph.com/issues/14397>`_, `pr#7411 <http://github.com/ceph/ceph/pull/7411>`_, Ken Dreyer) | |
327 | * osd: do not cache unused memory in attrs (`issue#12565 <http://tracker.ceph.com/issues/12565>`_, `pr#6499 <http://github.com/ceph/ceph/pull/6499>`_, Xinze Chi, Ning Yao) | |
328 | * osd: dumpling incrementals do not work properly on hammer and newer (`issue#13234 <http://tracker.ceph.com/issues/13234>`_, `pr#6132 <http://github.com/ceph/ceph/pull/6132>`_, Samuel Just) | |
329 | * osd: filestore: fix peek_queue for OpSequencer (`issue#13209 <http://tracker.ceph.com/issues/13209>`_, `pr#6145 <http://github.com/ceph/ceph/pull/6145>`_, Xinze Chi) | |
330 | * osd: hit set clear repops fired in same epoch as map change -- segfault since they fall into the new interval even though the repops are cleared (`issue#12809 <http://tracker.ceph.com/issues/12809>`_, `pr#5890 <http://github.com/ceph/ceph/pull/5890>`_, Samuel Just) | |
331 | * osd: object_info_t::decode() has wrong version (`issue#13462 <http://tracker.ceph.com/issues/13462>`_, `pr#6335 <http://github.com/ceph/ceph/pull/6335>`_, David Zafman) | |
332 | * osd: osd/OSD.cc: 2469: FAILED assert(pg_stat_queue.empty()) on shutdown (`issue#14212 <http://tracker.ceph.com/issues/14212>`_, `pr#7178 <http://github.com/ceph/ceph/pull/7178>`_, Sage Weil) | |
333 | * osd: osd/PG.cc: 288: FAILED assert(info.last_epoch_started >= info.history.last_epoch_started) (`issue#14015 <http://tracker.ceph.com/issues/14015>`_, `pr#7177 <http://github.com/ceph/ceph/pull/7177>`_, David Zafman) | |
334 | * osd: osd/PG.cc: 3837: FAILED assert(0 == "Running incompatible OSD") (`issue#11661 <http://tracker.ceph.com/issues/11661>`_, `pr#7206 <http://github.com/ceph/ceph/pull/7206>`_, David Zafman) | |
335 | * osd: osd/ReplicatedPG: Recency fix (`issue#14320 <http://tracker.ceph.com/issues/14320>`_, `pr#7207 <http://github.com/ceph/ceph/pull/7207>`_, Sage Weil, Robert LeBlanc) | |
336 | * osd: pg stuck in replay (`issue#13116 <http://tracker.ceph.com/issues/13116>`_, `pr#6401 <http://github.com/ceph/ceph/pull/6401>`_, Sage Weil) | |
337 | * osd: race condition detected during send_failures (`issue#13821 <http://tracker.ceph.com/issues/13821>`_, `pr#6755 <http://github.com/ceph/ceph/pull/6755>`_, Sage Weil) | |
338 | * osd: randomize scrub times (`issue#10973 <http://tracker.ceph.com/issues/10973>`_, `pr#6199 <http://github.com/ceph/ceph/pull/6199>`_, Kefu Chai) | |
339 | * osd: requeue_scrub when kick_object_context_blocked (`issue#12515 <http://tracker.ceph.com/issues/12515>`_, `pr#5891 <http://github.com/ceph/ceph/pull/5891>`_, Xinze Chi) | |
340 | * osd: revert: use GMT time for hitsets (`issue#13812 <http://tracker.ceph.com/issues/13812>`_, `pr#6644 <http://github.com/ceph/ceph/pull/6644>`_, Loic Dachary) | |
341 | * osd: segfault in agent_work (`issue#13199 <http://tracker.ceph.com/issues/13199>`_, `pr#6146 <http://github.com/ceph/ceph/pull/6146>`_, Samuel Just) | |
342 | * osd: should recalc the min_last_epoch_clean when decode PGMap (`issue#13112 <http://tracker.ceph.com/issues/13112>`_, `pr#6154 <http://github.com/ceph/ceph/pull/6154>`_, Kefu Chai) | |
343 | * osd: smaller object_info_t xattrs (`issue#14803 <http://tracker.ceph.com/issues/14803>`_, `pr#6544 <http://github.com/ceph/ceph/pull/6544>`_, Sage Weil) | |
344 | * osd: we do not ignore notify from down osds (`issue#12990 <http://tracker.ceph.com/issues/12990>`_, `pr#6158 <http://github.com/ceph/ceph/pull/6158>`_, Samuel Just) | |
345 | * rbd: QEMU hangs after creating snapshot and stopping VM (`issue#13726 <http://tracker.ceph.com/issues/13726>`_, `pr#6586 <http://github.com/ceph/ceph/pull/6586>`_, Jason Dillaman) | |
346 | * rbd: TaskFinisher::cancel should remove event from SafeTimer (`issue#14476 <http://tracker.ceph.com/issues/14476>`_, `pr#7417 <http://github.com/ceph/ceph/pull/7417>`_, Douglas Fuller) | |
347 | * rbd: avoid re-writing old-format image header on resize (`issue#13674 <http://tracker.ceph.com/issues/13674>`_, `pr#6585 <http://github.com/ceph/ceph/pull/6585>`_, Jason Dillaman) | |
348 | * rbd: fix bench-write (`issue#14225 <http://tracker.ceph.com/issues/14225>`_, `pr#7183 <http://github.com/ceph/ceph/pull/7183>`_, Sage Weil) | |
349 | * rbd: rbd-replay does not check for EOF and goes to endless loop (`issue#14452 <http://tracker.ceph.com/issues/14452>`_, `pr#7416 <http://github.com/ceph/ceph/pull/7416>`_, Mykola Golub) | |
350 | * rbd: rbd-replay-prep and rbd-replay improvements (`issue#13221 <http://tracker.ceph.com/issues/13221>`_, `issue#13220 <http://tracker.ceph.com/issues/13220>`_, `issue#13378 <http://tracker.ceph.com/issues/13378>`_, `pr#6286 <http://github.com/ceph/ceph/pull/6286>`_, Jason Dillaman) | |
351 | * rbd: verify self-managed snapshot functionality on image create (`issue#13633 <http://tracker.ceph.com/issues/13633>`_, `pr#7182 <http://github.com/ceph/ceph/pull/7182>`_, Jason Dillaman) | |
352 | * rgw: Make RGW_MAX_PUT_SIZE configurable (`issue#6999 <http://tracker.ceph.com/issues/6999>`_, `pr#7441 <http://github.com/ceph/ceph/pull/7441>`_, Vladislav Odintsov, Yuan Zhou) | |
353 | * rgw: Setting ACL on Object removes ETag (`issue#12955 <http://tracker.ceph.com/issues/12955>`_, `pr#6620 <http://github.com/ceph/ceph/pull/6620>`_, Brian Felton) | |
354 | * rgw: backport content-type casing (`issue#12939 <http://tracker.ceph.com/issues/12939>`_, `pr#5910 <http://github.com/ceph/ceph/pull/5910>`_, Robin H. Johnson) | |
355 | * rgw: bucket listing hangs on versioned buckets (`issue#12913 <http://tracker.ceph.com/issues/12913>`_, `pr#6352 <http://github.com/ceph/ceph/pull/6352>`_, Yehuda Sadeh) | |
356 | * rgw: fix wrong etag calculation during POST on S3 bucket. (`issue#11241 <http://tracker.ceph.com/issues/11241>`_, `pr#7442 <http://github.com/ceph/ceph/pull/7442>`_, Vladislav Odintsov, Radoslaw Zarzynski) | |
357 | * rgw: get bucket location returns region name, not region api name (`issue#13458 <http://tracker.ceph.com/issues/13458>`_, `pr#6349 <http://github.com/ceph/ceph/pull/6349>`_, Yehuda Sadeh) | |
358 | * rgw: missing handling of encoding-type=url when listing keys in bucket (`issue#12735 <http://tracker.ceph.com/issues/12735>`_, `pr#6527 <http://github.com/ceph/ceph/pull/6527>`_, Jeff Weber) | |
359 | * rgw: orphan tool should be careful about removing head objects (`issue#12958 <http://tracker.ceph.com/issues/12958>`_, `pr#6351 <http://github.com/ceph/ceph/pull/6351>`_, Yehuda Sadeh) | |
360 | * rgw: orphans finish segfaults (`issue#13824 <http://tracker.ceph.com/issues/13824>`_, `pr#7186 <http://github.com/ceph/ceph/pull/7186>`_, Igor Fedotov) | |
361 | * rgw: rgw-admin: document orphans commands in usage (`issue#14516 <http://tracker.ceph.com/issues/14516>`_, `pr#7526 <http://github.com/ceph/ceph/pull/7526>`_, Yehuda Sadeh) | |
362 | * rgw: swift API returns more than real object count and bytes used when retrieving account metadata (`issue#13140 <http://tracker.ceph.com/issues/13140>`_, `pr#6512 <http://github.com/ceph/ceph/pull/6512>`_, Sangdi Xu) | |
363 | * rgw: swift use Civetweb ssl can not get right url (`issue#13628 <http://tracker.ceph.com/issues/13628>`_, `pr#6491 <http://github.com/ceph/ceph/pull/6491>`_, Weijun Duan) | |
364 | * rgw: value of Swift API's X-Object-Manifest header is not url_decoded during segment look up (`issue#12728 <http://tracker.ceph.com/issues/12728>`_, `pr#6353 <http://github.com/ceph/ceph/pull/6353>`_, Radoslaw Zarzynski) | |
365 | * tests: fixed broken Makefiles after integration of ttng into rados (`issue#13210 <http://tracker.ceph.com/issues/13210>`_, `pr#6322 <http://github.com/ceph/ceph/pull/6322>`_, Sebastien Ponce) | |
366 | * tests: fsx failed to compile (`issue#14384 <http://tracker.ceph.com/issues/14384>`_, `pr#7501 <http://github.com/ceph/ceph/pull/7501>`_, Greg Farnum) | |
367 | * tests: notification slave needs to wait for master (`issue#13810 <http://tracker.ceph.com/issues/13810>`_, `pr#7226 <http://github.com/ceph/ceph/pull/7226>`_, Jason Dillaman) | |
368 | * tests: qa: remove legacy OS support from rbd/qemu-iotests (`issue#13483 <http://tracker.ceph.com/issues/13483>`_, `issue#14385 <http://tracker.ceph.com/issues/14385>`_, `pr#7252 <http://github.com/ceph/ceph/pull/7252>`_, Vasu Kulkarni, Jason Dillaman) | |
369 | * tests: testprofile must be removed before it is re-created (`issue#13664 <http://tracker.ceph.com/issues/13664>`_, `pr#6450 <http://github.com/ceph/ceph/pull/6450>`_, Loic Dachary) | |
370 | * tools: ceph-monstore-tool must do out_store.close() (`issue#10093 <http://tracker.ceph.com/issues/10093>`_, `pr#7347 <http://github.com/ceph/ceph/pull/7347>`_, huangjun) | |
371 | * tools: heavy memory shuffling in rados bench (`issue#12946 <http://tracker.ceph.com/issues/12946>`_, `pr#5810 <http://github.com/ceph/ceph/pull/5810>`_, Piotr Dałek) | |
372 | * tools: race condition in rados bench (`issue#12947 <http://tracker.ceph.com/issues/12947>`_, `pr#6791 <http://github.com/ceph/ceph/pull/6791>`_, Piotr Dałek) | |
373 | * tools: tool for artificially inflate the leveldb of the mon store for testing purposes (`issue#10093 <http://tracker.ceph.com/issues/10093>`_, `issue#11815 <http://tracker.ceph.com/issues/11815>`_, `issue#14217 <http://tracker.ceph.com/issues/14217>`_, `pr#7412 <http://github.com/ceph/ceph/pull/7412>`_, Cilang Zhao, Bo Cai, Kefu Chai, huangjun, Joao Eduardo Luis) | |
374 | ||
375 | v0.94.5 Hammer | |
376 | ============== | |
377 | ||
378 | This Hammer point release fixes a critical regression in librbd that can cause | |
379 | QEMU/KVM to crash when caching is enabled on images that have been cloned. | |
380 | ||
381 | All v0.94.4 Hammer users are strongly encouraged to upgrade. | |
382 | ||
383 | Notable Changes | |
384 | --------------- | |
385 | * librbd: potential assertion failure during cache read (`issue#13559 <http://tracker.ceph.com/issues/13559>`_, `pr#6348 <http://github.com/ceph/ceph/pull/6348>`_, Jason Dillaman) | |
386 | * osd: osd/ReplicatedPG: remove stray debug line (`issue#13455 <http://tracker.ceph.com/issues/13455>`_, `pr#6362 <http://github.com/ceph/ceph/pull/6362>`_, Sage Weil) | |
387 | * tests: qemu workunit refers to apt-mirror.front.sepia.ceph.com (`issue#13420 <http://tracker.ceph.com/issues/13420>`_, `pr#6330 <http://github.com/ceph/ceph/pull/6330>`_, Yuan Zhou) | |
388 | ||
389 | For more detailed information, see :download:`the complete changelog <../changelog/v0.94.5.txt>`. | |
390 | ||
391 | v0.94.4 Hammer | |
392 | ============== | |
393 | ||
394 | This Hammer point release fixes several important bugs in Hammer, as well as | |
395 | fixing interoperability issues that are required before an upgrade to | |
396 | Infernalis. That is, all users of earlier version of Hammer or any | |
397 | version of Firefly will first need to upgrade to hammer v0.94.4 or | |
398 | later before upgrading to Infernalis (or future releases). | |
399 | ||
400 | All v0.94.x Hammer users are strongly encouraged to upgrade. | |
401 | ||
402 | Notable Changes | |
403 | --------------- | |
404 | * build/ops: ceph.spec.in: 50-rbd.rules conditional is wrong (`issue#12166 <http://tracker.ceph.com/issues/12166>`_, `pr#5207 <http://github.com/ceph/ceph/pull/5207>`_, Nathan Cutler) | |
405 | * build/ops: ceph.spec.in: ceph-common needs python-argparse on older distros, but doesn't require it (`issue#12034 <http://tracker.ceph.com/issues/12034>`_, `pr#5216 <http://github.com/ceph/ceph/pull/5216>`_, Nathan Cutler) | |
406 | * build/ops: ceph.spec.in: radosgw requires apache for SUSE only -- makes no sense (`issue#12358 <http://tracker.ceph.com/issues/12358>`_, `pr#5411 <http://github.com/ceph/ceph/pull/5411>`_, Nathan Cutler) | |
407 | * build/ops: ceph.spec.in: rpm: cephfs_java not fully conditionalized (`issue#11991 <http://tracker.ceph.com/issues/11991>`_, `pr#5202 <http://github.com/ceph/ceph/pull/5202>`_, Nathan Cutler) | |
408 | * build/ops: ceph.spec.in: rpm: not possible to turn off Java (`issue#11992 <http://tracker.ceph.com/issues/11992>`_, `pr#5203 <http://github.com/ceph/ceph/pull/5203>`_, Owen Synge) | |
409 | * build/ops: ceph.spec.in: running fdupes unnecessarily (`issue#12301 <http://tracker.ceph.com/issues/12301>`_, `pr#5223 <http://github.com/ceph/ceph/pull/5223>`_, Nathan Cutler) | |
410 | * build/ops: ceph.spec.in: snappy-devel for all supported distros (`issue#12361 <http://tracker.ceph.com/issues/12361>`_, `pr#5264 <http://github.com/ceph/ceph/pull/5264>`_, Nathan Cutler) | |
411 | * build/ops: ceph.spec.in: SUSE/openSUSE builds need libbz2-devel (`issue#11629 <http://tracker.ceph.com/issues/11629>`_, `pr#5204 <http://github.com/ceph/ceph/pull/5204>`_, Nathan Cutler) | |
412 | * build/ops: ceph.spec.in: useless %py_requires breaks SLE11-SP3 build (`issue#12351 <http://tracker.ceph.com/issues/12351>`_, `pr#5412 <http://github.com/ceph/ceph/pull/5412>`_, Nathan Cutler) | |
413 | * build/ops: error in ext_mime_map_init() when /etc/mime.types is missing (`issue#11864 <http://tracker.ceph.com/issues/11864>`_, `pr#5385 <http://github.com/ceph/ceph/pull/5385>`_, Ken Dreyer) | |
414 | * build/ops: upstart: limit respawn to 3 in 30 mins (instead of 5 in 30s) (`issue#11798 <http://tracker.ceph.com/issues/11798>`_, `pr#5930 <http://github.com/ceph/ceph/pull/5930>`_, Sage Weil) | |
415 | * build/ops: With root as default user, unable to have multiple RGW instances running (`issue#10927 <http://tracker.ceph.com/issues/10927>`_, `pr#6161 <http://github.com/ceph/ceph/pull/6161>`_, Sage Weil) | |
416 | * build/ops: With root as default user, unable to have multiple RGW instances running (`issue#11140 <http://tracker.ceph.com/issues/11140>`_, `pr#6161 <http://github.com/ceph/ceph/pull/6161>`_, Sage Weil) | |
417 | * build/ops: With root as default user, unable to have multiple RGW instances running (`issue#11686 <http://tracker.ceph.com/issues/11686>`_, `pr#6161 <http://github.com/ceph/ceph/pull/6161>`_, Sage Weil) | |
418 | * build/ops: With root as default user, unable to have multiple RGW instances running (`issue#12407 <http://tracker.ceph.com/issues/12407>`_, `pr#6161 <http://github.com/ceph/ceph/pull/6161>`_, Sage Weil) | |
419 | * cli: ceph: cli throws exception on unrecognized errno (`issue#11354 <http://tracker.ceph.com/issues/11354>`_, `pr#5368 <http://github.com/ceph/ceph/pull/5368>`_, Kefu Chai) | |
420 | * cli: ceph tell: broken error message / misleading hinting (`issue#11101 <http://tracker.ceph.com/issues/11101>`_, `pr#5371 <http://github.com/ceph/ceph/pull/5371>`_, Kefu Chai) | |
421 | * common: arm: all programs that link to librados2 hang forever on startup (`issue#12505 <http://tracker.ceph.com/issues/12505>`_, `pr#5366 <http://github.com/ceph/ceph/pull/5366>`_, Boris Ranto) | |
422 | * common: buffer: critical bufferlist::zero bug (`issue#12252 <http://tracker.ceph.com/issues/12252>`_, `pr#5365 <http://github.com/ceph/ceph/pull/5365>`_, Haomai Wang) | |
423 | * common: ceph-object-corpus: add 0.94.2-207-g88e7ee7 hammer objects (`issue#13070 <http://tracker.ceph.com/issues/13070>`_, `pr#5551 <http://github.com/ceph/ceph/pull/5551>`_, Sage Weil) | |
424 | * common: do not insert emtpy ptr when rebuild emtpy bufferlist (`issue#12775 <http://tracker.ceph.com/issues/12775>`_, `pr#5764 <http://github.com/ceph/ceph/pull/5764>`_, Xinze Chi) | |
425 | * common: [ FAILED ] TestLibRBD.BlockingAIO (`issue#12479 <http://tracker.ceph.com/issues/12479>`_, `pr#5768 <http://github.com/ceph/ceph/pull/5768>`_, Jason Dillaman) | |
426 | * common: LibCephFS.GetPoolId failure (`issue#12598 <http://tracker.ceph.com/issues/12598>`_, `pr#5887 <http://github.com/ceph/ceph/pull/5887>`_, Yan, Zheng) | |
427 | * common: Memory leak in Mutex.cc, pthread_mutexattr_init without pthread_mutexattr_destroy (`issue#11762 <http://tracker.ceph.com/issues/11762>`_, `pr#5378 <http://github.com/ceph/ceph/pull/5378>`_, Ketor Meng) | |
428 | * common: object_map_update fails with -EINVAL return code (`issue#12611 <http://tracker.ceph.com/issues/12611>`_, `pr#5559 <http://github.com/ceph/ceph/pull/5559>`_, Jason Dillaman) | |
429 | * common: Pipe: Drop connect_seq increase line (`issue#13093 <http://tracker.ceph.com/issues/13093>`_, `pr#5908 <http://github.com/ceph/ceph/pull/5908>`_, Haomai Wang) | |
430 | * common: recursive lock of md_config_t (0) (`issue#12614 <http://tracker.ceph.com/issues/12614>`_, `pr#5759 <http://github.com/ceph/ceph/pull/5759>`_, Josh Durgin) | |
431 | * crush: ceph osd crush reweight-subtree does not reweight parent node (`issue#11855 <http://tracker.ceph.com/issues/11855>`_, `pr#5374 <http://github.com/ceph/ceph/pull/5374>`_, Sage Weil) | |
432 | * doc: update docs to point to download.ceph.com (`issue#13162 <http://tracker.ceph.com/issues/13162>`_, `pr#6156 <http://github.com/ceph/ceph/pull/6156>`_, Alfredo Deza) | |
433 | * fs: ceph-fuse 0.94.2-1trusty segfaults / aborts (`issue#12297 <http://tracker.ceph.com/issues/12297>`_, `pr#5381 <http://github.com/ceph/ceph/pull/5381>`_, Greg Farnum) | |
434 | * fs: segfault launching ceph-fuse with bad --name (`issue#12417 <http://tracker.ceph.com/issues/12417>`_, `pr#5382 <http://github.com/ceph/ceph/pull/5382>`_, John Spray) | |
435 | * librados: Change radosgw pools default crush ruleset (`issue#11640 <http://tracker.ceph.com/issues/11640>`_, `pr#5754 <http://github.com/ceph/ceph/pull/5754>`_, Yuan Zhou) | |
436 | * librbd: correct issues discovered via lockdep / helgrind (`issue#12345 <http://tracker.ceph.com/issues/12345>`_, `pr#5296 <http://github.com/ceph/ceph/pull/5296>`_, Jason Dillaman) | |
437 | * librbd: Crash during TestInternal.MultipleResize (`issue#12664 <http://tracker.ceph.com/issues/12664>`_, `pr#5769 <http://github.com/ceph/ceph/pull/5769>`_, Jason Dillaman) | |
438 | * librbd: deadlock during cooperative exclusive lock transition (`issue#11537 <http://tracker.ceph.com/issues/11537>`_, `pr#5319 <http://github.com/ceph/ceph/pull/5319>`_, Jason Dillaman) | |
439 | * librbd: Possible crash while concurrently writing and shrinking an image (`issue#11743 <http://tracker.ceph.com/issues/11743>`_, `pr#5318 <http://github.com/ceph/ceph/pull/5318>`_, Jason Dillaman) | |
440 | * mon: add a cache layer over MonitorDBStore (`issue#12638 <http://tracker.ceph.com/issues/12638>`_, `pr#5697 <http://github.com/ceph/ceph/pull/5697>`_, Kefu Chai) | |
441 | * mon: fix crush testing for new pools (`issue#13400 <http://tracker.ceph.com/issues/13400>`_, `pr#6192 <http://github.com/ceph/ceph/pull/6192>`_, Sage Weil) | |
442 | * mon: get pools health'info have error (`issue#12402 <http://tracker.ceph.com/issues/12402>`_, `pr#5369 <http://github.com/ceph/ceph/pull/5369>`_, renhwztetecs) | |
443 | * mon: implicit erasure code crush ruleset is not validated (`issue#11814 <http://tracker.ceph.com/issues/11814>`_, `pr#5276 <http://github.com/ceph/ceph/pull/5276>`_, Loic Dachary) | |
444 | * mon: PaxosService: call post_refresh() instead of post_paxos_update() (`issue#11470 <http://tracker.ceph.com/issues/11470>`_, `pr#5359 <http://github.com/ceph/ceph/pull/5359>`_, Joao Eduardo Luis) | |
445 | * mon: pgmonitor: wrong at/near target max“ reporting (`issue#12401 <http://tracker.ceph.com/issues/12401>`_, `pr#5370 <http://github.com/ceph/ceph/pull/5370>`_, huangjun) | |
446 | * mon: register_new_pgs() should check ruleno instead of its index (`issue#12210 <http://tracker.ceph.com/issues/12210>`_, `pr#5377 <http://github.com/ceph/ceph/pull/5377>`_, Xinze Chi) | |
447 | * mon: Show osd as NONE in ceph osd map <pool> <object> output (`issue#11820 <http://tracker.ceph.com/issues/11820>`_, `pr#5376 <http://github.com/ceph/ceph/pull/5376>`_, Shylesh Kumar) | |
448 | * mon: the output is wrong when runing ceph osd reweight (`issue#12251 <http://tracker.ceph.com/issues/12251>`_, `pr#5372 <http://github.com/ceph/ceph/pull/5372>`_, Joao Eduardo Luis) | |
449 | * osd: allow peek_map_epoch to return an error (`issue#13060 <http://tracker.ceph.com/issues/13060>`_, `pr#5892 <http://github.com/ceph/ceph/pull/5892>`_, Sage Weil) | |
450 | * osd: cache agent is idle although one object is left in the cache (`issue#12673 <http://tracker.ceph.com/issues/12673>`_, `pr#5765 <http://github.com/ceph/ceph/pull/5765>`_, Loic Dachary) | |
451 | * osd: copy-from doesn't preserve truncate_{seq,size} (`issue#12551 <http://tracker.ceph.com/issues/12551>`_, `pr#5885 <http://github.com/ceph/ceph/pull/5885>`_, Samuel Just) | |
452 | * osd: crash creating/deleting pools (`issue#12429 <http://tracker.ceph.com/issues/12429>`_, `pr#5527 <http://github.com/ceph/ceph/pull/5527>`_, John Spray) | |
453 | * osd: fix repair when recorded digest is wrong (`issue#12577 <http://tracker.ceph.com/issues/12577>`_, `pr#5468 <http://github.com/ceph/ceph/pull/5468>`_, Sage Weil) | |
454 | * osd: include/ceph_features: define HAMMER_0_94_4 feature (`issue#13026 <http://tracker.ceph.com/issues/13026>`_, `pr#5687 <http://github.com/ceph/ceph/pull/5687>`_, Sage Weil) | |
455 | * osd: is_new_interval() fixes (`issue#10399 <http://tracker.ceph.com/issues/10399>`_, `pr#5691 <http://github.com/ceph/ceph/pull/5691>`_, Jason Dillaman) | |
456 | * osd: is_new_interval() fixes (`issue#11771 <http://tracker.ceph.com/issues/11771>`_, `pr#5691 <http://github.com/ceph/ceph/pull/5691>`_, Jason Dillaman) | |
457 | * osd: long standing slow requests: connection->session->waiting_for_map->connection ref cycle (`issue#12338 <http://tracker.ceph.com/issues/12338>`_, `pr#5761 <http://github.com/ceph/ceph/pull/5761>`_, Samuel Just) | |
458 | * osd: Mutex Assert from PipeConnection::try_get_pipe (`issue#12437 <http://tracker.ceph.com/issues/12437>`_, `pr#5758 <http://github.com/ceph/ceph/pull/5758>`_, David Zafman) | |
459 | * osd: pg_interval_t::check_new_interval - for ec pool, should not rely on min_size to determine if the PG was active at the interval (`issue#12162 <http://tracker.ceph.com/issues/12162>`_, `pr#5373 <http://github.com/ceph/ceph/pull/5373>`_, Guang G Yang) | |
460 | * osd: PGLog.cc: 732: FAILED assert(log.log.size() == log_keys_debug.size()) (`issue#12652 <http://tracker.ceph.com/issues/12652>`_, `pr#5763 <http://github.com/ceph/ceph/pull/5763>`_, Sage Weil) | |
461 | * osd: PGLog::proc_replica_log: correctly handle case where entries between olog.head and log.tail were split out (`issue#11358 <http://tracker.ceph.com/issues/11358>`_, `pr#5380 <http://github.com/ceph/ceph/pull/5380>`_, Samuel Just) | |
462 | * osd: read on chunk-aligned xattr not handled (`issue#12309 <http://tracker.ceph.com/issues/12309>`_, `pr#5367 <http://github.com/ceph/ceph/pull/5367>`_, Sage Weil) | |
463 | * osd: suicide timeout during peering - search for missing objects (`issue#12523 <http://tracker.ceph.com/issues/12523>`_, `pr#5762 <http://github.com/ceph/ceph/pull/5762>`_, Guang G Yang) | |
464 | * osd: WBThrottle::clear_object: signal on cond when we reduce throttle values (`issue#12223 <http://tracker.ceph.com/issues/12223>`_, `pr#5757 <http://github.com/ceph/ceph/pull/5757>`_, Samuel Just) | |
465 | * rbd: crash during shutdown after writeback blocked by IO errors (`issue#12597 <http://tracker.ceph.com/issues/12597>`_, `pr#5767 <http://github.com/ceph/ceph/pull/5767>`_, Jianpeng Ma) | |
466 | * rgw: add delimiter to prefix only when path is specified (`issue#12960 <http://tracker.ceph.com/issues/12960>`_, `pr#5860 <http://github.com/ceph/ceph/pull/5860>`_, Sylvain Baubeau) | |
467 | * rgw: create a tool for orphaned objects cleanup (`issue#9604 <http://tracker.ceph.com/issues/9604>`_, `pr#5717 <http://github.com/ceph/ceph/pull/5717>`_, Yehuda Sadeh) | |
468 | * rgw: don't preserve acls when copying object (`issue#11563 <http://tracker.ceph.com/issues/11563>`_, `pr#6039 <http://github.com/ceph/ceph/pull/6039>`_, Yehuda Sadeh) | |
469 | * rgw: don't preserve acls when copying object (`issue#12370 <http://tracker.ceph.com/issues/12370>`_, `pr#6039 <http://github.com/ceph/ceph/pull/6039>`_, Yehuda Sadeh) | |
470 | * rgw: don't preserve acls when copying object (`issue#13015 <http://tracker.ceph.com/issues/13015>`_, `pr#6039 <http://github.com/ceph/ceph/pull/6039>`_, Yehuda Sadeh) | |
471 | * rgw: Ensure that swift keys don't include backslashes (`issue#7647 <http://tracker.ceph.com/issues/7647>`_, `pr#5716 <http://github.com/ceph/ceph/pull/5716>`_, Yehuda Sadeh) | |
472 | * rgw: GWWatcher::handle_error -> common/Mutex.cc: 95: FAILED assert(r == 0) (`issue#12208 <http://tracker.ceph.com/issues/12208>`_, `pr#6164 <http://github.com/ceph/ceph/pull/6164>`_, Yehuda Sadeh) | |
473 | * rgw: HTTP return code is not being logged by CivetWeb (`issue#12432 <http://tracker.ceph.com/issues/12432>`_, `pr#5498 <http://github.com/ceph/ceph/pull/5498>`_, Yehuda Sadeh) | |
474 | * rgw: init_rados failed leads to repeated delete (`issue#12978 <http://tracker.ceph.com/issues/12978>`_, `pr#6165 <http://github.com/ceph/ceph/pull/6165>`_, Xiaowei Chen) | |
475 | * rgw: init some manifest fields when handling explicit objs (`issue#11455 <http://tracker.ceph.com/issues/11455>`_, `pr#5732 <http://github.com/ceph/ceph/pull/5732>`_, Yehuda Sadeh) | |
476 | * rgw: Keystone Fernet tokens break auth (`issue#12761 <http://tracker.ceph.com/issues/12761>`_, `pr#6162 <http://github.com/ceph/ceph/pull/6162>`_, Abhishek Lekshmanan) | |
477 | * rgw: region data still exist in region-map after region-map update (`issue#12964 <http://tracker.ceph.com/issues/12964>`_, `pr#6163 <http://github.com/ceph/ceph/pull/6163>`_, dwj192) | |
478 | * rgw: remove trailing :port from host for purposes of subdomain matching (`issue#12353 <http://tracker.ceph.com/issues/12353>`_, `pr#6042 <http://github.com/ceph/ceph/pull/6042>`_, Yehuda Sadeh) | |
479 | * rgw: rest-bench common/WorkQueue.cc: 54: FAILED assert(_threads.empty()) (`issue#3896 <http://tracker.ceph.com/issues/3896>`_, `pr#5383 <http://github.com/ceph/ceph/pull/5383>`_, huangjun) | |
480 | * rgw: returns requested bucket name raw in Bucket response header (`issue#12537 <http://tracker.ceph.com/issues/12537>`_, `pr#5715 <http://github.com/ceph/ceph/pull/5715>`_, Yehuda Sadeh) | |
481 | * rgw: segmentation fault when rgw_gc_max_objs > HASH_PRIME (`issue#12630 <http://tracker.ceph.com/issues/12630>`_, `pr#5719 <http://github.com/ceph/ceph/pull/5719>`_, Ruifeng Yang) | |
482 | * rgw: segments are read during HEAD on Swift DLO (`issue#12780 <http://tracker.ceph.com/issues/12780>`_, `pr#6160 <http://github.com/ceph/ceph/pull/6160>`_, Yehuda Sadeh) | |
483 | * rgw: setting max number of buckets for user via ceph.conf option (`issue#12714 <http://tracker.ceph.com/issues/12714>`_, `pr#6166 <http://github.com/ceph/ceph/pull/6166>`_, Vikhyat Umrao) | |
484 | * rgw: Swift API: X-Trans-Id header is wrongly formatted (`issue#12108 <http://tracker.ceph.com/issues/12108>`_, `pr#5721 <http://github.com/ceph/ceph/pull/5721>`_, Radoslaw Zarzynski) | |
485 | * rgw: testGetContentType and testHead failed (`issue#11091 <http://tracker.ceph.com/issues/11091>`_, `pr#5718 <http://github.com/ceph/ceph/pull/5718>`_, Radoslaw Zarzynski) | |
486 | * rgw: testGetContentType and testHead failed (`issue#11438 <http://tracker.ceph.com/issues/11438>`_, `pr#5718 <http://github.com/ceph/ceph/pull/5718>`_, Radoslaw Zarzynski) | |
487 | * rgw: testGetContentType and testHead failed (`issue#12157 <http://tracker.ceph.com/issues/12157>`_, `pr#5718 <http://github.com/ceph/ceph/pull/5718>`_, Radoslaw Zarzynski) | |
488 | * rgw: testGetContentType and testHead failed (`issue#12158 <http://tracker.ceph.com/issues/12158>`_, `pr#5718 <http://github.com/ceph/ceph/pull/5718>`_, Radoslaw Zarzynski) | |
489 | * rgw: testGetContentType and testHead failed (`issue#12363 <http://tracker.ceph.com/issues/12363>`_, `pr#5718 <http://github.com/ceph/ceph/pull/5718>`_, Radoslaw Zarzynski) | |
490 | * rgw: the arguments 'domain' should not be assigned when return false (`issue#12629 <http://tracker.ceph.com/issues/12629>`_, `pr#5720 <http://github.com/ceph/ceph/pull/5720>`_, Ruifeng Yang) | |
491 | * tests: qa/workunits/cephtool/test.sh: don't assume crash_replay_interval=45 (`issue#13406 <http://tracker.ceph.com/issues/13406>`_, `pr#6172 <http://github.com/ceph/ceph/pull/6172>`_, Sage Weil) | |
492 | * tests: TEST_crush_rule_create_erasure consistently fails on i386 builder (`issue#12419 <http://tracker.ceph.com/issues/12419>`_, `pr#6201 <http://github.com/ceph/ceph/pull/6201>`_, Loic Dachary) | |
493 | * tools: ceph-disk zap should ensure block device (`issue#11272 <http://tracker.ceph.com/issues/11272>`_, `pr#5755 <http://github.com/ceph/ceph/pull/5755>`_, Loic Dachary) | |
494 | ||
495 | For more detailed information, see :download:`the complete changelog <../changelog/v0.94.4.txt>`. | |
496 | ||
497 | ||
498 | v0.94.3 Hammer | |
499 | ============== | |
500 | ||
501 | This Hammer point release fixes a critical (though rare) data | |
502 | corruption bug that could be triggered when logs are rotated via | |
503 | SIGHUP. It also fixes a range of other important bugs in the OSD, | |
504 | monitor, RGW, RGW, and CephFS. | |
505 | ||
506 | All v0.94.x Hammer users are strongly encouraged to upgrade. | |
507 | ||
508 | Upgrading | |
509 | --------- | |
510 | ||
511 | * The ``pg ls-by-{pool,primary,osd}`` commands and ``pg ls`` now take | |
512 | the argument ``recovering`` instead of ``recovery`` in order to | |
513 | include the recovering pgs in the listed pgs. | |
514 | ||
515 | Notable Changes | |
516 | --------------- | |
517 | * librbd: aio calls may block (`issue#11770 <http://tracker.ceph.com/issues/11770>`_, `pr#4875 <http://github.com/ceph/ceph/pull/4875>`_, Jason Dillaman) | |
518 | * osd: make the all osd/filestore thread pool suicide timeouts separately configurable (`issue#11701 <http://tracker.ceph.com/issues/11701>`_, `pr#5159 <http://github.com/ceph/ceph/pull/5159>`_, Samuel Just) | |
519 | * mon: ceph fails to compile with boost 1.58 (`issue#11982 <http://tracker.ceph.com/issues/11982>`_, `pr#5122 <http://github.com/ceph/ceph/pull/5122>`_, Kefu Chai) | |
520 | * tests: TEST_crush_reject_empty must not run a mon (`issue#12285,11975 <http://tracker.ceph.com/issues/12285,11975>`_, `pr#5208 <http://github.com/ceph/ceph/pull/5208>`_, Kefu Chai) | |
521 | * osd: FAILED assert(!old_value.deleted()) in upgrade:giant-x-hammer-distro-basic-multi run (`issue#11983 <http://tracker.ceph.com/issues/11983>`_, `pr#5121 <http://github.com/ceph/ceph/pull/5121>`_, Samuel Just) | |
522 | * build/ops: linking ceph to tcmalloc causes segfault on SUSE SLE11-SP3 (`issue#12368 <http://tracker.ceph.com/issues/12368>`_, `pr#5265 <http://github.com/ceph/ceph/pull/5265>`_, Thorsten Behrens) | |
523 | * common: utf8 and old gcc breakage on RHEL6.5 (`issue#7387 <http://tracker.ceph.com/issues/7387>`_, `pr#4687 <http://github.com/ceph/ceph/pull/4687>`_, Kefu Chai) | |
524 | * crush: take crashes due to invalid arg (`issue#11740 <http://tracker.ceph.com/issues/11740>`_, `pr#4891 <http://github.com/ceph/ceph/pull/4891>`_, Sage Weil) | |
525 | * rgw: need conversion tool to handle fixes following #11974 (`issue#12502 <http://tracker.ceph.com/issues/12502>`_, `pr#5384 <http://github.com/ceph/ceph/pull/5384>`_, Yehuda Sadeh) | |
526 | * rgw: Swift API: support for 202 Accepted response code on container creation (`issue#12299 <http://tracker.ceph.com/issues/12299>`_, `pr#5214 <http://github.com/ceph/ceph/pull/5214>`_, Radoslaw Zarzynski) | |
527 | * common: Log::reopen_log_file: take m_flush_mutex (`issue#12520 <http://tracker.ceph.com/issues/12520>`_, `pr#5405 <http://github.com/ceph/ceph/pull/5405>`_, Samuel Just) | |
528 | * rgw: Properly respond to the Connection header with Civetweb (`issue#12398 <http://tracker.ceph.com/issues/12398>`_, `pr#5284 <http://github.com/ceph/ceph/pull/5284>`_, Wido den Hollander) | |
529 | * rgw: multipart list part response returns incorrect field (`issue#12399 <http://tracker.ceph.com/issues/12399>`_, `pr#5285 <http://github.com/ceph/ceph/pull/5285>`_, Henry Chang) | |
530 | * build/ops: ceph.spec.in: 95-ceph-osd.rules, mount.ceph, and mount.fuse.ceph not installed properly on SUSE (`issue#12397 <http://tracker.ceph.com/issues/12397>`_, `pr#5283 <http://github.com/ceph/ceph/pull/5283>`_, Nathan Cutler) | |
531 | * rgw: radosgw-admin dumps user info twice (`issue#12400 <http://tracker.ceph.com/issues/12400>`_, `pr#5286 <http://github.com/ceph/ceph/pull/5286>`_, guce) | |
532 | * doc: fix doc build (`issue#12180 <http://tracker.ceph.com/issues/12180>`_, `pr#5095 <http://github.com/ceph/ceph/pull/5095>`_, Kefu Chai) | |
533 | * tests: backport 11493 fixes, and test, preventing ec cache pools (`issue#12314 <http://tracker.ceph.com/issues/12314>`_, `pr#4961 <http://github.com/ceph/ceph/pull/4961>`_, Samuel Just) | |
534 | * rgw: does not send Date HTTP header when civetweb frontend is used (`issue#11872 <http://tracker.ceph.com/issues/11872>`_, `pr#5228 <http://github.com/ceph/ceph/pull/5228>`_, Radoslaw Zarzynski) | |
535 | * mon: pg ls is broken (`issue#11910 <http://tracker.ceph.com/issues/11910>`_, `pr#5160 <http://github.com/ceph/ceph/pull/5160>`_, Kefu Chai) | |
536 | * librbd: A client opening an image mid-resize can result in the object map being invalidated (`issue#12237 <http://tracker.ceph.com/issues/12237>`_, `pr#5279 <http://github.com/ceph/ceph/pull/5279>`_, Jason Dillaman) | |
537 | * doc: missing man pages for ceph-create-keys, ceph-disk-* (`issue#11862 <http://tracker.ceph.com/issues/11862>`_, `pr#4846 <http://github.com/ceph/ceph/pull/4846>`_, Nathan Cutler) | |
538 | * tools: ceph-post-file fails on rhel7 (`issue#11876 <http://tracker.ceph.com/issues/11876>`_, `pr#5038 <http://github.com/ceph/ceph/pull/5038>`_, Sage Weil) | |
539 | * build/ops: rcceph script is buggy (`issue#12090 <http://tracker.ceph.com/issues/12090>`_, `pr#5028 <http://github.com/ceph/ceph/pull/5028>`_, Owen Synge) | |
540 | * rgw: Bucket header is enclosed by quotes (`issue#11874 <http://tracker.ceph.com/issues/11874>`_, `pr#4862 <http://github.com/ceph/ceph/pull/4862>`_, Wido den Hollander) | |
541 | * build/ops: packaging: add SuSEfirewall2 service files (`issue#12092 <http://tracker.ceph.com/issues/12092>`_, `pr#5030 <http://github.com/ceph/ceph/pull/5030>`_, Tim Serong) | |
542 | * rgw: Keystone PKI token expiration is not enforced (`issue#11722 <http://tracker.ceph.com/issues/11722>`_, `pr#4884 <http://github.com/ceph/ceph/pull/4884>`_, Anton Aksola) | |
543 | * build/ops: debian/control: ceph-common (>> 0.94.2) must be >= 0.94.2-2 (`issue#12529,11998 <http://tracker.ceph.com/issues/12529,11998>`_, `pr#5417 <http://github.com/ceph/ceph/pull/5417>`_, Loic Dachary) | |
544 | * mon: Clock skew causes missing summary and confuses Calamari (`issue#11879 <http://tracker.ceph.com/issues/11879>`_, `pr#4868 <http://github.com/ceph/ceph/pull/4868>`_, Thorsten Behrens) | |
545 | * rgw: rados objects wronly deleted (`issue#12099 <http://tracker.ceph.com/issues/12099>`_, `pr#5117 <http://github.com/ceph/ceph/pull/5117>`_, wuxingyi) | |
546 | * tests: kernel_untar_build fails on EL7 (`issue#12098 <http://tracker.ceph.com/issues/12098>`_, `pr#5119 <http://github.com/ceph/ceph/pull/5119>`_, Greg Farnum) | |
547 | * fs: Fh ref count will leak if readahead does not need to do read from osd (`issue#12319 <http://tracker.ceph.com/issues/12319>`_, `pr#5427 <http://github.com/ceph/ceph/pull/5427>`_, Zhi Zhang) | |
548 | * mon: OSDMonitor: allow addition of cache pool with non-empty snaps with co… (`issue#12595 <http://tracker.ceph.com/issues/12595>`_, `pr#5252 <http://github.com/ceph/ceph/pull/5252>`_, Samuel Just) | |
549 | * mon: MDSMonitor: handle MDSBeacon messages properly (`issue#11979 <http://tracker.ceph.com/issues/11979>`_, `pr#5123 <http://github.com/ceph/ceph/pull/5123>`_, Kefu Chai) | |
550 | * tools: ceph-disk: get_partition_type fails on /dev/cciss... (`issue#11760 <http://tracker.ceph.com/issues/11760>`_, `pr#4892 <http://github.com/ceph/ceph/pull/4892>`_, islepnev) | |
551 | * build/ops: max files open limit for OSD daemon is too low (`issue#12087 <http://tracker.ceph.com/issues/12087>`_, `pr#5026 <http://github.com/ceph/ceph/pull/5026>`_, Owen Synge) | |
552 | * mon: add an "osd crush tree" command (`issue#11833 <http://tracker.ceph.com/issues/11833>`_, `pr#5248 <http://github.com/ceph/ceph/pull/5248>`_, Kefu Chai) | |
553 | * mon: mon crashes when "ceph osd tree 85 --format json" (`issue#11975 <http://tracker.ceph.com/issues/11975>`_, `pr#4936 <http://github.com/ceph/ceph/pull/4936>`_, Kefu Chai) | |
554 | * build/ops: ceph / ceph-dbg steal ceph-objecstore-tool from ceph-test / ceph-test-dbg (`issue#11806 <http://tracker.ceph.com/issues/11806>`_, `pr#5069 <http://github.com/ceph/ceph/pull/5069>`_, Loic Dachary) | |
555 | * rgw: DragonDisk fails to create directories via S3: MissingContentLength (`issue#12042 <http://tracker.ceph.com/issues/12042>`_, `pr#5118 <http://github.com/ceph/ceph/pull/5118>`_, Yehuda Sadeh) | |
556 | * build/ops: /usr/bin/ceph from ceph-common is broken without installing ceph (`issue#11998 <http://tracker.ceph.com/issues/11998>`_, `pr#5206 <http://github.com/ceph/ceph/pull/5206>`_, Ken Dreyer) | |
557 | * build/ops: systemd: Increase max files open limit for OSD daemon (`issue#11964 <http://tracker.ceph.com/issues/11964>`_, `pr#5040 <http://github.com/ceph/ceph/pull/5040>`_, Owen Synge) | |
558 | * build/ops: rgw/logrotate.conf calls service with wrong init script name (`issue#12044 <http://tracker.ceph.com/issues/12044>`_, `pr#5055 <http://github.com/ceph/ceph/pull/5055>`_, wuxingyi) | |
559 | * common: OPT_INT option interprets 3221225472 as -1073741824, and crashes in Throttle::Throttle() (`issue#11738 <http://tracker.ceph.com/issues/11738>`_, `pr#4889 <http://github.com/ceph/ceph/pull/4889>`_, Kefu Chai) | |
560 | * doc: doc/release-notes: v0.94.2 (`issue#11492 <http://tracker.ceph.com/issues/11492>`_, `pr#4934 <http://github.com/ceph/ceph/pull/4934>`_, Sage Weil) | |
561 | * common: admin_socket: close socket descriptor in destructor (`issue#11706 <http://tracker.ceph.com/issues/11706>`_, `pr#4657 <http://github.com/ceph/ceph/pull/4657>`_, Jon Bernard) | |
562 | * rgw: Object copy bug (`issue#11755 <http://tracker.ceph.com/issues/11755>`_, `pr#4885 <http://github.com/ceph/ceph/pull/4885>`_, Javier M. Mellid) | |
563 | * rgw: empty json response when getting user quota (`issue#12245 <http://tracker.ceph.com/issues/12245>`_, `pr#5237 <http://github.com/ceph/ceph/pull/5237>`_, wuxingyi) | |
564 | * fs: cephfs Dumper tries to load whole journal into memory at once (`issue#11999 <http://tracker.ceph.com/issues/11999>`_, `pr#5120 <http://github.com/ceph/ceph/pull/5120>`_, John Spray) | |
565 | * rgw: Fix tool for #11442 does not correctly fix objects created via multipart uploads (`issue#12242 <http://tracker.ceph.com/issues/12242>`_, `pr#5229 <http://github.com/ceph/ceph/pull/5229>`_, Yehuda Sadeh) | |
566 | * rgw: Civetweb RGW appears to report full size of object as downloaded when only partially downloaded (`issue#12243 <http://tracker.ceph.com/issues/12243>`_, `pr#5231 <http://github.com/ceph/ceph/pull/5231>`_, Yehuda Sadeh) | |
567 | * osd: stuck incomplete (`issue#12362 <http://tracker.ceph.com/issues/12362>`_, `pr#5269 <http://github.com/ceph/ceph/pull/5269>`_, Samuel Just) | |
568 | * osd: start_flush: filter out removed snaps before determining snapc's (`issue#11911 <http://tracker.ceph.com/issues/11911>`_, `pr#4899 <http://github.com/ceph/ceph/pull/4899>`_, Samuel Just) | |
569 | * librbd: internal.cc: 1967: FAILED assert(watchers.size() == 1) (`issue#12239 <http://tracker.ceph.com/issues/12239>`_, `pr#5243 <http://github.com/ceph/ceph/pull/5243>`_, Jason Dillaman) | |
570 | * librbd: new QA client upgrade tests (`issue#12109 <http://tracker.ceph.com/issues/12109>`_, `pr#5046 <http://github.com/ceph/ceph/pull/5046>`_, Jason Dillaman) | |
571 | * librbd: [ FAILED ] TestLibRBD.ExclusiveLockTransition (`issue#12238 <http://tracker.ceph.com/issues/12238>`_, `pr#5241 <http://github.com/ceph/ceph/pull/5241>`_, Jason Dillaman) | |
572 | * rgw: Swift API: XML document generated in response for GET on account does not contain account name (`issue#12323 <http://tracker.ceph.com/issues/12323>`_, `pr#5227 <http://github.com/ceph/ceph/pull/5227>`_, Radoslaw Zarzynski) | |
573 | * rgw: keystone does not support chunked input (`issue#12322 <http://tracker.ceph.com/issues/12322>`_, `pr#5226 <http://github.com/ceph/ceph/pull/5226>`_, Hervé Rousseau) | |
574 | * mds: MDS is crashed (mds/CDir.cc: 1391: FAILED assert(!is_complete())) (`issue#11737 <http://tracker.ceph.com/issues/11737>`_, `pr#4886 <http://github.com/ceph/ceph/pull/4886>`_, Yan, Zheng) | |
575 | * cli: ceph: cli interactive mode does not understand quotes (`issue#11736 <http://tracker.ceph.com/issues/11736>`_, `pr#4776 <http://github.com/ceph/ceph/pull/4776>`_, Kefu Chai) | |
576 | * librbd: add valgrind memory checks for unit tests (`issue#12384 <http://tracker.ceph.com/issues/12384>`_, `pr#5280 <http://github.com/ceph/ceph/pull/5280>`_, Zhiqiang Wang) | |
577 | * build/ops: admin/build-doc: script fails silently under certain circumstances (`issue#11902 <http://tracker.ceph.com/issues/11902>`_, `pr#4877 <http://github.com/ceph/ceph/pull/4877>`_, John Spray) | |
578 | * osd: Fixes for rados ops with snaps (`issue#11908 <http://tracker.ceph.com/issues/11908>`_, `pr#4902 <http://github.com/ceph/ceph/pull/4902>`_, Samuel Just) | |
579 | * build/ops: ceph.spec.in: ceph-common subpackage def needs tweaking for SUSE/openSUSE (`issue#12308 <http://tracker.ceph.com/issues/12308>`_, `pr#4883 <http://github.com/ceph/ceph/pull/4883>`_, Nathan Cutler) | |
580 | * fs: client: reference counting 'struct Fh' (`issue#12088 <http://tracker.ceph.com/issues/12088>`_, `pr#5222 <http://github.com/ceph/ceph/pull/5222>`_, Yan, Zheng) | |
581 | * build/ops: ceph.spec: update OpenSUSE BuildRequires (`issue#11611 <http://tracker.ceph.com/issues/11611>`_, `pr#4667 <http://github.com/ceph/ceph/pull/4667>`_, Loic Dachary) | |
582 | ||
583 | For more detailed information, see :download:`the complete changelog <../changelog/v0.94.3.txt>`. | |
584 | ||
585 | ||
586 | ||
587 | v0.94.2 Hammer | |
588 | ============== | |
589 | ||
590 | This Hammer point release fixes a few critical bugs in RGW that can | |
591 | prevent objects starting with underscore from behaving properly and | |
592 | that prevent garbage collection of deleted objects when using the | |
593 | Civetweb standalone mode. | |
594 | ||
595 | All v0.94.x Hammer users are strongly encouraged to upgrade, and to | |
596 | make note of the repair procedure below if RGW is in use. | |
597 | ||
598 | Upgrading from previous Hammer release | |
599 | -------------------------------------- | |
600 | ||
601 | Bug #11442 introduced a change that made rgw objects that start with underscore | |
602 | incompatible with previous versions. The fix to that bug reverts to the | |
603 | previous behavior. In order to be able to access objects that start with an | |
604 | underscore and were created in prior Hammer releases, following the upgrade it | |
605 | is required to run (for each affected bucket):: | |
606 | ||
607 | $ radosgw-admin bucket check --check-head-obj-locator \ | |
608 | --bucket=<bucket> [--fix] | |
609 | ||
610 | Notable changes | |
611 | --------------- | |
612 | ||
613 | * build: compilation error: No high-precision counter available (armhf, powerpc..) (#11432, James Page) | |
614 | * ceph-dencoder links to libtcmalloc, and shouldn't (#10691, Boris Ranto) | |
615 | * ceph-disk: disk zap sgdisk invocation (#11143, Owen Synge) | |
616 | * ceph-disk: use a new disk as journal disk,ceph-disk prepare fail (#10983, Loic Dachary) | |
617 | * ceph-objectstore-tool should be in the ceph server package (#11376, Ken Dreyer) | |
618 | * librados: can get stuck in redirect loop if osdmap epoch == last_force_op_resend (#11026, Jianpeng Ma) | |
619 | * librbd: A retransmit of proxied flatten request can result in -EINVAL (Jason Dillaman) | |
620 | * librbd: ImageWatcher should cancel in-flight ops on watch error (#11363, Jason Dillaman) | |
621 | * librbd: Objectcacher setting max object counts too low (#7385, Jason Dillaman) | |
622 | * librbd: Periodic failure of TestLibRBD.DiffIterateStress (#11369, Jason Dillaman) | |
623 | * librbd: Queued AIO reference counters not properly updated (#11478, Jason Dillaman) | |
624 | * librbd: deadlock in image refresh (#5488, Jason Dillaman) | |
625 | * librbd: notification race condition on snap_create (#11342, Jason Dillaman) | |
626 | * mds: Hammer uclient checking (#11510, John Spray) | |
627 | * mds: remove caps from revoking list when caps are voluntarily released (#11482, Yan, Zheng) | |
628 | * messenger: double clear of pipe in reaper (#11381, Haomai Wang) | |
629 | * mon: Total size of OSDs is a maginitude less than it is supposed to be. (#11534, Zhe Zhang) | |
630 | * osd: don't check order in finish_proxy_read (#11211, Zhiqiang Wang) | |
631 | * osd: handle old semi-deleted pgs after upgrade (#11429, Samuel Just) | |
632 | * osd: object creation by write cannot use an offset on an erasure coded pool (#11507, Jianpeng Ma) | |
633 | * rgw: Improve rgw HEAD request by avoiding read the body of the first chunk (#11001, Guang Yang) | |
634 | * rgw: civetweb is hitting a limit (number of threads 1024) (#10243, Yehuda Sadeh) | |
635 | * rgw: civetweb should use unique request id (#10295, Orit Wasserman) | |
636 | * rgw: critical fixes for hammer (#11447, #11442, Yehuda Sadeh) | |
637 | * rgw: fix swift COPY headers (#10662, #10663, #11087, #10645, Radoslaw Zarzynski) | |
638 | * rgw: improve performance for large object (multiple chunks) GET (#11322, Guang Yang) | |
639 | * rgw: init-radosgw: run RGW as root (#11453, Ken Dreyer) | |
640 | * rgw: keystone token cache does not work correctly (#11125, Yehuda Sadeh) | |
641 | * rgw: make quota/gc thread configurable for starting (#11047, Guang Yang) | |
642 | * rgw: make swift responses of RGW return last-modified, content-length, x-trans-id headers.(#10650, Radoslaw Zarzynski) | |
643 | * rgw: merge manifests correctly when there's prefix override (#11622, Yehuda Sadeh) | |
644 | * rgw: quota not respected in POST object (#11323, Sergey Arkhipov) | |
645 | * rgw: restore buffer of multipart upload after EEXIST (#11604, Yehuda Sadeh) | |
646 | * rgw: shouldn't need to disable rgw_socket_path if frontend is configured (#11160, Yehuda Sadeh) | |
647 | * rgw: swift: Response header of GET request for container does not contain X-Container-Object-Count, X-Container-Bytes-Used and x-trans-id headers (#10666, Dmytro Iurchenko) | |
648 | * rgw: swift: Response header of POST request for object does not contain content-length and x-trans-id headers (#10661, Radoslaw Zarzynski) | |
649 | * rgw: swift: response for GET/HEAD on container does not contain the X-Timestamp header (#10938, Radoslaw Zarzynski) | |
650 | * rgw: swift: response for PUT on /container does not contain the mandatory Content-Length header when FCGI is used (#11036, #10971, Radoslaw Zarzynski) | |
651 | * rgw: swift: wrong handling of empty metadata on Swift container (#11088, Radoslaw Zarzynski) | |
652 | * tests: TestFlatIndex.cc races with TestLFNIndex.cc (#11217, Xinze Chi) | |
653 | * tests: ceph-helpers kill_daemons fails when kill fails (#11398, Loic Dachary) | |
654 | ||
655 | For more detailed information, see :download:`the complete changelog <../changelog/v0.94.2.txt>`. | |
656 | ||
657 | ||
658 | v0.94.1 Hammer | |
659 | ============== | |
660 | ||
661 | This bug fix release fixes a few critical issues with CRUSH. The most | |
662 | important addresses a bug in feature bit enforcement that may prevent | |
663 | pre-hammer clients from communicating with the cluster during an | |
664 | upgrade. This only manifests in some cases (for example, when the | |
665 | 'rack' type is in use in the CRUSH map, and possibly other cases), but for | |
666 | safety we strongly recommend that all users use 0.94.1 instead of 0.94 when | |
667 | upgrading. | |
668 | ||
669 | There is also a fix in the new straw2 buckets when OSD weights are 0. | |
670 | ||
671 | We recommend that all v0.94 users upgrade. | |
672 | ||
673 | Notable changes | |
674 | --------------- | |
675 | ||
676 | * crush: fix divide-by-0 in straw2 (#11357 Sage Weil) | |
677 | * crush: fix has_v4_buckets (#11364 Sage Weil) | |
678 | * osd: fix negative degraded objects during backfilling (#7737 Guang Yang) | |
679 | ||
680 | For more detailed information, see :download:`the complete changelog <../changelog/v0.94.1.txt>`. | |
681 | ||
682 | ||
683 | v0.94 Hammer | |
684 | ============ | |
685 | ||
686 | This major release is expected to form the basis of the next long-term | |
687 | stable series. It is intended to supersede v0.80.x Firefly. | |
688 | ||
689 | Highlights since Giant include: | |
690 | ||
691 | * *RADOS Performance*: a range of improvements have been made in the | |
692 | OSD and client-side librados code that improve the throughput on | |
693 | flash backends and improve parallelism and scaling on fast machines. | |
694 | * *Simplified RGW deployment*: the ceph-deploy tool now has a new | |
695 | 'ceph-deploy rgw create HOST' command that quickly deploys a | |
696 | instance of the S3/Swift gateway using the embedded Civetweb server. | |
697 | This is vastly simpler than the previous Apache-based deployment. | |
698 | There are a few rough edges (e.g., around SSL support) but we | |
699 | encourage users to try `the new method`_. | |
700 | * *RGW object versioning*: RGW now supports the S3 object versioning | |
701 | API, which preserves old version of objects instead of overwriting | |
702 | them. | |
703 | * *RGW bucket sharding*: RGW can now shard the bucket index for large | |
704 | buckets across, improving performance for very large buckets. | |
705 | * *RBD object maps*: RBD now has an object map function that tracks | |
706 | which parts of the image are allocating, improving performance for | |
707 | clones and for commands like export and delete. | |
708 | * *RBD mandatory locking*: RBD has a new mandatory locking framework | |
709 | (still disabled by default) that adds additional safeguards to | |
710 | prevent multiple clients from using the same image at the same time. | |
711 | * *RBD copy-on-read*: RBD now supports copy-on-read for image clones, | |
712 | improving performance for some workloads. | |
713 | * *CephFS snapshot improvements*: Many many bugs have been fixed with | |
714 | CephFS snapshots. Although they are still disabled by default, | |
715 | stability has improved significantly. | |
716 | * *CephFS Recovery tools*: We have built some journal recovery and | |
717 | diagnostic tools. Stability and performance of single-MDS systems is | |
718 | vastly improved in Giant, and more improvements have been made now | |
719 | in Hammer. Although we still recommend caution when storing | |
720 | important data in CephFS, we do encourage testing for non-critical | |
721 | workloads so that we can better gauge the feature, usability, | |
722 | performance, and stability gaps. | |
723 | * *CRUSH improvements*: We have added a new straw2 bucket algorithm | |
724 | that reduces the amount of data migration required when changes are | |
725 | made to the cluster. | |
726 | * *Shingled erasure codes (SHEC)*: The OSDs now have experimental | |
727 | support for shingled erasure codes, which allow a small amount of | |
728 | additional storage to be traded for improved recovery performance. | |
729 | * *RADOS cache tiering*: A series of changes have been made in the | |
730 | cache tiering code that improve performance and reduce latency. | |
731 | * *RDMA support*: There is now experimental support the RDMA via the | |
732 | Accelio (libxio) library. | |
733 | * *New administrator commands*: The 'ceph osd df' command shows | |
734 | pertinent details on OSD disk utilizations. The 'ceph pg ls ...' | |
735 | command makes it much simpler to query PG states while diagnosing | |
736 | cluster issues. | |
737 | ||
738 | .. _the new method: ../start/quick-ceph-deploy/#add-an-rgw-instance | |
739 | ||
740 | Other highlights since Firefly include: | |
741 | ||
742 | * *CephFS*: we have fixed a raft of bugs in CephFS and built some | |
743 | basic journal recovery and diagnostic tools. Stability and | |
744 | performance of single-MDS systems is vastly improved in Giant. | |
745 | Although we do not yet recommend CephFS for production deployments, | |
746 | we do encourage testing for non-critical workloads so that we can | |
747 | better gauge the feature, usability, performance, and stability | |
748 | gaps. | |
749 | * *Local Recovery Codes*: the OSDs now support an erasure-coding scheme | |
750 | that stores some additional data blocks to reduce the IO required to | |
751 | recover from single OSD failures. | |
752 | * *Degraded vs misplaced*: the Ceph health reports from 'ceph -s' and | |
753 | related commands now make a distinction between data that is | |
754 | degraded (there are fewer than the desired number of copies) and | |
755 | data that is misplaced (stored in the wrong location in the | |
756 | cluster). The distinction is important because the latter does not | |
757 | compromise data safety. | |
758 | * *Tiering improvements*: we have made several improvements to the | |
759 | cache tiering implementation that improve performance. Most | |
760 | notably, objects are not promoted into the cache tier by a single | |
761 | read; they must be found to be sufficiently hot before that happens. | |
762 | * *Monitor performance*: the monitors now perform writes to the local | |
763 | data store asynchronously, improving overall responsiveness. | |
764 | * *Recovery tools*: the ceph-objectstore-tool is greatly expanded to | |
765 | allow manipulation of an individual OSDs data store for debugging | |
766 | and repair purposes. This is most heavily used by our QA | |
767 | infrastructure to exercise recovery code. | |
768 | ||
769 | I would like to take this opportunity to call out the amazing growth | |
770 | in contributors to Ceph beyond the core development team from Inktank. | |
771 | Hammer features major new features and improvements from Intel, Fujitsu, | |
772 | UnitedStack, Yahoo, UbuntuKylin, CohortFS, Mellanox, CERN, Deutsche | |
773 | Telekom, Mirantis, and SanDisk. | |
774 | ||
775 | Dedication | |
776 | ---------- | |
777 | ||
778 | This release is dedicated in memoriam to Sandon Van Ness, aka | |
779 | Houkouonchi, who unexpectedly passed away a few weeks ago. Sandon was | |
780 | responsible for maintaining the large and complex Sepia lab that | |
781 | houses the Ceph project's build and test infrastructure. His efforts | |
782 | have made an important impact on our ability to reliably test Ceph | |
783 | with a relatively small group of people. He was a valued member of | |
784 | the team and we will miss him. H is also for Houkouonchi. | |
785 | ||
786 | Upgrading | |
787 | --------- | |
788 | ||
789 | * If your existing cluster is running a version older than v0.80.x | |
790 | Firefly, please first upgrade to the latest Firefly release before | |
791 | moving on to Giant. We have not tested upgrades directly from | |
792 | Emperor, Dumpling, or older releases. | |
793 | ||
794 | We *have* tested: | |
795 | ||
796 | * Firefly to Hammer | |
797 | * Giant to Hammer | |
798 | * Dumpling to Firefly to Hammer | |
799 | ||
800 | * Please upgrade daemons in the following order: | |
801 | ||
802 | #. Monitors | |
803 | #. OSDs | |
804 | #. MDSs and/or radosgw | |
805 | ||
806 | Note that the relative ordering of OSDs and monitors should not matter, but | |
807 | we primarily tested upgrading monitors first. | |
808 | ||
809 | * The ceph-osd daemons will perform a disk-format upgrade improve the | |
810 | PG metadata layout and to repair a minor bug in the on-disk format. | |
811 | It may take a minute or two for this to complete, depending on how | |
812 | many objects are stored on the node; do not be alarmed if they do | |
813 | not marked "up" by the cluster immediately after starting. | |
814 | ||
815 | * If upgrading from v0.93, set | |
816 | osd enable degraded writes = false | |
817 | ||
818 | on all osds prior to upgrading. The degraded writes feature has | |
819 | been reverted due to 11155. | |
820 | ||
821 | * The LTTNG tracing in librbd and librados is disabled in the release packages | |
822 | until we find a way to avoid violating distro security policies when linking | |
823 | libust. | |
824 | ||
825 | Upgrading from v0.87.x Giant | |
826 | ---------------------------- | |
827 | ||
828 | * librbd and librados include lttng tracepoints on distros with | |
829 | liblttng 2.4 or later (only Ubuntu Trusty for the ceph.com | |
830 | packages). When running a daemon that uses these libraries, i.e. an | |
831 | application that calls fork(2) or clone(2) without exec(3), you must | |
832 | set LD_PRELOAD=liblttng-ust-fork.so.0 to prevent a crash in the | |
833 | lttng atexit handler when the process exits. The only ceph tool that | |
834 | requires this is rbd-fuse. | |
835 | ||
836 | * If rgw_socket_path is defined and rgw_frontends defines a | |
837 | socket_port and socket_host, we now allow the rgw_frontends settings | |
838 | to take precedence. This change should only affect users who have | |
839 | made non-standard changes to their radosgw configuration. | |
840 | ||
841 | * If you are upgrading specifically from v0.92, you must stop all OSD | |
842 | daemons and flush their journals (``ceph-osd -i NNN | |
843 | --flush-journal``) before upgrading. There was a transaction | |
844 | encoding bug in v0.92 that broke compatibility. Upgrading from v0.93, | |
845 | v0.91, or anything earlier is safe. | |
846 | ||
847 | * The experimental 'keyvaluestore-dev' OSD backend has been renamed | |
848 | 'keyvaluestore' (for simplicity) and marked as experimental. To | |
849 | enable this untested feature and acknowledge that you understand | |
850 | that it is untested and may destroy data, you need to add the | |
851 | following to your ceph.conf:: | |
852 | ||
853 | enable experimental unrecoverable data corrupting features = keyvaluestore | |
854 | ||
855 | * The following librados C API function calls take a 'flags' argument whose value | |
856 | is now correctly interpreted: | |
857 | ||
858 | rados_write_op_operate() | |
859 | rados_aio_write_op_operate() | |
860 | rados_read_op_operate() | |
861 | rados_aio_read_op_operate() | |
862 | ||
863 | The flags were not correctly being translated from the librados constants to the | |
864 | internal values. Now they are. Any code that is passing flags to these methods | |
865 | should be audited to ensure that they are using the correct LIBRADOS_OP_FLAG_* | |
866 | constants. | |
867 | ||
868 | * The 'rados' CLI 'copy' and 'cppool' commands now use the copy-from operation, | |
869 | which means the latest CLI cannot run these commands against pre-firefly OSDs. | |
870 | ||
871 | * The librados watch/notify API now includes a watch_flush() operation to flush | |
872 | the async queue of notify operations. This should be called by any watch/notify | |
873 | user prior to rados_shutdown(). | |
874 | ||
875 | * The 'category' field for objects has been removed. This was originally added | |
876 | to track PG stat summations over different categories of objects for use by | |
877 | radosgw. It is no longer has any known users and is prone to abuse because it | |
878 | can lead to a pg_stat_t structure that is unbounded. The librados API calls | |
879 | that accept this field now ignore it, and the OSD no longer tracks the | |
880 | per-category summations. | |
881 | ||
882 | * The output for 'rados df' has changed. The 'category' level has been | |
883 | eliminated, so there is now a single stat object per pool. The structure of | |
884 | the JSON output is different, and the plaintext output has one less column. | |
885 | ||
886 | * The 'rados create <objectname> [category]' optional category argument is no | |
887 | longer supported or recognized. | |
888 | ||
889 | * rados.py's Rados class no longer has a __del__ method; it was causing | |
890 | problems on interpreter shutdown and use of threads. If your code has | |
891 | Rados objects with limited lifetimes and you're concerned about locked | |
892 | resources, call Rados.shutdown() explicitly. | |
893 | ||
894 | * There is a new version of the librados watch/notify API with vastly | |
895 | improved semantics. Any applications using this interface are | |
896 | encouraged to migrate to the new API. The old API calls are marked | |
897 | as deprecated and will eventually be removed. | |
898 | ||
899 | * The librados rados_unwatch() call used to be safe to call on an | |
900 | invalid handle. The new version has undefined behavior when passed | |
901 | a bogus value (for example, when rados_watch() returns an error and | |
902 | handle is not defined). | |
903 | ||
904 | * The structure of the formatted 'pg stat' command is changed for the | |
905 | portion that counts states by name to avoid using the '+' character | |
906 | (which appears in state names) as part of the XML token (it is not | |
907 | legal). | |
908 | ||
909 | * Previously, the formatted output of 'ceph pg stat -f ...' was a full | |
910 | pg dump that included all metadata about all PGs in the system. It | |
911 | is now a concise summary of high-level PG stats, just like the | |
912 | unformatted 'ceph pg stat' command. | |
913 | ||
914 | * All JSON dumps of floating point values were incorrecting surrounding the | |
915 | value with quotes. These quotes have been removed. Any consumer of structured | |
916 | JSON output that was consuming the floating point values was previously having | |
917 | to interpret the quoted string and will most likely need to be fixed to take | |
918 | the unquoted number. | |
919 | ||
920 | * New ability to list all objects from all namespaces that can fail or | |
921 | return incomplete results when not all OSDs have been upgraded. | |
922 | Features rados --all ls, rados cppool, rados export, rados | |
923 | cache-flush-evict-all and rados cache-try-flush-evict-all can also | |
924 | fail or return incomplete results. | |
925 | ||
926 | * Due to a change in the Linux kernel version 3.18 and the limits of the FUSE | |
927 | interface, ceph-fuse needs be mounted as root on at least some systems. See | |
928 | issues #9997, #10277, and #10542 for details. | |
929 | ||
930 | Upgrading from v0.80x Firefly (additional notes) | |
931 | ------------------------------------------------ | |
932 | ||
933 | * The client-side caching for librbd is now enabled by default (rbd | |
934 | cache = true). A safety option (rbd cache writethrough until flush | |
935 | = true) is also enabled so that writeback caching is not used until | |
936 | the library observes a 'flush' command, indicating that the librbd | |
937 | users is passing that operation through from the guest VM. This | |
938 | avoids potential data loss when used with older versions of qemu | |
939 | that do not support flush. | |
940 | ||
941 | leveldb_write_buffer_size = 8*1024*1024 = 33554432 // 8MB | |
942 | leveldb_cache_size = 512*1024*1204 = 536870912 // 512MB | |
943 | leveldb_block_size = 64*1024 = 65536 // 64KB | |
944 | leveldb_compression = false | |
945 | leveldb_log = "" | |
946 | ||
947 | OSDs will still maintain the following osd-specific defaults: | |
948 | ||
949 | leveldb_log = "" | |
950 | ||
951 | * The 'rados getxattr ...' command used to add a gratuitous newline to the attr | |
952 | value; it now does not. | |
953 | ||
954 | * The ``*_kb perf`` counters on the monitor have been removed. These are | |
955 | replaced with a new set of ``*_bytes`` counters (e.g., ``cluster_osd_kb`` is | |
956 | replaced by ``cluster_osd_bytes``). | |
957 | ||
958 | * The ``rd_kb`` and ``wr_kb`` fields in the JSON dumps for pool stats (accessed | |
959 | via the ``ceph df detail -f json-pretty`` and related commands) have been | |
960 | replaced with corresponding ``*_bytes`` fields. Similarly, the | |
961 | ``total_space``, ``total_used``, and ``total_avail`` fields are replaced with | |
962 | ``total_bytes``, ``total_used_bytes``, and ``total_avail_bytes`` fields. | |
963 | ||
964 | * The ``rados df --format=json`` output ``read_bytes`` and ``write_bytes`` | |
965 | fields were incorrectly reporting ops; this is now fixed. | |
966 | ||
967 | * The ``rados df --format=json`` output previously included ``read_kb`` and | |
968 | ``write_kb`` fields; these have been removed. Please use ``read_bytes`` and | |
969 | ``write_bytes`` instead (and divide by 1024 if appropriate). | |
970 | ||
971 | * The experimental keyvaluestore-dev OSD backend had an on-disk format | |
972 | change that prevents existing OSD data from being upgraded. This | |
973 | affects developers and testers only. | |
974 | ||
975 | * mon-specific and osd-specific leveldb options have been removed. | |
976 | From this point onward users should use the `leveldb_*` generic | |
977 | options and add the options in the appropriate sections of their | |
978 | configuration files. Monitors will still maintain the following | |
979 | monitor-specific defaults: | |
980 | ||
981 | leveldb_write_buffer_size = 8*1024*1024 = 33554432 // 8MB | |
982 | leveldb_cache_size = 512*1024*1204 = 536870912 // 512MB | |
983 | leveldb_block_size = 64*1024 = 65536 // 64KB | |
984 | leveldb_compression = false | |
985 | leveldb_log = "" | |
986 | ||
987 | OSDs will still maintain the following osd-specific defaults: | |
988 | ||
989 | leveldb_log = "" | |
990 | ||
991 | * CephFS support for the legacy anchor table has finally been removed. | |
992 | Users with file systems created before firefly should ensure that inodes | |
993 | with multiple hard links are modified *prior* to the upgrade to ensure that | |
994 | the backtraces are written properly. For example:: | |
995 | ||
996 | sudo find /mnt/cephfs -type f -links +1 -exec touch \{\} \; | |
997 | ||
998 | * We disallow nonsensical 'tier cache-mode' transitions. From this point | |
999 | onward, 'writeback' can only transition to 'forward' and 'forward' | |
1000 | can transition to 1) 'writeback' if there are dirty objects, or 2) any if | |
1001 | there are no dirty objects. | |
1002 | ||
1003 | ||
1004 | Notable changes since v0.93 | |
1005 | --------------------------- | |
1006 | ||
1007 | * build: a few cmake fixes (Matt Benjamin) | |
1008 | * build: fix build on RHEL/CentOS 5.9 (Rohan Mars) | |
1009 | * build: reorganize Makefile to allow modular builds (Boris Ranto) | |
1010 | * ceph-fuse: be more forgiving on remount (#10982 Greg Farnum) | |
1011 | * ceph: improve CLI parsing (#11093 David Zafman) | |
1012 | * common: fix cluster logging to default channel (#11177 Sage Weil) | |
1013 | * crush: fix parsing of straw2 buckets (#11015 Sage Weil) | |
1014 | * doc: update man pages (David Zafman) | |
1015 | * librados: fix leak in C_TwoContexts (Xiong Yiliang) | |
1016 | * librados: fix leak in watch/notify path (Sage Weil) | |
1017 | * librbd: fix and improve AIO cache invalidation (#10958 Jason Dillaman) | |
1018 | * librbd: fix memory leak (Jason Dillaman) | |
1019 | * librbd: fix ordering/queueing of resize operations (Jason Dillaman) | |
1020 | * librbd: validate image is r/w on resize/flatten (Jason Dillaman) | |
1021 | * librbd: various internal locking fixes (Jason Dillaman) | |
1022 | * lttng: tracing is disabled until we streamline dependencies (Josh Durgin) | |
1023 | * mon: add bootstrap-rgw profile (Sage Weil) | |
1024 | * mon: do not pollute mon dir with CSV files from CRUSH check (Loic Dachary) | |
1025 | * mon: fix clock drift time check interval (#10546 Joao Eduardo Luis) | |
1026 | * mon: fix units in store stats (Joao Eduardo Luis) | |
1027 | * mon: improve error handling on erasure code profile set (#10488, #11144 Loic Dachary) | |
1028 | * mon: set {read,write}_tier on 'osd tier add-cache ...' (Jianpeng Ma) | |
1029 | * ms: xio: fix misc bugs (Matt Benjamin, Vu Pham) | |
1030 | * osd: DBObjectMap: fix locking to prevent rare crash (#9891 Samuel Just) | |
1031 | * osd: fix and document last_epoch_started semantics (Samuel Just) | |
1032 | * osd: fix divergent entry handling on PG split (Samuel Just) | |
1033 | * osd: fix leak on shutdown (Kefu Chai) | |
1034 | * osd: fix recording of digest on scrub (Samuel Just) | |
1035 | * osd: fix whiteout handling (Sage Weil) | |
1036 | * rbd: allow v2 striping parameters for clones and imports (Jason Dillaman) | |
1037 | * rbd: fix formatted output of image features (Jason Dillaman) | |
1038 | * rbd: updat eman page (Ilya Dryomov) | |
1039 | * rgw: don't overwrite bucket/object owner when setting ACLs (#10978 Yehuda Sadeh) | |
1040 | * rgw: enable IPv6 for civetweb (#10965 Yehuda Sadeh) | |
1041 | * rgw: fix sysvinit script when rgw_socket_path is not defined (#11159 Yehuda Sadeh, Dan Mick) | |
1042 | * rgw: pass civetweb configurables through (#10907 Yehuda Sadeh) | |
1043 | * rgw: use new watch/notify API (Yehuda Sadeh, Sage Weil) | |
1044 | * osd: reverted degraded writes feature due to 11155 | |
1045 | ||
1046 | Notable changes since v0.87.x Giant | |
1047 | ----------------------------------- | |
1048 | ||
1049 | * add experimental features option (Sage Weil) | |
1050 | * arch: fix NEON feaeture detection (#10185 Loic Dachary) | |
1051 | * asyncmsgr: misc fixes (Haomai Wang) | |
1052 | * buffer: add 'shareable' construct (Matt Benjamin) | |
1053 | * buffer: add list::get_contiguous (Sage Weil) | |
1054 | * buffer: avoid rebuild if buffer already contiguous (Jianpeng Ma) | |
1055 | * build: CMake support (Ali Maredia, Casey Bodley, Adam Emerson, Marcus Watts, Matt Benjamin) | |
1056 | * build: a few cmake fixes (Matt Benjamin) | |
1057 | * build: aarch64 build fixes (Noah Watkins, Haomai Wang) | |
1058 | * build: adjust build deps for yasm, virtualenv (Jianpeng Ma) | |
1059 | * build: fix 'make check' races (#10384 Loic Dachary) | |
1060 | * build: fix build on RHEL/CentOS 5.9 (Rohan Mars) | |
1061 | * build: fix pkg names when libkeyutils is missing (Pankag Garg, Ken Dreyer) | |
1062 | * build: improve build dependency tooling (Loic Dachary) | |
1063 | * build: reorganize Makefile to allow modular builds (Boris Ranto) | |
1064 | * build: support for jemalloc (Shishir Gowda) | |
1065 | * ceph-disk: Scientific Linux support (Dan van der Ster) | |
1066 | * ceph-disk: allow journal partition re-use (#10146 Loic Dachary, Dav van der Ster) | |
1067 | * ceph-disk: call partx/partprobe consistency (#9721 Loic Dachary) | |
1068 | * ceph-disk: do not re-use partition if encryption is required (Loic Dachary) | |
1069 | * ceph-disk: fix dmcrypt key permissions (Loic Dachary) | |
1070 | * ceph-disk: fix umount race condition (#10096 Blaine Gardner) | |
1071 | * ceph-disk: improved systemd support (Owen Synge) | |
1072 | * ceph-disk: init=none option (Loic Dachary) | |
1073 | * ceph-disk: misc fixes (Christos Stavrakakis) | |
1074 | * ceph-disk: respect --statedir for keyring (Loic Dachary) | |
1075 | * ceph-disk: set guid if reusing journal partition (Dan van der Ster) | |
1076 | * ceph-disk: support LUKS for encrypted partitions (Andrew Bartlett, Loic Dachary) | |
1077 | * ceph-fuse, libcephfs: POSIX file lock support (Yan, Zheng) | |
1078 | * ceph-fuse, libcephfs: allow xattr caps in inject_release_failure (#9800 John Spray) | |
1079 | * ceph-fuse, libcephfs: fix I_COMPLETE_ORDERED checks (#9894 Yan, Zheng) | |
1080 | * ceph-fuse, libcephfs: fix cap flush overflow (Greg Farnum, Yan, Zheng) | |
1081 | * ceph-fuse, libcephfs: fix root inode xattrs (Yan, Zheng) | |
1082 | * ceph-fuse, libcephfs: preserve dir ordering (#9178 Yan, Zheng) | |
1083 | * ceph-fuse, libcephfs: trim inodes before reconnecting to MDS (Yan, Zheng) | |
1084 | * ceph-fuse,libcephfs: add support for O_NOFOLLOW and O_PATH (Greg Farnum) | |
1085 | * ceph-fuse,libcephfs: resend requests before completing cap reconnect (#10912 Yan, Zheng) | |
1086 | * ceph-fuse: be more forgiving on remount (#10982 Greg Farnum) | |
1087 | * ceph-fuse: fix dentry invalidation on 3.18+ kernels (#9997 Yan, Zheng) | |
1088 | * ceph-fuse: fix kernel cache trimming (#10277 Yan, Zheng) | |
1089 | * ceph-fuse: select kernel cache invalidation mechanism based on kernel version (Greg Farnum) | |
1090 | * ceph-monstore-tool: fix shutdown (#10093 Loic Dachary) | |
1091 | * ceph-monstore-tool: fix/improve CLI (Joao Eduardo Luis) | |
1092 | * ceph-objectstore-tool: fix import (#10090 David Zafman) | |
1093 | * ceph-objectstore-tool: improved import (David Zafman) | |
1094 | * ceph-objectstore-tool: many improvements and tests (David Zafman) | |
1095 | * ceph-objectstore-tool: many many improvements (David Zafman) | |
1096 | * ceph-objectstore-tool: misc improvements, fixes (#9870 #9871 David Zafman) | |
1097 | * ceph.spec: package rbd-replay-prep (Ken Dreyer) | |
1098 | * ceph: add 'ceph osd df [tree]' command (#10452 Mykola Golub) | |
1099 | * ceph: do not parse injectargs twice (Loic Dachary) | |
1100 | * ceph: fix 'ceph tell ...' command validation (#10439 Joao Eduardo Luis) | |
1101 | * ceph: improve 'ceph osd tree' output (Mykola Golub) | |
1102 | * ceph: improve CLI parsing (#11093 David Zafman) | |
1103 | * ceph: make 'ceph -s' output more readable (Sage Weil) | |
1104 | * ceph: make 'ceph -s' show PG state counts in sorted order (Sage Weil) | |
1105 | * ceph: make 'ceph tell mon.* version' work (Mykola Golub) | |
1106 | * ceph: new 'ceph tell mds.$name_or_rank_or_gid' (John Spray) | |
1107 | * ceph: show primary-affinity in 'ceph osd tree' (Mykola Golub) | |
1108 | * ceph: test robustness (Joao Eduardo Luis) | |
1109 | * ceph_objectstore_tool: behave with sharded flag (#9661 David Zafman) | |
1110 | * cephfs-journal-tool: add recover_dentries function (#9883 John Spray) | |
1111 | * cephfs-journal-tool: fix journal import (#10025 John Spray) | |
1112 | * cephfs-journal-tool: skip up to expire_pos (#9977 John Spray) | |
1113 | * cleanup rados.h definitions with macros (Ilya Dryomov) | |
1114 | * common: add 'perf reset ...' admin command (Jianpeng Ma) | |
1115 | * common: add TableFormatter (Andreas Peters) | |
1116 | * common: add newline to flushed json output (Sage Weil) | |
1117 | * common: check syncfs() return code (Jianpeng Ma) | |
1118 | * common: do not unlock rwlock on destruction (Federico Simoncelli) | |
1119 | * common: filtering for 'perf dump' (John Spray) | |
1120 | * common: fix Formatter factory breakage (#10547 Loic Dachary) | |
1121 | * common: fix block device discard check (#10296 Sage Weil) | |
1122 | * common: make json-pretty output prettier (Sage Weil) | |
1123 | * common: remove broken CEPH_LOCKDEP optoin (Kefu Chai) | |
1124 | * common: shared_cache unit tests (Cheng Cheng) | |
1125 | * common: support new gperftools header locations (Key Dreyer) | |
1126 | * config: add $cctid meta variable (Adam Crume) | |
1127 | * crush: fix buffer overrun for poorly formed rules (#9492 Johnu George) | |
1128 | * crush: fix detach_bucket (#10095 Sage Weil) | |
1129 | * crush: fix parsing of straw2 buckets (#11015 Sage Weil) | |
1130 | * crush: fix several bugs in adjust_item_weight (Rongze Zhu) | |
1131 | * crush: fix tree bucket behavior (Rongze Zhu) | |
1132 | * crush: improve constness (Loic Dachary) | |
1133 | * crush: new and improved straw2 bucket type (Sage Weil, Christina Anderson, Xiaoxi Chen) | |
1134 | * crush: straw bucket weight calculation fixes (#9998 Sage Weil) | |
1135 | * crush: update tries stats for indep rules (#10349 Loic Dachary) | |
1136 | * crush: use larger choose_tries value for erasure code rulesets (#10353 Loic Dachary) | |
1137 | * crushtool: add --location <id> command (Sage Weil, Loic Dachary) | |
1138 | * debian,rpm: move RBD udev rules to ceph-common (#10864 Ken Dreyer) | |
1139 | * debian: split python-ceph into python-{rbd,rados,cephfs} (Boris Ranto) | |
1140 | * default to libnss instead of crypto++ (Federico Gimenez) | |
1141 | * doc: CephFS disaster recovery guidance (John Spray) | |
1142 | * doc: CephFS for early adopters (John Spray) | |
1143 | * doc: add build-doc guidlines for Fedora and CentOS/RHEL (Nilamdyuti Goswami) | |
1144 | * doc: add dumpling to firefly upgrade section (#7679 John Wilkins) | |
1145 | * doc: ceph osd reweight vs crush weight (Laurent Guerby) | |
1146 | * doc: do not suggest dangerous XFS nobarrier option (Dan van der Ster) | |
1147 | * doc: document erasure coded pool operations (#9970 Loic Dachary) | |
1148 | * doc: document the LRC per-layer plugin configuration (Yuan Zhou) | |
1149 | * doc: enable rbd cache on openstack deployments (Sebastien Han) | |
1150 | * doc: erasure code doc updates (Loic Dachary) | |
1151 | * doc: file system osd config settings (Kevin Dalley) | |
1152 | * doc: fix OpenStack Glance docs (#10478 Sebastien Han) | |
1153 | * doc: improved installation nots on CentOS/RHEL installs (John Wilkins) | |
1154 | * doc: key/value store config reference (John Wilkins) | |
1155 | * doc: misc cleanups (Adam Spiers, Sebastien Han, Nilamdyuti Goswami, Ken Dreyer, John Wilkins) | |
1156 | * doc: misc improvements (Nilamdyuti Goswami, John Wilkins, Chris Holcombe) | |
1157 | * doc: misc updates (#9793 #9922 #10204 #10203 Travis Rhoden, Hazem, Ayari, Florian Coste, Andy Allan, Frank Yu, Baptiste Veuillez-Mainard, Yuan Zhou, Armando Segnini, Robert Jansen, Tyler Brekke, Viktor Suprun) | |
1158 | * doc: misc updates (Alfredo Deza, VRan Liu) | |
1159 | * doc: misc updates (Nilamdyuti Goswami, John Wilkins) | |
1160 | * doc: new man pages (Nilamdyuti Goswami) | |
1161 | * doc: preflight doc fixes (John Wilkins) | |
1162 | * doc: replace cloudfiles with swiftclient Python Swift example (Tim Freund) | |
1163 | * doc: update PG count guide (Gerben Meijer, Laurent Guerby, Loic Dachary) | |
1164 | * doc: update man pages (David Zafman) | |
1165 | * doc: update openstack docs for Juno (Sebastien Han) | |
1166 | * doc: update release descriptions (Ken Dreyer) | |
1167 | * doc: update sepia hardware inventory (Sandon Van Ness) | |
1168 | * erasure-code: add mSHEC erasure code support (Takeshi Miyamae) | |
1169 | * erasure-code: improved docs (#10340 Loic Dachary) | |
1170 | * erasure-code: set max_size to 20 (#10363 Loic Dachary) | |
1171 | * fix cluster logging from non-mon daemons (Sage Weil) | |
1172 | * init-ceph: check for systemd-run before using it (Boris Ranto) | |
1173 | * install-deps.sh: do not require sudo when root (Loic Dachary) | |
1174 | * keyvaluestore: misc fixes (Haomai Wang) | |
1175 | * keyvaluestore: performance improvements (Haomai Wang) | |
1176 | * libcephfs,ceph-fuse: add 'status' asok (John Spray) | |
1177 | * libcephfs,ceph-fuse: fix getting zero-length xattr (#10552 Yan, Zheng) | |
1178 | * libcephfs: fix dirfrag trimming (#10387 Yan, Zheng) | |
1179 | * libcephfs: fix mount timeout (#10041 Yan, Zheng) | |
1180 | * libcephfs: fix test (#10415 Yan, Zheng) | |
1181 | * libcephfs: fix use-afer-free on umount (#10412 Yan, Zheng) | |
1182 | * libcephfs: include ceph and git version in client metadata (Sage Weil) | |
1183 | * librados, osd: new watch/notify implementation (Sage Weil) | |
1184 | * librados: add blacklist_add convenience method (Jason Dillaman) | |
1185 | * librados: add rados_pool_get_base_tier() call (Adam Crume) | |
1186 | * librados: add watch_flush() operation (Sage Weil, Haomai Wang) | |
1187 | * librados: avoid memcpy on getxattr, read (Jianpeng Ma) | |
1188 | * librados: cap buffer length (Loic Dachary) | |
1189 | * librados: create ioctx by pool id (Jason Dillaman) | |
1190 | * librados: do notify completion in fast-dispatch (Sage Weil) | |
1191 | * librados: drop 'category' feature (Sage Weil) | |
1192 | * librados: expose rados_{read|write}_op_assert_version in C API (Kim Vandry) | |
1193 | * librados: fix infinite loop with skipped map epochs (#9986 Ding Dinghua) | |
1194 | * librados: fix iterator operator= bugs (#10082 David Zafman, Yehuda Sadeh) | |
1195 | * librados: fix leak in C_TwoContexts (Xiong Yiliang) | |
1196 | * librados: fix leak in watch/notify path (Sage Weil) | |
1197 | * librados: fix null deref when pool DNE (#9944 Sage Weil) | |
1198 | * librados: fix objecter races (#9617 Josh Durgin) | |
1199 | * librados: fix pool deletion handling (#10372 Sage Weil) | |
1200 | * librados: fix pool name caching (#10458 Radoslaw Zarzynski) | |
1201 | * librados: fix resource leak, misc bugs (#10425 Radoslaw Zarzynski) | |
1202 | * librados: fix some watch/notify locking (Jason Dillaman, Josh Durgin) | |
1203 | * librados: fix timer race from recent refactor (Sage Weil) | |
1204 | * librados: new fadvise API (Ma Jianpeng) | |
1205 | * librados: only export public API symbols (Jason Dillaman) | |
1206 | * librados: remove shadowed variable (Kefu Chain) | |
1207 | * librados: translate op flags from C APIs (Matthew Richards) | |
1208 | * libradosstriper: fix remove() (Dongmao Zhang) | |
1209 | * libradosstriper: fix shutdown hang (Dongmao Zhang) | |
1210 | * libradosstriper: fix stat strtoll (Dongmao Zhang) | |
1211 | * libradosstriper: fix trunc method (#10129 Sebastien Ponce) | |
1212 | * libradosstriper: fix write_full when ENOENT (#10758 Sebastien Ponce) | |
1213 | * libradosstriper: misc fixes (Sebastien Ponce) | |
1214 | * librbd: CRC protection for RBD image map (Jason Dillaman) | |
1215 | * librbd: add missing python docstrings (Jason Dillaman) | |
1216 | * librbd: add per-image object map for improved performance (Jason Dillaman) | |
1217 | * librbd: add readahead (Adam Crume) | |
1218 | * librbd: add support for an "object map" indicating which objects exist (Jason Dillaman) | |
1219 | * librbd: adjust internal locking (Josh Durgin, Jason Dillaman) | |
1220 | * librbd: better handling of watch errors (Jason Dillaman) | |
1221 | * librbd: complete pending ops before closing image (#10299 Josh Durgin) | |
1222 | * librbd: coordinate maint operations through lock owner (Jason Dillaman) | |
1223 | * librbd: copy-on-read (Min Chen, Li Wang, Yunchuan Wen, Cheng Cheng, Jason Dillaman) | |
1224 | * librbd: differentiate between R/O vs R/W features (Jason Dillaman) | |
1225 | * librbd: don't close a closed parent in failure path (#10030 Jason Dillaman) | |
1226 | * librbd: enforce write ordering with a snapshot (Jason Dillaman) | |
1227 | * librbd: exclusive image locking (Jason Dillaman) | |
1228 | * librbd: fadvise API (Ma Jianpeng) | |
1229 | * librbd: fadvise-style hints; add misc hints for certain operations (Jianpeng Ma) | |
1230 | * librbd: fix and improve AIO cache invalidation (#10958 Jason Dillaman) | |
1231 | * librbd: fix cache tiers in list_children and snap_unprotect (Adam Crume) | |
1232 | * librbd: fix coverity false-positives (Jason Dillaman) | |
1233 | * librbd: fix diff test (#10002 Josh Durgin) | |
1234 | * librbd: fix list_children from invalid pool ioctxs (#10123 Jason Dillaman) | |
1235 | * librbd: fix locking for readahead (#10045 Jason Dillaman) | |
1236 | * librbd: fix memory leak (Jason Dillaman) | |
1237 | * librbd: fix ordering/queueing of resize operations (Jason Dillaman) | |
1238 | * librbd: fix performance regression in ObjectCacher (#9513 Adam Crume) | |
1239 | * librbd: fix snap create races (Jason Dillaman) | |
1240 | * librbd: fix write vs import race (#10590 Jason Dillaman) | |
1241 | * librbd: flush AIO operations asynchronously (#10714 Jason Dillaman) | |
1242 | * librbd: gracefully handle deleted/renamed pools (#10270 Jason Dillaman) | |
1243 | * librbd: lttng tracepoints (Adam Crume) | |
1244 | * librbd: make async versions of long-running maint operations (Jason Dillaman) | |
1245 | * librbd: misc fixes (Xinxin Shu, Jason Dillaman) | |
1246 | * librbd: mock tests (Jason Dillaman) | |
1247 | * librbd: only export public API symbols (Jason Dillaman) | |
1248 | * librbd: optionally blacklist clients before breaking locks (#10761 Jason Dillaman) | |
1249 | * librbd: prevent copyup during shrink (Jason Dillaman) | |
1250 | * librbd: refactor unit tests to use fixtures (Jason Dillaman) | |
1251 | * librbd: validate image is r/w on resize/flatten (Jason Dillaman) | |
1252 | * librbd: various internal locking fixes (Jason Dillaman) | |
1253 | * many coverity fixes (Danny Al-Gaaf) | |
1254 | * many many coverity cleanups (Danny Al-Gaaf) | |
1255 | * mds: 'flush journal' admin command (John Spray) | |
1256 | * mds: ENOSPC and OSDMap epoch barriers (#7317 John Spray) | |
1257 | * mds: a whole bunch of initial scrub infrastructure (Greg Farnum) | |
1258 | * mds: add cephfs-table-tool (John Spray) | |
1259 | * mds: asok command for fetching subtree map (John Spray) | |
1260 | * mds: avoid sending traceless replies in most cases (Yan, Zheng) | |
1261 | * mds: constify MDSCacheObjects (John Spray) | |
1262 | * mds: dirfrag buf fix (Yan, Zheng) | |
1263 | * mds: disallow most commands on inactive MDS's (Greg Farnum) | |
1264 | * mds: drop dentries, leases on deleted directories (#10164 Yan, Zheng) | |
1265 | * mds: export dir asok command (John Spray) | |
1266 | * mds: fix MDLog IO callback deadlock (John Spray) | |
1267 | * mds: fix compat_version for MClientSession (#9945 John Spray) | |
1268 | * mds: fix deadlock during journal probe vs purge (#10229 Yan, Zheng) | |
1269 | * mds: fix race trimming log segments (Yan, Zheng) | |
1270 | * mds: fix reply snapbl (Yan, Zheng) | |
1271 | * mds: fix sessionmap lifecycle bugs (Yan, Zheng) | |
1272 | * mds: fix stray/purge perfcounters (#10388 John Spray) | |
1273 | * mds: handle heartbeat_reset during shutdown (#10382 John Spray) | |
1274 | * mds: handle zero-size xattr (#10335 Yan, Zheng) | |
1275 | * mds: initialize root inode xattr version (Yan, Zheng) | |
1276 | * mds: introduce auth caps (John Spray) | |
1277 | * mds: many many snapshot-related fixes (Yan, Zheng) | |
1278 | * mds: misc bugs (Greg Farnum, John Spray, Yan, Zheng, Henry Change) | |
1279 | * mds: refactor, improve Session storage (John Spray) | |
1280 | * mds: store backtrace for stray dir (Yan, Zheng) | |
1281 | * mds: subtree quota support (Yunchuan Wen) | |
1282 | * mds: verify backtrace when fetching dirfrag (#9557 Yan, Zheng) | |
1283 | * memstore: free space tracking (John Spray) | |
1284 | * misc cleanup (Danny Al-Gaaf, David Anderson) | |
1285 | * misc coverity fixes (Danny Al-Gaaf) | |
1286 | * misc coverity fixes (Danny Al-Gaaf) | |
1287 | * misc: various valgrind fixes and cleanups (Danny Al-Gaaf) | |
1288 | * mon: 'osd crush reweight-all' command (Sage Weil) | |
1289 | * mon: add 'ceph osd rename-bucket ...' command (Loic Dachary) | |
1290 | * mon: add bootstrap-rgw profile (Sage Weil) | |
1291 | * mon: add max pgs per osd warning (Sage Weil) | |
1292 | * mon: add noforward flag for some mon commands (Mykola Golub) | |
1293 | * mon: allow adding tiers to fs pools (#10135 John Spray) | |
1294 | * mon: allow full flag to be manually cleared (#9323 Sage Weil) | |
1295 | * mon: clean up auth list output (Loic Dachary) | |
1296 | * mon: delay failure injection (Joao Eduardo Luis) | |
1297 | * mon: disallow empty pool names (#10555 Wido den Hollander) | |
1298 | * mon: do not deactivate last mds (#10862 John Spray) | |
1299 | * mon: do not pollute mon dir with CSV files from CRUSH check (Loic Dachary) | |
1300 | * mon: drop old ceph_mon_store_converter (Sage Weil) | |
1301 | * mon: fix 'ceph pg dump_stuck degraded' (Xinxin Shu) | |
1302 | * mon: fix 'mds fail' for standby MDSs (John Spray) | |
1303 | * mon: fix 'osd crush link' id resolution (John Spray) | |
1304 | * mon: fix 'profile osd' use of config-key function on mon (#10844 Joao Eduardo Luis) | |
1305 | * mon: fix *_ratio* units and types (Sage Weil) | |
1306 | * mon: fix JSON dumps to dump floats as flots and not strings (Sage Weil) | |
1307 | * mon: fix MDS health status from peons (#10151 John Spray) | |
1308 | * mon: fix caching for min_last_epoch_clean (#9987 Sage Weil) | |
1309 | * mon: fix clock drift time check interval (#10546 Joao Eduardo Luis) | |
1310 | * mon: fix compatset initalization during mkfs (Joao Eduardo Luis) | |
1311 | * mon: fix error output for add_data_pool (#9852 Joao Eduardo Luis) | |
1312 | * mon: fix feature tracking during elections (Joao Eduardo Luis) | |
1313 | * mon: fix formatter 'pg stat' command output (Sage Weil) | |
1314 | * mon: fix mds gid/rank/state parsing (John Spray) | |
1315 | * mon: fix misc error paths (Joao Eduardo Luis) | |
1316 | * mon: fix paxos off-by-one corner case (#9301 Sage Weil) | |
1317 | * mon: fix paxos timeouts (#10220 Joao Eduardo Luis) | |
1318 | * mon: fix stashed monmap encoding (#5203 Xie Rui) | |
1319 | * mon: fix units in store stats (Joao Eduardo Luis) | |
1320 | * mon: get canonical OSDMap from leader (#10422 Sage Weil) | |
1321 | * mon: ignore failure reports from before up_from (#10762 Dan van der Ster, Sage Weil) | |
1322 | * mon: implement 'fs reset' command (John Spray) | |
1323 | * mon: improve error handling on erasure code profile set (#10488, #11144 Loic Dachary) | |
1324 | * mon: improved corrupt CRUSH map detection (Joao Eduardo Luis) | |
1325 | * mon: include entity name in audit log for forwarded requests (#9913 Joao Eduardo Luis) | |
1326 | * mon: include pg_temp count in osdmap summary (Sage Weil) | |
1327 | * mon: log health summary to cluster log (#9440 Joao Eduardo Luis) | |
1328 | * mon: make 'mds fail' idempotent (John Spray) | |
1329 | * mon: make pg dump {sum,pgs,pgs_brief} work for format=plain (#5963 #6759 Mykola Golub) | |
1330 | * mon: new 'ceph pool ls [detail]' command (Sage Weil) | |
1331 | * mon: new pool safety flags nodelete, nopgchange, nosizechange (#9792 Mykola Golub) | |
1332 | * mon: new, friendly 'ceph pg ls ...' command (Xinxin Shu) | |
1333 | * mon: paxos: allow reads while proposing (#9321 #9322 Joao Eduardo Luis) | |
1334 | * mon: prevent MDS transition from STOPPING (#10791 Greg Farnum) | |
1335 | * mon: propose all pending work in one transaction (Sage Weil) | |
1336 | * mon: remove pg_temps for nonexistent pools (Joao Eduardo Luis) | |
1337 | * mon: require mon_allow_pool_delete option to remove pools (Sage Weil) | |
1338 | * mon: respect down flag when promoting standbys (John Spray) | |
1339 | * mon: set globalid prealloc to larger value (Sage Weil) | |
1340 | * mon: set {read,write}_tier on 'osd tier add-cache ...' (Jianpeng Ma) | |
1341 | * mon: skip zeroed osd stats in get_rule_avail (#10257 Joao Eduardo Luis) | |
1342 | * mon: validate min_size range (Jianpeng Ma) | |
1343 | * mon: wait for writeable before cross-proposing (#9794 Joao Eduardo Luis) | |
1344 | * mount.ceph: fix suprious error message (#10351 Yan, Zheng) | |
1345 | * ms: xio: fix misc bugs (Matt Benjamin, Vu Pham) | |
1346 | * msgr: async: bind threads to CPU cores, improved poll (Haomai Wang) | |
1347 | * msgr: async: many fixes, unit tests (Haomai Wang) | |
1348 | * msgr: async: several fixes (Haomai Wang) | |
1349 | * msgr: asyncmessenger: add kqueue support (#9926 Haomai Wang) | |
1350 | * msgr: avoid useless new/delete (Haomai Wang) | |
1351 | * msgr: fix RESETSESSION bug (#10080 Greg Farnum) | |
1352 | * msgr: fix crc configuration (Mykola Golub) | |
1353 | * msgr: fix delay injection bug (#9910 Sage Weil, Greg Farnum) | |
1354 | * msgr: misc unit tests (Haomai Wang) | |
1355 | * msgr: new AsymcMessenger alternative implementation (Haomai Wang) | |
1356 | * msgr: prefetch data when doing recv (Yehuda Sadeh) | |
1357 | * msgr: simple: fix rare deadlock (Greg Farnum) | |
1358 | * msgr: simple: retry binding to port on failure (#10029 Wido den Hollander) | |
1359 | * msgr: xio: XioMessenger RDMA support (Casey Bodley, Vu Pham, Matt Benjamin) | |
1360 | * objectstore: deprecate collection attrs (Sage Weil) | |
1361 | * osd, librados: fadvise-style librados hints (Jianpeng Ma) | |
1362 | * osd, librados: fix xattr_cmp_u64 (Dongmao Zhang) | |
1363 | * osd, librados: revamp PG listing API to handle namespaces (#9031 #9262 #9438 David Zafman) | |
1364 | * osd, mds: 'ops' as shorthand for 'dump_ops_in_flight' on asok (Sage Weil) | |
1365 | * osd, mon: add checksums to all OSDMaps (Sage Weil) | |
1366 | * osd, mon: send intiial pg create time from mon to osd (#9887 David Zafman) | |
1367 | * osd,mon: add 'norebalance' flag (Kefu Chai) | |
1368 | * osd,mon: specify OSD features explicitly in MOSDBoot (#10911 Sage Weil) | |
1369 | * osd: DBObjectMap: fix locking to prevent rare crash (#9891 Samuel Just) | |
1370 | * osd: EIO on whole-object reads when checksum is wrong (Sage Weil) | |
1371 | * osd: add erasure code corpus (Loic Dachary) | |
1372 | * osd: add fadvise flags to ObjectStore API (Jianpeng Ma) | |
1373 | * osd: add get_latest_osdmap asok command (#9483 #9484 Mykola Golub) | |
1374 | * osd: add misc tests (Loic Dachary, Danny Al-Gaaf) | |
1375 | * osd: add option to prioritize heartbeat network traffic (Jian Wen) | |
1376 | * osd: add support for the SHEC erasure-code algorithm (Takeshi Miyamae, Loic Dachary) | |
1377 | * osd: allow deletion of objects with watcher (#2339 Sage Weil) | |
1378 | * osd: allow recovery while below min_size (Samuel Just) | |
1379 | * osd: allow recovery with fewer than min_size OSDs (Samuel Just) | |
1380 | * osd: allow sparse read for Push/Pull (Haomai Wang) | |
1381 | * osd: allow whiteout deletion in cache pool (Sage Weil) | |
1382 | * osd: allow writes to degraded objects (Samuel Just) | |
1383 | * osd: allow writes to degraded objects (Samuel Just) | |
1384 | * osd: avoid publishing unchanged PG stats (Sage Weil) | |
1385 | * osd: batch pg log trim (Xinze Chi) | |
1386 | * osd: cache pool: ignore min flush age when cache is full (Xinze Chi) | |
1387 | * osd: cache recent ObjectContexts (Dong Yuan) | |
1388 | * osd: cache reverse_nibbles hash value (Dong Yuan) | |
1389 | * osd: clean up internal ObjectStore interface (Sage Weil) | |
1390 | * osd: cleanup boost optionals (William Kennington) | |
1391 | * osd: clear cache on interval change (Samuel Just) | |
1392 | * osd: do no proxy reads unless target OSDs are new (#10788 Sage Weil) | |
1393 | * osd: do not abort deep scrub on missing hinfo (#10018 Loic Dachary) | |
1394 | * osd: do not update digest on inconsistent object (#10524 Samuel Just) | |
1395 | * osd: don't record digests for snapdirs (#10536 Samuel Just) | |
1396 | * osd: drop upgrade support for pre-dumpling (Sage Weil) | |
1397 | * osd: enable and use posix_fadvise (Sage Weil) | |
1398 | * osd: erasure coding: allow bench.sh to test ISA backend (Yuan Zhou) | |
1399 | * osd: erasure-code: encoding regression tests, corpus (#9420 Loic Dachary) | |
1400 | * osd: erasure-code: enforce chunk size alignment (#10211 Loic Dachary) | |
1401 | * osd: erasure-code: jerasure support for NEON (Loic Dachary) | |
1402 | * osd: erasure-code: relax cauchy w restrictions (#10325 David Zhang, Loic Dachary) | |
1403 | * osd: erasure-code: update gf-complete to latest upstream (Loic Dachary) | |
1404 | * osd: expose non-journal backends via ceph-osd CLI (Hoamai Wang) | |
1405 | * osd: filejournal: don't cache journal when not using direct IO (Jianpeng Ma) | |
1406 | * osd: fix JSON output for stray OSDs (Loic Dachary) | |
1407 | * osd: fix OSDCap parser on old (el6) boost::spirit (#10757 Kefu Chai) | |
1408 | * osd: fix OSDCap parsing on el6 (#10757 Kefu Chai) | |
1409 | * osd: fix ObjectStore::Transaction encoding version (#10734 Samuel Just) | |
1410 | * osd: fix WBTHrottle perf counters (Haomai Wang) | |
1411 | * osd: fix and document last_epoch_started semantics (Samuel Just) | |
1412 | * osd: fix auth object selection during repair (#10524 Samuel Just) | |
1413 | * osd: fix backfill bug (#10150 Samuel Just) | |
1414 | * osd: fix bug in pending digest updates (#10840 Samuel Just) | |
1415 | * osd: fix cancel_proxy_read_ops (Sage Weil) | |
1416 | * osd: fix cleanup of interrupted pg deletion (#10617 Sage Weil) | |
1417 | * osd: fix divergent entry handling on PG split (Samuel Just) | |
1418 | * osd: fix ghobject_t formatted output to include shard (#10063 Loic Dachary) | |
1419 | * osd: fix ioprio option (Mykola Golub) | |
1420 | * osd: fix ioprio options (Loic Dachary) | |
1421 | * osd: fix journal shutdown race (Sage Weil) | |
1422 | * osd: fix journal wrapping bug (#10883 David Zafman) | |
1423 | * osd: fix leak in SnapTrimWQ (#10421 Kefu Chai) | |
1424 | * osd: fix leak on shutdown (Kefu Chai) | |
1425 | * osd: fix memstore free space calculation (Xiaoxi Chen) | |
1426 | * osd: fix mixed-version peering issues (Samuel Just) | |
1427 | * osd: fix object age eviction (Zhiqiang Wang) | |
1428 | * osd: fix object atime calculation (Xinze Chi) | |
1429 | * osd: fix object digest update bug (#10840 Samuel Just) | |
1430 | * osd: fix occasional peering stalls (#10431 Sage Weil) | |
1431 | * osd: fix ordering issue with new transaction encoding (#10534 Dong Yuan) | |
1432 | * osd: fix osd peer check on scrub messages (#9555 Sage Weil) | |
1433 | * osd: fix past_interval display bug (#9752 Loic Dachary) | |
1434 | * osd: fix past_interval generation (#10427 #10430 David Zafman) | |
1435 | * osd: fix pgls filter ops (#9439 David Zafman) | |
1436 | * osd: fix recording of digest on scrub (Samuel Just) | |
1437 | * osd: fix scrub delay bug (#10693 Samuel Just) | |
1438 | * osd: fix scrub vs try-flush bug (#8011 Samuel Just) | |
1439 | * osd: fix short read handling on push (#8121 David Zafman) | |
1440 | * osd: fix stderr with -f or -d (Dan Mick) | |
1441 | * osd: fix transaction accounting (Jianpeng Ma) | |
1442 | * osd: fix watch reconnect race (#10441 Sage Weil) | |
1443 | * osd: fix watch timeout cache state update (#10784 David Zafman) | |
1444 | * osd: fix whiteout handling (Sage Weil) | |
1445 | * osd: flush snapshots from cache tier immediately (Sage Weil) | |
1446 | * osd: force promotion of watch/notify ops (Zhiqiang Wang) | |
1447 | * osd: handle no-op write with snapshot (#10262 Sage Weil) | |
1448 | * osd: improve idempotency detection across cache promotion/demotion (#8935 Sage Weil, Samuel Just) | |
1449 | * osd: include activating peers in blocked_by (#10477 Sage Weil) | |
1450 | * osd: jerasure and gf-complete updates from upstream (#10216 Loic Dachary) | |
1451 | * osd: journal: check fsync/fdatasync result (Jianpeng Ma) | |
1452 | * osd: journal: fix alignment checks, avoid useless memmove (Jianpeng Ma) | |
1453 | * osd: journal: fix hang on shutdown (#10474 David Zafman) | |
1454 | * osd: journal: fix header.committed_up_to (Xinze Chi) | |
1455 | * osd: journal: fix journal zeroing when direct IO is enabled (Xie Rui) | |
1456 | * osd: journal: initialize throttle (Ning Yao) | |
1457 | * osd: journal: misc bug fixes (#6003 David Zafman, Samuel Just) | |
1458 | * osd: journal: update committed_thru after replay (#6756 Samuel Just) | |
1459 | * osd: keyvaluestore: cleanup dead code (Ning Yao) | |
1460 | * osd: keyvaluestore: fix getattr semantics (Haomai Wang) | |
1461 | * osd: keyvaluestore: fix key ordering (#10119 Haomai Wang) | |
1462 | * osd: keyvaluestore_dev: optimization (Chendi Xue) | |
1463 | * osd: limit in-flight read requests (Jason Dillaman) | |
1464 | * osd: log when scrub or repair starts (Loic Dachary) | |
1465 | * osd: make misdirected op checks robust for EC pools (#9835 Sage Weil) | |
1466 | * osd: memstore: fix size limit (Xiaoxi Chen) | |
1467 | * osd: misc FIEMAP fixes (Ma Jianpeng) | |
1468 | * osd: misc cleanup (Xinze Chi, Yongyue Sun) | |
1469 | * osd: misc optimizations (Xinxin Shu, Zhiqiang Wang, Xinze Chi) | |
1470 | * osd: misc scrub fixes (#10017 Loic Dachary) | |
1471 | * osd: new 'activating' state between peering and active (Sage Weil) | |
1472 | * osd: new optimized encoding for ObjectStore::Transaction (Dong Yuan) | |
1473 | * osd: optimize Finisher (Xinze Chi) | |
1474 | * osd: optimize WBThrottle map with unordered_map (Ning Yao) | |
1475 | * osd: optimize filter_snapc (Ning Yao) | |
1476 | * osd: preserve reqids for idempotency checks for promote/demote (Sage Weil, Zhiqiang Wang, Samuel Just) | |
1477 | * osd: proxy read support (Zhiqiang Wang) | |
1478 | * osd: proxy reads during cache promote (Zhiqiang Wang) | |
1479 | * osd: remove dead locking code (Xinxin Shu) | |
1480 | * osd: remove legacy classic scrub code (Sage Weil) | |
1481 | * osd: remove unused fields in MOSDSubOp (Xiaoxi Chen) | |
1482 | * osd: removed some dead code (Xinze Chi) | |
1483 | * osd: replace MOSDSubOp messages with simpler, optimized MOSDRepOp (Xiaoxi Chen) | |
1484 | * osd: restrict scrub to certain times of day (Xinze Chi) | |
1485 | * osd: rocksdb: fix shutdown (Hoamai Wang) | |
1486 | * osd: store PG metadata in per-collection objects for better concurrency (Sage Weil) | |
1487 | * osd: store whole-object checksums on scrub, write_full (Sage Weil) | |
1488 | * osd: support for discard for journal trim (Jianpeng Ma) | |
1489 | * osd: use FIEMAP_FLAGS_SYNC instead of fsync (Jianpeng Ma) | |
1490 | * osd: verify kernel is new enough before using XFS extsize ioctl, enable by default (#9956 Sage Weil) | |
1491 | * pybind: fix memory leak in librados bindings (Billy Olsen) | |
1492 | * pyrados: add object lock support (#6114 Mehdi Abaakouk) | |
1493 | * pyrados: fix misnamed wait_* routings (#10104 Dan Mick) | |
1494 | * pyrados: misc cleanups (Kefu Chai) | |
1495 | * qa: add large auth ticket tests (Ilya Dryomov) | |
1496 | * qa: fix mds tests (#10539 John Spray) | |
1497 | * qa: fix osd create dup tests (#10083 Loic Dachary) | |
1498 | * qa: ignore duplicates in rados ls (Josh Durgin) | |
1499 | * qa: improve hadoop tests (Noah Watkins) | |
1500 | * qa: many 'make check' improvements (Loic Dachary) | |
1501 | * qa: misc tests (Loic Dachary, Yan, Zheng) | |
1502 | * qa: parallelize make check (Loic Dachary) | |
1503 | * qa: reorg fs quota tests (Greg Farnum) | |
1504 | * qa: tolerate nearly-full disk for make check (Loic Dachary) | |
1505 | * rados: fix put of /dev/null (Loic Dachary) | |
1506 | * rados: fix usage (Jianpeng Ma) | |
1507 | * rados: parse command-line arguments more strictly (#8983 Adam Crume) | |
1508 | * rados: use copy-from operation for copy, cppool (Sage Weil) | |
1509 | * radosgw-admin: add replicalog update command (Yehuda Sadeh) | |
1510 | * rbd-fuse: clean up on shutdown (Josh Durgin) | |
1511 | * rbd-fuse: fix memory leak (Adam Crume) | |
1512 | * rbd-replay-many (Adam Crume) | |
1513 | * rbd-replay: --anonymize flag to rbd-replay-prep (Adam Crume) | |
1514 | * rbd: add 'merge-diff' function (MingXin Liu, Yunchuan Wen, Li Wang) | |
1515 | * rbd: allow v2 striping parameters for clones and imports (Jason Dillaman) | |
1516 | * rbd: fix 'rbd diff' for non-existent objects (Adam Crume) | |
1517 | * rbd: fix buffer handling on image import (#10590 Jason Dillaman) | |
1518 | * rbd: fix error when striping with format 1 (Sebastien Han) | |
1519 | * rbd: fix export for image sizes over 2GB (Vicente Cheng) | |
1520 | * rbd: fix formatted output of image features (Jason Dillaman) | |
1521 | * rbd: leave exclusive lockin goff by default (Jason Dillaman) | |
1522 | * rbd: updat eman page (Ilya Dryomov) | |
1523 | * rbd: update init-rbdmap to fix dup mount point (Karel Striegel) | |
1524 | * rbd: use IO hints for import, export, and bench operations (#10462 Jason Dillaman) | |
1525 | * rbd: use rolling average for rbd bench-write throughput (Jason Dillaman) | |
1526 | * rbd_recover_tool: RBD image recovery tool (Min Chen) | |
1527 | * rgw: S3-style object versioning support (Yehuda Sadeh) | |
1528 | * rgw: add location header when object is in another region (VRan Liu) | |
1529 | * rgw: change multipart upload id magic (#10271 Yehuda Sadeh) | |
1530 | * rgw: check keystone auth for S3 POST requests (#10062 Abhishek Lekshmanan) | |
1531 | * rgw: check timestamp on s3 keystone auth (#10062 Abhishek Lekshmanan) | |
1532 | * rgw: conditional PUT on ETag (#8562 Ray Lv) | |
1533 | * rgw: create subuser if needed when creating user (#10103 Yehuda Sadeh) | |
1534 | * rgw: decode http query params correction (#10271 Yehuda Sadeh) | |
1535 | * rgw: don't overwrite bucket/object owner when setting ACLs (#10978 Yehuda Sadeh) | |
1536 | * rgw: enable IPv6 for civetweb (#10965 Yehuda Sadeh) | |
1537 | * rgw: extend replica log API (purge-all) (Yehuda Sadeh) | |
1538 | * rgw: fail S3 POST if keystone not configured (#10688 Valery Tschopp, Yehuda Sadeh) | |
1539 | * rgw: fix If-Modified-Since (VRan Liu) | |
1540 | * rgw: fix XML header on get ACL request (#10106 Yehuda Sadeh) | |
1541 | * rgw: fix bucket removal with data purge (Yehuda Sadeh) | |
1542 | * rgw: fix content length check (#10701 Axel Dunkel, Yehuda Sadeh) | |
1543 | * rgw: fix content-length update (#9576 Yehuda Sadeh) | |
1544 | * rgw: fix disabling of max_size quota (#9907 Dong Lei) | |
1545 | * rgw: fix error codes (#10334 #10329 Yehuda Sadeh) | |
1546 | * rgw: fix incorrect len when len is 0 (#9877 Yehuda Sadeh) | |
1547 | * rgw: fix object copy content type (#9478 Yehuda Sadeh) | |
1548 | * rgw: fix partial GET in swift (#10553 Yehuda Sadeh) | |
1549 | * rgw: fix replica log indexing (#8251 Yehuda Sadeh) | |
1550 | * rgw: fix shutdown (#10472 Yehuda Sadeh) | |
1551 | * rgw: fix swift metadata header name (Dmytro Iurchenko) | |
1552 | * rgw: fix sysvinit script when rgw_socket_path is not defined (#11159 Yehuda Sadeh, Dan Mick) | |
1553 | * rgw: fix user stags in get-user-info API (#9359 Ray Lv) | |
1554 | * rgw: include XML ns on get ACL request (#10106 Yehuda Sadeh) | |
1555 | * rgw: index swift keys appropriately (#10471 Yehuda Sadeh) | |
1556 | * rgw: make sysvinit script set ulimit -n properly (Sage Weil) | |
1557 | * rgw: misc fixes (#10307 Yehuda Sadeh) | |
1558 | * rgw: only track cleanup for objects we write (#10311 Yehuda Sadeh) | |
1559 | * rgw: pass civetweb configurables through (#10907 Yehuda Sadeh) | |
1560 | * rgw: prevent illegal bucket policy that doesn't match placement rule (Yehuda Sadeh) | |
1561 | * rgw: remove multipart entries from bucket index on abort (#10719 Yehuda Sadeh) | |
1562 | * rgw: remove swift user manifest (DLO) hash calculation (#9973 Yehuda Sadeh) | |
1563 | * rgw: respond with 204 to POST on containers (#10667 Yuan Zhou) | |
1564 | * rgw: return timestamp on GET/HEAD (#8911 Yehuda Sadeh) | |
1565 | * rgw: reuse fcgx connection struct (#10194 Yehuda Sadeh) | |
1566 | * rgw: run radosgw as apache with systemd (#10125 Loic Dachary) | |
1567 | * rgw: send explicit HTTP status string (Yehuda Sadeh) | |
1568 | * rgw: set ETag on object copy (#9479 Yehuda Sadeh) | |
1569 | * rgw: set length for keystone token validation request (#7796 Yehuda Sadeh, Mark Kirkwood) | |
1570 | * rgw: support X-Storage-Policy header for Swift storage policy compat (Yehuda Sadeh) | |
1571 | * rgw: support multiple host names (#7467 Yehuda Sadeh) | |
1572 | * rgw: swift: dump container's custom metadata (#10665 Ahmad Faheem, Dmytro Iurchenko) | |
1573 | * rgw: swift: support Accept header for response format (#10746 Dmytro Iurchenko) | |
1574 | * rgw: swift: support for X-Remove-Container-Meta-{key} (#10475 Dmytro Iurchenko) | |
1575 | * rgw: tweak error codes (#10329 #10334 Yehuda Sadeh) | |
1576 | * rgw: update bucket index on attr changes, for multi-site sync (#5595 Yehuda Sadeh) | |
1577 | * rgw: use \r\n for http headers (#9254 Yehuda Sadeh) | |
1578 | * rgw: use gc for multipart abort (#10445 Aaron Bassett, Yehuda Sadeh) | |
1579 | * rgw: use new watch/notify API (Yehuda Sadeh, Sage Weil) | |
1580 | * rpm: misc fixes (Key Dreyer) | |
1581 | * rpm: move rgw logrotate to radosgw subpackage (Ken Dreyer) | |
1582 | * systemd: better systemd unit files (Owen Synge) | |
1583 | * sysvinit: fix race in 'stop' (#10389 Loic Dachary) | |
1584 | * test: fix bufferlist tests (Jianpeng Ma) | |
1585 | * tests: ability to run unit tests under docker (Loic Dachary) | |
1586 | * tests: centos-6 dockerfile (#10755 Loic Dachary) | |
1587 | * tests: improve docker-based tests (Loic Dachary) | |
1588 | * tests: unit tests for shared_cache (Dong Yuan) | |
1589 | * udev: fix rules for CentOS7/RHEL7 (Loic Dachary) | |
1590 | * use clock_gettime instead of gettimeofday (Jianpeng Ma) | |
1591 | * vstart.sh: set up environment for s3-tests (Luis Pabon) | |
1592 | * vstart.sh: work with cmake (Yehuda Sadeh) | |
1593 | ||
1594 | ||
1595 | ||
1596 | ||
1597 | ||
1598 | ||
1599 | v0.93 | |
1600 | ===== | |
1601 | ||
1602 | This is the first release candidate for Hammer, and includes all of | |
1603 | the features that will be present in the final release. We welcome | |
1604 | and encourage any and all testing in non-production clusters to identify | |
1605 | any problems with functionality, stability, or performance before the | |
1606 | final Hammer release. | |
1607 | ||
1608 | We suggest some caution in one area: librbd. There is a lot of new | |
1609 | functionality around object maps and locking that is disabled by | |
1610 | default but may still affect stability for existing images. We are | |
1611 | continuing to shake out those bugs so that the final Hammer release | |
1612 | (probably v0.94) will be rock solid. | |
1613 | ||
1614 | Major features since Giant include: | |
1615 | ||
1616 | * cephfs: journal scavenger repair tool (John Spray) | |
1617 | * crush: new and improved straw2 bucket type (Sage Weil, Christina Anderson, Xiaoxi Chen) | |
1618 | * doc: improved guidance for CephFS early adopters (John Spray) | |
1619 | * librbd: add per-image object map for improved performance (Jason Dillaman) | |
1620 | * librbd: copy-on-read (Min Chen, Li Wang, Yunchuan Wen, Cheng Cheng) | |
1621 | * librados: fadvise-style IO hints (Jianpeng Ma) | |
1622 | * mds: many many snapshot-related fixes (Yan, Zheng) | |
1623 | * mon: new 'ceph osd df' command (Mykola Golub) | |
1624 | * mon: new 'ceph pg ls ...' command (Xinxin Shu) | |
1625 | * osd: improved performance for high-performance backends | |
1626 | * osd: improved recovery behavior (Samuel Just) | |
1627 | * osd: improved cache tier behavior with reads (Zhiqiang Wang) | |
1628 | * rgw: S3-compatible bucket versioning support (Yehuda Sadeh) | |
1629 | * rgw: large bucket index sharding (Guang Yang, Yehuda Sadeh) | |
1630 | * RDMA "xio" messenger support (Matt Benjamin, Vu Pham) | |
1631 | ||
1632 | Upgrading | |
1633 | --------- | |
1634 | ||
1635 | * If you are upgrading from v0.92, you must stop all OSD daemons and flush their | |
1636 | journals (``ceph-osd -i NNN --flush-journal``) before upgrading. There was | |
1637 | a transaction encoding bug in v0.92 that broke compatibility. Upgrading from | |
1638 | v0.91 or anything earlier is safe. | |
1639 | ||
1640 | * No special restrictions when upgrading from firefly or giant. | |
1641 | ||
1642 | Notable Changes | |
1643 | --------------- | |
1644 | ||
1645 | * build: CMake support (Ali Maredia, Casey Bodley, Adam Emerson, Marcus Watts, Matt Benjamin) | |
1646 | * ceph-disk: do not re-use partition if encryption is required (Loic Dachary) | |
1647 | * ceph-disk: support LUKS for encrypted partitions (Andrew Bartlett, Loic Dachary) | |
1648 | * ceph-fuse,libcephfs: add support for O_NOFOLLOW and O_PATH (Greg Farnum) | |
1649 | * ceph-fuse,libcephfs: resend requests before completing cap reconnect (#10912 Yan, Zheng) | |
1650 | * ceph-fuse: select kernel cache invalidation mechanism based on kernel version (Greg Farnum) | |
1651 | * ceph-objectstore-tool: improved import (David Zafman) | |
1652 | * ceph-objectstore-tool: misc improvements, fixes (#9870 #9871 David Zafman) | |
1653 | * ceph: add 'ceph osd df [tree]' command (#10452 Mykola Golub) | |
1654 | * ceph: fix 'ceph tell ...' command validation (#10439 Joao Eduardo Luis) | |
1655 | * ceph: improve 'ceph osd tree' output (Mykola Golub) | |
1656 | * cephfs-journal-tool: add recover_dentries function (#9883 John Spray) | |
1657 | * common: add newline to flushed json output (Sage Weil) | |
1658 | * common: filtering for 'perf dump' (John Spray) | |
1659 | * common: fix Formatter factory breakage (#10547 Loic Dachary) | |
1660 | * common: make json-pretty output prettier (Sage Weil) | |
1661 | * crush: new and improved straw2 bucket type (Sage Weil, Christina Anderson, Xiaoxi Chen) | |
1662 | * crush: update tries stats for indep rules (#10349 Loic Dachary) | |
1663 | * crush: use larger choose_tries value for erasure code rulesets (#10353 Loic Dachary) | |
1664 | * debian,rpm: move RBD udev rules to ceph-common (#10864 Ken Dreyer) | |
1665 | * debian: split python-ceph into python-{rbd,rados,cephfs} (Boris Ranto) | |
1666 | * doc: CephFS disaster recovery guidance (John Spray) | |
1667 | * doc: CephFS for early adopters (John Spray) | |
1668 | * doc: fix OpenStack Glance docs (#10478 Sebastien Han) | |
1669 | * doc: misc updates (#9793 #9922 #10204 #10203 Travis Rhoden, Hazem, Ayari, Florian Coste, Andy Allan, Frank Yu, Baptiste Veuillez-Mainard, Yuan Zhou, Armando Segnini, Robert Jansen, Tyler Brekke, Viktor Suprun) | |
1670 | * doc: replace cloudfiles with swiftclient Python Swift example (Tim Freund) | |
1671 | * erasure-code: add mSHEC erasure code support (Takeshi Miyamae) | |
1672 | * erasure-code: improved docs (#10340 Loic Dachary) | |
1673 | * erasure-code: set max_size to 20 (#10363 Loic Dachary) | |
1674 | * libcephfs,ceph-fuse: fix getting zero-length xattr (#10552 Yan, Zheng) | |
1675 | * librados: add blacklist_add convenience method (Jason Dillaman) | |
1676 | * librados: expose rados_{read|write}_op_assert_version in C API (Kim Vandry) | |
1677 | * librados: fix pool name caching (#10458 Radoslaw Zarzynski) | |
1678 | * librados: fix resource leak, misc bugs (#10425 Radoslaw Zarzynski) | |
1679 | * librados: fix some watch/notify locking (Jason Dillaman, Josh Durgin) | |
1680 | * libradosstriper: fix write_full when ENOENT (#10758 Sebastien Ponce) | |
1681 | * librbd: CRC protection for RBD image map (Jason Dillaman) | |
1682 | * librbd: add per-image object map for improved performance (Jason Dillaman) | |
1683 | * librbd: add support for an "object map" indicating which objects exist (Jason Dillaman) | |
1684 | * librbd: adjust internal locking (Josh Durgin, Jason Dillaman) | |
1685 | * librbd: better handling of watch errors (Jason Dillaman) | |
1686 | * librbd: coordinate maint operations through lock owner (Jason Dillaman) | |
1687 | * librbd: copy-on-read (Min Chen, Li Wang, Yunchuan Wen, Cheng Cheng, Jason Dillaman) | |
1688 | * librbd: enforce write ordering with a snapshot (Jason Dillaman) | |
1689 | * librbd: fadvise-style hints; add misc hints for certain operations (Jianpeng Ma) | |
1690 | * librbd: fix coverity false-positives (Jason Dillaman) | |
1691 | * librbd: fix snap create races (Jason Dillaman) | |
1692 | * librbd: flush AIO operations asynchronously (#10714 Jason Dillaman) | |
1693 | * librbd: make async versions of long-running maint operations (Jason Dillaman) | |
1694 | * librbd: mock tests (Jason Dillaman) | |
1695 | * librbd: optionally blacklist clients before breaking locks (#10761 Jason Dillaman) | |
1696 | * librbd: prevent copyup during shrink (Jason Dillaman) | |
1697 | * mds: add cephfs-table-tool (John Spray) | |
1698 | * mds: avoid sending traceless replies in most cases (Yan, Zheng) | |
1699 | * mds: export dir asok command (John Spray) | |
1700 | * mds: fix stray/purge perfcounters (#10388 John Spray) | |
1701 | * mds: handle heartbeat_reset during shutdown (#10382 John Spray) | |
1702 | * mds: many many snapshot-related fixes (Yan, Zheng) | |
1703 | * mds: refactor, improve Session storage (John Spray) | |
1704 | * misc coverity fixes (Danny Al-Gaaf) | |
1705 | * mon: add noforward flag for some mon commands (Mykola Golub) | |
1706 | * mon: disallow empty pool names (#10555 Wido den Hollander) | |
1707 | * mon: do not deactivate last mds (#10862 John Spray) | |
1708 | * mon: drop old ceph_mon_store_converter (Sage Weil) | |
1709 | * mon: fix 'ceph pg dump_stuck degraded' (Xinxin Shu) | |
1710 | * mon: fix 'profile osd' use of config-key function on mon (#10844 Joao Eduardo Luis) | |
1711 | * mon: fix compatset initalization during mkfs (Joao Eduardo Luis) | |
1712 | * mon: fix feature tracking during elections (Joao Eduardo Luis) | |
1713 | * mon: fix mds gid/rank/state parsing (John Spray) | |
1714 | * mon: ignore failure reports from before up_from (#10762 Dan van der Ster, Sage Weil) | |
1715 | * mon: improved corrupt CRUSH map detection (Joao Eduardo Luis) | |
1716 | * mon: include pg_temp count in osdmap summary (Sage Weil) | |
1717 | * mon: log health summary to cluster log (#9440 Joao Eduardo Luis) | |
1718 | * mon: make 'mds fail' idempotent (John Spray) | |
1719 | * mon: make pg dump {sum,pgs,pgs_brief} work for format=plain (#5963 #6759 Mykola Golub) | |
1720 | * mon: new pool safety flags nodelete, nopgchange, nosizechange (#9792 Mykola Golub) | |
1721 | * mon: new, friendly 'ceph pg ls ...' command (Xinxin Shu) | |
1722 | * mon: prevent MDS transition from STOPPING (#10791 Greg Farnum) | |
1723 | * mon: propose all pending work in one transaction (Sage Weil) | |
1724 | * mon: remove pg_temps for nonexistent pools (Joao Eduardo Luis) | |
1725 | * mon: require mon_allow_pool_delete option to remove pools (Sage Weil) | |
1726 | * mon: set globalid prealloc to larger value (Sage Weil) | |
1727 | * mon: skip zeroed osd stats in get_rule_avail (#10257 Joao Eduardo Luis) | |
1728 | * mon: validate min_size range (Jianpeng Ma) | |
1729 | * msgr: async: bind threads to CPU cores, improved poll (Haomai Wang) | |
1730 | * msgr: fix crc configuration (Mykola Golub) | |
1731 | * msgr: misc unit tests (Haomai Wang) | |
1732 | * msgr: xio: XioMessenger RDMA support (Casey Bodley, Vu Pham, Matt Benjamin) | |
1733 | * osd, librados: fadvise-style librados hints (Jianpeng Ma) | |
1734 | * osd, librados: fix xattr_cmp_u64 (Dongmao Zhang) | |
1735 | * osd,mon: add 'norebalance' flag (Kefu Chai) | |
1736 | * osd,mon: specify OSD features explicitly in MOSDBoot (#10911 Sage Weil) | |
1737 | * osd: add option to prioritize heartbeat network traffic (Jian Wen) | |
1738 | * osd: add support for the SHEC erasure-code algorithm (Takeshi Miyamae, Loic Dachary) | |
1739 | * osd: allow recovery while below min_size (Samuel Just) | |
1740 | * osd: allow recovery with fewer than min_size OSDs (Samuel Just) | |
1741 | * osd: allow writes to degraded objects (Samuel Just) | |
1742 | * osd: allow writes to degraded objects (Samuel Just) | |
1743 | * osd: avoid publishing unchanged PG stats (Sage Weil) | |
1744 | * osd: cache recent ObjectContexts (Dong Yuan) | |
1745 | * osd: clear cache on interval change (Samuel Just) | |
1746 | * osd: do no proxy reads unless target OSDs are new (#10788 Sage Weil) | |
1747 | * osd: do not update digest on inconsistent object (#10524 Samuel Just) | |
1748 | * osd: don't record digests for snapdirs (#10536 Samuel Just) | |
1749 | * osd: fix OSDCap parser on old (el6) boost::spirit (#10757 Kefu Chai) | |
1750 | * osd: fix OSDCap parsing on el6 (#10757 Kefu Chai) | |
1751 | * osd: fix ObjectStore::Transaction encoding version (#10734 Samuel Just) | |
1752 | * osd: fix auth object selection during repair (#10524 Samuel Just) | |
1753 | * osd: fix bug in pending digest updates (#10840 Samuel Just) | |
1754 | * osd: fix cancel_proxy_read_ops (Sage Weil) | |
1755 | * osd: fix cleanup of interrupted pg deletion (#10617 Sage Weil) | |
1756 | * osd: fix journal wrapping bug (#10883 David Zafman) | |
1757 | * osd: fix leak in SnapTrimWQ (#10421 Kefu Chai) | |
1758 | * osd: fix memstore free space calculation (Xiaoxi Chen) | |
1759 | * osd: fix mixed-version peering issues (Samuel Just) | |
1760 | * osd: fix object digest update bug (#10840 Samuel Just) | |
1761 | * osd: fix ordering issue with new transaction encoding (#10534 Dong Yuan) | |
1762 | * osd: fix past_interval generation (#10427 #10430 David Zafman) | |
1763 | * osd: fix short read handling on push (#8121 David Zafman) | |
1764 | * osd: fix watch timeout cache state update (#10784 David Zafman) | |
1765 | * osd: force promotion of watch/notify ops (Zhiqiang Wang) | |
1766 | * osd: improve idempotency detection across cache promotion/demotion (#8935 Sage Weil, Samuel Just) | |
1767 | * osd: include activating peers in blocked_by (#10477 Sage Weil) | |
1768 | * osd: jerasure and gf-complete updates from upstream (#10216 Loic Dachary) | |
1769 | * osd: journal: check fsync/fdatasync result (Jianpeng Ma) | |
1770 | * osd: journal: fix hang on shutdown (#10474 David Zafman) | |
1771 | * osd: journal: fix header.committed_up_to (Xinze Chi) | |
1772 | * osd: journal: initialize throttle (Ning Yao) | |
1773 | * osd: journal: misc bug fixes (#6003 David Zafman, Samuel Just) | |
1774 | * osd: misc cleanup (Xinze Chi, Yongyue Sun) | |
1775 | * osd: new 'activating' state between peering and active (Sage Weil) | |
1776 | * osd: preserve reqids for idempotency checks for promote/demote (Sage Weil, Zhiqiang Wang, Samuel Just) | |
1777 | * osd: remove dead locking code (Xinxin Shu) | |
1778 | * osd: restrict scrub to certain times of day (Xinze Chi) | |
1779 | * osd: rocksdb: fix shutdown (Hoamai Wang) | |
1780 | * pybind: fix memory leak in librados bindings (Billy Olsen) | |
1781 | * qa: fix mds tests (#10539 John Spray) | |
1782 | * qa: ignore duplicates in rados ls (Josh Durgin) | |
1783 | * qa: improve hadoop tests (Noah Watkins) | |
1784 | * qa: reorg fs quota tests (Greg Farnum) | |
1785 | * rados: fix usage (Jianpeng Ma) | |
1786 | * radosgw-admin: add replicalog update command (Yehuda Sadeh) | |
1787 | * rbd-fuse: clean up on shutdown (Josh Durgin) | |
1788 | * rbd: add 'merge-diff' function (MingXin Liu, Yunchuan Wen, Li Wang) | |
1789 | * rbd: fix buffer handling on image import (#10590 Jason Dillaman) | |
1790 | * rbd: leave exclusive lockin goff by default (Jason Dillaman) | |
1791 | * rbd: update init-rbdmap to fix dup mount point (Karel Striegel) | |
1792 | * rbd: use IO hints for import, export, and bench operations (#10462 Jason Dillaman) | |
1793 | * rbd_recover_tool: RBD image recovery tool (Min Chen) | |
1794 | * rgw: S3-style object versioning support (Yehuda Sadeh) | |
1795 | * rgw: check keystone auth for S3 POST requests (#10062 Abhishek Lekshmanan) | |
1796 | * rgw: extend replica log API (purge-all) (Yehuda Sadeh) | |
1797 | * rgw: fail S3 POST if keystone not configured (#10688 Valery Tschopp, Yehuda Sadeh) | |
1798 | * rgw: fix XML header on get ACL request (#10106 Yehuda Sadeh) | |
1799 | * rgw: fix bucket removal with data purge (Yehuda Sadeh) | |
1800 | * rgw: fix replica log indexing (#8251 Yehuda Sadeh) | |
1801 | * rgw: fix swift metadata header name (Dmytro Iurchenko) | |
1802 | * rgw: remove multipart entries from bucket index on abort (#10719 Yehuda Sadeh) | |
1803 | * rgw: respond with 204 to POST on containers (#10667 Yuan Zhou) | |
1804 | * rgw: reuse fcgx connection struct (#10194 Yehuda Sadeh) | |
1805 | * rgw: support multiple host names (#7467 Yehuda Sadeh) | |
1806 | * rgw: swift: dump container's custom metadata (#10665 Ahmad Faheem, Dmytro Iurchenko) | |
1807 | * rgw: swift: support Accept header for response format (#10746 Dmytro Iurchenko) | |
1808 | * rgw: swift: support for X-Remove-Container-Meta-{key} (#10475 Dmytro Iurchenko) | |
1809 | * rpm: move rgw logrotate to radosgw subpackage (Ken Dreyer) | |
1810 | * tests: centos-6 dockerfile (#10755 Loic Dachary) | |
1811 | * tests: unit tests for shared_cache (Dong Yuan) | |
1812 | * vstart.sh: work with cmake (Yehuda Sadeh) | |
1813 | ||
1814 | ||
1815 | ||
1816 | v0.92 | |
1817 | ===== | |
1818 | ||
1819 | This is the second-to-last chunk of new stuff before Hammer. Big items | |
1820 | include additional checksums on OSD objects, proxied reads in the | |
1821 | cache tier, image locking in RBD, optimized OSD Transaction and | |
1822 | replication messages, and a big pile of RGW and MDS bug fixes. | |
1823 | ||
1824 | Upgrading | |
1825 | --------- | |
1826 | ||
1827 | * The experimental 'keyvaluestore-dev' OSD backend has been renamed | |
1828 | 'keyvaluestore' (for simplicity) and marked as experimental. To | |
1829 | enable this untested feature and acknowledge that you understand | |
1830 | that it is untested and may destroy data, you need to add the | |
1831 | following to your ceph.conf:: | |
1832 | ||
1833 | enable experimental unrecoverable data corrupting features = keyvaluestore | |
1834 | ||
1835 | * The following librados C API function calls take a 'flags' argument whose value | |
1836 | is now correctly interpreted: | |
1837 | ||
1838 | rados_write_op_operate() | |
1839 | rados_aio_write_op_operate() | |
1840 | rados_read_op_operate() | |
1841 | rados_aio_read_op_operate() | |
1842 | ||
1843 | The flags were not correctly being translated from the librados constants to the | |
1844 | internal values. Now they are. Any code that is passing flags to these methods | |
1845 | should be audited to ensure that they are using the correct LIBRADOS_OP_FLAG_* | |
1846 | constants. | |
1847 | ||
1848 | * The 'rados' CLI 'copy' and 'cppool' commands now use the copy-from operation, | |
1849 | which means the latest CLI cannot run these commands against pre-firefly OSDs. | |
1850 | ||
1851 | * The librados watch/notify API now includes a watch_flush() operation to flush | |
1852 | the async queue of notify operations. This should be called by any watch/notify | |
1853 | user prior to rados_shutdown(). | |
1854 | ||
1855 | Notable Changes | |
1856 | --------------- | |
1857 | ||
1858 | * add experimental features option (Sage Weil) | |
1859 | * build: fix 'make check' races (#10384 Loic Dachary) | |
1860 | * build: fix pkg names when libkeyutils is missing (Pankag Garg, Ken Dreyer) | |
1861 | * ceph: make 'ceph -s' show PG state counts in sorted order (Sage Weil) | |
1862 | * ceph: make 'ceph tell mon.* version' work (Mykola Golub) | |
1863 | * ceph-monstore-tool: fix/improve CLI (Joao Eduardo Luis) | |
1864 | * ceph: show primary-affinity in 'ceph osd tree' (Mykola Golub) | |
1865 | * common: add TableFormatter (Andreas Peters) | |
1866 | * common: check syncfs() return code (Jianpeng Ma) | |
1867 | * doc: do not suggest dangerous XFS nobarrier option (Dan van der Ster) | |
1868 | * doc: misc updates (Nilamdyuti Goswami, John Wilkins) | |
1869 | * install-deps.sh: do not require sudo when root (Loic Dachary) | |
1870 | * libcephfs: fix dirfrag trimming (#10387 Yan, Zheng) | |
1871 | * libcephfs: fix mount timeout (#10041 Yan, Zheng) | |
1872 | * libcephfs: fix test (#10415 Yan, Zheng) | |
1873 | * libcephfs: fix use-afer-free on umount (#10412 Yan, Zheng) | |
1874 | * libcephfs: include ceph and git version in client metadata (Sage Weil) | |
1875 | * librados: add watch_flush() operation (Sage Weil, Haomai Wang) | |
1876 | * librados: avoid memcpy on getxattr, read (Jianpeng Ma) | |
1877 | * librados: create ioctx by pool id (Jason Dillaman) | |
1878 | * librados: do notify completion in fast-dispatch (Sage Weil) | |
1879 | * librados: remove shadowed variable (Kefu Chain) | |
1880 | * librados: translate op flags from C APIs (Matthew Richards) | |
1881 | * librbd: differentiate between R/O vs R/W features (Jason Dillaman) | |
1882 | * librbd: exclusive image locking (Jason Dillaman) | |
1883 | * librbd: fix write vs import race (#10590 Jason Dillaman) | |
1884 | * librbd: gracefully handle deleted/renamed pools (#10270 Jason Dillaman) | |
1885 | * mds: asok command for fetching subtree map (John Spray) | |
1886 | * mds: constify MDSCacheObjects (John Spray) | |
1887 | * misc: various valgrind fixes and cleanups (Danny Al-Gaaf) | |
1888 | * mon: fix 'mds fail' for standby MDSs (John Spray) | |
1889 | * mon: fix stashed monmap encoding (#5203 Xie Rui) | |
1890 | * mon: implement 'fs reset' command (John Spray) | |
1891 | * mon: respect down flag when promoting standbys (John Spray) | |
1892 | * mount.ceph: fix suprious error message (#10351 Yan, Zheng) | |
1893 | * msgr: async: many fixes, unit tests (Haomai Wang) | |
1894 | * msgr: simple: retry binding to port on failure (#10029 Wido den Hollander) | |
1895 | * osd: add fadvise flags to ObjectStore API (Jianpeng Ma) | |
1896 | * osd: add get_latest_osdmap asok command (#9483 #9484 Mykola Golub) | |
1897 | * osd: EIO on whole-object reads when checksum is wrong (Sage Weil) | |
1898 | * osd: filejournal: don't cache journal when not using direct IO (Jianpeng Ma) | |
1899 | * osd: fix ioprio option (Mykola Golub) | |
1900 | * osd: fix scrub delay bug (#10693 Samuel Just) | |
1901 | * osd: fix watch reconnect race (#10441 Sage Weil) | |
1902 | * osd: handle no-op write with snapshot (#10262 Sage Weil) | |
1903 | * osd: journal: fix journal zeroing when direct IO is enabled (Xie Rui) | |
1904 | * osd: keyvaluestore: cleanup dead code (Ning Yao) | |
1905 | * osd, mds: 'ops' as shorthand for 'dump_ops_in_flight' on asok (Sage Weil) | |
1906 | * osd: memstore: fix size limit (Xiaoxi Chen) | |
1907 | * osd: misc scrub fixes (#10017 Loic Dachary) | |
1908 | * osd: new optimized encoding for ObjectStore::Transaction (Dong Yuan) | |
1909 | * osd: optimize filter_snapc (Ning Yao) | |
1910 | * osd: optimize WBThrottle map with unordered_map (Ning Yao) | |
1911 | * osd: proxy reads during cache promote (Zhiqiang Wang) | |
1912 | * osd: proxy read support (Zhiqiang Wang) | |
1913 | * osd: remove legacy classic scrub code (Sage Weil) | |
1914 | * osd: remove unused fields in MOSDSubOp (Xiaoxi Chen) | |
1915 | * osd: replace MOSDSubOp messages with simpler, optimized MOSDRepOp (Xiaoxi Chen) | |
1916 | * osd: store whole-object checksums on scrub, write_full (Sage Weil) | |
1917 | * osd: verify kernel is new enough before using XFS extsize ioctl, enable by default (#9956 Sage Weil) | |
1918 | * rados: use copy-from operation for copy, cppool (Sage Weil) | |
1919 | * rgw: change multipart upload id magic (#10271 Yehuda Sadeh) | |
1920 | * rgw: decode http query params correction (#10271 Yehuda Sadeh) | |
1921 | * rgw: fix content length check (#10701 Axel Dunkel, Yehuda Sadeh) | |
1922 | * rgw: fix partial GET in swift (#10553 Yehuda Sadeh) | |
1923 | * rgw: fix shutdown (#10472 Yehuda Sadeh) | |
1924 | * rgw: include XML ns on get ACL request (#10106 Yehuda Sadeh) | |
1925 | * rgw: misc fixes (#10307 Yehuda Sadeh) | |
1926 | * rgw: only track cleanup for objects we write (#10311 Yehuda Sadeh) | |
1927 | * rgw: tweak error codes (#10329 #10334 Yehuda Sadeh) | |
1928 | * rgw: use gc for multipart abort (#10445 Aaron Bassett, Yehuda Sadeh) | |
1929 | * sysvinit: fix race in 'stop' (#10389 Loic Dachary) | |
1930 | * test: fix bufferlist tests (Jianpeng Ma) | |
1931 | * tests: improve docker-based tests (Loic Dachary) | |
1932 | ||
1933 | ||
1934 | v0.91 | |
1935 | ===== | |
1936 | ||
1937 | We are quickly approaching the Hammer feature freeze but have a few | |
1938 | more dev releases to go before we get there. The headline items are | |
1939 | subtree-based quota support in CephFS (ceph-fuse/libcephfs client | |
1940 | support only for now), a rewrite of the watch/notify librados API used | |
1941 | by RBD and RGW, OSDMap checksums to ensure that maps are always | |
1942 | consistent inside the cluster, new API calls in librados and librbd | |
1943 | for IO hinting modeled after posix_fadvise, and improved storage of | |
1944 | per-PG state. | |
1945 | ||
1946 | We expect two more releases before the Hammer feature freeze (v0.93). | |
1947 | ||
1948 | Upgrading | |
1949 | --------- | |
1950 | ||
1951 | * The 'category' field for objects has been removed. This was originally added | |
1952 | to track PG stat summations over different categories of objects for use by | |
1953 | radosgw. It is no longer has any known users and is prone to abuse because it | |
1954 | can lead to a pg_stat_t structure that is unbounded. The librados API calls | |
1955 | that accept this field now ignore it, and the OSD no longer tracks the | |
1956 | per-category summations. | |
1957 | ||
1958 | * The output for 'rados df' has changed. The 'category' level has been | |
1959 | eliminated, so there is now a single stat object per pool. The structure of | |
1960 | the JSON output is different, and the plaintext output has one less column. | |
1961 | ||
1962 | * The 'rados create <objectname> [category]' optional category argument is no | |
1963 | longer supported or recognized. | |
1964 | ||
1965 | * rados.py's Rados class no longer has a __del__ method; it was causing | |
1966 | problems on interpreter shutdown and use of threads. If your code has | |
1967 | Rados objects with limited lifetimes and you're concerned about locked | |
1968 | resources, call Rados.shutdown() explicitly. | |
1969 | ||
1970 | * There is a new version of the librados watch/notify API with vastly | |
1971 | improved semantics. Any applications using this interface are | |
1972 | encouraged to migrate to the new API. The old API calls are marked | |
1973 | as deprecated and will eventually be removed. | |
1974 | ||
1975 | * The librados rados_unwatch() call used to be safe to call on an | |
1976 | invalid handle. The new version has undefined behavior when passed | |
1977 | a bogus value (for example, when rados_watch() returns an error and | |
1978 | handle is not defined). | |
1979 | ||
1980 | * The structure of the formatted 'pg stat' command is changed for the | |
1981 | portion that counts states by name to avoid using the '+' character | |
1982 | (which appears in state names) as part of the XML token (it is not | |
1983 | legal). | |
1984 | ||
1985 | Notable Changes | |
1986 | --------------- | |
1987 | ||
1988 | * asyncmsgr: misc fixes (Haomai Wang) | |
1989 | * buffer: add 'shareable' construct (Matt Benjamin) | |
1990 | * build: aarch64 build fixes (Noah Watkins, Haomai Wang) | |
1991 | * build: support for jemalloc (Shishir Gowda) | |
1992 | * ceph-disk: allow journal partition re-use (#10146 Loic Dachary, Dav van der Ster) | |
1993 | * ceph-disk: misc fixes (Christos Stavrakakis) | |
1994 | * ceph-fuse: fix kernel cache trimming (#10277 Yan, Zheng) | |
1995 | * ceph-objectstore-tool: many many improvements (David Zafman) | |
1996 | * common: support new gperftools header locations (Key Dreyer) | |
1997 | * crush: straw bucket weight calculation fixes (#9998 Sage Weil) | |
1998 | * doc: misc improvements (Nilamdyuti Goswami, John Wilkins, Chris Holcombe) | |
1999 | * libcephfs,ceph-fuse: add 'status' asok (John Spray) | |
2000 | * librados, osd: new watch/notify implementation (Sage Weil) | |
2001 | * librados: drop 'category' feature (Sage Weil) | |
2002 | * librados: fix pool deletion handling (#10372 Sage Weil) | |
2003 | * librados: new fadvise API (Ma Jianpeng) | |
2004 | * libradosstriper: fix remove() (Dongmao Zhang) | |
2005 | * librbd: complete pending ops before closing image (#10299 Josh Durgin) | |
2006 | * librbd: fadvise API (Ma Jianpeng) | |
2007 | * mds: ENOSPC and OSDMap epoch barriers (#7317 John Spray) | |
2008 | * mds: dirfrag buf fix (Yan, Zheng) | |
2009 | * mds: disallow most commands on inactive MDS's (Greg Farnum) | |
2010 | * mds: drop dentries, leases on deleted directories (#10164 Yan, Zheng) | |
2011 | * mds: handle zero-size xattr (#10335 Yan, Zheng) | |
2012 | * mds: subtree quota support (Yunchuan Wen) | |
2013 | * memstore: free space tracking (John Spray) | |
2014 | * misc cleanup (Danny Al-Gaaf, David Anderson) | |
2015 | * mon: 'osd crush reweight-all' command (Sage Weil) | |
2016 | * mon: allow full flag to be manually cleared (#9323 Sage Weil) | |
2017 | * mon: delay failure injection (Joao Eduardo Luis) | |
2018 | * mon: fix paxos timeouts (#10220 Joao Eduardo Luis) | |
2019 | * mon: get canonical OSDMap from leader (#10422 Sage Weil) | |
2020 | * msgr: fix RESETSESSION bug (#10080 Greg Farnum) | |
2021 | * objectstore: deprecate collection attrs (Sage Weil) | |
2022 | * osd, mon: add checksums to all OSDMaps (Sage Weil) | |
2023 | * osd: allow deletion of objects with watcher (#2339 Sage Weil) | |
2024 | * osd: allow sparse read for Push/Pull (Haomai Wang) | |
2025 | * osd: cache reverse_nibbles hash value (Dong Yuan) | |
2026 | * osd: drop upgrade support for pre-dumpling (Sage Weil) | |
2027 | * osd: enable and use posix_fadvise (Sage Weil) | |
2028 | * osd: erasure-code: enforce chunk size alignment (#10211 Loic Dachary) | |
2029 | * osd: erasure-code: jerasure support for NEON (Loic Dachary) | |
2030 | * osd: erasure-code: relax cauchy w restrictions (#10325 David Zhang, Loic Dachary) | |
2031 | * osd: erasure-code: update gf-complete to latest upstream (Loic Dachary) | |
2032 | * osd: fix WBTHrottle perf counters (Haomai Wang) | |
2033 | * osd: fix backfill bug (#10150 Samuel Just) | |
2034 | * osd: fix occasional peering stalls (#10431 Sage Weil) | |
2035 | * osd: fix scrub vs try-flush bug (#8011 Samuel Just) | |
2036 | * osd: fix stderr with -f or -d (Dan Mick) | |
2037 | * osd: misc FIEMAP fixes (Ma Jianpeng) | |
2038 | * osd: optimize Finisher (Xinze Chi) | |
2039 | * osd: store PG metadata in per-collection objects for better concurrency (Sage Weil) | |
2040 | * pyrados: add object lock support (#6114 Mehdi Abaakouk) | |
2041 | * pyrados: fix misnamed wait_* routings (#10104 Dan Mick) | |
2042 | * pyrados: misc cleanups (Kefu Chai) | |
2043 | * qa: add large auth ticket tests (Ilya Dryomov) | |
2044 | * qa: many 'make check' improvements (Loic Dachary) | |
2045 | * qa: misc tests (Loic Dachary, Yan, Zheng) | |
2046 | * rgw: conditional PUT on ETag (#8562 Ray Lv) | |
2047 | * rgw: fix error codes (#10334 #10329 Yehuda Sadeh) | |
2048 | * rgw: index swift keys appropriately (#10471 Yehuda Sadeh) | |
2049 | * rgw: prevent illegal bucket policy that doesn't match placement rule (Yehuda Sadeh) | |
2050 | * rgw: run radosgw as apache with systemd (#10125 Loic Dachary) | |
2051 | * rgw: support X-Storage-Policy header for Swift storage policy compat (Yehuda Sadeh) | |
2052 | * rgw: use \r\n for http headers (#9254 Yehuda Sadeh) | |
2053 | * rpm: misc fixes (Key Dreyer) | |
2054 | ||
2055 | ||
2056 | v0.90 | |
2057 | ===== | |
2058 | ||
2059 | This is the last development release before Christmas. There are some | |
2060 | API cleanups for librados and librbd, and lots of bug fixes across the | |
2061 | board for the OSD, MDS, RGW, and CRUSH. The OSD also gets support for | |
2062 | discard (potentially helpful on SSDs, although it is off by default), and there | |
2063 | are several improvements to ceph-disk. | |
2064 | ||
2065 | The next two development releases will be getting a slew of new | |
2066 | functionality for hammer. Stay tuned! | |
2067 | ||
2068 | Upgrading | |
2069 | --------- | |
2070 | ||
2071 | * Previously, the formatted output of 'ceph pg stat -f ...' was a full | |
2072 | pg dump that included all metadata about all PGs in the system. It | |
2073 | is now a concise summary of high-level PG stats, just like the | |
2074 | unformatted 'ceph pg stat' command. | |
2075 | ||
2076 | * All JSON dumps of floating point values were incorrecting surrounding the | |
2077 | value with quotes. These quotes have been removed. Any consumer of structured | |
2078 | JSON output that was consuming the floating point values was previously having | |
2079 | to interpret the quoted string and will most likely need to be fixed to take | |
2080 | the unquoted number. | |
2081 | ||
2082 | Notable Changes | |
2083 | --------------- | |
2084 | ||
2085 | * arch: fix NEON feaeture detection (#10185 Loic Dachary) | |
2086 | * build: adjust build deps for yasm, virtualenv (Jianpeng Ma) | |
2087 | * build: improve build dependency tooling (Loic Dachary) | |
2088 | * ceph-disk: call partx/partprobe consistency (#9721 Loic Dachary) | |
2089 | * ceph-disk: fix dmcrypt key permissions (Loic Dachary) | |
2090 | * ceph-disk: fix umount race condition (#10096 Blaine Gardner) | |
2091 | * ceph-disk: init=none option (Loic Dachary) | |
2092 | * ceph-monstore-tool: fix shutdown (#10093 Loic Dachary) | |
2093 | * ceph-objectstore-tool: fix import (#10090 David Zafman) | |
2094 | * ceph-objectstore-tool: many improvements and tests (David Zafman) | |
2095 | * ceph.spec: package rbd-replay-prep (Ken Dreyer) | |
2096 | * common: add 'perf reset ...' admin command (Jianpeng Ma) | |
2097 | * common: do not unlock rwlock on destruction (Federico Simoncelli) | |
2098 | * common: fix block device discard check (#10296 Sage Weil) | |
2099 | * common: remove broken CEPH_LOCKDEP optoin (Kefu Chai) | |
2100 | * crush: fix tree bucket behavior (Rongze Zhu) | |
2101 | * doc: add build-doc guidlines for Fedora and CentOS/RHEL (Nilamdyuti Goswami) | |
2102 | * doc: enable rbd cache on openstack deployments (Sebastien Han) | |
2103 | * doc: improved installation nots on CentOS/RHEL installs (John Wilkins) | |
2104 | * doc: misc cleanups (Adam Spiers, Sebastien Han, Nilamdyuti Goswami, Ken Dreyer, John Wilkins) | |
2105 | * doc: new man pages (Nilamdyuti Goswami) | |
2106 | * doc: update release descriptions (Ken Dreyer) | |
2107 | * doc: update sepia hardware inventory (Sandon Van Ness) | |
2108 | * librados: only export public API symbols (Jason Dillaman) | |
2109 | * libradosstriper: fix stat strtoll (Dongmao Zhang) | |
2110 | * libradosstriper: fix trunc method (#10129 Sebastien Ponce) | |
2111 | * librbd: fix list_children from invalid pool ioctxs (#10123 Jason Dillaman) | |
2112 | * librbd: only export public API symbols (Jason Dillaman) | |
2113 | * many coverity fixes (Danny Al-Gaaf) | |
2114 | * mds: 'flush journal' admin command (John Spray) | |
2115 | * mds: fix MDLog IO callback deadlock (John Spray) | |
2116 | * mds: fix deadlock during journal probe vs purge (#10229 Yan, Zheng) | |
2117 | * mds: fix race trimming log segments (Yan, Zheng) | |
2118 | * mds: store backtrace for stray dir (Yan, Zheng) | |
2119 | * mds: verify backtrace when fetching dirfrag (#9557 Yan, Zheng) | |
2120 | * mon: add max pgs per osd warning (Sage Weil) | |
2121 | * mon: fix *_ratio* units and types (Sage Weil) | |
2122 | * mon: fix JSON dumps to dump floats as flots and not strings (Sage Weil) | |
2123 | * mon: fix formatter 'pg stat' command output (Sage Weil) | |
2124 | * msgr: async: several fixes (Haomai Wang) | |
2125 | * msgr: simple: fix rare deadlock (Greg Farnum) | |
2126 | * osd: batch pg log trim (Xinze Chi) | |
2127 | * osd: clean up internal ObjectStore interface (Sage Weil) | |
2128 | * osd: do not abort deep scrub on missing hinfo (#10018 Loic Dachary) | |
2129 | * osd: fix ghobject_t formatted output to include shard (#10063 Loic Dachary) | |
2130 | * osd: fix osd peer check on scrub messages (#9555 Sage Weil) | |
2131 | * osd: fix pgls filter ops (#9439 David Zafman) | |
2132 | * osd: flush snapshots from cache tier immediately (Sage Weil) | |
2133 | * osd: keyvaluestore: fix getattr semantics (Haomai Wang) | |
2134 | * osd: keyvaluestore: fix key ordering (#10119 Haomai Wang) | |
2135 | * osd: limit in-flight read requests (Jason Dillaman) | |
2136 | * osd: log when scrub or repair starts (Loic Dachary) | |
2137 | * osd: support for discard for journal trim (Jianpeng Ma) | |
2138 | * qa: fix osd create dup tests (#10083 Loic Dachary) | |
2139 | * rgw: add location header when object is in another region (VRan Liu) | |
2140 | * rgw: check timestamp on s3 keystone auth (#10062 Abhishek Lekshmanan) | |
2141 | * rgw: make sysvinit script set ulimit -n properly (Sage Weil) | |
2142 | * systemd: better systemd unit files (Owen Synge) | |
2143 | * tests: ability to run unit tests under docker (Loic Dachary) | |
2144 | ||
2145 | ||
2146 | v0.89 | |
2147 | ===== | |
2148 | ||
2149 | This is the second development release since Giant. The big items | |
2150 | include the first batch of scrub patchs from Greg for CephFS, a rework | |
2151 | in the librados object listing API to properly handle namespaces, and | |
2152 | a pile of bug fixes for RGW. There are also several smaller issues | |
2153 | fixed up in the performance area with buffer alignment and memory | |
2154 | copies, osd cache tiering agent, and various CephFS fixes. | |
2155 | ||
2156 | Upgrading | |
2157 | --------- | |
2158 | ||
2159 | * New ability to list all objects from all namespaces can fail or | |
2160 | return incomplete results when not all OSDs have been upgraded. | |
2161 | Features rados --all ls, rados cppool, rados export, rados | |
2162 | cache-flush-evict-all and rados cache-try-flush-evict-all can also | |
2163 | fail or return incomplete results. | |
2164 | ||
2165 | Notable Changes | |
2166 | --------------- | |
2167 | ||
2168 | * buffer: add list::get_contiguous (Sage Weil) | |
2169 | * buffer: avoid rebuild if buffer already contiguous (Jianpeng Ma) | |
2170 | * ceph-disk: improved systemd support (Owen Synge) | |
2171 | * ceph-disk: set guid if reusing journal partition (Dan van der Ster) | |
2172 | * ceph-fuse, libcephfs: allow xattr caps in inject_release_failure (#9800 John Spray) | |
2173 | * ceph-fuse, libcephfs: fix I_COMPLETE_ORDERED checks (#9894 Yan, Zheng) | |
2174 | * ceph-fuse: fix dentry invalidation on 3.18+ kernels (#9997 Yan, Zheng) | |
2175 | * crush: fix detach_bucket (#10095 Sage Weil) | |
2176 | * crush: fix several bugs in adjust_item_weight (Rongze Zhu) | |
2177 | * doc: add dumpling to firefly upgrade section (#7679 John Wilkins) | |
2178 | * doc: document erasure coded pool operations (#9970 Loic Dachary) | |
2179 | * doc: file system osd config settings (Kevin Dalley) | |
2180 | * doc: key/value store config reference (John Wilkins) | |
2181 | * doc: update openstack docs for Juno (Sebastien Han) | |
2182 | * fix cluster logging from non-mon daemons (Sage Weil) | |
2183 | * init-ceph: check for systemd-run before using it (Boris Ranto) | |
2184 | * librados: fix infinite loop with skipped map epochs (#9986 Ding Dinghua) | |
2185 | * librados: fix iterator operator= bugs (#10082 David Zafman, Yehuda Sadeh) | |
2186 | * librados: fix null deref when pool DNE (#9944 Sage Weil) | |
2187 | * librados: fix timer race from recent refactor (Sage Weil) | |
2188 | * libradosstriper: fix shutdown hang (Dongmao Zhang) | |
2189 | * librbd: don't close a closed parent in failure path (#10030 Jason Dillaman) | |
2190 | * librbd: fix diff test (#10002 Josh Durgin) | |
2191 | * librbd: fix locking for readahead (#10045 Jason Dillaman) | |
2192 | * librbd: refactor unit tests to use fixtures (Jason Dillaman) | |
2193 | * many many coverity cleanups (Danny Al-Gaaf) | |
2194 | * mds: a whole bunch of initial scrub infrastructure (Greg Farnum) | |
2195 | * mds: fix compat_version for MClientSession (#9945 John Spray) | |
2196 | * mds: fix reply snapbl (Yan, Zheng) | |
2197 | * mon: allow adding tiers to fs pools (#10135 John Spray) | |
2198 | * mon: fix MDS health status from peons (#10151 John Spray) | |
2199 | * mon: fix caching for min_last_epoch_clean (#9987 Sage Weil) | |
2200 | * mon: fix error output for add_data_pool (#9852 Joao Eduardo Luis) | |
2201 | * mon: include entity name in audit log for forwarded requests (#9913 Joao Eduardo Luis) | |
2202 | * mon: paxos: allow reads while proposing (#9321 #9322 Joao Eduardo Luis) | |
2203 | * msgr: asyncmessenger: add kqueue support (#9926 Haomai Wang) | |
2204 | * osd, librados: revamp PG listing API to handle namespaces (#9031 #9262 #9438 David Zafman) | |
2205 | * osd, mon: send intiial pg create time from mon to osd (#9887 David Zafman) | |
2206 | * osd: allow whiteout deletion in cache pool (Sage Weil) | |
2207 | * osd: cache pool: ignore min flush age when cache is full (Xinze Chi) | |
2208 | * osd: erasure coding: allow bench.sh to test ISA backend (Yuan Zhou) | |
2209 | * osd: erasure-code: encoding regression tests, corpus (#9420 Loic Dachary) | |
2210 | * osd: fix journal shutdown race (Sage Weil) | |
2211 | * osd: fix object age eviction (Zhiqiang Wang) | |
2212 | * osd: fix object atime calculation (Xinze Chi) | |
2213 | * osd: fix past_interval display bug (#9752 Loic Dachary) | |
2214 | * osd: journal: fix alignment checks, avoid useless memmove (Jianpeng Ma) | |
2215 | * osd: journal: update committed_thru after replay (#6756 Samuel Just) | |
2216 | * osd: keyvaluestore_dev: optimization (Chendi Xue) | |
2217 | * osd: make misdirected op checks robust for EC pools (#9835 Sage Weil) | |
2218 | * osd: removed some dead code (Xinze Chi) | |
2219 | * qa: parallelize make check (Loic Dachary) | |
2220 | * qa: tolerate nearly-full disk for make check (Loic Dachary) | |
2221 | * rgw: create subuser if needed when creating user (#10103 Yehuda Sadeh) | |
2222 | * rgw: fix If-Modified-Since (VRan Liu) | |
2223 | * rgw: fix content-length update (#9576 Yehuda Sadeh) | |
2224 | * rgw: fix disabling of max_size quota (#9907 Dong Lei) | |
2225 | * rgw: fix incorrect len when len is 0 (#9877 Yehuda Sadeh) | |
2226 | * rgw: fix object copy content type (#9478 Yehuda Sadeh) | |
2227 | * rgw: fix user stags in get-user-info API (#9359 Ray Lv) | |
2228 | * rgw: remove swift user manifest (DLO) hash calculation (#9973 Yehuda Sadeh) | |
2229 | * rgw: return timestamp on GET/HEAD (#8911 Yehuda Sadeh) | |
2230 | * rgw: set ETag on object copy (#9479 Yehuda Sadeh) | |
2231 | * rgw: update bucket index on attr changes, for multi-site sync (#5595 Yehuda Sadeh) | |
2232 | ||
2233 | ||
2234 | v0.88 | |
2235 | ===== | |
2236 | ||
2237 | This is the first development release after Giant. The two main | |
2238 | features merged this round are the new AsyncMessenger (an alternative | |
2239 | implementation of the network layer) from Haomai Wang at UnitedStack, | |
2240 | and support for POSIX file locks in ceph-fuse and libcephfs from Yan, | |
2241 | Zheng. There is also a big pile of smaller items that re merged while | |
2242 | we were stabilizing Giant, including a range of smaller performance | |
2243 | and bug fixes and some new tracepoints for LTTNG. | |
2244 | ||
2245 | Notable Changes | |
2246 | --------------- | |
2247 | ||
2248 | * ceph-disk: Scientific Linux support (Dan van der Ster) | |
2249 | * ceph-disk: respect --statedir for keyring (Loic Dachary) | |
2250 | * ceph-fuse, libcephfs: POSIX file lock support (Yan, Zheng) | |
2251 | * ceph-fuse, libcephfs: fix cap flush overflow (Greg Farnum, Yan, Zheng) | |
2252 | * ceph-fuse, libcephfs: fix root inode xattrs (Yan, Zheng) | |
2253 | * ceph-fuse, libcephfs: preserve dir ordering (#9178 Yan, Zheng) | |
2254 | * ceph-fuse, libcephfs: trim inodes before reconnecting to MDS (Yan, Zheng) | |
2255 | * ceph: do not parse injectargs twice (Loic Dachary) | |
2256 | * ceph: make 'ceph -s' output more readable (Sage Weil) | |
2257 | * ceph: new 'ceph tell mds.$name_or_rank_or_gid' (John Spray) | |
2258 | * ceph: test robustness (Joao Eduardo Luis) | |
2259 | * ceph_objectstore_tool: behave with sharded flag (#9661 David Zafman) | |
2260 | * cephfs-journal-tool: fix journal import (#10025 John Spray) | |
2261 | * cephfs-journal-tool: skip up to expire_pos (#9977 John Spray) | |
2262 | * cleanup rados.h definitions with macros (Ilya Dryomov) | |
2263 | * common: shared_cache unit tests (Cheng Cheng) | |
2264 | * config: add $cctid meta variable (Adam Crume) | |
2265 | * crush: fix buffer overrun for poorly formed rules (#9492 Johnu George) | |
2266 | * crush: improve constness (Loic Dachary) | |
2267 | * crushtool: add --location <id> command (Sage Weil, Loic Dachary) | |
2268 | * default to libnss instead of crypto++ (Federico Gimenez) | |
2269 | * doc: ceph osd reweight vs crush weight (Laurent Guerby) | |
2270 | * doc: document the LRC per-layer plugin configuration (Yuan Zhou) | |
2271 | * doc: erasure code doc updates (Loic Dachary) | |
2272 | * doc: misc updates (Alfredo Deza, VRan Liu) | |
2273 | * doc: preflight doc fixes (John Wilkins) | |
2274 | * doc: update PG count guide (Gerben Meijer, Laurent Guerby, Loic Dachary) | |
2275 | * keyvaluestore: misc fixes (Haomai Wang) | |
2276 | * keyvaluestore: performance improvements (Haomai Wang) | |
2277 | * librados: add rados_pool_get_base_tier() call (Adam Crume) | |
2278 | * librados: cap buffer length (Loic Dachary) | |
2279 | * librados: fix objecter races (#9617 Josh Durgin) | |
2280 | * libradosstriper: misc fixes (Sebastien Ponce) | |
2281 | * librbd: add missing python docstrings (Jason Dillaman) | |
2282 | * librbd: add readahead (Adam Crume) | |
2283 | * librbd: fix cache tiers in list_children and snap_unprotect (Adam Crume) | |
2284 | * librbd: fix performance regression in ObjectCacher (#9513 Adam Crume) | |
2285 | * librbd: lttng tracepoints (Adam Crume) | |
2286 | * librbd: misc fixes (Xinxin Shu, Jason Dillaman) | |
2287 | * mds: fix sessionmap lifecycle bugs (Yan, Zheng) | |
2288 | * mds: initialize root inode xattr version (Yan, Zheng) | |
2289 | * mds: introduce auth caps (John Spray) | |
2290 | * mds: misc bugs (Greg Farnum, John Spray, Yan, Zheng, Henry Change) | |
2291 | * misc coverity fixes (Danny Al-Gaaf) | |
2292 | * mon: add 'ceph osd rename-bucket ...' command (Loic Dachary) | |
2293 | * mon: clean up auth list output (Loic Dachary) | |
2294 | * mon: fix 'osd crush link' id resolution (John Spray) | |
2295 | * mon: fix misc error paths (Joao Eduardo Luis) | |
2296 | * mon: fix paxos off-by-one corner case (#9301 Sage Weil) | |
2297 | * mon: new 'ceph pool ls [detail]' command (Sage Weil) | |
2298 | * mon: wait for writeable before cross-proposing (#9794 Joao Eduardo Luis) | |
2299 | * msgr: avoid useless new/delete (Haomai Wang) | |
2300 | * msgr: fix delay injection bug (#9910 Sage Weil, Greg Farnum) | |
2301 | * msgr: new AsymcMessenger alternative implementation (Haomai Wang) | |
2302 | * msgr: prefetch data when doing recv (Yehuda Sadeh) | |
2303 | * osd: add erasure code corpus (Loic Dachary) | |
2304 | * osd: add misc tests (Loic Dachary, Danny Al-Gaaf) | |
2305 | * osd: cleanup boost optionals (William Kennington) | |
2306 | * osd: expose non-journal backends via ceph-osd CLI (Hoamai Wang) | |
2307 | * osd: fix JSON output for stray OSDs (Loic Dachary) | |
2308 | * osd: fix ioprio options (Loic Dachary) | |
2309 | * osd: fix transaction accounting (Jianpeng Ma) | |
2310 | * osd: misc optimizations (Xinxin Shu, Zhiqiang Wang, Xinze Chi) | |
2311 | * osd: use FIEMAP_FLAGS_SYNC instead of fsync (Jianpeng Ma) | |
2312 | * rados: fix put of /dev/null (Loic Dachary) | |
2313 | * rados: parse command-line arguments more strictly (#8983 Adam Crume) | |
2314 | * rbd-fuse: fix memory leak (Adam Crume) | |
2315 | * rbd-replay-many (Adam Crume) | |
2316 | * rbd-replay: --anonymize flag to rbd-replay-prep (Adam Crume) | |
2317 | * rbd: fix 'rbd diff' for non-existent objects (Adam Crume) | |
2318 | * rbd: fix error when striping with format 1 (Sebastien Han) | |
2319 | * rbd: fix export for image sizes over 2GB (Vicente Cheng) | |
2320 | * rbd: use rolling average for rbd bench-write throughput (Jason Dillaman) | |
2321 | * rgw: send explicit HTTP status string (Yehuda Sadeh) | |
2322 | * rgw: set length for keystone token validation request (#7796 Yehuda Sadeh, Mark Kirkwood) | |
2323 | * udev: fix rules for CentOS7/RHEL7 (Loic Dachary) | |
2324 | * use clock_gettime instead of gettimeofday (Jianpeng Ma) | |
2325 | * vstart.sh: set up environment for s3-tests (Luis Pabon) |