]>
Commit | Line | Data |
---|---|---|
20effc67 TL |
1 | ===== |
2 | Giant | |
3 | ===== | |
4 | ||
5 | Giant is the 7th stable release of Ceph. It is named after the giant | |
6 | squid (Architeuthis dux). | |
7 | ||
8 | ||
11fdf7f2 TL |
9 | v0.87.2 Giant |
10 | ============= | |
11 | ||
12 | This is the second (and possibly final) point release for Giant. | |
13 | ||
14 | We recommend all v0.87.x Giant users upgrade to this release. | |
15 | ||
16 | Notable Changes | |
17 | --------------- | |
18 | ||
19 | * ceph-objectstore-tool: only output unsupported features when incompatible (#11176 David Zafman) | |
20 | * common: do not implicitly unlock rwlock on destruction (Federico Simoncelli) | |
21 | * common: make wait timeout on empty queue configurable (#10818 Samuel Just) | |
22 | * crush: pick ruleset id that matches and rule id (Xiaoxi Chen) | |
23 | * crush: set_choose_tries = 100 for new erasure code rulesets (#10353 Loic Dachary) | |
24 | * librados: check initialized atomic safely (#9617 Josh Durgin) | |
25 | * librados: fix failed tick_event assert (#11183 Zhiqiang Wang) | |
26 | * librados: fix looping on skipped maps (#9986 Ding Dinghua) | |
27 | * librados: fix op submit with timeout (#10340 Samuel Just) | |
28 | * librados: pybind: fix memory leak (#10723 Billy Olsen) | |
29 | * librados: pybind: keep reference to callbacks (#10775 Josh Durgin) | |
30 | * librados: translate operation flags from C APIs (Matthew Richards) | |
31 | * libradosstriper: fix write_full on ENOENT (#10758 Sebastien Ponce) | |
32 | * libradosstriper: use strtoll instead of strtol (Dongmao Zhang) | |
33 | * mds: fix assertion caused by system time moving backwards (#11053 Yan, Zheng) | |
34 | * mon: allow injection of random delays on writes (Joao Eduardo Luis) | |
35 | * mon: do not trust small osd epoch cache values (#10787 Sage Weil) | |
36 | * mon: fail non-blocking flush if object is being scrubbed (#8011 Samuel Just) | |
37 | * mon: fix division by zero in stats dump (Joao Eduardo Luis) | |
38 | * mon: fix get_rule_avail when no osds (#10257 Joao Eduardo Luis) | |
39 | * mon: fix timeout rounds period (#10546 Joao Eduardo Luis) | |
40 | * mon: ignore osd failures before up_from (#10762 Dan van der Ster, Sage Weil) | |
41 | * mon: paxos: reset accept timeout before writing to store (#10220 Joao Eduardo Luis) | |
42 | * mon: return if fs exists on 'fs new' (Joao Eduardo Luis) | |
43 | * mon: use EntityName when expanding profiles (#10844 Joao Eduardo Luis) | |
44 | * mon: verify cross-service proposal preconditions (#10643 Joao Eduardo Luis) | |
45 | * mon: wait for osdmon to be writeable when requesting proposal (#9794 Joao Eduardo Luis) | |
46 | * mount.ceph: avoid spurious error message about /etc/mtab (#10351 Yan, Zheng) | |
47 | * msg/simple: allow RESETSESSION when we forget an endpoint (#10080 Greg Farnum) | |
48 | * msg/simple: discard delay queue before incoming queue (#9910 Sage Weil) | |
49 | * osd: clear_primary_state when leaving Primary (#10059 Samuel Just) | |
50 | * osd: do not ignore deleted pgs on startup (#10617 Sage Weil) | |
51 | * osd: fix FileJournal wrap to get header out first (#10883 David Zafman) | |
52 | * osd: fix PG leak in SnapTrimWQ (#10421 Kefu Chai) | |
53 | * osd: fix journalq population in do_read_entry (#6003 Samuel Just) | |
54 | * osd: fix operator== for op_queue_age_hit and fs_perf_stat (#10259 Samuel Just) | |
55 | * osd: fix rare assert after split (#10430 David Zafman) | |
56 | * osd: get pgid ancestor from last_map when building past intervals (#10430 David Zafman) | |
57 | * osd: include rollback_info_trimmed_to in {read,write}_log (#10157 Samuel Just) | |
58 | * osd: lock header_lock in DBObjectMap::sync (#9891 Samuel Just) | |
59 | * osd: requeue blocked op before flush it was blocked on (#10512 Sage Weil) | |
60 | * osd: tolerate missing object between list and attr get on backfill (#10150 Samuel Just) | |
61 | * osd: use correct atime for eviction decision (Xinze Chi) | |
62 | * rgw: flush XML header on get ACL request (#10106 Yehuda Sadeh) | |
63 | * rgw: index swift keys appropriately (#10471 Hemant Bruman, Yehuda Sadeh) | |
64 | * rgw: send cancel for bucket index pending ops (#10770 Baijiaruo, Yehuda Sadeh) | |
65 | * rgw: swift: support X_Remove_Container-Meta-{key} (#01475 Dmytro Iurchenko) | |
66 | ||
67 | For more detailed information, see :download:`the complete changelog <../changelog/v0.87.2.txt>`. | |
68 | ||
69 | v0.87.1 Giant | |
70 | ============= | |
71 | ||
72 | This is the first (and possibly final) point release for Giant. Our focus | |
73 | on stability fixes will be directed towards Hammer and Firefly. | |
74 | ||
75 | We recommend that all v0.87 Giant users upgrade to this release. | |
76 | ||
77 | Upgrading | |
78 | --------- | |
79 | ||
80 | * Due to a change in the Linux kernel version 3.18 and the limits of the FUSE | |
81 | interface, ceph-fuse needs be mounted as root on at least some systems. See | |
82 | issues #9997, #10277, and #10542 for details. | |
83 | ||
84 | Notable Changes | |
85 | --------------- | |
86 | ||
87 | * build: disable stack-execute bit on assembler objects (#10114 Dan Mick) | |
88 | * build: support boost 1.57.0 (#10688 Ken Dreyer) | |
89 | * ceph-disk: fix dmcrypt file permissions (#9785 Loic Dachary) | |
90 | * ceph-disk: run partprobe after zap, behave with partx or partprobe (#9665 #9721 Loic Dachary) | |
91 | * cephfs-journal-tool: fix import for aged journals (#9977 John Spray) | |
92 | * cephfs-journal-tool: fix journal import (#10025 John Spray) | |
93 | * ceph-fuse: use remount to trim kernel dcache (#10277 Yan, Zheng) | |
94 | * common: add cctid meta variable (#6228 Adam Crume) | |
95 | * common: fix dump of shard for ghobject_t (#10063 Loic Dachary) | |
96 | * crush: fix bucket weight underflow (#9998 Pawel Sadowski) | |
97 | * erasure-code: enforce chunk size alignment (#10211 Loic Dachary) | |
98 | * erasure-code: regression test suite (#9420 Loic Dachary) | |
99 | * erasure-code: relax caucy w restrictions (#10325 Loic Dachary) | |
100 | * libcephfs,ceph-fuse: allow xattr caps on inject_release_failure (#9800 John Spray) | |
101 | * libcephfs,ceph-fuse: fix cap flush tid comparison (#9869 Greg Farnum) | |
102 | * libcephfs,ceph-fuse: new flag to indicated sorted dcache (#9178 Yan, Zheng) | |
103 | * libcephfs,ceph-fuse: prune cache before reconnecting to MDS (Yan, Zheng) | |
104 | * librados: limit number of in-flight read requests (#9854 Jason Dillaman) | |
105 | * libradospy: fix thread shutdown (#8797 Dan Mick) | |
106 | * libradosstriper: fix locking issue in truncate (#10129 Sebastien Ponce) | |
107 | * librbd: complete pending ops before closing mage (#10299 Jason Dillaman) | |
108 | * librbd: fix error path on image open failure (#10030 Jason Dillaman) | |
109 | * librbd: gracefully handle deleted/renamed pools (#10270 Jason Dillaman) | |
110 | * librbd: handle errors when creating ioctx while listing children (#10123 Jason Dillaman) | |
111 | * mds: fix compat version in MClientSession (#9945 John Spray) | |
112 | * mds: fix journaler write error handling (#10011 John Spray) | |
113 | * mds: fix locking for file size recovery (#10229 Yan, Zheng) | |
114 | * mds: handle heartbeat_reset during shutdown (#10382 John Spray) | |
115 | * mds: store backtrace for straydir (Yan, Zheng) | |
116 | * mon: allow tiers for FS pools (#10135 John Spray) | |
117 | * mon: fix caching of last_epoch_clean, osdmap trimming (#9987 Sage Weil) | |
118 | * mon: fix 'fs ls' on peons (#10288 John Spray) | |
119 | * mon: fix MDS health status from peons (#10151 John Spray) | |
120 | * mon: fix paxos off-by-one (#9301 Sage Weil) | |
121 | * msgr: simple: do not block on takeover while holding global lock (#9921 Greg Farnum) | |
122 | * osd: deep scrub must not abort if hinfo is missing (#10018 Loic Dachary) | |
123 | * osd: fix misdirected op detection (#9835 Sage Weil) | |
124 | * osd: fix past_interval display for acting (#9752 Loic Dachary) | |
125 | * osd: fix PG peering backoff when behind on osdmaps (#10431 Sage Weil) | |
126 | * osd: handle no-op write with snapshot case (#10262 Ssage Weil) | |
127 | * osd: use fast-dispatch (Sage Weil, Greg Farnum) | |
128 | * rados: fix write to /dev/null (Loic Dachary) | |
129 | * radosgw-admin: create subuser when needed (#10103 Yehuda Sadeh) | |
130 | * rbd: avoid invalidating aio_write buffer during image import (#10590 Jason Dillaman) | |
131 | * rbd: fix export with images > 2GB (Vicente Cheng) | |
132 | * rgw: change multipart upload id magic (#10271 Georgios Dimitrakakis, Yehuda Sadeh) | |
133 | * rgw: check keystone auth for S3 POST (#10062 Abhishek Lekshmanan) | |
134 | * rgw: check timestamp for S3 keystone auth (#10062 Abhishek Lekshmanan) | |
135 | * rgw: fix partial GET with swift (#10553 Yehuda Sadeh) | |
136 | * rgw: fix quota disable (#9907 Dong Lei) | |
137 | * rgw: fix rare corruption of object metadata on put (#9576 Yehuda Sadeh) | |
138 | * rgw: fix S3 object copy content-type (#9478 Yehuda Sadeh) | |
139 | * rgw: headers end with \r\n (#9254 Benedikt Fraunhofer, Yehuda Sadeh) | |
140 | * rgw: remove swift user manifest DLO hash calculation (#9973 Yehuda Sadeh) | |
141 | * rgw: return correct len when len is 0 (#9877 Yehuda Sadeh) | |
142 | * rgw: return X-Timestamp field (#8911 Yehuda Sadeh) | |
143 | * rgw: run radosgw as apache with systemd (#10125) | |
144 | * rgw: sent ETag on S3 object copy (#9479 Yehuda Sadeh) | |
145 | * rgw: sent HTTP status reason explicitly in fastcgi (Yehuda Sadeh) | |
146 | * rgw: set length for keystone token validation (#7796 Mark Kirkwood, Yehuda Sadeh) | |
147 | * rgw: set ulimit -n on sysvinit before starting daemon (#9587 Sage Weil) | |
148 | * rgw: update bucket index on set_attrs (#5595 Yehuda Sadeh) | |
149 | * rgw: update swift subuser permission masks when authenticating (#9918 Yehuda Sadeh) | |
150 | * rgw: URL decode HTTP query params correction (#10271 Georgios Dimitrakakis, Yehuda Sadeh) | |
151 | * rgw: use cached attrs while reading object attrs (#10307 Yehuda Sadeh) | |
152 | * rgw: use strict_strtoll for content length (#10701 Axel Dunkel, Yehuda Sadeh) | |
153 | ||
154 | For more detailed information, see :download:`the complete changelog <../changelog/v0.87.1.txt>`. | |
155 | ||
156 | ||
157 | ||
158 | v0.87 Giant | |
159 | =========== | |
160 | ||
161 | This release will form the basis for the stable release Giant, | |
162 | v0.87.x. Highlights for Giant include: | |
163 | ||
164 | * *RADOS Performance*: a range of improvements have been made in the | |
165 | OSD and client-side librados code that improve the throughput on | |
166 | flash backends and improve parallelism and scaling on fast machines. | |
167 | * *CephFS*: we have fixed a raft of bugs in CephFS and built some | |
168 | basic journal recovery and diagnostic tools. Stability and | |
169 | performance of single-MDS systems is vastly improved in Giant. | |
170 | Although we do not yet recommend CephFS for production deployments, | |
171 | we do encourage testing for non-critical workloads so that we can | |
172 | better gauge the feature, usability, performance, and stability | |
173 | gaps. | |
174 | * *Local Recovery Codes*: the OSDs now support an erasure-coding scheme | |
175 | that stores some additional data blocks to reduce the IO required to | |
176 | recover from single OSD failures. | |
177 | * *Degraded vs misplaced*: the Ceph health reports from 'ceph -s' and | |
178 | related commands now make a distinction between data that is | |
179 | degraded (there are fewer than the desired number of copies) and | |
180 | data that is misplaced (stored in the wrong location in the | |
181 | cluster). The distinction is important because the latter does not | |
182 | compromise data safety. | |
183 | * *Tiering improvements*: we have made several improvements to the | |
184 | cache tiering implementation that improve performance. Most | |
185 | notably, objects are not promoted into the cache tier by a single | |
186 | read; they must be found to be sufficiently hot before that happens. | |
187 | * *Monitor performance*: the monitors now perform writes to the local | |
188 | data store asynchronously, improving overall responsiveness. | |
189 | * *Recovery tools*: the ceph_objectstore_tool is greatly expanded to | |
190 | allow manipulation of an individual OSDs data store for debugging | |
191 | and repair purposes. This is most heavily used by our QA | |
192 | infrastructure to exercise recovery code. | |
193 | ||
194 | Upgrade Sequencing | |
195 | ------------------ | |
196 | ||
197 | * If your existing cluster is running a version older than v0.80.x | |
198 | Firefly, please first upgrade to the latest Firefly release before | |
199 | moving on to Giant. We have not tested upgrades directly from | |
200 | Emperor, Dumpling, or older releases. | |
201 | ||
202 | We *have* tested: | |
203 | ||
204 | * Firefly to Giant | |
205 | * Dumpling to Firefly to Giant | |
206 | ||
207 | * Please upgrade daemons in the following order: | |
208 | ||
209 | #. Monitors | |
210 | #. OSDs | |
211 | #. MDSs and/or radosgw | |
212 | ||
213 | Note that the relative ordering of OSDs and monitors should not matter, but | |
214 | we primarily tested upgrading monitors first. | |
215 | ||
216 | Upgrading from v0.80x Firefly | |
217 | ----------------------------- | |
218 | ||
219 | * The client-side caching for librbd is now enabled by default (rbd | |
220 | cache = true). A safety option (rbd cache writethrough until flush | |
221 | = true) is also enabled so that writeback caching is not used until | |
222 | the library observes a 'flush' command, indicating that the librbd | |
223 | users is passing that operation through from the guest VM. This | |
224 | avoids potential data loss when used with older versions of qemu | |
225 | that do not support flush. | |
226 | ||
227 | leveldb_write_buffer_size = 8*1024*1024 = 33554432 // 8MB | |
228 | leveldb_cache_size = 512*1024*1204 = 536870912 // 512MB | |
229 | leveldb_block_size = 64*1024 = 65536 // 64KB | |
230 | leveldb_compression = false | |
231 | leveldb_log = "" | |
232 | ||
233 | OSDs will still maintain the following osd-specific defaults: | |
234 | ||
235 | leveldb_log = "" | |
236 | ||
237 | * The 'rados getxattr ...' command used to add a gratuitous newline to the attr | |
238 | value; it now does not. | |
239 | ||
240 | * The ``*_kb perf`` counters on the monitor have been removed. These are | |
241 | replaced with a new set of ``*_bytes`` counters (e.g., ``cluster_osd_kb`` is | |
242 | replaced by ``cluster_osd_bytes``). | |
243 | ||
244 | * The ``rd_kb`` and ``wr_kb`` fields in the JSON dumps for pool stats (accessed | |
245 | via the ``ceph df detail -f json-pretty`` and related commands) have been | |
246 | replaced with corresponding ``*_bytes`` fields. Similarly, the | |
247 | ``total_space``, ``total_used``, and ``total_avail`` fields are replaced with | |
248 | ``total_bytes``, ``total_used_bytes``, and ``total_avail_bytes`` fields. | |
249 | ||
250 | * The ``rados df --format=json`` output ``read_bytes`` and ``write_bytes`` | |
251 | fields were incorrectly reporting ops; this is now fixed. | |
252 | ||
253 | * The ``rados df --format=json`` output previously included ``read_kb`` and | |
254 | ``write_kb`` fields; these have been removed. Please use ``read_bytes`` and | |
255 | ``write_bytes`` instead (and divide by 1024 if appropriate). | |
256 | ||
257 | * The experimental keyvaluestore-dev OSD backend had an on-disk format | |
258 | change that prevents existing OSD data from being upgraded. This | |
259 | affects developers and testers only. | |
260 | ||
261 | * mon-specific and osd-specific leveldb options have been removed. | |
262 | From this point onward users should use the `leveldb_*` generic | |
263 | options and add the options in the appropriate sections of their | |
264 | configuration files. Monitors will still maintain the following | |
265 | monitor-specific defaults: | |
266 | ||
267 | leveldb_write_buffer_size = 8*1024*1024 = 33554432 // 8MB | |
268 | leveldb_cache_size = 512*1024*1204 = 536870912 // 512MB | |
269 | leveldb_block_size = 64*1024 = 65536 // 64KB | |
270 | leveldb_compression = false | |
271 | leveldb_log = "" | |
272 | ||
273 | OSDs will still maintain the following osd-specific defaults: | |
274 | ||
275 | leveldb_log = "" | |
276 | ||
277 | * CephFS support for the legacy anchor table has finally been removed. | |
278 | Users with file systems created before firefly should ensure that inodes | |
279 | with multiple hard links are modified *prior* to the upgrade to ensure that | |
280 | the backtraces are written properly. For example:: | |
281 | ||
282 | sudo find /mnt/cephfs -type f -links +1 -exec touch \{\} \; | |
283 | ||
284 | * We disallow nonsensical 'tier cache-mode' transitions. From this point | |
285 | onward, 'writeback' can only transition to 'forward' and 'forward' | |
286 | can transition to 1) 'writeback' if there are dirty objects, or 2) any if | |
287 | there are no dirty objects. | |
288 | ||
289 | Notable Changes since v0.86 | |
290 | --------------------------- | |
291 | ||
292 | * ceph-disk: use new udev rules for centos7/rhel7 (#9747 Loic Dachary) | |
293 | * libcephfs-java: fix fstat mode (Noah Watkins) | |
294 | * librados: fix deadlock when listing PG contents (Guang Yang) | |
295 | * librados: misc fixes to the new threading model (#9582 #9706 #9845 #9873 Sage Weil) | |
296 | * mds: fix inotable initialization (Henry C Chang) | |
297 | * mds: gracefully handle unknown lock type in flock requests (Yan, Zheng) | |
298 | * mon: add read-only, read-write, and role-definer rols (Joao Eduardo Luis) | |
299 | * mon: fix mon cap checks (Joao Eduardo Luis) | |
300 | * mon: misc fixes for new paxos async writes (#9635 Sage Weil) | |
301 | * mon: set scrub timestamps on PG creation (#9496 Joao Eduardo Luis) | |
302 | * osd: erasure code: fix buffer alignment (Janne Grunau, Loic Dachary) | |
303 | * osd: fix alloc hint induced crashes on mixed clusters (#9419 David Zafman) | |
304 | * osd: fix backfill reservation release on rejection (#9626, Samuel Just) | |
305 | * osd: fix ioprio option parsing (#9676 #9677 Loic Dachary) | |
306 | * osd: fix memory leak during snap trimming (#9113 Samuel Just) | |
307 | * osd: misc peering and recovery fixes (#9614 #9696 #9731 #9718 #9821 #9875 Samuel Just, Guang Yang) | |
308 | ||
309 | Notable Changes since v0.80.x Firefly | |
310 | ------------------------------------- | |
311 | ||
312 | * bash completion improvements (Wido den Hollander) | |
313 | * brag: fixes, improvements (Loic Dachary) | |
314 | * buffer: improve rebuild_page_aligned (Ma Jianpeng) | |
315 | * build: fix build on alpha (Michael Cree, Dmitry Smirnov) | |
316 | * build: fix CentOS 5 (Gerben Meijer) | |
317 | * build: fix yasm check for x32 (Daniel Schepler, Sage Weil) | |
318 | * ceph-brag: add tox tests (Alfredo Deza) | |
319 | * ceph-conf: flush log on exit (Sage Weil) | |
320 | * ceph.conf: update sample (Sebastien Han) | |
321 | * ceph-dencoder: refactor build a bit to limit dependencies (Sage Weil, Dan Mick) | |
322 | * ceph-disk: add Scientific Linux support (Dan van der Ster) | |
323 | * ceph-disk: do not inadvertantly create directories (Owne Synge) | |
324 | * ceph-disk: fix dmcrypt support (Sage Weil) | |
325 | * ceph-disk: fix dmcrypt support (Stephen Taylor) | |
326 | * ceph-disk: handle corrupt volumes (Stuart Longlang) | |
327 | * ceph-disk: linter cleanup, logging improvements (Alfredo Deza) | |
328 | * ceph-disk: partprobe as needed (Eric Eastman) | |
329 | * ceph-disk: show information about dmcrypt in 'ceph-disk list' output (Sage Weil) | |
330 | * ceph-disk: use partition type UUIDs and blkid (Sage Weil) | |
331 | * ceph: fix for non-default cluster names (#8944, Dan Mick) | |
332 | * ceph-fuse, libcephfs: asok hooks for handling session resets, timeouts (Yan, Zheng) | |
333 | * ceph-fuse, libcephfs: fix crash in trim_caps (John Spray) | |
334 | * ceph-fuse, libcephfs: improve cap trimming (John Spray) | |
335 | * ceph-fuse, libcephfs: improve traceless reply handling (Sage Weil) | |
336 | * ceph-fuse, libcephfs: virtual xattrs for rstat (Yan, Zheng) | |
337 | * ceph_objectstore_tool: vastly improved and extended tool for working offline with OSD data stores (David Zafman) | |
338 | * ceph.spec: many fixes (Erik Logtenberg, Boris Ranto, Dan Mick, Sandon Van Ness) | |
339 | * ceph.spec: split out ceph-common package, other fixes (Sandon Van Ness) | |
340 | * ceph_test_librbd_fsx: fix RNG, make deterministic (Ilya Dryomov) | |
341 | * cephtool: fix help (Yilong Zhao) | |
342 | * cephtool: refactor and improve CLI tests (Joao Eduardo Luis) | |
343 | * cephtool: test cleanup (Joao Eduardo Luis) | |
344 | * clang build fixes (John Spray, Danny Al-Gaaf) | |
345 | * client: improved MDS session dumps (John Spray) | |
346 | * common: add config diff admin socket command (Joao Eduardo Luis) | |
347 | * common: add rwlock assertion checks (Yehuda Sadeh) | |
348 | * common: fix dup log messages (#9080, Sage Weil) | |
349 | * common: perfcounters now use atomics and go faster (Sage Weil) | |
350 | * config: support G, M, K, etc. suffixes (Joao Eduardo Luis) | |
351 | * coverity cleanups (Danny Al-Gaaf) | |
352 | * crush: clean up CrushWrapper interface (Xioaxi Chen) | |
353 | * crush: include new tunables in dump (Sage Weil) | |
354 | * crush: make ruleset ids unique (Xiaoxi Chen, Loic Dachary) | |
355 | * crush: only require rule features if the rule is used (#8963, Sage Weil) | |
356 | * crushtool: send output to stdout, not stderr (Wido den Hollander) | |
357 | * doc: cache tiering (John Wilkins) | |
358 | * doc: CRUSH updates (John Wilkins) | |
359 | * doc: document new upstream wireshark dissector (Kevin Cox) | |
360 | * doc: improve manual install docs (Francois Lafont) | |
361 | * doc: keystone integration docs (John Wilkins) | |
362 | * doc: librados example fixes (Kevin Dalley) | |
363 | * doc: many doc updates (John Wilkins) | |
364 | * doc: many install doc updates (John Wilkins) | |
365 | * doc: misc updates (John Wilkins, Loic Dachary, David Moreau Simard, Wido den Hollander. Volker Voigt, Alfredo Deza, Stephen Jahl, Dan van der Ster) | |
366 | * doc: osd primary affinity (John Wilkins) | |
367 | * doc: pool quotas (John Wilkins) | |
368 | * doc: pre-flight doc improvements (Kevin Dalley) | |
369 | * doc: switch to an unencumbered font (Ross Turk) | |
370 | * doc: updated simple configuration guides (John Wilkins) | |
371 | * doc: update erasure docs (Loic Dachary, Venky Shankar) | |
372 | * doc: update openstack docs (Josh Durgin) | |
373 | * filestore: disable use of XFS hint (buggy on old kernels) (Samuel Just) | |
374 | * filestore: fix xattr spillout (Greg Farnum, Haomai Wang) | |
375 | * fix hppa arch build (Dmitry Smirnov) | |
376 | * fix i386 builds (Sage Weil) | |
377 | * fix struct vs class inconsistencies (Thorsten Behrens) | |
378 | * global: write pid file even when running in foreground (Alexandre Oliva) | |
379 | * hadoop: improve tests (Huamin Chen, Greg Farnum, John Spray) | |
380 | * hadoop: update hadoop tests for Hadoop 2.0 (Haumin Chen) | |
381 | * init-ceph: continue starting other daemons on crush or mount failure (#8343, Sage Weil) | |
382 | * journaler: fix locking (Zheng, Yan) | |
383 | * keyvaluestore: fix hint crash (#8381, Haomai Wang) | |
384 | * keyvaluestore: header cache (Haomai Wang) | |
385 | * libcephfs-java: build against older JNI headers (Greg Farnum) | |
386 | * libcephfs-java: fix gcj-jdk build (Dmitry Smirnov) | |
387 | * librados: fix crash on read op timeout (#9362 Matthias Kiefer, Sage Weil) | |
388 | * librados: fix lock leaks in error paths (#9022, Paval Rallabhandi) | |
389 | * librados: fix pool existence check (#8835, Pavan Rallabhandi) | |
390 | * librados: fix rados_pool_list bounds checks (Sage Weil) | |
391 | * librados: fix shutdown race (#9130 Sage Weil) | |
392 | * librados: fix watch/notify test (#7934 David Zafman) | |
393 | * librados: fix watch reregistration on acting set change (#9220 Samuel Just) | |
394 | * librados: give Objecter fine-grained locks (Yehuda Sadeh, Sage Weil, John Spray) | |
395 | * librados: lttng tracepoitns (Adam Crume) | |
396 | * librados, osd: return ETIMEDOUT on failed notify (Sage Weil) | |
397 | * librados: pybind: fix reads when \0 is present (#9547 Mohammad Salehe) | |
398 | * librados_striper: striping library for librados (Sebastien Ponce) | |
399 | * librbd, ceph-fuse: reduce cache flush overhead (Haomai Wang) | |
400 | * librbd: check error code on cache invalidate (Josh Durgin) | |
401 | * librbd: enable caching by default (Sage Weil) | |
402 | * librbd: enforce cache size on read requests (Jason Dillaman) | |
403 | * librbd: fix crash using clone of flattened image (#8845, Josh Durgin) | |
404 | * librbd: fix error path when opening image (#8912, Josh Durgin) | |
405 | * librbd: handle blacklisting during shutdown (#9105 John Spray) | |
406 | * librbd: lttng tracepoints (Adam Crume) | |
407 | * librbd: new libkrbd library for kernel map/unmap/showmapped (Ilya Dryomov) | |
408 | * librbd: store and retrieve snapshot metadata based on id (Josh Durgin) | |
409 | * libs3: update to latest (Danny Al-Gaaf) | |
410 | * log: fix derr level (Joao Eduardo Luis) | |
411 | * logrotate: fix osd log rotation on ubuntu (Sage Weil) | |
412 | * lttng: tracing infrastructure (Noah Watkins, Adam Crume) | |
413 | * mailmap: many updates (Loic Dachary) | |
414 | * mailmap: updates (Loic Dachary, Abhishek Lekshmanan, M Ranga Swami Reddy) | |
415 | * Makefile: fix out of source builds (Stefan Eilemann) | |
416 | * many many coverity fixes, cleanups (Danny Al-Gaaf) | |
417 | * mds: adapt to new Objecter locking, give types to all Contexts (John Spray) | |
418 | * mds: add file system name, enabled flag (John Spray) | |
419 | * mds: add internal health checks (John Spray) | |
420 | * mds: add min/max UID for snapshot creation/deletion (#9029, Wido den Hollander) | |
421 | * mds: avoid tight mon reconnect loop (#9428 Sage Weil) | |
422 | * mds: boot refactor, cleanup (John Spray) | |
423 | * mds: cephfs-journal-tool (John Spray) | |
424 | * mds: fix crash killing sessions (#9173 John Spray) | |
425 | * mds: fix ctime updates (#9514 Greg Farnum) | |
426 | * mds: fix journal conversion with standby-replay (John Spray) | |
427 | * mds: fix replay locking (Yan, Zheng) | |
428 | * mds: fix standby-replay cache trimming (#8648 Zheng, Yan) | |
429 | * mds: fix xattr bug triggered by ACLs (Yan, Zheng) | |
430 | * mds: give perfcounters meaningful names (Sage Weil) | |
431 | * mds: improve health reporting to monitor (John Spray) | |
432 | * mds: improve Journaler on-disk format (John Spray) | |
433 | * mds: improve journal locking (Zheng, Yan) | |
434 | * mds, libcephfs: use client timestamp for mtime/ctime (Sage Weil) | |
435 | * mds: make max file recoveries tunable (Sage Weil) | |
436 | * mds: misc encoding improvements (John Spray) | |
437 | * mds: misc fixes for multi-mds (Yan, Zheng) | |
438 | * mds: multi-mds fixes (Yan, Zheng) | |
439 | * mds: OPTracker integration, dump_ops_in_flight (Greg Farnum) | |
440 | * mds: prioritize file recovery when appropriate (Sage Weil) | |
441 | * mds: refactor beacon, improve reliability (John Spray) | |
442 | * mds: remove legacy anchor table (Yan, Zheng) | |
443 | * mds: remove legacy discover ino (Yan, Zheng) | |
444 | * mds: restart on EBLACKLISTED (John Spray) | |
445 | * mds: separate inode recovery queue (John Spray) | |
446 | * mds: session ls, evict commands (John Spray) | |
447 | * mds: submit log events in async thread (Yan, Zheng) | |
448 | * mds: track RECALL progress, report failure (#9284 John Spray) | |
449 | * mds: update segment references during journal write (John Spray, Greg Farnum) | |
450 | * mds: use client-provided timestamp for user-visible file metadata (Yan, Zheng) | |
451 | * mds: use meaningful names for clients (John Spray) | |
452 | * mds: validate journal header on load and save (John Spray) | |
453 | * mds: warn clients which aren't revoking caps (Zheng, Yan, John Spray) | |
454 | * misc build errors/warnings for Fedora 20 (Boris Ranto) | |
455 | * misc build fixes for OS X (John Spray) | |
456 | * misc cleanup (Christophe Courtaut) | |
457 | * misc integer size cleanups (Kevin Cox) | |
458 | * misc memory leaks, cleanups, fixes (Danny Al-Gaaf, Sahid Ferdjaoui) | |
459 | * misc suse fixes (Danny Al-Gaaf) | |
460 | * misc word size fixes (Kevin Cox) | |
461 | * mon: add audit log for all admin commands (Joao Eduardo Luis) | |
462 | * mon: add cluster fingerprint (Sage Weil) | |
463 | * mon: add get-quota commands (Joao Eduardo Luis) | |
464 | * mon: add 'osd blocked-by' command to easily see which OSDs are blocking peering progress (Sage Weil) | |
465 | * mon: add 'osd reweight-by-pg' command (Sage Weil, Guang Yang) | |
466 | * mon: add perfcounters for paxos operations (Sage Weil) | |
467 | * mon: avoid creating unnecessary rule on pool create (#9304 Loic Dachary) | |
468 | * monclient: fix hang (Sage Weil) | |
469 | * mon: create default EC profile if needed (Loic Dachary) | |
470 | * mon: do not create file system by default (John Spray) | |
471 | * mon: do not spam log (Aanchal Agrawal, Sage Weil) | |
472 | * mon: drop mon- and osd- specific leveldb options (Joao Eduardo Luis) | |
473 | * mon: ec pool profile fixes (Loic Dachary) | |
474 | * mon: fix bug when no auth keys are present (#8851, Joao Eduardo Luis) | |
475 | * mon: fix 'ceph df' output for available space (Xiaoxi Chen) | |
476 | * mon: fix compat version for MForward (Joao Eduardo Luis) | |
477 | * mon: fix crash on loopback messages and paxos timeouts (#9062, Sage Weil) | |
478 | * mon: fix default replication pool ruleset choice (#8373, John Spray) | |
479 | * mon: fix divide by zero when pg_num is adjusted before OSDs are added (#9101, Sage Weil) | |
480 | * mon: fix double-free of old MOSDBoot (Sage Weil) | |
481 | * mon: fix health down messages (Sage Weil) | |
482 | * mon: fix occasional memory leak after session reset (#9176, Sage Weil) | |
483 | * mon: fix op write latency perfcounter (#9217 Xinxin Shu) | |
484 | * mon: fix 'osd perf' reported latency (#9269 Samuel Just) | |
485 | * mon: fix quorum feature check (#8738, Greg Farnum) | |
486 | * mon: fix ruleset/ruleid bugs (#9044, Loic Dachary) | |
487 | * mon: fix set cache_target_full_ratio (#8440, Geoffrey Hartz) | |
488 | * mon: fix store check on startup (Joao Eduardo Luis) | |
489 | * mon: include per-pool 'max avail' in df output (Sage Weil) | |
490 | * mon: make paxos transaction commits asynchronous (Sage Weil) | |
491 | * mon: make usage dumps in terms of bytes, not kB (Sage Weil) | |
492 | * mon: 'osd crush reweight-subtree ...' (Sage Weil) | |
493 | * mon, osd: relax client EC support requirements (Sage Weil) | |
494 | * mon: preload erasure plugins (#9153 Loic Dachary) | |
495 | * mon: prevent cache pools from being used directly by CephFS (#9435 John Spray) | |
496 | * mon: prevent EC pools from being used with cephfs (Joao Eduardo Luis) | |
497 | * mon: prevent implicit destruction of OSDs with 'osd setmaxosd ...' (#8865, Anand Bhat) | |
498 | * mon: prevent nonsensical cache-mode transitions (Joao Eduardo Luis) | |
499 | * mon: restore original weight when auto-marked out OSDs restart (Sage Weil) | |
500 | * mon: restrict some pool properties to tiered pools (Joao Eduardo Luis) | |
501 | * mon: some instrumentation (Sage Weil) | |
502 | * mon: use msg header tid for MMonGetVersionReply (Ilya Dryomov) | |
503 | * mon: use user-provided ruleset for replicated pool (Xiaoxi Chen) | |
504 | * mon: verify all quorum members are contiguous at end of Paxos round (#9053, Sage Weil) | |
505 | * mon: verify available disk space on startup (#9502 Joao Eduardo Luis) | |
506 | * mon: verify erasure plugin version on load (Loic Dachary) | |
507 | * msgr: avoid big lock when sending (most) messages (Greg Farnum) | |
508 | * msgr: fix logged address (Yongyue Sun) | |
509 | * msgr: misc locking fixes for fast dispatch (#8891, Sage Weil) | |
510 | * msgr: refactor to cleanly separate SimpleMessenger implemenetation, move toward Connection-based calls (Matt Benjamin, Sage Wei) | |
511 | * objecter: flag operations that are redirected by caching (Sage Weil) | |
512 | * objectstore: clean up KeyValueDB interface for key/value backends (Sage Weil) | |
513 | * osd: account for hit_set_archive bytes (Sage Weil) | |
514 | * osd: add ability to prehash filestore directories (Guang Yang) | |
515 | * osd: add 'dump_reservations' admin socket command (Sage Weil) | |
516 | * osd: add feature bit for erasure plugins (Loic Dachary) | |
517 | * osd: add header cache for KeyValueStore (Haomai Wang) | |
518 | * osd: add ISA erasure plugin table cache (Andreas-Joachim Peters) | |
519 | * osd: add local_mtime for use by cache agent (Zhiqiang Wang) | |
520 | * osd: add local recovery code (LRC) erasure plugin (Loic Dachary) | |
521 | * osd: add prototype KineticStore based on Seagate Kinetic (Josh Durgin) | |
522 | * osd: add READFORWARD caching mode (Luis Pabon) | |
523 | * osd: add superblock for KeyValueStore backend (Haomai Wang) | |
524 | * osd: add support for Intel ISA-L erasure code library (Andreas-Joachim Peters) | |
525 | * osd: allow map cache size to be adjusted at runtime (Sage Weil) | |
526 | * osd: avoid refcounting overhead by passing a few things by ref (Somnath Roy) | |
527 | * osd: avoid sharing PG info that is not durable (Samuel Just) | |
528 | * osd: bound osdmap epoch skew between PGs (Sage Weil) | |
529 | * osd: cache tier flushing fixes for snapped objects (Samuel Just) | |
530 | * osd: cap hit_set size (#9339 Samuel Just) | |
531 | * osd: clean up shard_id_t, shard_t (Loic Dachary) | |
532 | * osd: clear FDCache on unlink (#8914 Loic Dachary) | |
533 | * osd: clear slow request latency info on osd up/down (Sage Weil) | |
534 | * osd: do not evict blocked objects (#9285 Zhiqiang Wang) | |
535 | * osd: do not skip promote for write-ordered reads (#9064, Samuel Just) | |
536 | * osd: fix agent early finish looping (David Zafman) | |
537 | * osd: fix ambigous encoding order for blacklisted clients (#9211, Sage Weil) | |
538 | * osd: fix bogus assert during OSD shutdown (Sage Weil) | |
539 | * osd: fix bug with long object names and rename (#8701, Sage Weil) | |
540 | * osd: fix cache flush corner case for snapshotted objects (#9054, Samuel Just) | |
541 | * osd: fix cache full -> not full requeueing (#8931, Sage Weil) | |
542 | * osd: fix clone deletion case (#8334, Sam Just) | |
543 | * osd: fix clone vs cache_evict bug (#8629 Sage Weil) | |
544 | * osd: fix connection reconnect race (Greg Farnum) | |
545 | * osd: fix crash from duplicate backfill reservation (#8863 Sage Weil) | |
546 | * osd: fix dead peer connection checks (#9295 Greg Farnum, Sage Weil) | |
547 | * osd: fix discard of old/obsolete subop replies (#9259, Samuel Just) | |
548 | * osd: fix discard of peer messages from previous intervals (Greg Farnum) | |
549 | * osd: fix dump of open fds on EMFILE (Sage Weil) | |
550 | * osd: fix dumps (Joao Eduardo Luis) | |
551 | * osd: fix erasure-code lib initialization (Loic Dachary) | |
552 | * osd: fix extent normalization (Adam Crume) | |
553 | * osd: fix filestore removal corner case (#8332, Sam Just) | |
554 | * osd: fix flush vs OpContext (Samuel Just) | |
555 | * osd: fix gating of messages from old OSD instances (Greg Farnum) | |
556 | * osd: fix hang waiting for osdmap (#8338, Greg Farnum) | |
557 | * osd: fix interval check corner case during peering (#8104, Sam Just) | |
558 | * osd: fix ISA erasure alignment (Loic Dachary, Andreas-Joachim Peters) | |
559 | * osd: fix journal dump (Ma Jianpeng) | |
560 | * osd: fix journal-less operation (Sage Weil) | |
561 | * osd: fix keyvaluestore scrub (#8589 Haomai Wang) | |
562 | * osd: fix keyvaluestore upgrade (Haomai Wang) | |
563 | * osd: fix loopback msgr issue (Ma Jianpeng) | |
564 | * osd: fix LSB release parsing (Danny Al-Gaaf) | |
565 | * osd: fix MarkMeDown and other shutdown races (Sage Weil) | |
566 | * osd: fix memstore bugs with collection_move_rename, lock ordering (Sage Weil) | |
567 | * osd: fix min_read_recency_for_promote default on upgrade (Zhiqiang Wang) | |
568 | * osd: fix mon feature bit requirements bug and resulting log spam (Sage Weil) | |
569 | * osd: fix mount/remount sync race (#9144 Sage Weil) | |
570 | * osd: fix PG object listing/ordering bug (Guang Yang) | |
571 | * osd: fix PG stat errors with tiering (#9082, Sage Weil) | |
572 | * osd: fix purged_snap initialization on backfill (Sage Weil, Samuel Just, Dan van der Ster, Florian Haas) | |
573 | * osd: fix race condition on object deletion (#9480 Somnath Roy) | |
574 | * osd: fix recovery chunk size usage during EC recovery (Ma Jianpeng) | |
575 | * osd: fix recovery reservation deadlock for EC pools (Samuel Just) | |
576 | * osd: fix removal of old xattrs when overwriting chained xattrs (Ma Jianpeng) | |
577 | * osd: fix requesting queueing on PG split (Samuel Just) | |
578 | * osd: fix scrub vs cache bugs (Samuel Just) | |
579 | * osd: fix snap object writeback from cache tier (#9054 Samuel Just) | |
580 | * osd: fix trim of hitsets (Sage Weil) | |
581 | * osd: force new xattrs into leveldb if fs returns E2BIG (#7779, Sage Weil) | |
582 | * osd: implement alignment on chunk sizes (Loic Dachary) | |
583 | * osd: improved backfill priorities (Sage Weil) | |
584 | * osd: improve journal shutdown (Ma Jianpeng, Mark Kirkwood) | |
585 | * osd: improve locking for KeyValueStore (Haomai Wang) | |
586 | * osd: improve locking in OpTracker (Pavan Rallabhandi, Somnath Roy) | |
587 | * osd: improve prioritization of recovery of degraded over misplaced objects (Sage Weil) | |
588 | * osd: improve tiering agent arithmetic (Zhiqiang Wang, Sage Weil, Samuel Just) | |
589 | * osd: include backend information in metadata reported to mon (Sage Weil) | |
590 | * osd: locking, sharding, caching improvements in FileStore's FDCache (Somnath Roy, Greg Farnum) | |
591 | * osd: lttng tracepoints for filestore (Noah Watkins) | |
592 | * osd: make blacklist encoding deterministic (#9211 Sage Weil) | |
593 | * osd: make tiering behave if hit_sets aren't enabled (Sage Weil) | |
594 | * osd: many important bug fixes (Samuel Just) | |
595 | * osd: many many core fixes (Samuel Just) | |
596 | * osd: many many important fixes (#8231 #8315 #9113 #9179 #9293 #9294 #9326 #9453 #9481 #9482 #9497 #9574 Samuel Just) | |
597 | * osd: mark pools with incomplete clones (Sage Weil) | |
598 | * osd: misc erasure code plugin fixes (Loic Dachary) | |
599 | * osd: misc locking fixes for fast dispatch (Samuel Just, Ma Jianpeng) | |
600 | * osd, mon: add rocksdb support (Xinxin Shu, Sage Weil) | |
601 | * osd, mon: config sanity checks on start (Sage Weil, Joao Eduardo Luis) | |
602 | * osd, mon: distinguish between "misplaced" and "degraded" objects in cluster health and PG state reporting (Sage Weil) | |
603 | * osd, msgr: fast-dispatch of OSD ops (Greg Farnum, Samuel Just) | |
604 | * osd, objecter: resend ops on last_force_op_resend barrier; fix cache overlay op ordering (Sage Weil) | |
605 | * osd: preload erasure plugins (#9153 Loic Dachary) | |
606 | * osd: prevent old rados clients from using tiered pools (#8714, Sage Weil) | |
607 | * osd: reduce OpTracker overhead (Somnath Roy) | |
608 | * osd: refactor some ErasureCode functionality into command parent class (Loic Dachary) | |
609 | * osd: remove obsolete classic scrub code (David Zafman) | |
610 | * osd: scrub PGs with invalid stats (Sage Weil) | |
611 | * osd: set configurable hard limits on object and xattr names (Sage Weil, Haomai Wang) | |
612 | * osd: set rollback_info_completed on create (#8625, Samuel Just) | |
613 | * osd: sharded threadpool to improve parallelism (Somnath Roy) | |
614 | * osd: shard OpTracker to improve performance (Somnath Roy) | |
615 | * osd: simple io prioritization for scrub (Sage Weil) | |
616 | * osd: simple scrub throttling (Sage Weil) | |
617 | * osd: simple snap trimmer throttle (Sage Weil) | |
618 | * osd: tests for bench command (Loic Dachary) | |
619 | * osd: trim old EC objects quickly; verify on scrub (Samuel Just) | |
620 | * osd: use FIEMAP to inform copy_range (Haomai Wang) | |
621 | * osd: use local time for tiering decisions (Zhiqiang Wang) | |
622 | * osd: use xfs hint less frequently (Ilya Dryomov) | |
623 | * osd: verify erasure plugin version on load (Loic Dachary) | |
624 | * osd: work around GCC 4.8 bug in journal code (Matt Benjamin) | |
625 | * pybind/rados: fix small timeouts (John Spray) | |
626 | * qa: xfstests updates (Ilya Dryomov) | |
627 | * rados: allow setxattr value to be read from stdin (Sage Weil) | |
628 | * rados bench: fix arg order (Kevin Dalley) | |
629 | * rados: drop gratuitous \n from getxattr command (Sage Weil) | |
630 | * rados: fix bench write arithmetic (Jiangheng) | |
631 | * rados: fix {read,write}_ops values for df output (Sage Weil) | |
632 | * rbd: add rbdmap pre- and post post- hooks, fix misc bugs (Dmitry Smirnov) | |
633 | * rbd-fuse: allow exposing single image (Stephen Taylor) | |
634 | * rbd-fuse: fix unlink (Josh Durgin) | |
635 | * rbd: improve option default behavior (Josh Durgin) | |
636 | * rbd: parallelize rbd import, export (Jason Dillaman) | |
637 | * rbd: rbd-replay utility to replay captured rbd workload traces (Adam Crume) | |
638 | * rbd: use write-back (not write-through) when caching is enabled (Jason Dillaman) | |
639 | * removed mkcephfs (deprecated since dumpling) | |
640 | * rest-api: fix help (Ailing Zhang) | |
641 | * rgw: add civetweb as default frontent on port 7490 (#9013 Yehuda Sadeh) | |
642 | * rgw: add --min-rewrite-stripe-size for object restriper (Yehuda Sadeh) | |
643 | * rgw: add powerdns hook for dynamic DNS for global clusters (Wido den Hollander) | |
644 | * rgw: add S3 bucket get location operation (Abhishek Lekshmanan) | |
645 | * rgw: allow : in S3 access key (Roman Haritonov) | |
646 | * rgw: automatically align writes to EC pool (#8442, Yehuda Sadeh) | |
647 | * rgw: bucket link uses instance id (Yehuda Sadeh) | |
648 | * rgw: cache bucket info (Yehuda Sadeh) | |
649 | * rgw: cache decoded user info (Yehuda Sadeh) | |
650 | * rgw: check entity permission for put_metadata (#8428, Yehuda Sadeh) | |
651 | * rgw: copy object data is target bucket is in a different pool (#9039, Yehuda Sadeh) | |
652 | * rgw: do not try to authenticate CORS preflight requests (#8718, Robert Hubbard, Yehuda Sadeh) | |
653 | * rgw: fix admin create user op (#8583 Ray Lv) | |
654 | * rgw: fix civetweb URL decoding (#8621, Yehuda Sadeh) | |
655 | * rgw: fix crash on swift CORS preflight request (#8586, Yehuda Sadeh) | |
656 | * rgw: fix log filename suffix (#9353 Alexandre Marangone) | |
657 | * rgw: fix memory leak following chunk read error (Yehuda Sadeh) | |
658 | * rgw: fix memory leaks (Andrey Kuznetsov) | |
659 | * rgw: fix multipart object attr regression (#8452, Yehuda Sadeh) | |
660 | * rgw: fix multipart upload (#8846, Silvain Munaut, Yehuda Sadeh) | |
661 | * rgw: fix radosgw-admin 'show log' command (#8553, Yehuda Sadeh) | |
662 | * rgw: fix removal of objects during object creation (Patrycja Szablowska, Yehuda Sadeh) | |
663 | * rgw: fix striping for copied objects (#9089, Yehuda Sadeh) | |
664 | * rgw: fix test for identify whether an object has a tail (#9226, Yehuda Sadeh) | |
665 | * rgw: fix URL decoding (#8702, Brian Rak) | |
666 | * rgw: fix URL escaping (Yehuda Sadeh) | |
667 | * rgw: fix usage (Abhishek Lekshmanan) | |
668 | * rgw: fix user manifest (Yehuda Sadeh) | |
669 | * rgw: fix when stripe size is not a multiple of chunk size (#8937, Yehuda Sadeh) | |
670 | * rgw: handle empty extra pool name (Yehuda Sadeh) | |
671 | * rgw: improve civetweb logging (Yehuda Sadeh) | |
672 | * rgw: improve delimited listing of bucket, misc fixes (Yehuda Sadeh) | |
673 | * rgw: improve -h (Abhishek Lekshmanan) | |
674 | * rgw: many fixes for civetweb (Yehuda Sadeh) | |
675 | * rgw: misc civetweb fixes (Yehuda Sadeh) | |
676 | * rgw: misc civetweb frontend fixes (Yehuda Sadeh) | |
677 | * rgw: object and bucket rewrite functions to allow restriping old objects (Yehuda Sadeh) | |
678 | * rgw: powerdns backend for global namespaces (Wido den Hollander) | |
679 | * rgw: prevent multiobject PUT race (Yehuda Sadeh) | |
680 | * rgw: send user manifest header (Yehuda Sadeh) | |
681 | * rgw: subuser creation fixes (#8587 Yehuda Sadeh) | |
682 | * rgw: use systemd-run from sysvinit script (JuanJose Galvez) | |
683 | * rpm: do not restart daemons on upgrade (Alfredo Deza) | |
684 | * rpm: misc packaging fixes for rhel7 (Sandon Van Ness) | |
685 | * rpm: split ceph-common from ceph (Sandon Van Ness) | |
686 | * systemd: initial systemd config files (Federico Simoncelli) | |
687 | * systemd: wrap started daemons in new systemd environment (Sage Weil, Dan Mick) | |
688 | * sysvinit: add support for non-default cluster names (Alfredo Deza) | |
689 | * sysvinit: less sensitive to failures (Sage Weil) | |
690 | * test_librbd_fsx: test krbd as well as librbd (Ilya Dryomov) | |
691 | * unit test improvements (Loic Dachary) | |
692 | * upstart: increase max open files limit (Sage Weil) | |
693 | * vstart.sh: fix/improve rgw support (Luis Pabon, Abhishek Lekshmanan) | |
694 | ||
695 | ||
696 | ||
697 | ||
698 | v0.86 | |
699 | ===== | |
700 | ||
701 | This is a release candidate for Giant, which will hopefully be out | |
702 | in another week or two. We did a feature freeze about a month ago | |
703 | and since then have been doing only stabilization and bug fixing (and | |
704 | a handful on low-risk enhancements). A fair bit of new functionality | |
705 | went into the final sprint, but it's baked for quite a while now and | |
706 | we're feeling pretty good about it. | |
707 | ||
708 | Major items include: | |
709 | ||
710 | * librados locking refactor to improve scaling and client performance | |
711 | * local recovery code (LRC) erasure code plugin to trade some | |
712 | additional storage overhead for improved recovery performance | |
713 | * LTTNG tracing framework, with initial tracepoints in librados, | |
714 | librbd, and the OSD FileStore backend | |
715 | * separate monitor audit log for all administrative commands | |
716 | * asynchronous monitor transaction commits to reduce the impact on | |
717 | monitor read requests while processing updates | |
718 | * low-level tool for working with individual OSD data stores for | |
719 | debugging, recovery, and testing | |
720 | * many MDS improvements (bug fixes, health reporting) | |
721 | ||
722 | There are still a handful of known bugs in this release, but nothing | |
723 | severe enough to prevent a release. By and large we are pretty | |
724 | pleased with the stability and expect the final Giant release to be | |
725 | quite reliable. | |
726 | ||
727 | Please try this out on your non-production clusters for a preview | |
728 | ||
729 | Notable Changes | |
730 | --------------- | |
731 | ||
732 | * buffer: improve rebuild_page_aligned (Ma Jianpeng) | |
733 | * build: fix CentOS 5 (Gerben Meijer) | |
734 | * build: fix build on alpha (Michael Cree, Dmitry Smirnov) | |
735 | * build: fix yasm check for x32 (Daniel Schepler, Sage Weil) | |
736 | * ceph-disk: add Scientific Linux support (Dan van der Ster) | |
737 | * ceph-fuse, libcephfs: fix crash in trim_caps (John Spray) | |
738 | * ceph-fuse, libcephfs: improve cap trimming (John Spray) | |
739 | * ceph-fuse, libcephfs: virtual xattrs for rstat (Yan, Zheng) | |
740 | * ceph.conf: update sample (Sebastien Han) | |
741 | * ceph.spec: many fixes (Erik Logtenberg, Boris Ranto, Dan Mick, Sandon Van Ness) | |
742 | * ceph_objectstore_tool: vastly improved and extended tool for working offline with OSD data stores (David Zafman) | |
743 | * common: add config diff admin socket command (Joao Eduardo Luis) | |
744 | * common: add rwlock assertion checks (Yehuda Sadeh) | |
745 | * crush: clean up CrushWrapper interface (Xioaxi Chen) | |
746 | * crush: make ruleset ids unique (Xiaoxi Chen, Loic Dachary) | |
747 | * doc: improve manual install docs (Francois Lafont) | |
748 | * doc: misc updates (John Wilkins, Loic Dachary, David Moreau Simard, Wido den Hollander. Volker Voigt, Alfredo Deza, Stephen Jahl, Dan van der Ster) | |
749 | * global: write pid file even when running in foreground (Alexandre Oliva) | |
750 | * hadoop: improve tests (Huamin Chen, Greg Farnum, John Spray) | |
751 | * journaler: fix locking (Zheng, Yan) | |
752 | * librados, osd: return ETIMEDOUT on failed notify (Sage Weil) | |
753 | * librados: fix crash on read op timeout (#9362 Matthias Kiefer, Sage Weil) | |
754 | * librados: fix shutdown race (#9130 Sage Weil) | |
755 | * librados: fix watch reregistration on acting set change (#9220 Samuel Just) | |
756 | * librados: fix watch/notify test (#7934 David Zafman) | |
757 | * librados: give Objecter fine-grained locks (Yehuda Sadeh, Sage Weil, John Spray) | |
758 | * librados: lttng tracepoitns (Adam Crume) | |
759 | * librados: pybind: fix reads when \0 is present (#9547 Mohammad Salehe) | |
760 | * librbd: enforce cache size on read requests (Jason Dillaman) | |
761 | * librbd: handle blacklisting during shutdown (#9105 John Spray) | |
762 | * librbd: lttng tracepoints (Adam Crume) | |
763 | * lttng: tracing infrastructure (Noah Watkins, Adam Crume) | |
764 | * mailmap: updates (Loic Dachary, Abhishek Lekshmanan, M Ranga Swami Reddy) | |
765 | * many many coverity fixes, cleanups (Danny Al-Gaaf) | |
766 | * mds: adapt to new Objecter locking, give types to all Contexts (John Spray) | |
767 | * mds: add internal health checks (John Spray) | |
768 | * mds: avoid tight mon reconnect loop (#9428 Sage Weil) | |
769 | * mds: fix crash killing sessions (#9173 John Spray) | |
770 | * mds: fix ctime updates (#9514 Greg Farnum) | |
771 | * mds: fix replay locking (Yan, Zheng) | |
772 | * mds: fix standby-replay cache trimming (#8648 Zheng, Yan) | |
773 | * mds: give perfcounters meaningful names (Sage Weil) | |
774 | * mds: improve health reporting to monitor (John Spray) | |
775 | * mds: improve journal locking (Zheng, Yan) | |
776 | * mds: make max file recoveries tunable (Sage Weil) | |
777 | * mds: prioritize file recovery when appropriate (Sage Weil) | |
778 | * mds: refactor beacon, improve reliability (John Spray) | |
779 | * mds: restart on EBLACKLISTED (John Spray) | |
780 | * mds: track RECALL progress, report failure (#9284 John Spray) | |
781 | * mds: update segment references during journal write (John Spray, Greg Farnum) | |
782 | * mds: use meaningful names for clients (John Spray) | |
783 | * mds: warn clients which aren't revoking caps (Zheng, Yan, John Spray) | |
784 | * mon: add 'osd reweight-by-pg' command (Sage Weil, Guang Yang) | |
785 | * mon: add audit log for all admin commands (Joao Eduardo Luis) | |
786 | * mon: add cluster fingerprint (Sage Weil) | |
787 | * mon: avoid creating unnecessary rule on pool create (#9304 Loic Dachary) | |
788 | * mon: do not spam log (Aanchal Agrawal, Sage Weil) | |
789 | * mon: fix 'osd perf' reported latency (#9269 Samuel Just) | |
790 | * mon: fix double-free of old MOSDBoot (Sage Weil) | |
791 | * mon: fix op write latency perfcounter (#9217 Xinxin Shu) | |
792 | * mon: fix store check on startup (Joao Eduardo Luis) | |
793 | * mon: make paxos transaction commits asynchronous (Sage Weil) | |
794 | * mon: preload erasure plugins (#9153 Loic Dachary) | |
795 | * mon: prevent cache pools from being used directly by CephFS (#9435 John Spray) | |
796 | * mon: use user-provided ruleset for replicated pool (Xiaoxi Chen) | |
797 | * mon: verify available disk space on startup (#9502 Joao Eduardo Luis) | |
798 | * mon: verify erasure plugin version on load (Loic Dachary) | |
799 | * msgr: fix logged address (Yongyue Sun) | |
800 | * osd: account for hit_set_archive bytes (Sage Weil) | |
801 | * osd: add ISA erasure plugin table cache (Andreas-Joachim Peters) | |
802 | * osd: add ability to prehash filestore directories (Guang Yang) | |
803 | * osd: add feature bit for erasure plugins (Loic Dachary) | |
804 | * osd: add local recovery code (LRC) erasure plugin (Loic Dachary) | |
805 | * osd: cap hit_set size (#9339 Samuel Just) | |
806 | * osd: clear FDCache on unlink (#8914 Loic Dachary) | |
807 | * osd: do not evict blocked objects (#9285 Zhiqiang Wang) | |
808 | * osd: fix ISA erasure alignment (Loic Dachary, Andreas-Joachim Peters) | |
809 | * osd: fix clone vs cache_evict bug (#8629 Sage Weil) | |
810 | * osd: fix crash from duplicate backfill reservation (#8863 Sage Weil) | |
811 | * osd: fix dead peer connection checks (#9295 Greg Farnum, Sage Weil) | |
812 | * osd: fix keyvaluestore scrub (#8589 Haomai Wang) | |
813 | * osd: fix keyvaluestore upgrade (Haomai Wang) | |
814 | * osd: fix min_read_recency_for_promote default on upgrade (Zhiqiang Wang) | |
815 | * osd: fix mount/remount sync race (#9144 Sage Weil) | |
816 | * osd: fix purged_snap initialization on backfill (Sage Weil, Samuel Just, Dan van der Ster, Florian Haas) | |
817 | * osd: fix race condition on object deletion (#9480 Somnath Roy) | |
818 | * osd: fix snap object writeback from cache tier (#9054 Samuel Just) | |
819 | * osd: improve journal shutdown (Ma Jianpeng, Mark Kirkwood) | |
820 | * osd: improve locking in OpTracker (Pavan Rallabhandi, Somnath Roy) | |
821 | * osd: improve tiering agent arithmetic (Zhiqiang Wang, Sage Weil, Samuel Just) | |
822 | * osd: lttng tracepoints for filestore (Noah Watkins) | |
823 | * osd: make blacklist encoding deterministic (#9211 Sage Weil) | |
824 | * osd: many many important fixes (#8231 #8315 #9113 #9179 #9293 #9294 #9326 #9453 #9481 #9482 #9497 #9574 Samuel Just) | |
825 | * osd: misc erasure code plugin fixes (Loic Dachary) | |
826 | * osd: preload erasure plugins (#9153 Loic Dachary) | |
827 | * osd: shard OpTracker to improve performance (Somnath Roy) | |
828 | * osd: use local time for tiering decisions (Zhiqiang Wang) | |
829 | * osd: verify erasure plugin version on load (Loic Dachary) | |
830 | * rados: fix bench write arithmetic (Jiangheng) | |
831 | * rbd: parallelize rbd import, export (Jason Dillaman) | |
832 | * rbd: rbd-replay utility to replay captured rbd workload traces (Adam Crume) | |
833 | * rbd: use write-back (not write-through) when caching is enabled (Jason Dillaman) | |
834 | * rgw: add S3 bucket get location operation (Abhishek Lekshmanan) | |
835 | * rgw: add civetweb as default frontent on port 7490 (#9013 Yehuda Sadeh) | |
836 | * rgw: allow : in S3 access key (Roman Haritonov) | |
837 | * rgw: fix admin create user op (#8583 Ray Lv) | |
838 | * rgw: fix log filename suffix (#9353 Alexandre Marangone) | |
839 | * rgw: fix usage (Abhishek Lekshmanan) | |
840 | * rgw: many fixes for civetweb (Yehuda Sadeh) | |
841 | * rgw: subuser creation fixes (#8587 Yehuda Sadeh) | |
842 | * rgw: use systemd-run from sysvinit script (JuanJose Galvez) | |
843 | * unit test improvements (Loic Dachary) | |
844 | * vstart.sh: fix/improve rgw support (Luis Pabon, Abhishek Lekshmanan) | |
845 | ||
846 | v0.85 | |
847 | ===== | |
848 | ||
849 | This is the second-to-last development release before Giant that | |
850 | contains new functionality. The big items to land during this cycle | |
851 | are the messenger refactoring from Matt Benjmain that lays some | |
852 | groundwork for RDMA support, a performance improvement series from | |
853 | SanDisk that improves performance on SSDs, lots of improvements to our | |
854 | new standalone civetweb-based RGW frontend, and a new 'osd blocked-by' | |
855 | mon command that allows admins to easily identify which OSDs are | |
856 | blocking peering progress. The other big change is that the OSDs and | |
857 | Monitors now distinguish between "misplaced" and "degraded" objects: | |
858 | the latter means there are fewer copies than we'd like, while the | |
859 | former simply means the are not stored in the locations where we want | |
860 | them to be. | |
861 | ||
862 | Also of note is a change to librbd that enables client-side caching by | |
863 | default. This is coupled with another option that makes the cache | |
864 | write-through until a "flush" operations is observed: this implies | |
865 | that the librbd user (usually a VM guest OS) supports barriers and | |
866 | flush and that it is safe for the cache to switch into writeback mode | |
867 | without compromising data safety or integrity. It has long been | |
868 | recommended practice that these options be enabled (e.g., in OpenStack | |
869 | environments) but until now it has not been the default. | |
870 | ||
871 | We have frozen the tree for the looming Giant release, and the next | |
872 | development release will be a release candidate with a final batch of | |
873 | new functionality. | |
874 | ||
875 | Upgrading | |
876 | --------- | |
877 | ||
878 | * The client-side caching for librbd is now enabled by default (rbd | |
879 | cache = true). A safety option (rbd cache writethrough until flush | |
880 | = true) is also enabled so that writeback caching is not used until | |
881 | the library observes a 'flush' command, indicating that the librbd | |
882 | users is passing that operation through from the guest VM. This | |
883 | avoids potential data loss when used with older versions of qemu | |
884 | that do not support flush. | |
885 | ||
886 | leveldb_write_buffer_size = 32*1024*1024 = 33554432 // 32MB | |
887 | leveldb_cache_size = 512*1024*1204 = 536870912 // 512MB | |
888 | leveldb_block_size = 64*1024 = 65536 // 64KB | |
889 | leveldb_compression = false | |
890 | leveldb_log = "" | |
891 | ||
892 | OSDs will still maintain the following osd-specific defaults: | |
893 | ||
894 | leveldb_log = "" | |
895 | ||
896 | * The 'rados getxattr ...' command used to add a gratuitous newline to the attr | |
897 | value; it now does not. | |
898 | ||
899 | Notable Changes | |
900 | --------------- | |
901 | ||
902 | * ceph-disk: do not inadvertantly create directories (Owne Synge) | |
903 | * ceph-disk: fix dmcrypt support (Sage Weil) | |
904 | * ceph-disk: linter cleanup, logging improvements (Alfredo Deza) | |
905 | * ceph-disk: show information about dmcrypt in 'ceph-disk list' output (Sage Weil) | |
906 | * ceph-disk: use partition type UUIDs and blkid (Sage Weil) | |
907 | * ceph: fix for non-default cluster names (#8944, Dan Mick) | |
908 | * doc: document new upstream wireshark dissector (Kevin Cox) | |
909 | * doc: many install doc updates (John Wilkins) | |
910 | * librados: fix lock leaks in error paths (#9022, Paval Rallabhandi) | |
911 | * librados: fix pool existence check (#8835, Pavan Rallabhandi) | |
912 | * librbd: enable caching by default (Sage Weil) | |
913 | * librbd: fix crash using clone of flattened image (#8845, Josh Durgin) | |
914 | * librbd: store and retrieve snapshot metadata based on id (Josh Durgin) | |
915 | * mailmap: many updates (Loic Dachary) | |
916 | * mds: add min/max UID for snapshot creation/deletion (#9029, Wido den Hollander) | |
917 | * misc build errors/warnings for Fedora 20 (Boris Ranto) | |
918 | * mon: add 'osd blocked-by' command to easily see which OSDs are blocking peering progress (Sage Weil) | |
919 | * mon: add perfcounters for paxos operations (Sage Weil) | |
920 | * mon: create default EC profile if needed (Loic Dachary) | |
921 | * mon: fix crash on loopback messages and paxos timeouts (#9062, Sage Weil) | |
922 | * mon: fix divide by zero when pg_num is adjusted before OSDs are added (#9101, Sage Weil) | |
923 | * mon: fix occasional memory leak after session reset (#9176, Sage Weil) | |
924 | * mon: fix ruleset/ruleid bugs (#9044, Loic Dachary) | |
925 | * mon: make usage dumps in terms of bytes, not kB (Sage Weil) | |
926 | * mon: prevent implicit destruction of OSDs with 'osd setmaxosd ...' (#8865, Anand Bhat) | |
927 | * mon: verify all quorum members are contiguous at end of Paxos round (#9053, Sage Weil) | |
928 | * msgr: refactor to cleanly separate SimpleMessenger implemenetation, move toward Connection-based calls (Matt Benjamin, Sage Wei) | |
929 | * objectstore: clean up KeyValueDB interface for key/value backends (Sage Weil) | |
930 | * osd: add local_mtime for use by cache agent (Zhiqiang Wang) | |
931 | * osd: add superblock for KeyValueStore backend (Haomai Wang) | |
932 | * osd: add support for Intel ISA-L erasure code library (Andreas-Joachim Peters) | |
933 | * osd: do not skip promote for write-ordered reads (#9064, Samuel Just) | |
934 | * osd: fix ambigous encoding order for blacklisted clients (#9211, Sage Weil) | |
935 | * osd: fix cache flush corner case for snapshotted objects (#9054, Samuel Just) | |
936 | * osd: fix discard of old/obsolete subop replies (#9259, Samuel Just) | |
937 | * osd: fix discard of peer messages from previous intervals (Greg Farnum) | |
938 | * osd: fix dump of open fds on EMFILE (Sage Weil) | |
939 | * osd: fix journal dump (Ma Jianpeng) | |
940 | * osd: fix mon feature bit requirements bug and resulting log spam (Sage Weil) | |
941 | * osd: fix recovery chunk size usage during EC recovery (Ma Jianpeng) | |
942 | * osd: fix recovery reservation deadlock for EC pools (Samuel Just) | |
943 | * osd: fix removal of old xattrs when overwriting chained xattrs (Ma Jianpeng) | |
944 | * osd: fix requesting queueing on PG split (Samuel Just) | |
945 | * osd: force new xattrs into leveldb if fs returns E2BIG (#7779, Sage Weil) | |
946 | * osd: implement alignment on chunk sizes (Loic Dachary) | |
947 | * osd: improve prioritization of recovery of degraded over misplaced objects (Sage Weil) | |
948 | * osd: locking, sharding, caching improvements in FileStore's FDCache (Somnath Roy, Greg Farnum) | |
949 | * osd: many important bug fixes (Samuel Just) | |
950 | * osd, mon: add rocksdb support (Xinxin Shu, Sage Weil) | |
951 | * osd, mon: distinguish between "misplaced" and "degraded" objects in cluster health and PG state reporting (Sage Weil) | |
952 | * osd: refactor some ErasureCode functionality into command parent class (Loic Dachary) | |
953 | * osd: set rollback_info_completed on create (#8625, Samuel Just) | |
954 | * rados: allow setxattr value to be read from stdin (Sage Weil) | |
955 | * rados: drop gratuitous \n from getxattr command (Sage Weil) | |
956 | * rgw: add --min-rewrite-stripe-size for object restriper (Yehuda Sadeh) | |
957 | * rgw: add powerdns hook for dynamic DNS for global clusters (Wido den Hollander) | |
958 | * rgw: copy object data is target bucket is in a different pool (#9039, Yehuda Sadeh) | |
959 | * rgw: do not try to authenticate CORS preflight requests (#8718, Robert Hubbard, Yehuda Sadeh) | |
960 | * rgw: fix civetweb URL decoding (#8621, Yehuda Sadeh) | |
961 | * rgw: fix removal of objects during object creation (Patrycja Szablowska, Yehuda Sadeh) | |
962 | * rgw: fix striping for copied objects (#9089, Yehuda Sadeh) | |
963 | * rgw: fix test for identify whether an object has a tail (#9226, Yehuda Sadeh) | |
964 | * rgw: fix when stripe size is not a multiple of chunk size (#8937, Yehuda Sadeh) | |
965 | * rgw: improve civetweb logging (Yehuda Sadeh) | |
966 | * rgw: misc civetweb frontend fixes (Yehuda Sadeh) | |
967 | * sysvinit: add support for non-default cluster names (Alfredo Deza) | |
968 | ||
969 | ||
970 | v0.84 | |
971 | ===== | |
972 | ||
973 | The next Ceph development release is here! This release contains | |
974 | several meaty items, including some MDS improvements for journaling, | |
975 | the ability to remove the CephFS file system (and name it), several | |
976 | mon cleanups with tiered pools, several OSD performance branches, a | |
977 | new "read forward" RADOS caching mode, a prototype Kinetic OSD | |
978 | backend, and various radosgw improvements (especially with the new | |
979 | standalone civetweb frontend). And there are a zillion OSD bug | |
980 | fixes. Things are looking pretty good for the Giant release that is | |
981 | coming up in the next month. | |
982 | ||
983 | Upgrading | |
984 | --------- | |
985 | ||
986 | * The ``*_kb perf`` counters on the monitor have been removed. These are | |
987 | replaced with a new set of ``*_bytes`` counters (e.g., ``cluster_osd_kb`` is | |
988 | replaced by ``cluster_osd_bytes``). | |
989 | ||
990 | * The ``rd_kb`` and ``wr_kb`` fields in the JSON dumps for pool stats (accessed | |
991 | via the ``ceph df detail -f json-pretty`` and related commands) have been | |
992 | replaced with corresponding ``*_bytes`` fields. Similarly, the | |
993 | ``total_space``, ``total_used``, and ``total_avail`` fields are replaced with | |
994 | ``total_bytes``, ``total_used_bytes``, and ``total_avail_bytes`` fields. | |
995 | ||
996 | * The ``rados df --format=json`` output ``read_bytes`` and ``write_bytes`` | |
997 | fields were incorrectly reporting ops; this is now fixed. | |
998 | ||
999 | * The ``rados df --format=json`` output previously included ``read_kb`` and | |
1000 | ``write_kb`` fields; these have been removed. Please use ``read_bytes`` and | |
1001 | ``write_bytes`` instead (and divide by 1024 if appropriate). | |
1002 | ||
1003 | Notable Changes | |
1004 | --------------- | |
1005 | ||
1006 | * ceph-conf: flush log on exit (Sage Weil) | |
1007 | * ceph-dencoder: refactor build a bit to limit dependencies (Sage Weil, Dan Mick) | |
1008 | * ceph.spec: split out ceph-common package, other fixes (Sandon Van Ness) | |
1009 | * ceph_test_librbd_fsx: fix RNG, make deterministic (Ilya Dryomov) | |
1010 | * cephtool: refactor and improve CLI tests (Joao Eduardo Luis) | |
1011 | * client: improved MDS session dumps (John Spray) | |
1012 | * common: fix dup log messages (#9080, Sage Weil) | |
1013 | * crush: include new tunables in dump (Sage Weil) | |
1014 | * crush: only require rule features if the rule is used (#8963, Sage Weil) | |
1015 | * crushtool: send output to stdout, not stderr (Wido den Hollander) | |
1016 | * fix i386 builds (Sage Weil) | |
1017 | * fix struct vs class inconsistencies (Thorsten Behrens) | |
1018 | * hadoop: update hadoop tests for Hadoop 2.0 (Haumin Chen) | |
1019 | * librbd, ceph-fuse: reduce cache flush overhead (Haomai Wang) | |
1020 | * librbd: fix error path when opening image (#8912, Josh Durgin) | |
1021 | * mds: add file system name, enabled flag (John Spray) | |
1022 | * mds: boot refactor, cleanup (John Spray) | |
1023 | * mds: fix journal conversion with standby-replay (John Spray) | |
1024 | * mds: separate inode recovery queue (John Spray) | |
1025 | * mds: session ls, evict commands (John Spray) | |
1026 | * mds: submit log events in async thread (Yan, Zheng) | |
1027 | * mds: use client-provided timestamp for user-visible file metadata (Yan, Zheng) | |
1028 | * mds: validate journal header on load and save (John Spray) | |
1029 | * misc build fixes for OS X (John Spray) | |
1030 | * misc integer size cleanups (Kevin Cox) | |
1031 | * mon: add get-quota commands (Joao Eduardo Luis) | |
1032 | * mon: do not create file system by default (John Spray) | |
1033 | * mon: fix 'ceph df' output for available space (Xiaoxi Chen) | |
1034 | * mon: fix bug when no auth keys are present (#8851, Joao Eduardo Luis) | |
1035 | * mon: fix compat version for MForward (Joao Eduardo Luis) | |
1036 | * mon: restrict some pool properties to tiered pools (Joao Eduardo Luis) | |
1037 | * msgr: misc locking fixes for fast dispatch (#8891, Sage Weil) | |
1038 | * osd: add 'dump_reservations' admin socket command (Sage Weil) | |
1039 | * osd: add READFORWARD caching mode (Luis Pabon) | |
1040 | * osd: add header cache for KeyValueStore (Haomai Wang) | |
1041 | * osd: add prototype KineticStore based on Seagate Kinetic (Josh Durgin) | |
1042 | * osd: allow map cache size to be adjusted at runtime (Sage Weil) | |
1043 | * osd: avoid refcounting overhead by passing a few things by ref (Somnath Roy) | |
1044 | * osd: avoid sharing PG info that is not durable (Samuel Just) | |
1045 | * osd: clear slow request latency info on osd up/down (Sage Weil) | |
1046 | * osd: fix PG object listing/ordering bug (Guang Yang) | |
1047 | * osd: fix PG stat errors with tiering (#9082, Sage Weil) | |
1048 | * osd: fix bug with long object names and rename (#8701, Sage Weil) | |
1049 | * osd: fix cache full -> not full requeueing (#8931, Sage Weil) | |
1050 | * osd: fix gating of messages from old OSD instances (Greg Farnum) | |
1051 | * osd: fix memstore bugs with collection_move_rename, lock ordering (Sage Weil) | |
1052 | * osd: improve locking for KeyValueStore (Haomai Wang) | |
1053 | * osd: make tiering behave if hit_sets aren't enabled (Sage Weil) | |
1054 | * osd: mark pools with incomplete clones (Sage Weil) | |
1055 | * osd: misc locking fixes for fast dispatch (Samuel Just, Ma Jianpeng) | |
1056 | * osd: prevent old rados clients from using tiered pools (#8714, Sage Weil) | |
1057 | * osd: reduce OpTracker overhead (Somnath Roy) | |
1058 | * osd: set configurable hard limits on object and xattr names (Sage Weil, Haomai Wang) | |
1059 | * osd: trim old EC objects quickly; verify on scrub (Samuel Just) | |
1060 | * osd: work around GCC 4.8 bug in journal code (Matt Benjamin) | |
1061 | * rados bench: fix arg order (Kevin Dalley) | |
1062 | * rados: fix {read,write}_ops values for df output (Sage Weil) | |
1063 | * rbd: add rbdmap pre- and post post- hooks, fix misc bugs (Dmitry Smirnov) | |
1064 | * rbd: improve option default behavior (Josh Durgin) | |
1065 | * rgw: automatically align writes to EC pool (#8442, Yehuda Sadeh) | |
1066 | * rgw: fix crash on swift CORS preflight request (#8586, Yehuda Sadeh) | |
1067 | * rgw: fix memory leaks (Andrey Kuznetsov) | |
1068 | * rgw: fix multipart upload (#8846, Silvain Munaut, Yehuda Sadeh) | |
1069 | * rgw: improve -h (Abhishek Lekshmanan) | |
1070 | * rgw: improve delimited listing of bucket, misc fixes (Yehuda Sadeh) | |
1071 | * rgw: misc civetweb fixes (Yehuda Sadeh) | |
1072 | * rgw: powerdns backend for global namespaces (Wido den Hollander) | |
1073 | * systemd: initial systemd config files (Federico Simoncelli) | |
1074 | ||
1075 | ||
1076 | v0.83 | |
1077 | ===== | |
1078 | ||
1079 | Another Ceph development release! This has been a longer cycle, so | |
1080 | there has been quite a bit of bug fixing and stabilization in this | |
1081 | round. There is also a bunch of packaging fixes for RPM distros | |
1082 | (RHEL/CentOS, Fedora, and SUSE) and for systemd. We've also added a new | |
1083 | librados-striper library from Sebastien Ponce that provides a generic | |
1084 | striping API for applications to code to. | |
1085 | ||
1086 | Upgrading | |
1087 | --------- | |
1088 | ||
1089 | * The experimental keyvaluestore-dev OSD backend had an on-disk format | |
1090 | change that prevents existing OSD data from being upgraded. This | |
1091 | affects developers and testers only. | |
1092 | ||
1093 | * mon-specific and osd-specific leveldb options have been removed. | |
1094 | From this point onward users should use the `leveldb_*` generic | |
1095 | options and add the options in the appropriate sections of their | |
1096 | configuration files. Monitors will still maintain the following | |
1097 | monitor-specific defaults: | |
1098 | ||
1099 | leveldb_write_buffer_size = 32*1024*1024 = 33554432 // 32MB | |
1100 | leveldb_cache_size = 512*1024*1204 = 536870912 // 512MB | |
1101 | leveldb_block_size = 64*1024 = 65536 // 64KB | |
1102 | leveldb_compression = false | |
1103 | leveldb_log = "" | |
1104 | ||
1105 | OSDs will still maintain the following osd-specific defaults: | |
1106 | ||
1107 | leveldb_log = "" | |
1108 | ||
1109 | Notable Changes | |
1110 | --------------- | |
1111 | ||
1112 | * ceph-disk: fix dmcrypt support (Stephen Taylor) | |
1113 | * cephtool: fix help (Yilong Zhao) | |
1114 | * cephtool: test cleanup (Joao Eduardo Luis) | |
1115 | * doc: librados example fixes (Kevin Dalley) | |
1116 | * doc: many doc updates (John Wilkins) | |
1117 | * doc: update erasure docs (Loic Dachary, Venky Shankar) | |
1118 | * filestore: disable use of XFS hint (buggy on old kernels) (Samuel Just) | |
1119 | * filestore: fix xattr spillout (Greg Farnum, Haomai Wang) | |
1120 | * keyvaluestore: header cache (Haomai Wang) | |
1121 | * librados_striper: striping library for librados (Sebastien Ponce) | |
1122 | * libs3: update to latest (Danny Al-Gaaf) | |
1123 | * log: fix derr level (Joao Eduardo Luis) | |
1124 | * logrotate: fix osd log rotation on ubuntu (Sage Weil) | |
1125 | * mds: fix xattr bug triggered by ACLs (Yan, Zheng) | |
1126 | * misc memory leaks, cleanups, fixes (Danny Al-Gaaf, Sahid Ferdjaoui) | |
1127 | * misc suse fixes (Danny Al-Gaaf) | |
1128 | * misc word size fixes (Kevin Cox) | |
1129 | * mon: drop mon- and osd- specific leveldb options (Joao Eduardo Luis) | |
1130 | * mon: ec pool profile fixes (Loic Dachary) | |
1131 | * mon: fix health down messages (Sage Weil) | |
1132 | * mon: fix quorum feature check (#8738, Greg Farnum) | |
1133 | * mon: 'osd crush reweight-subtree ...' (Sage Weil) | |
1134 | * mon, osd: relax client EC support requirements (Sage Weil) | |
1135 | * mon: some instrumentation (Sage Weil) | |
1136 | * objecter: flag operations that are redirected by caching (Sage Weil) | |
1137 | * osd: clean up shard_id_t, shard_t (Loic Dachary) | |
1138 | * osd: fix connection reconnect race (Greg Farnum) | |
1139 | * osd: fix dumps (Joao Eduardo Luis) | |
1140 | * osd: fix erasure-code lib initialization (Loic Dachary) | |
1141 | * osd: fix extent normalization (Adam Crume) | |
1142 | * osd: fix loopback msgr issue (Ma Jianpeng) | |
1143 | * osd: fix LSB release parsing (Danny Al-Gaaf) | |
1144 | * osd: improved backfill priorities (Sage Weil) | |
1145 | * osd: many many core fixes (Samuel Just) | |
1146 | * osd, mon: config sanity checks on start (Sage Weil, Joao Eduardo Luis) | |
1147 | * osd: sharded threadpool to improve parallelism (Somnath Roy) | |
1148 | * osd: simple io prioritization for scrub (Sage Weil) | |
1149 | * osd: simple scrub throttling (Sage Weil) | |
1150 | * osd: tests for bench command (Loic Dachary) | |
1151 | * osd: use xfs hint less frequently (Ilya Dryomov) | |
1152 | * pybind/rados: fix small timeouts (John Spray) | |
1153 | * qa: xfstests updates (Ilya Dryomov) | |
1154 | * rgw: cache bucket info (Yehuda Sadeh) | |
1155 | * rgw: cache decoded user info (Yehuda Sadeh) | |
1156 | * rgw: fix multipart object attr regression (#8452, Yehuda Sadeh) | |
1157 | * rgw: fix radosgw-admin 'show log' command (#8553, Yehuda Sadeh) | |
1158 | * rgw: fix URL decoding (#8702, Brian Rak) | |
1159 | * rgw: handle empty extra pool name (Yehuda Sadeh) | |
1160 | * rpm: do not restart daemons on upgrade (Alfredo Deza) | |
1161 | * rpm: misc packaging fixes for rhel7 (Sandon Van Ness) | |
1162 | * rpm: split ceph-common from ceph (Sandon Van Ness) | |
1163 | * systemd: wrap started daemons in new systemd environment (Sage Weil, Dan Mick) | |
1164 | * sysvinit: less sensitive to failures (Sage Weil) | |
1165 | * upstart: increase max open files limit (Sage Weil) | |
1166 | ||
1167 | v0.82 | |
1168 | ===== | |
1169 | ||
1170 | This is the second post-firefly development release. It includes a range | |
1171 | of bug fixes and some usability improvements. There are some MDS debugging | |
1172 | and diagnostic tools, an improved 'ceph df', and some OSD backend refactoring | |
1173 | and cleanup. | |
1174 | ||
1175 | Notable Changes | |
1176 | --------------- | |
1177 | ||
1178 | * ceph-brag: add tox tests (Alfredo Deza) | |
1179 | * common: perfcounters now use atomics and go faster (Sage Weil) | |
1180 | * doc: CRUSH updates (John Wilkins) | |
1181 | * doc: osd primary affinity (John Wilkins) | |
1182 | * doc: pool quotas (John Wilkins) | |
1183 | * doc: pre-flight doc improvements (Kevin Dalley) | |
1184 | * doc: switch to an unencumbered font (Ross Turk) | |
1185 | * doc: update openstack docs (Josh Durgin) | |
1186 | * fix hppa arch build (Dmitry Smirnov) | |
1187 | * init-ceph: continue starting other daemons on crush or mount failure (#8343, Sage Weil) | |
1188 | * keyvaluestore: fix hint crash (#8381, Haomai Wang) | |
1189 | * libcephfs-java: build against older JNI headers (Greg Farnum) | |
1190 | * librados: fix rados_pool_list bounds checks (Sage Weil) | |
1191 | * mds: cephfs-journal-tool (John Spray) | |
1192 | * mds: improve Journaler on-disk format (John Spray) | |
1193 | * mds, libcephfs: use client timestamp for mtime/ctime (Sage Weil) | |
1194 | * mds: misc encoding improvements (John Spray) | |
1195 | * mds: misc fixes for multi-mds (Yan, Zheng) | |
1196 | * mds: OPTracker integration, dump_ops_in_flight (Greg Farnum) | |
1197 | * misc cleanup (Christophe Courtaut) | |
1198 | * mon: fix default replication pool ruleset choice (#8373, John Spray) | |
1199 | * mon: fix set cache_target_full_ratio (#8440, Geoffrey Hartz) | |
1200 | * mon: include per-pool 'max avail' in df output (Sage Weil) | |
1201 | * mon: prevent EC pools from being used with cephfs (Joao Eduardo Luis) | |
1202 | * mon: restore original weight when auto-marked out OSDs restart (Sage Weil) | |
1203 | * mon: use msg header tid for MMonGetVersionReply (Ilya Dryomov) | |
1204 | * osd: fix bogus assert during OSD shutdown (Sage Weil) | |
1205 | * osd: fix clone deletion case (#8334, Sam Just) | |
1206 | * osd: fix filestore removal corner case (#8332, Sam Just) | |
1207 | * osd: fix hang waiting for osdmap (#8338, Greg Farnum) | |
1208 | * osd: fix interval check corner case during peering (#8104, Sam Just) | |
1209 | * osd: fix journal-less operation (Sage Weil) | |
1210 | * osd: include backend information in metadata reported to mon (Sage Weil) | |
1211 | * rest-api: fix help (Ailing Zhang) | |
1212 | * rgw: check entity permission for put_metadata (#8428, Yehuda Sadeh) | |
1213 | ||
1214 | ||
1215 | v0.81 | |
1216 | ===== | |
1217 | ||
1218 | This is the first development release since Firefly. It includes a | |
1219 | lot of work that we delayed merging while stabilizing things. Lots of | |
1220 | new functionality, as well as several fixes that are baking a bit before | |
1221 | getting backported. | |
1222 | ||
1223 | Upgrading | |
1224 | --------- | |
1225 | ||
1226 | * CephFS support for the legacy anchor table has finally been removed. | |
1227 | Users with file systems created before firefly should ensure that inodes | |
1228 | with multiple hard links are modified *prior* to the upgrade to ensure that | |
1229 | the backtraces are written properly. For example:: | |
1230 | ||
1231 | sudo find /mnt/cephfs -type f -links +1 -exec touch \{\} \; | |
1232 | ||
1233 | * Disallow nonsensical 'tier cache-mode' transitions. From this point | |
1234 | onward, 'writeback' can only transition to 'forward' and 'forward' | |
1235 | can transition to 1) 'writeback' if there are dirty objects, or 2) any if | |
1236 | there are no dirty objects. | |
1237 | ||
1238 | Notable Changes | |
1239 | --------------- | |
1240 | ||
1241 | * bash completion improvements (Wido den Hollander) | |
1242 | * brag: fixes, improvements (Loic Dachary) | |
1243 | * ceph-disk: handle corrupt volumes (Stuart Longlang) | |
1244 | * ceph-disk: partprobe as needed (Eric Eastman) | |
1245 | * ceph-fuse, libcephfs: asok hooks for handling session resets, timeouts (Yan, Zheng) | |
1246 | * ceph-fuse, libcephfs: improve traceless reply handling (Sage Weil) | |
1247 | * clang build fixes (John Spray, Danny Al-Gaaf) | |
1248 | * config: support G, M, K, etc. suffixes (Joao Eduardo Luis) | |
1249 | * coverity cleanups (Danny Al-Gaaf) | |
1250 | * doc: cache tiering (John Wilkins) | |
1251 | * doc: keystone integration docs (John Wilkins) | |
1252 | * doc: updated simple configuration guides (John Wilkins) | |
1253 | * libcephfs-java: fix gcj-jdk build (Dmitry Smirnov) | |
1254 | * librbd: check error code on cache invalidate (Josh Durgin) | |
1255 | * librbd: new libkrbd library for kernel map/unmap/showmapped (Ilya Dryomov) | |
1256 | * Makefile: fix out of source builds (Stefan Eilemann) | |
1257 | * mds: multi-mds fixes (Yan, Zheng) | |
1258 | * mds: remove legacy anchor table (Yan, Zheng) | |
1259 | * mds: remove legacy discover ino (Yan, Zheng) | |
1260 | * monclient: fix hang (Sage Weil) | |
1261 | * mon: prevent nonsensical cache-mode transitions (Joao Eduardo Luis) | |
1262 | * msgr: avoid big lock when sending (most) messages (Greg Farnum) | |
1263 | * osd: bound osdmap epoch skew between PGs (Sage Weil) | |
1264 | * osd: cache tier flushing fixes for snapped objects (Samuel Just) | |
1265 | * osd: fix agent early finish looping (David Zafman) | |
1266 | * osd: fix flush vs OpContext (Samuel Just) | |
1267 | * osd: fix MarkMeDown and other shutdown races (Sage Weil) | |
1268 | * osd: fix scrub vs cache bugs (Samuel Just) | |
1269 | * osd: fix trim of hitsets (Sage Weil) | |
1270 | * osd, msgr: fast-dispatch of OSD ops (Greg Farnum, Samuel Just) | |
1271 | * osd, objecter: resend ops on last_force_op_resend barrier; fix cache overlay op ordering (Sage Weil) | |
1272 | * osd: remove obsolete classic scrub code (David Zafman) | |
1273 | * osd: scrub PGs with invalid stats (Sage Weil) | |
1274 | * osd: simple snap trimmer throttle (Sage Weil) | |
1275 | * osd: use FIEMAP to inform copy_range (Haomai Wang) | |
1276 | * rbd-fuse: allow exposing single image (Stephen Taylor) | |
1277 | * rbd-fuse: fix unlink (Josh Durgin) | |
1278 | * removed mkcephfs (deprecated since dumpling) | |
1279 | * rgw: bucket link uses instance id (Yehuda Sadeh) | |
1280 | * rgw: fix memory leak following chunk read error (Yehuda Sadeh) | |
1281 | * rgw: fix URL escaping (Yehuda Sadeh) | |
1282 | * rgw: fix user manifest (Yehuda Sadeh) | |
1283 | * rgw: object and bucket rewrite functions to allow restriping old objects (Yehuda Sadeh) | |
1284 | * rgw: prevent multiobject PUT race (Yehuda Sadeh) | |
1285 | * rgw: send user manifest header (Yehuda Sadeh) | |
1286 | * test_librbd_fsx: test krbd as well as librbd (Ilya Dryomov) |