]> git.proxmox.com Git - ceph.git/blob - ceph/doc/releases/giant.rst
da330f15983481c74ea7acf25e6ae467a9a88c31
[ceph.git] / ceph / doc / releases / giant.rst
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
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)