diff options
Diffstat (limited to 'doc/releases/giant.rst')
-rw-r--r-- | doc/releases/giant.rst | 1286 |
1 files changed, 1286 insertions, 0 deletions
diff --git a/doc/releases/giant.rst b/doc/releases/giant.rst new file mode 100644 index 000000000..6b2182adb --- /dev/null +++ b/doc/releases/giant.rst @@ -0,0 +1,1286 @@ +===== +Giant +===== + +Giant is the 7th stable release of Ceph. It is named after the giant +squid (Architeuthis dux). + + +v0.87.2 Giant +============= + +This is the second (and possibly final) point release for Giant. + +We recommend all v0.87.x Giant users upgrade to this release. + +Notable Changes +--------------- + +* ceph-objectstore-tool: only output unsupported features when incompatible (#11176 David Zafman) +* common: do not implicitly unlock rwlock on destruction (Federico Simoncelli) +* common: make wait timeout on empty queue configurable (#10818 Samuel Just) +* crush: pick ruleset id that matches and rule id (Xiaoxi Chen) +* crush: set_choose_tries = 100 for new erasure code rulesets (#10353 Loic Dachary) +* librados: check initialized atomic safely (#9617 Josh Durgin) +* librados: fix failed tick_event assert (#11183 Zhiqiang Wang) +* librados: fix looping on skipped maps (#9986 Ding Dinghua) +* librados: fix op submit with timeout (#10340 Samuel Just) +* librados: pybind: fix memory leak (#10723 Billy Olsen) +* librados: pybind: keep reference to callbacks (#10775 Josh Durgin) +* librados: translate operation flags from C APIs (Matthew Richards) +* libradosstriper: fix write_full on ENOENT (#10758 Sebastien Ponce) +* libradosstriper: use strtoll instead of strtol (Dongmao Zhang) +* mds: fix assertion caused by system time moving backwards (#11053 Yan, Zheng) +* mon: allow injection of random delays on writes (Joao Eduardo Luis) +* mon: do not trust small osd epoch cache values (#10787 Sage Weil) +* mon: fail non-blocking flush if object is being scrubbed (#8011 Samuel Just) +* mon: fix division by zero in stats dump (Joao Eduardo Luis) +* mon: fix get_rule_avail when no osds (#10257 Joao Eduardo Luis) +* mon: fix timeout rounds period (#10546 Joao Eduardo Luis) +* mon: ignore osd failures before up_from (#10762 Dan van der Ster, Sage Weil) +* mon: paxos: reset accept timeout before writing to store (#10220 Joao Eduardo Luis) +* mon: return if fs exists on 'fs new' (Joao Eduardo Luis) +* mon: use EntityName when expanding profiles (#10844 Joao Eduardo Luis) +* mon: verify cross-service proposal preconditions (#10643 Joao Eduardo Luis) +* mon: wait for osdmon to be writeable when requesting proposal (#9794 Joao Eduardo Luis) +* mount.ceph: avoid spurious error message about /etc/mtab (#10351 Yan, Zheng) +* msg/simple: allow RESETSESSION when we forget an endpoint (#10080 Greg Farnum) +* msg/simple: discard delay queue before incoming queue (#9910 Sage Weil) +* osd: clear_primary_state when leaving Primary (#10059 Samuel Just) +* osd: do not ignore deleted pgs on startup (#10617 Sage Weil) +* osd: fix FileJournal wrap to get header out first (#10883 David Zafman) +* osd: fix PG leak in SnapTrimWQ (#10421 Kefu Chai) +* osd: fix journalq population in do_read_entry (#6003 Samuel Just) +* osd: fix operator== for op_queue_age_hit and fs_perf_stat (#10259 Samuel Just) +* osd: fix rare assert after split (#10430 David Zafman) +* osd: get pgid ancestor from last_map when building past intervals (#10430 David Zafman) +* osd: include rollback_info_trimmed_to in {read,write}_log (#10157 Samuel Just) +* osd: lock header_lock in DBObjectMap::sync (#9891 Samuel Just) +* osd: requeue blocked op before flush it was blocked on (#10512 Sage Weil) +* osd: tolerate missing object between list and attr get on backfill (#10150 Samuel Just) +* osd: use correct atime for eviction decision (Xinze Chi) +* rgw: flush XML header on get ACL request (#10106 Yehuda Sadeh) +* rgw: index swift keys appropriately (#10471 Hemant Bruman, Yehuda Sadeh) +* rgw: send cancel for bucket index pending ops (#10770 Baijiaruo, Yehuda Sadeh) +* rgw: swift: support X_Remove_Container-Meta-{key} (#01475 Dmytro Iurchenko) + +For more detailed information, see :download:`the complete changelog <../changelog/v0.87.2.txt>`. + +v0.87.1 Giant +============= + +This is the first (and possibly final) point release for Giant. Our focus +on stability fixes will be directed towards Hammer and Firefly. + +We recommend that all v0.87 Giant users upgrade to this release. + +Upgrading +--------- + +* Due to a change in the Linux kernel version 3.18 and the limits of the FUSE + interface, ceph-fuse needs be mounted as root on at least some systems. See + issues #9997, #10277, and #10542 for details. + +Notable Changes +--------------- + +* build: disable stack-execute bit on assembler objects (#10114 Dan Mick) +* build: support boost 1.57.0 (#10688 Ken Dreyer) +* ceph-disk: fix dmcrypt file permissions (#9785 Loic Dachary) +* ceph-disk: run partprobe after zap, behave with partx or partprobe (#9665 #9721 Loic Dachary) +* cephfs-journal-tool: fix import for aged journals (#9977 John Spray) +* cephfs-journal-tool: fix journal import (#10025 John Spray) +* ceph-fuse: use remount to trim kernel dcache (#10277 Yan, Zheng) +* common: add cctid meta variable (#6228 Adam Crume) +* common: fix dump of shard for ghobject_t (#10063 Loic Dachary) +* crush: fix bucket weight underflow (#9998 Pawel Sadowski) +* erasure-code: enforce chunk size alignment (#10211 Loic Dachary) +* erasure-code: regression test suite (#9420 Loic Dachary) +* erasure-code: relax caucy w restrictions (#10325 Loic Dachary) +* libcephfs,ceph-fuse: allow xattr caps on inject_release_failure (#9800 John Spray) +* libcephfs,ceph-fuse: fix cap flush tid comparison (#9869 Greg Farnum) +* libcephfs,ceph-fuse: new flag to indicated sorted dcache (#9178 Yan, Zheng) +* libcephfs,ceph-fuse: prune cache before reconnecting to MDS (Yan, Zheng) +* librados: limit number of in-flight read requests (#9854 Jason Dillaman) +* libradospy: fix thread shutdown (#8797 Dan Mick) +* libradosstriper: fix locking issue in truncate (#10129 Sebastien Ponce) +* librbd: complete pending ops before closing mage (#10299 Jason Dillaman) +* librbd: fix error path on image open failure (#10030 Jason Dillaman) +* librbd: gracefully handle deleted/renamed pools (#10270 Jason Dillaman) +* librbd: handle errors when creating ioctx while listing children (#10123 Jason Dillaman) +* mds: fix compat version in MClientSession (#9945 John Spray) +* mds: fix journaler write error handling (#10011 John Spray) +* mds: fix locking for file size recovery (#10229 Yan, Zheng) +* mds: handle heartbeat_reset during shutdown (#10382 John Spray) +* mds: store backtrace for straydir (Yan, Zheng) +* mon: allow tiers for FS pools (#10135 John Spray) +* mon: fix caching of last_epoch_clean, osdmap trimming (#9987 Sage Weil) +* mon: fix 'fs ls' on peons (#10288 John Spray) +* mon: fix MDS health status from peons (#10151 John Spray) +* mon: fix paxos off-by-one (#9301 Sage Weil) +* msgr: simple: do not block on takeover while holding global lock (#9921 Greg Farnum) +* osd: deep scrub must not abort if hinfo is missing (#10018 Loic Dachary) +* osd: fix misdirected op detection (#9835 Sage Weil) +* osd: fix past_interval display for acting (#9752 Loic Dachary) +* osd: fix PG peering backoff when behind on osdmaps (#10431 Sage Weil) +* osd: handle no-op write with snapshot case (#10262 Ssage Weil) +* osd: use fast-dispatch (Sage Weil, Greg Farnum) +* rados: fix write to /dev/null (Loic Dachary) +* radosgw-admin: create subuser when needed (#10103 Yehuda Sadeh) +* rbd: avoid invalidating aio_write buffer during image import (#10590 Jason Dillaman) +* rbd: fix export with images > 2GB (Vicente Cheng) +* rgw: change multipart upload id magic (#10271 Georgios Dimitrakakis, Yehuda Sadeh) +* rgw: check keystone auth for S3 POST (#10062 Abhishek Lekshmanan) +* rgw: check timestamp for S3 keystone auth (#10062 Abhishek Lekshmanan) +* rgw: fix partial GET with swift (#10553 Yehuda Sadeh) +* rgw: fix quota disable (#9907 Dong Lei) +* rgw: fix rare corruption of object metadata on put (#9576 Yehuda Sadeh) +* rgw: fix S3 object copy content-type (#9478 Yehuda Sadeh) +* rgw: headers end with \r\n (#9254 Benedikt Fraunhofer, Yehuda Sadeh) +* rgw: remove swift user manifest DLO hash calculation (#9973 Yehuda Sadeh) +* rgw: return correct len when len is 0 (#9877 Yehuda Sadeh) +* rgw: return X-Timestamp field (#8911 Yehuda Sadeh) +* rgw: run radosgw as apache with systemd (#10125) +* rgw: sent ETag on S3 object copy (#9479 Yehuda Sadeh) +* rgw: sent HTTP status reason explicitly in fastcgi (Yehuda Sadeh) +* rgw: set length for keystone token validation (#7796 Mark Kirkwood, Yehuda Sadeh) +* rgw: set ulimit -n on sysvinit before starting daemon (#9587 Sage Weil) +* rgw: update bucket index on set_attrs (#5595 Yehuda Sadeh) +* rgw: update swift subuser permission masks when authenticating (#9918 Yehuda Sadeh) +* rgw: URL decode HTTP query params correction (#10271 Georgios Dimitrakakis, Yehuda Sadeh) +* rgw: use cached attrs while reading object attrs (#10307 Yehuda Sadeh) +* rgw: use strict_strtoll for content length (#10701 Axel Dunkel, Yehuda Sadeh) + +For more detailed information, see :download:`the complete changelog <../changelog/v0.87.1.txt>`. + + + +v0.87 Giant +=========== + +This release will form the basis for the stable release Giant, +v0.87.x. Highlights for Giant include: + +* *RADOS Performance*: a range of improvements have been made in the + OSD and client-side librados code that improve the throughput on + flash backends and improve parallelism and scaling on fast machines. +* *CephFS*: we have fixed a raft of bugs in CephFS and built some + basic journal recovery and diagnostic tools. Stability and + performance of single-MDS systems is vastly improved in Giant. + Although we do not yet recommend CephFS for production deployments, + we do encourage testing for non-critical workloads so that we can + better gauge the feature, usability, performance, and stability + gaps. +* *Local Recovery Codes*: the OSDs now support an erasure-coding scheme + that stores some additional data blocks to reduce the IO required to + recover from single OSD failures. +* *Degraded vs misplaced*: the Ceph health reports from 'ceph -s' and + related commands now make a distinction between data that is + degraded (there are fewer than the desired number of copies) and + data that is misplaced (stored in the wrong location in the + cluster). The distinction is important because the latter does not + compromise data safety. +* *Tiering improvements*: we have made several improvements to the + cache tiering implementation that improve performance. Most + notably, objects are not promoted into the cache tier by a single + read; they must be found to be sufficiently hot before that happens. +* *Monitor performance*: the monitors now perform writes to the local + data store asynchronously, improving overall responsiveness. +* *Recovery tools*: the ceph_objectstore_tool is greatly expanded to + allow manipulation of an individual OSDs data store for debugging + and repair purposes. This is most heavily used by our QA + infrastructure to exercise recovery code. + +Upgrade Sequencing +------------------ + +* If your existing cluster is running a version older than v0.80.x + Firefly, please first upgrade to the latest Firefly release before + moving on to Giant. We have not tested upgrades directly from + Emperor, Dumpling, or older releases. + + We *have* tested: + + * Firefly to Giant + * Dumpling to Firefly to Giant + +* Please upgrade daemons in the following order: + + #. Monitors + #. OSDs + #. MDSs and/or radosgw + + Note that the relative ordering of OSDs and monitors should not matter, but + we primarily tested upgrading monitors first. + +Upgrading from v0.80x Firefly +----------------------------- + +* The client-side caching for librbd is now enabled by default (rbd + cache = true). A safety option (rbd cache writethrough until flush + = true) is also enabled so that writeback caching is not used until + the library observes a 'flush' command, indicating that the librbd + users is passing that operation through from the guest VM. This + avoids potential data loss when used with older versions of qemu + that do not support flush. + + leveldb_write_buffer_size = 8*1024*1024 = 33554432 // 8MB + leveldb_cache_size = 512*1024*1204 = 536870912 // 512MB + leveldb_block_size = 64*1024 = 65536 // 64KB + leveldb_compression = false + leveldb_log = "" + + OSDs will still maintain the following osd-specific defaults: + + leveldb_log = "" + +* The 'rados getxattr ...' command used to add a gratuitous newline to the attr + value; it now does not. + +* The ``*_kb perf`` counters on the monitor have been removed. These are + replaced with a new set of ``*_bytes`` counters (e.g., ``cluster_osd_kb`` is + replaced by ``cluster_osd_bytes``). + +* The ``rd_kb`` and ``wr_kb`` fields in the JSON dumps for pool stats (accessed + via the ``ceph df detail -f json-pretty`` and related commands) have been + replaced with corresponding ``*_bytes`` fields. Similarly, the + ``total_space``, ``total_used``, and ``total_avail`` fields are replaced with + ``total_bytes``, ``total_used_bytes``, and ``total_avail_bytes`` fields. + +* The ``rados df --format=json`` output ``read_bytes`` and ``write_bytes`` + fields were incorrectly reporting ops; this is now fixed. + +* The ``rados df --format=json`` output previously included ``read_kb`` and + ``write_kb`` fields; these have been removed. Please use ``read_bytes`` and + ``write_bytes`` instead (and divide by 1024 if appropriate). + +* The experimental keyvaluestore-dev OSD backend had an on-disk format + change that prevents existing OSD data from being upgraded. This + affects developers and testers only. + +* mon-specific and osd-specific leveldb options have been removed. + From this point onward users should use the `leveldb_*` generic + options and add the options in the appropriate sections of their + configuration files. Monitors will still maintain the following + monitor-specific defaults: + + leveldb_write_buffer_size = 8*1024*1024 = 33554432 // 8MB + leveldb_cache_size = 512*1024*1204 = 536870912 // 512MB + leveldb_block_size = 64*1024 = 65536 // 64KB + leveldb_compression = false + leveldb_log = "" + + OSDs will still maintain the following osd-specific defaults: + + leveldb_log = "" + +* CephFS support for the legacy anchor table has finally been removed. + Users with file systems created before firefly should ensure that inodes + with multiple hard links are modified *prior* to the upgrade to ensure that + the backtraces are written properly. For example:: + + sudo find /mnt/cephfs -type f -links +1 -exec touch \{\} \; + +* We disallow nonsensical 'tier cache-mode' transitions. From this point + onward, 'writeback' can only transition to 'forward' and 'forward' + can transition to 1) 'writeback' if there are dirty objects, or 2) any if + there are no dirty objects. + +Notable Changes since v0.86 +--------------------------- + +* ceph-disk: use new udev rules for centos7/rhel7 (#9747 Loic Dachary) +* libcephfs-java: fix fstat mode (Noah Watkins) +* librados: fix deadlock when listing PG contents (Guang Yang) +* librados: misc fixes to the new threading model (#9582 #9706 #9845 #9873 Sage Weil) +* mds: fix inotable initialization (Henry C Chang) +* mds: gracefully handle unknown lock type in flock requests (Yan, Zheng) +* mon: add read-only, read-write, and role-definer rols (Joao Eduardo Luis) +* mon: fix mon cap checks (Joao Eduardo Luis) +* mon: misc fixes for new paxos async writes (#9635 Sage Weil) +* mon: set scrub timestamps on PG creation (#9496 Joao Eduardo Luis) +* osd: erasure code: fix buffer alignment (Janne Grunau, Loic Dachary) +* osd: fix alloc hint induced crashes on mixed clusters (#9419 David Zafman) +* osd: fix backfill reservation release on rejection (#9626, Samuel Just) +* osd: fix ioprio option parsing (#9676 #9677 Loic Dachary) +* osd: fix memory leak during snap trimming (#9113 Samuel Just) +* osd: misc peering and recovery fixes (#9614 #9696 #9731 #9718 #9821 #9875 Samuel Just, Guang Yang) + +Notable Changes since v0.80.x Firefly +------------------------------------- + +* bash completion improvements (Wido den Hollander) +* brag: fixes, improvements (Loic Dachary) +* buffer: improve rebuild_page_aligned (Ma Jianpeng) +* build: fix build on alpha (Michael Cree, Dmitry Smirnov) +* build: fix CentOS 5 (Gerben Meijer) +* build: fix yasm check for x32 (Daniel Schepler, Sage Weil) +* ceph-brag: add tox tests (Alfredo Deza) +* ceph-conf: flush log on exit (Sage Weil) +* ceph.conf: update sample (Sebastien Han) +* ceph-dencoder: refactor build a bit to limit dependencies (Sage Weil, Dan Mick) +* ceph-disk: add Scientific Linux support (Dan van der Ster) +* ceph-disk: do not inadvertantly create directories (Owne Synge) +* ceph-disk: fix dmcrypt support (Sage Weil) +* ceph-disk: fix dmcrypt support (Stephen Taylor) +* ceph-disk: handle corrupt volumes (Stuart Longlang) +* ceph-disk: linter cleanup, logging improvements (Alfredo Deza) +* ceph-disk: partprobe as needed (Eric Eastman) +* ceph-disk: show information about dmcrypt in 'ceph-disk list' output (Sage Weil) +* ceph-disk: use partition type UUIDs and blkid (Sage Weil) +* ceph: fix for non-default cluster names (#8944, Dan Mick) +* ceph-fuse, libcephfs: asok hooks for handling session resets, timeouts (Yan, Zheng) +* ceph-fuse, libcephfs: fix crash in trim_caps (John Spray) +* ceph-fuse, libcephfs: improve cap trimming (John Spray) +* ceph-fuse, libcephfs: improve traceless reply handling (Sage Weil) +* ceph-fuse, libcephfs: virtual xattrs for rstat (Yan, Zheng) +* ceph_objectstore_tool: vastly improved and extended tool for working offline with OSD data stores (David Zafman) +* ceph.spec: many fixes (Erik Logtenberg, Boris Ranto, Dan Mick, Sandon Van Ness) +* ceph.spec: split out ceph-common package, other fixes (Sandon Van Ness) +* ceph_test_librbd_fsx: fix RNG, make deterministic (Ilya Dryomov) +* cephtool: fix help (Yilong Zhao) +* cephtool: refactor and improve CLI tests (Joao Eduardo Luis) +* cephtool: test cleanup (Joao Eduardo Luis) +* clang build fixes (John Spray, Danny Al-Gaaf) +* client: improved MDS session dumps (John Spray) +* common: add config diff admin socket command (Joao Eduardo Luis) +* common: add rwlock assertion checks (Yehuda Sadeh) +* common: fix dup log messages (#9080, Sage Weil) +* common: perfcounters now use atomics and go faster (Sage Weil) +* config: support G, M, K, etc. suffixes (Joao Eduardo Luis) +* coverity cleanups (Danny Al-Gaaf) +* crush: clean up CrushWrapper interface (Xioaxi Chen) +* crush: include new tunables in dump (Sage Weil) +* crush: make ruleset ids unique (Xiaoxi Chen, Loic Dachary) +* crush: only require rule features if the rule is used (#8963, Sage Weil) +* crushtool: send output to stdout, not stderr (Wido den Hollander) +* doc: cache tiering (John Wilkins) +* doc: CRUSH updates (John Wilkins) +* doc: document new upstream wireshark dissector (Kevin Cox) +* doc: improve manual install docs (Francois Lafont) +* doc: keystone integration docs (John Wilkins) +* doc: librados example fixes (Kevin Dalley) +* doc: many doc updates (John Wilkins) +* doc: many install doc updates (John Wilkins) +* doc: misc updates (John Wilkins, Loic Dachary, David Moreau Simard, Wido den Hollander. Volker Voigt, Alfredo Deza, Stephen Jahl, Dan van der Ster) +* doc: osd primary affinity (John Wilkins) +* doc: pool quotas (John Wilkins) +* doc: pre-flight doc improvements (Kevin Dalley) +* doc: switch to an unencumbered font (Ross Turk) +* doc: updated simple configuration guides (John Wilkins) +* doc: update erasure docs (Loic Dachary, Venky Shankar) +* doc: update openstack docs (Josh Durgin) +* filestore: disable use of XFS hint (buggy on old kernels) (Samuel Just) +* filestore: fix xattr spillout (Greg Farnum, Haomai Wang) +* fix hppa arch build (Dmitry Smirnov) +* fix i386 builds (Sage Weil) +* fix struct vs class inconsistencies (Thorsten Behrens) +* global: write pid file even when running in foreground (Alexandre Oliva) +* hadoop: improve tests (Huamin Chen, Greg Farnum, John Spray) +* hadoop: update hadoop tests for Hadoop 2.0 (Haumin Chen) +* init-ceph: continue starting other daemons on crush or mount failure (#8343, Sage Weil) +* journaler: fix locking (Zheng, Yan) +* keyvaluestore: fix hint crash (#8381, Haomai Wang) +* keyvaluestore: header cache (Haomai Wang) +* libcephfs-java: build against older JNI headers (Greg Farnum) +* libcephfs-java: fix gcj-jdk build (Dmitry Smirnov) +* librados: fix crash on read op timeout (#9362 Matthias Kiefer, Sage Weil) +* librados: fix lock leaks in error paths (#9022, Paval Rallabhandi) +* librados: fix pool existence check (#8835, Pavan Rallabhandi) +* librados: fix rados_pool_list bounds checks (Sage Weil) +* librados: fix shutdown race (#9130 Sage Weil) +* librados: fix watch/notify test (#7934 David Zafman) +* librados: fix watch reregistration on acting set change (#9220 Samuel Just) +* librados: give Objecter fine-grained locks (Yehuda Sadeh, Sage Weil, John Spray) +* librados: lttng tracepoitns (Adam Crume) +* librados, osd: return ETIMEDOUT on failed notify (Sage Weil) +* librados: pybind: fix reads when \0 is present (#9547 Mohammad Salehe) +* librados_striper: striping library for librados (Sebastien Ponce) +* librbd, ceph-fuse: reduce cache flush overhead (Haomai Wang) +* librbd: check error code on cache invalidate (Josh Durgin) +* librbd: enable caching by default (Sage Weil) +* librbd: enforce cache size on read requests (Jason Dillaman) +* librbd: fix crash using clone of flattened image (#8845, Josh Durgin) +* librbd: fix error path when opening image (#8912, Josh Durgin) +* librbd: handle blacklisting during shutdown (#9105 John Spray) +* librbd: lttng tracepoints (Adam Crume) +* librbd: new libkrbd library for kernel map/unmap/showmapped (Ilya Dryomov) +* librbd: store and retrieve snapshot metadata based on id (Josh Durgin) +* libs3: update to latest (Danny Al-Gaaf) +* log: fix derr level (Joao Eduardo Luis) +* logrotate: fix osd log rotation on ubuntu (Sage Weil) +* lttng: tracing infrastructure (Noah Watkins, Adam Crume) +* mailmap: many updates (Loic Dachary) +* mailmap: updates (Loic Dachary, Abhishek Lekshmanan, M Ranga Swami Reddy) +* Makefile: fix out of source builds (Stefan Eilemann) +* many many coverity fixes, cleanups (Danny Al-Gaaf) +* mds: adapt to new Objecter locking, give types to all Contexts (John Spray) +* mds: add file system name, enabled flag (John Spray) +* mds: add internal health checks (John Spray) +* mds: add min/max UID for snapshot creation/deletion (#9029, Wido den Hollander) +* mds: avoid tight mon reconnect loop (#9428 Sage Weil) +* mds: boot refactor, cleanup (John Spray) +* mds: cephfs-journal-tool (John Spray) +* mds: fix crash killing sessions (#9173 John Spray) +* mds: fix ctime updates (#9514 Greg Farnum) +* mds: fix journal conversion with standby-replay (John Spray) +* mds: fix replay locking (Yan, Zheng) +* mds: fix standby-replay cache trimming (#8648 Zheng, Yan) +* mds: fix xattr bug triggered by ACLs (Yan, Zheng) +* mds: give perfcounters meaningful names (Sage Weil) +* mds: improve health reporting to monitor (John Spray) +* mds: improve Journaler on-disk format (John Spray) +* mds: improve journal locking (Zheng, Yan) +* mds, libcephfs: use client timestamp for mtime/ctime (Sage Weil) +* mds: make max file recoveries tunable (Sage Weil) +* mds: misc encoding improvements (John Spray) +* mds: misc fixes for multi-mds (Yan, Zheng) +* mds: multi-mds fixes (Yan, Zheng) +* mds: OPTracker integration, dump_ops_in_flight (Greg Farnum) +* mds: prioritize file recovery when appropriate (Sage Weil) +* mds: refactor beacon, improve reliability (John Spray) +* mds: remove legacy anchor table (Yan, Zheng) +* mds: remove legacy discover ino (Yan, Zheng) +* mds: restart on EBLACKLISTED (John Spray) +* mds: separate inode recovery queue (John Spray) +* mds: session ls, evict commands (John Spray) +* mds: submit log events in async thread (Yan, Zheng) +* mds: track RECALL progress, report failure (#9284 John Spray) +* mds: update segment references during journal write (John Spray, Greg Farnum) +* mds: use client-provided timestamp for user-visible file metadata (Yan, Zheng) +* mds: use meaningful names for clients (John Spray) +* mds: validate journal header on load and save (John Spray) +* mds: warn clients which aren't revoking caps (Zheng, Yan, John Spray) +* misc build errors/warnings for Fedora 20 (Boris Ranto) +* misc build fixes for OS X (John Spray) +* misc cleanup (Christophe Courtaut) +* misc integer size cleanups (Kevin Cox) +* misc memory leaks, cleanups, fixes (Danny Al-Gaaf, Sahid Ferdjaoui) +* misc suse fixes (Danny Al-Gaaf) +* misc word size fixes (Kevin Cox) +* mon: add audit log for all admin commands (Joao Eduardo Luis) +* mon: add cluster fingerprint (Sage Weil) +* mon: add get-quota commands (Joao Eduardo Luis) +* mon: add 'osd blocked-by' command to easily see which OSDs are blocking peering progress (Sage Weil) +* mon: add 'osd reweight-by-pg' command (Sage Weil, Guang Yang) +* mon: add perfcounters for paxos operations (Sage Weil) +* mon: avoid creating unnecessary rule on pool create (#9304 Loic Dachary) +* monclient: fix hang (Sage Weil) +* mon: create default EC profile if needed (Loic Dachary) +* mon: do not create file system by default (John Spray) +* mon: do not spam log (Aanchal Agrawal, Sage Weil) +* mon: drop mon- and osd- specific leveldb options (Joao Eduardo Luis) +* mon: ec pool profile fixes (Loic Dachary) +* mon: fix bug when no auth keys are present (#8851, Joao Eduardo Luis) +* mon: fix 'ceph df' output for available space (Xiaoxi Chen) +* mon: fix compat version for MForward (Joao Eduardo Luis) +* mon: fix crash on loopback messages and paxos timeouts (#9062, Sage Weil) +* mon: fix default replication pool ruleset choice (#8373, John Spray) +* mon: fix divide by zero when pg_num is adjusted before OSDs are added (#9101, Sage Weil) +* mon: fix double-free of old MOSDBoot (Sage Weil) +* mon: fix health down messages (Sage Weil) +* mon: fix occasional memory leak after session reset (#9176, Sage Weil) +* mon: fix op write latency perfcounter (#9217 Xinxin Shu) +* mon: fix 'osd perf' reported latency (#9269 Samuel Just) +* mon: fix quorum feature check (#8738, Greg Farnum) +* mon: fix ruleset/ruleid bugs (#9044, Loic Dachary) +* mon: fix set cache_target_full_ratio (#8440, Geoffrey Hartz) +* mon: fix store check on startup (Joao Eduardo Luis) +* mon: include per-pool 'max avail' in df output (Sage Weil) +* mon: make paxos transaction commits asynchronous (Sage Weil) +* mon: make usage dumps in terms of bytes, not kB (Sage Weil) +* mon: 'osd crush reweight-subtree ...' (Sage Weil) +* mon, osd: relax client EC support requirements (Sage Weil) +* mon: preload erasure plugins (#9153 Loic Dachary) +* mon: prevent cache pools from being used directly by CephFS (#9435 John Spray) +* mon: prevent EC pools from being used with cephfs (Joao Eduardo Luis) +* mon: prevent implicit destruction of OSDs with 'osd setmaxosd ...' (#8865, Anand Bhat) +* mon: prevent nonsensical cache-mode transitions (Joao Eduardo Luis) +* mon: restore original weight when auto-marked out OSDs restart (Sage Weil) +* mon: restrict some pool properties to tiered pools (Joao Eduardo Luis) +* mon: some instrumentation (Sage Weil) +* mon: use msg header tid for MMonGetVersionReply (Ilya Dryomov) +* mon: use user-provided ruleset for replicated pool (Xiaoxi Chen) +* mon: verify all quorum members are contiguous at end of Paxos round (#9053, Sage Weil) +* mon: verify available disk space on startup (#9502 Joao Eduardo Luis) +* mon: verify erasure plugin version on load (Loic Dachary) +* msgr: avoid big lock when sending (most) messages (Greg Farnum) +* msgr: fix logged address (Yongyue Sun) +* msgr: misc locking fixes for fast dispatch (#8891, Sage Weil) +* msgr: refactor to cleanly separate SimpleMessenger implemenetation, move toward Connection-based calls (Matt Benjamin, Sage Wei) +* objecter: flag operations that are redirected by caching (Sage Weil) +* objectstore: clean up KeyValueDB interface for key/value backends (Sage Weil) +* osd: account for hit_set_archive bytes (Sage Weil) +* osd: add ability to prehash filestore directories (Guang Yang) +* osd: add 'dump_reservations' admin socket command (Sage Weil) +* osd: add feature bit for erasure plugins (Loic Dachary) +* osd: add header cache for KeyValueStore (Haomai Wang) +* osd: add ISA erasure plugin table cache (Andreas-Joachim Peters) +* osd: add local_mtime for use by cache agent (Zhiqiang Wang) +* osd: add local recovery code (LRC) erasure plugin (Loic Dachary) +* osd: add prototype KineticStore based on Seagate Kinetic (Josh Durgin) +* osd: add READFORWARD caching mode (Luis Pabon) +* osd: add superblock for KeyValueStore backend (Haomai Wang) +* osd: add support for Intel ISA-L erasure code library (Andreas-Joachim Peters) +* osd: allow map cache size to be adjusted at runtime (Sage Weil) +* osd: avoid refcounting overhead by passing a few things by ref (Somnath Roy) +* osd: avoid sharing PG info that is not durable (Samuel Just) +* osd: bound osdmap epoch skew between PGs (Sage Weil) +* osd: cache tier flushing fixes for snapped objects (Samuel Just) +* osd: cap hit_set size (#9339 Samuel Just) +* osd: clean up shard_id_t, shard_t (Loic Dachary) +* osd: clear FDCache on unlink (#8914 Loic Dachary) +* osd: clear slow request latency info on osd up/down (Sage Weil) +* osd: do not evict blocked objects (#9285 Zhiqiang Wang) +* osd: do not skip promote for write-ordered reads (#9064, Samuel Just) +* osd: fix agent early finish looping (David Zafman) +* osd: fix ambigous encoding order for blacklisted clients (#9211, Sage Weil) +* osd: fix bogus assert during OSD shutdown (Sage Weil) +* osd: fix bug with long object names and rename (#8701, Sage Weil) +* osd: fix cache flush corner case for snapshotted objects (#9054, Samuel Just) +* osd: fix cache full -> not full requeueing (#8931, Sage Weil) +* osd: fix clone deletion case (#8334, Sam Just) +* osd: fix clone vs cache_evict bug (#8629 Sage Weil) +* osd: fix connection reconnect race (Greg Farnum) +* osd: fix crash from duplicate backfill reservation (#8863 Sage Weil) +* osd: fix dead peer connection checks (#9295 Greg Farnum, Sage Weil) +* osd: fix discard of old/obsolete subop replies (#9259, Samuel Just) +* osd: fix discard of peer messages from previous intervals (Greg Farnum) +* osd: fix dump of open fds on EMFILE (Sage Weil) +* osd: fix dumps (Joao Eduardo Luis) +* osd: fix erasure-code lib initialization (Loic Dachary) +* osd: fix extent normalization (Adam Crume) +* osd: fix filestore removal corner case (#8332, Sam Just) +* osd: fix flush vs OpContext (Samuel Just) +* osd: fix gating of messages from old OSD instances (Greg Farnum) +* osd: fix hang waiting for osdmap (#8338, Greg Farnum) +* osd: fix interval check corner case during peering (#8104, Sam Just) +* osd: fix ISA erasure alignment (Loic Dachary, Andreas-Joachim Peters) +* osd: fix journal dump (Ma Jianpeng) +* osd: fix journal-less operation (Sage Weil) +* osd: fix keyvaluestore scrub (#8589 Haomai Wang) +* osd: fix keyvaluestore upgrade (Haomai Wang) +* osd: fix loopback msgr issue (Ma Jianpeng) +* osd: fix LSB release parsing (Danny Al-Gaaf) +* osd: fix MarkMeDown and other shutdown races (Sage Weil) +* osd: fix memstore bugs with collection_move_rename, lock ordering (Sage Weil) +* osd: fix min_read_recency_for_promote default on upgrade (Zhiqiang Wang) +* osd: fix mon feature bit requirements bug and resulting log spam (Sage Weil) +* osd: fix mount/remount sync race (#9144 Sage Weil) +* osd: fix PG object listing/ordering bug (Guang Yang) +* osd: fix PG stat errors with tiering (#9082, Sage Weil) +* osd: fix purged_snap initialization on backfill (Sage Weil, Samuel Just, Dan van der Ster, Florian Haas) +* osd: fix race condition on object deletion (#9480 Somnath Roy) +* osd: fix recovery chunk size usage during EC recovery (Ma Jianpeng) +* osd: fix recovery reservation deadlock for EC pools (Samuel Just) +* osd: fix removal of old xattrs when overwriting chained xattrs (Ma Jianpeng) +* osd: fix requesting queueing on PG split (Samuel Just) +* osd: fix scrub vs cache bugs (Samuel Just) +* osd: fix snap object writeback from cache tier (#9054 Samuel Just) +* osd: fix trim of hitsets (Sage Weil) +* osd: force new xattrs into leveldb if fs returns E2BIG (#7779, Sage Weil) +* osd: implement alignment on chunk sizes (Loic Dachary) +* osd: improved backfill priorities (Sage Weil) +* osd: improve journal shutdown (Ma Jianpeng, Mark Kirkwood) +* osd: improve locking for KeyValueStore (Haomai Wang) +* osd: improve locking in OpTracker (Pavan Rallabhandi, Somnath Roy) +* osd: improve prioritization of recovery of degraded over misplaced objects (Sage Weil) +* osd: improve tiering agent arithmetic (Zhiqiang Wang, Sage Weil, Samuel Just) +* osd: include backend information in metadata reported to mon (Sage Weil) +* osd: locking, sharding, caching improvements in FileStore's FDCache (Somnath Roy, Greg Farnum) +* osd: lttng tracepoints for filestore (Noah Watkins) +* osd: make blacklist encoding deterministic (#9211 Sage Weil) +* osd: make tiering behave if hit_sets aren't enabled (Sage Weil) +* osd: many important bug fixes (Samuel Just) +* osd: many many core fixes (Samuel Just) +* osd: many many important fixes (#8231 #8315 #9113 #9179 #9293 #9294 #9326 #9453 #9481 #9482 #9497 #9574 Samuel Just) +* osd: mark pools with incomplete clones (Sage Weil) +* osd: misc erasure code plugin fixes (Loic Dachary) +* osd: misc locking fixes for fast dispatch (Samuel Just, Ma Jianpeng) +* osd, mon: add rocksdb support (Xinxin Shu, Sage Weil) +* osd, mon: config sanity checks on start (Sage Weil, Joao Eduardo Luis) +* osd, mon: distinguish between "misplaced" and "degraded" objects in cluster health and PG state reporting (Sage Weil) +* osd, msgr: fast-dispatch of OSD ops (Greg Farnum, Samuel Just) +* osd, objecter: resend ops on last_force_op_resend barrier; fix cache overlay op ordering (Sage Weil) +* osd: preload erasure plugins (#9153 Loic Dachary) +* osd: prevent old rados clients from using tiered pools (#8714, Sage Weil) +* osd: reduce OpTracker overhead (Somnath Roy) +* osd: refactor some ErasureCode functionality into command parent class (Loic Dachary) +* osd: remove obsolete classic scrub code (David Zafman) +* osd: scrub PGs with invalid stats (Sage Weil) +* osd: set configurable hard limits on object and xattr names (Sage Weil, Haomai Wang) +* osd: set rollback_info_completed on create (#8625, Samuel Just) +* osd: sharded threadpool to improve parallelism (Somnath Roy) +* osd: shard OpTracker to improve performance (Somnath Roy) +* osd: simple io prioritization for scrub (Sage Weil) +* osd: simple scrub throttling (Sage Weil) +* osd: simple snap trimmer throttle (Sage Weil) +* osd: tests for bench command (Loic Dachary) +* osd: trim old EC objects quickly; verify on scrub (Samuel Just) +* osd: use FIEMAP to inform copy_range (Haomai Wang) +* osd: use local time for tiering decisions (Zhiqiang Wang) +* osd: use xfs hint less frequently (Ilya Dryomov) +* osd: verify erasure plugin version on load (Loic Dachary) +* osd: work around GCC 4.8 bug in journal code (Matt Benjamin) +* pybind/rados: fix small timeouts (John Spray) +* qa: xfstests updates (Ilya Dryomov) +* rados: allow setxattr value to be read from stdin (Sage Weil) +* rados bench: fix arg order (Kevin Dalley) +* rados: drop gratuitous \n from getxattr command (Sage Weil) +* rados: fix bench write arithmetic (Jiangheng) +* rados: fix {read,write}_ops values for df output (Sage Weil) +* rbd: add rbdmap pre- and post post- hooks, fix misc bugs (Dmitry Smirnov) +* rbd-fuse: allow exposing single image (Stephen Taylor) +* rbd-fuse: fix unlink (Josh Durgin) +* rbd: improve option default behavior (Josh Durgin) +* rbd: parallelize rbd import, export (Jason Dillaman) +* rbd: rbd-replay utility to replay captured rbd workload traces (Adam Crume) +* rbd: use write-back (not write-through) when caching is enabled (Jason Dillaman) +* removed mkcephfs (deprecated since dumpling) +* rest-api: fix help (Ailing Zhang) +* rgw: add civetweb as default frontent on port 7490 (#9013 Yehuda Sadeh) +* rgw: add --min-rewrite-stripe-size for object restriper (Yehuda Sadeh) +* rgw: add powerdns hook for dynamic DNS for global clusters (Wido den Hollander) +* rgw: add S3 bucket get location operation (Abhishek Lekshmanan) +* rgw: allow : in S3 access key (Roman Haritonov) +* rgw: automatically align writes to EC pool (#8442, Yehuda Sadeh) +* rgw: bucket link uses instance id (Yehuda Sadeh) +* rgw: cache bucket info (Yehuda Sadeh) +* rgw: cache decoded user info (Yehuda Sadeh) +* rgw: check entity permission for put_metadata (#8428, Yehuda Sadeh) +* rgw: copy object data is target bucket is in a different pool (#9039, Yehuda Sadeh) +* rgw: do not try to authenticate CORS preflight requests (#8718, Robert Hubbard, Yehuda Sadeh) +* rgw: fix admin create user op (#8583 Ray Lv) +* rgw: fix civetweb URL decoding (#8621, Yehuda Sadeh) +* rgw: fix crash on swift CORS preflight request (#8586, Yehuda Sadeh) +* rgw: fix log filename suffix (#9353 Alexandre Marangone) +* rgw: fix memory leak following chunk read error (Yehuda Sadeh) +* rgw: fix memory leaks (Andrey Kuznetsov) +* rgw: fix multipart object attr regression (#8452, Yehuda Sadeh) +* rgw: fix multipart upload (#8846, Silvain Munaut, Yehuda Sadeh) +* rgw: fix radosgw-admin 'show log' command (#8553, Yehuda Sadeh) +* rgw: fix removal of objects during object creation (Patrycja Szablowska, Yehuda Sadeh) +* rgw: fix striping for copied objects (#9089, Yehuda Sadeh) +* rgw: fix test for identify whether an object has a tail (#9226, Yehuda Sadeh) +* rgw: fix URL decoding (#8702, Brian Rak) +* rgw: fix URL escaping (Yehuda Sadeh) +* rgw: fix usage (Abhishek Lekshmanan) +* rgw: fix user manifest (Yehuda Sadeh) +* rgw: fix when stripe size is not a multiple of chunk size (#8937, Yehuda Sadeh) +* rgw: handle empty extra pool name (Yehuda Sadeh) +* rgw: improve civetweb logging (Yehuda Sadeh) +* rgw: improve delimited listing of bucket, misc fixes (Yehuda Sadeh) +* rgw: improve -h (Abhishek Lekshmanan) +* rgw: many fixes for civetweb (Yehuda Sadeh) +* rgw: misc civetweb fixes (Yehuda Sadeh) +* rgw: misc civetweb frontend fixes (Yehuda Sadeh) +* rgw: object and bucket rewrite functions to allow restriping old objects (Yehuda Sadeh) +* rgw: powerdns backend for global namespaces (Wido den Hollander) +* rgw: prevent multiobject PUT race (Yehuda Sadeh) +* rgw: send user manifest header (Yehuda Sadeh) +* rgw: subuser creation fixes (#8587 Yehuda Sadeh) +* rgw: use systemd-run from sysvinit script (JuanJose Galvez) +* rpm: do not restart daemons on upgrade (Alfredo Deza) +* rpm: misc packaging fixes for rhel7 (Sandon Van Ness) +* rpm: split ceph-common from ceph (Sandon Van Ness) +* systemd: initial systemd config files (Federico Simoncelli) +* systemd: wrap started daemons in new systemd environment (Sage Weil, Dan Mick) +* sysvinit: add support for non-default cluster names (Alfredo Deza) +* sysvinit: less sensitive to failures (Sage Weil) +* test_librbd_fsx: test krbd as well as librbd (Ilya Dryomov) +* unit test improvements (Loic Dachary) +* upstart: increase max open files limit (Sage Weil) +* vstart.sh: fix/improve rgw support (Luis Pabon, Abhishek Lekshmanan) + + + + +v0.86 +===== + +This is a release candidate for Giant, which will hopefully be out +in another week or two. We did a feature freeze about a month ago +and since then have been doing only stabilization and bug fixing (and +a handful on low-risk enhancements). A fair bit of new functionality +went into the final sprint, but it's baked for quite a while now and +we're feeling pretty good about it. + +Major items include: + +* librados locking refactor to improve scaling and client performance +* local recovery code (LRC) erasure code plugin to trade some + additional storage overhead for improved recovery performance +* LTTNG tracing framework, with initial tracepoints in librados, + librbd, and the OSD FileStore backend +* separate monitor audit log for all administrative commands +* asynchronous monitor transaction commits to reduce the impact on + monitor read requests while processing updates +* low-level tool for working with individual OSD data stores for + debugging, recovery, and testing +* many MDS improvements (bug fixes, health reporting) + +There are still a handful of known bugs in this release, but nothing +severe enough to prevent a release. By and large we are pretty +pleased with the stability and expect the final Giant release to be +quite reliable. + +Please try this out on your non-production clusters for a preview + +Notable Changes +--------------- + +* buffer: improve rebuild_page_aligned (Ma Jianpeng) +* build: fix CentOS 5 (Gerben Meijer) +* build: fix build on alpha (Michael Cree, Dmitry Smirnov) +* build: fix yasm check for x32 (Daniel Schepler, Sage Weil) +* ceph-disk: add Scientific Linux support (Dan van der Ster) +* ceph-fuse, libcephfs: fix crash in trim_caps (John Spray) +* ceph-fuse, libcephfs: improve cap trimming (John Spray) +* ceph-fuse, libcephfs: virtual xattrs for rstat (Yan, Zheng) +* ceph.conf: update sample (Sebastien Han) +* ceph.spec: many fixes (Erik Logtenberg, Boris Ranto, Dan Mick, Sandon Van Ness) +* ceph_objectstore_tool: vastly improved and extended tool for working offline with OSD data stores (David Zafman) +* common: add config diff admin socket command (Joao Eduardo Luis) +* common: add rwlock assertion checks (Yehuda Sadeh) +* crush: clean up CrushWrapper interface (Xioaxi Chen) +* crush: make ruleset ids unique (Xiaoxi Chen, Loic Dachary) +* doc: improve manual install docs (Francois Lafont) +* doc: misc updates (John Wilkins, Loic Dachary, David Moreau Simard, Wido den Hollander. Volker Voigt, Alfredo Deza, Stephen Jahl, Dan van der Ster) +* global: write pid file even when running in foreground (Alexandre Oliva) +* hadoop: improve tests (Huamin Chen, Greg Farnum, John Spray) +* journaler: fix locking (Zheng, Yan) +* librados, osd: return ETIMEDOUT on failed notify (Sage Weil) +* librados: fix crash on read op timeout (#9362 Matthias Kiefer, Sage Weil) +* librados: fix shutdown race (#9130 Sage Weil) +* librados: fix watch reregistration on acting set change (#9220 Samuel Just) +* librados: fix watch/notify test (#7934 David Zafman) +* librados: give Objecter fine-grained locks (Yehuda Sadeh, Sage Weil, John Spray) +* librados: lttng tracepoitns (Adam Crume) +* librados: pybind: fix reads when \0 is present (#9547 Mohammad Salehe) +* librbd: enforce cache size on read requests (Jason Dillaman) +* librbd: handle blacklisting during shutdown (#9105 John Spray) +* librbd: lttng tracepoints (Adam Crume) +* lttng: tracing infrastructure (Noah Watkins, Adam Crume) +* mailmap: updates (Loic Dachary, Abhishek Lekshmanan, M Ranga Swami Reddy) +* many many coverity fixes, cleanups (Danny Al-Gaaf) +* mds: adapt to new Objecter locking, give types to all Contexts (John Spray) +* mds: add internal health checks (John Spray) +* mds: avoid tight mon reconnect loop (#9428 Sage Weil) +* mds: fix crash killing sessions (#9173 John Spray) +* mds: fix ctime updates (#9514 Greg Farnum) +* mds: fix replay locking (Yan, Zheng) +* mds: fix standby-replay cache trimming (#8648 Zheng, Yan) +* mds: give perfcounters meaningful names (Sage Weil) +* mds: improve health reporting to monitor (John Spray) +* mds: improve journal locking (Zheng, Yan) +* mds: make max file recoveries tunable (Sage Weil) +* mds: prioritize file recovery when appropriate (Sage Weil) +* mds: refactor beacon, improve reliability (John Spray) +* mds: restart on EBLACKLISTED (John Spray) +* mds: track RECALL progress, report failure (#9284 John Spray) +* mds: update segment references during journal write (John Spray, Greg Farnum) +* mds: use meaningful names for clients (John Spray) +* mds: warn clients which aren't revoking caps (Zheng, Yan, John Spray) +* mon: add 'osd reweight-by-pg' command (Sage Weil, Guang Yang) +* mon: add audit log for all admin commands (Joao Eduardo Luis) +* mon: add cluster fingerprint (Sage Weil) +* mon: avoid creating unnecessary rule on pool create (#9304 Loic Dachary) +* mon: do not spam log (Aanchal Agrawal, Sage Weil) +* mon: fix 'osd perf' reported latency (#9269 Samuel Just) +* mon: fix double-free of old MOSDBoot (Sage Weil) +* mon: fix op write latency perfcounter (#9217 Xinxin Shu) +* mon: fix store check on startup (Joao Eduardo Luis) +* mon: make paxos transaction commits asynchronous (Sage Weil) +* mon: preload erasure plugins (#9153 Loic Dachary) +* mon: prevent cache pools from being used directly by CephFS (#9435 John Spray) +* mon: use user-provided ruleset for replicated pool (Xiaoxi Chen) +* mon: verify available disk space on startup (#9502 Joao Eduardo Luis) +* mon: verify erasure plugin version on load (Loic Dachary) +* msgr: fix logged address (Yongyue Sun) +* osd: account for hit_set_archive bytes (Sage Weil) +* osd: add ISA erasure plugin table cache (Andreas-Joachim Peters) +* osd: add ability to prehash filestore directories (Guang Yang) +* osd: add feature bit for erasure plugins (Loic Dachary) +* osd: add local recovery code (LRC) erasure plugin (Loic Dachary) +* osd: cap hit_set size (#9339 Samuel Just) +* osd: clear FDCache on unlink (#8914 Loic Dachary) +* osd: do not evict blocked objects (#9285 Zhiqiang Wang) +* osd: fix ISA erasure alignment (Loic Dachary, Andreas-Joachim Peters) +* osd: fix clone vs cache_evict bug (#8629 Sage Weil) +* osd: fix crash from duplicate backfill reservation (#8863 Sage Weil) +* osd: fix dead peer connection checks (#9295 Greg Farnum, Sage Weil) +* osd: fix keyvaluestore scrub (#8589 Haomai Wang) +* osd: fix keyvaluestore upgrade (Haomai Wang) +* osd: fix min_read_recency_for_promote default on upgrade (Zhiqiang Wang) +* osd: fix mount/remount sync race (#9144 Sage Weil) +* osd: fix purged_snap initialization on backfill (Sage Weil, Samuel Just, Dan van der Ster, Florian Haas) +* osd: fix race condition on object deletion (#9480 Somnath Roy) +* osd: fix snap object writeback from cache tier (#9054 Samuel Just) +* osd: improve journal shutdown (Ma Jianpeng, Mark Kirkwood) +* osd: improve locking in OpTracker (Pavan Rallabhandi, Somnath Roy) +* osd: improve tiering agent arithmetic (Zhiqiang Wang, Sage Weil, Samuel Just) +* osd: lttng tracepoints for filestore (Noah Watkins) +* osd: make blacklist encoding deterministic (#9211 Sage Weil) +* osd: many many important fixes (#8231 #8315 #9113 #9179 #9293 #9294 #9326 #9453 #9481 #9482 #9497 #9574 Samuel Just) +* osd: misc erasure code plugin fixes (Loic Dachary) +* osd: preload erasure plugins (#9153 Loic Dachary) +* osd: shard OpTracker to improve performance (Somnath Roy) +* osd: use local time for tiering decisions (Zhiqiang Wang) +* osd: verify erasure plugin version on load (Loic Dachary) +* rados: fix bench write arithmetic (Jiangheng) +* rbd: parallelize rbd import, export (Jason Dillaman) +* rbd: rbd-replay utility to replay captured rbd workload traces (Adam Crume) +* rbd: use write-back (not write-through) when caching is enabled (Jason Dillaman) +* rgw: add S3 bucket get location operation (Abhishek Lekshmanan) +* rgw: add civetweb as default frontent on port 7490 (#9013 Yehuda Sadeh) +* rgw: allow : in S3 access key (Roman Haritonov) +* rgw: fix admin create user op (#8583 Ray Lv) +* rgw: fix log filename suffix (#9353 Alexandre Marangone) +* rgw: fix usage (Abhishek Lekshmanan) +* rgw: many fixes for civetweb (Yehuda Sadeh) +* rgw: subuser creation fixes (#8587 Yehuda Sadeh) +* rgw: use systemd-run from sysvinit script (JuanJose Galvez) +* unit test improvements (Loic Dachary) +* vstart.sh: fix/improve rgw support (Luis Pabon, Abhishek Lekshmanan) + +v0.85 +===== + +This is the second-to-last development release before Giant that +contains new functionality. The big items to land during this cycle +are the messenger refactoring from Matt Benjamin that lays some +groundwork for RDMA support, a performance improvement series from +SanDisk that improves performance on SSDs, lots of improvements to our +new standalone civetweb-based RGW frontend, and a new 'osd blocked-by' +mon command that allows admins to easily identify which OSDs are +blocking peering progress. The other big change is that the OSDs and +Monitors now distinguish between "misplaced" and "degraded" objects: +the latter means there are fewer copies than we'd like, while the +former simply means the are not stored in the locations where we want +them to be. + +Also of note is a change to librbd that enables client-side caching by +default. This is coupled with another option that makes the cache +write-through until a "flush" operations is observed: this implies +that the librbd user (usually a VM guest OS) supports barriers and +flush and that it is safe for the cache to switch into writeback mode +without compromising data safety or integrity. It has long been +recommended practice that these options be enabled (e.g., in OpenStack +environments) but until now it has not been the default. + +We have frozen the tree for the looming Giant release, and the next +development release will be a release candidate with a final batch of +new functionality. + +Upgrading +--------- + +* The client-side caching for librbd is now enabled by default (rbd + cache = true). A safety option (rbd cache writethrough until flush + = true) is also enabled so that writeback caching is not used until + the library observes a 'flush' command, indicating that the librbd + users is passing that operation through from the guest VM. This + avoids potential data loss when used with older versions of qemu + that do not support flush. + + leveldb_write_buffer_size = 32*1024*1024 = 33554432 // 32MB + leveldb_cache_size = 512*1024*1204 = 536870912 // 512MB + leveldb_block_size = 64*1024 = 65536 // 64KB + leveldb_compression = false + leveldb_log = "" + + OSDs will still maintain the following osd-specific defaults: + + leveldb_log = "" + +* The 'rados getxattr ...' command used to add a gratuitous newline to the attr + value; it now does not. + +Notable Changes +--------------- + +* ceph-disk: do not inadvertantly create directories (Owne Synge) +* ceph-disk: fix dmcrypt support (Sage Weil) +* ceph-disk: linter cleanup, logging improvements (Alfredo Deza) +* ceph-disk: show information about dmcrypt in 'ceph-disk list' output (Sage Weil) +* ceph-disk: use partition type UUIDs and blkid (Sage Weil) +* ceph: fix for non-default cluster names (#8944, Dan Mick) +* doc: document new upstream wireshark dissector (Kevin Cox) +* doc: many install doc updates (John Wilkins) +* librados: fix lock leaks in error paths (#9022, Paval Rallabhandi) +* librados: fix pool existence check (#8835, Pavan Rallabhandi) +* librbd: enable caching by default (Sage Weil) +* librbd: fix crash using clone of flattened image (#8845, Josh Durgin) +* librbd: store and retrieve snapshot metadata based on id (Josh Durgin) +* mailmap: many updates (Loic Dachary) +* mds: add min/max UID for snapshot creation/deletion (#9029, Wido den Hollander) +* misc build errors/warnings for Fedora 20 (Boris Ranto) +* mon: add 'osd blocked-by' command to easily see which OSDs are blocking peering progress (Sage Weil) +* mon: add perfcounters for paxos operations (Sage Weil) +* mon: create default EC profile if needed (Loic Dachary) +* mon: fix crash on loopback messages and paxos timeouts (#9062, Sage Weil) +* mon: fix divide by zero when pg_num is adjusted before OSDs are added (#9101, Sage Weil) +* mon: fix occasional memory leak after session reset (#9176, Sage Weil) +* mon: fix ruleset/ruleid bugs (#9044, Loic Dachary) +* mon: make usage dumps in terms of bytes, not kB (Sage Weil) +* mon: prevent implicit destruction of OSDs with 'osd setmaxosd ...' (#8865, Anand Bhat) +* mon: verify all quorum members are contiguous at end of Paxos round (#9053, Sage Weil) +* msgr: refactor to cleanly separate SimpleMessenger implemenetation, move toward Connection-based calls (Matt Benjamin, Sage Wei) +* objectstore: clean up KeyValueDB interface for key/value backends (Sage Weil) +* osd: add local_mtime for use by cache agent (Zhiqiang Wang) +* osd: add superblock for KeyValueStore backend (Haomai Wang) +* osd: add support for Intel ISA-L erasure code library (Andreas-Joachim Peters) +* osd: do not skip promote for write-ordered reads (#9064, Samuel Just) +* osd: fix ambigous encoding order for blacklisted clients (#9211, Sage Weil) +* osd: fix cache flush corner case for snapshotted objects (#9054, Samuel Just) +* osd: fix discard of old/obsolete subop replies (#9259, Samuel Just) +* osd: fix discard of peer messages from previous intervals (Greg Farnum) +* osd: fix dump of open fds on EMFILE (Sage Weil) +* osd: fix journal dump (Ma Jianpeng) +* osd: fix mon feature bit requirements bug and resulting log spam (Sage Weil) +* osd: fix recovery chunk size usage during EC recovery (Ma Jianpeng) +* osd: fix recovery reservation deadlock for EC pools (Samuel Just) +* osd: fix removal of old xattrs when overwriting chained xattrs (Ma Jianpeng) +* osd: fix requesting queueing on PG split (Samuel Just) +* osd: force new xattrs into leveldb if fs returns E2BIG (#7779, Sage Weil) +* osd: implement alignment on chunk sizes (Loic Dachary) +* osd: improve prioritization of recovery of degraded over misplaced objects (Sage Weil) +* osd: locking, sharding, caching improvements in FileStore's FDCache (Somnath Roy, Greg Farnum) +* osd: many important bug fixes (Samuel Just) +* osd, mon: add rocksdb support (Xinxin Shu, Sage Weil) +* osd, mon: distinguish between "misplaced" and "degraded" objects in cluster health and PG state reporting (Sage Weil) +* osd: refactor some ErasureCode functionality into command parent class (Loic Dachary) +* osd: set rollback_info_completed on create (#8625, Samuel Just) +* rados: allow setxattr value to be read from stdin (Sage Weil) +* rados: drop gratuitous \n from getxattr command (Sage Weil) +* rgw: add --min-rewrite-stripe-size for object restriper (Yehuda Sadeh) +* rgw: add powerdns hook for dynamic DNS for global clusters (Wido den Hollander) +* rgw: copy object data is target bucket is in a different pool (#9039, Yehuda Sadeh) +* rgw: do not try to authenticate CORS preflight requests (#8718, Robert Hubbard, Yehuda Sadeh) +* rgw: fix civetweb URL decoding (#8621, Yehuda Sadeh) +* rgw: fix removal of objects during object creation (Patrycja Szablowska, Yehuda Sadeh) +* rgw: fix striping for copied objects (#9089, Yehuda Sadeh) +* rgw: fix test for identify whether an object has a tail (#9226, Yehuda Sadeh) +* rgw: fix when stripe size is not a multiple of chunk size (#8937, Yehuda Sadeh) +* rgw: improve civetweb logging (Yehuda Sadeh) +* rgw: misc civetweb frontend fixes (Yehuda Sadeh) +* sysvinit: add support for non-default cluster names (Alfredo Deza) + + +v0.84 +===== + +The next Ceph development release is here! This release contains +several meaty items, including some MDS improvements for journaling, +the ability to remove the CephFS file system (and name it), several +mon cleanups with tiered pools, several OSD performance branches, a +new "read forward" RADOS caching mode, a prototype Kinetic OSD +backend, and various radosgw improvements (especially with the new +standalone civetweb frontend). And there are a zillion OSD bug +fixes. Things are looking pretty good for the Giant release that is +coming up in the next month. + +Upgrading +--------- + +* The ``*_kb perf`` counters on the monitor have been removed. These are + replaced with a new set of ``*_bytes`` counters (e.g., ``cluster_osd_kb`` is + replaced by ``cluster_osd_bytes``). + +* The ``rd_kb`` and ``wr_kb`` fields in the JSON dumps for pool stats (accessed + via the ``ceph df detail -f json-pretty`` and related commands) have been + replaced with corresponding ``*_bytes`` fields. Similarly, the + ``total_space``, ``total_used``, and ``total_avail`` fields are replaced with + ``total_bytes``, ``total_used_bytes``, and ``total_avail_bytes`` fields. + +* The ``rados df --format=json`` output ``read_bytes`` and ``write_bytes`` + fields were incorrectly reporting ops; this is now fixed. + +* The ``rados df --format=json`` output previously included ``read_kb`` and + ``write_kb`` fields; these have been removed. Please use ``read_bytes`` and + ``write_bytes`` instead (and divide by 1024 if appropriate). + +Notable Changes +--------------- + +* ceph-conf: flush log on exit (Sage Weil) +* ceph-dencoder: refactor build a bit to limit dependencies (Sage Weil, Dan Mick) +* ceph.spec: split out ceph-common package, other fixes (Sandon Van Ness) +* ceph_test_librbd_fsx: fix RNG, make deterministic (Ilya Dryomov) +* cephtool: refactor and improve CLI tests (Joao Eduardo Luis) +* client: improved MDS session dumps (John Spray) +* common: fix dup log messages (#9080, Sage Weil) +* crush: include new tunables in dump (Sage Weil) +* crush: only require rule features if the rule is used (#8963, Sage Weil) +* crushtool: send output to stdout, not stderr (Wido den Hollander) +* fix i386 builds (Sage Weil) +* fix struct vs class inconsistencies (Thorsten Behrens) +* hadoop: update hadoop tests for Hadoop 2.0 (Haumin Chen) +* librbd, ceph-fuse: reduce cache flush overhead (Haomai Wang) +* librbd: fix error path when opening image (#8912, Josh Durgin) +* mds: add file system name, enabled flag (John Spray) +* mds: boot refactor, cleanup (John Spray) +* mds: fix journal conversion with standby-replay (John Spray) +* mds: separate inode recovery queue (John Spray) +* mds: session ls, evict commands (John Spray) +* mds: submit log events in async thread (Yan, Zheng) +* mds: use client-provided timestamp for user-visible file metadata (Yan, Zheng) +* mds: validate journal header on load and save (John Spray) +* misc build fixes for OS X (John Spray) +* misc integer size cleanups (Kevin Cox) +* mon: add get-quota commands (Joao Eduardo Luis) +* mon: do not create file system by default (John Spray) +* mon: fix 'ceph df' output for available space (Xiaoxi Chen) +* mon: fix bug when no auth keys are present (#8851, Joao Eduardo Luis) +* mon: fix compat version for MForward (Joao Eduardo Luis) +* mon: restrict some pool properties to tiered pools (Joao Eduardo Luis) +* msgr: misc locking fixes for fast dispatch (#8891, Sage Weil) +* osd: add 'dump_reservations' admin socket command (Sage Weil) +* osd: add READFORWARD caching mode (Luis Pabon) +* osd: add header cache for KeyValueStore (Haomai Wang) +* osd: add prototype KineticStore based on Seagate Kinetic (Josh Durgin) +* osd: allow map cache size to be adjusted at runtime (Sage Weil) +* osd: avoid refcounting overhead by passing a few things by ref (Somnath Roy) +* osd: avoid sharing PG info that is not durable (Samuel Just) +* osd: clear slow request latency info on osd up/down (Sage Weil) +* osd: fix PG object listing/ordering bug (Guang Yang) +* osd: fix PG stat errors with tiering (#9082, Sage Weil) +* osd: fix bug with long object names and rename (#8701, Sage Weil) +* osd: fix cache full -> not full requeueing (#8931, Sage Weil) +* osd: fix gating of messages from old OSD instances (Greg Farnum) +* osd: fix memstore bugs with collection_move_rename, lock ordering (Sage Weil) +* osd: improve locking for KeyValueStore (Haomai Wang) +* osd: make tiering behave if hit_sets aren't enabled (Sage Weil) +* osd: mark pools with incomplete clones (Sage Weil) +* osd: misc locking fixes for fast dispatch (Samuel Just, Ma Jianpeng) +* osd: prevent old rados clients from using tiered pools (#8714, Sage Weil) +* osd: reduce OpTracker overhead (Somnath Roy) +* osd: set configurable hard limits on object and xattr names (Sage Weil, Haomai Wang) +* osd: trim old EC objects quickly; verify on scrub (Samuel Just) +* osd: work around GCC 4.8 bug in journal code (Matt Benjamin) +* rados bench: fix arg order (Kevin Dalley) +* rados: fix {read,write}_ops values for df output (Sage Weil) +* rbd: add rbdmap pre- and post post- hooks, fix misc bugs (Dmitry Smirnov) +* rbd: improve option default behavior (Josh Durgin) +* rgw: automatically align writes to EC pool (#8442, Yehuda Sadeh) +* rgw: fix crash on swift CORS preflight request (#8586, Yehuda Sadeh) +* rgw: fix memory leaks (Andrey Kuznetsov) +* rgw: fix multipart upload (#8846, Silvain Munaut, Yehuda Sadeh) +* rgw: improve -h (Abhishek Lekshmanan) +* rgw: improve delimited listing of bucket, misc fixes (Yehuda Sadeh) +* rgw: misc civetweb fixes (Yehuda Sadeh) +* rgw: powerdns backend for global namespaces (Wido den Hollander) +* systemd: initial systemd config files (Federico Simoncelli) + + +v0.83 +===== + +Another Ceph development release! This has been a longer cycle, so +there has been quite a bit of bug fixing and stabilization in this +round. There is also a bunch of packaging fixes for RPM distros +(RHEL/CentOS, Fedora, and SUSE) and for systemd. We've also added a new +librados-striper library from Sebastien Ponce that provides a generic +striping API for applications to code to. + +Upgrading +--------- + +* The experimental keyvaluestore-dev OSD backend had an on-disk format + change that prevents existing OSD data from being upgraded. This + affects developers and testers only. + +* mon-specific and osd-specific leveldb options have been removed. + From this point onward users should use the `leveldb_*` generic + options and add the options in the appropriate sections of their + configuration files. Monitors will still maintain the following + monitor-specific defaults: + + leveldb_write_buffer_size = 32*1024*1024 = 33554432 // 32MB + leveldb_cache_size = 512*1024*1204 = 536870912 // 512MB + leveldb_block_size = 64*1024 = 65536 // 64KB + leveldb_compression = false + leveldb_log = "" + + OSDs will still maintain the following osd-specific defaults: + + leveldb_log = "" + +Notable Changes +--------------- + +* ceph-disk: fix dmcrypt support (Stephen Taylor) +* cephtool: fix help (Yilong Zhao) +* cephtool: test cleanup (Joao Eduardo Luis) +* doc: librados example fixes (Kevin Dalley) +* doc: many doc updates (John Wilkins) +* doc: update erasure docs (Loic Dachary, Venky Shankar) +* filestore: disable use of XFS hint (buggy on old kernels) (Samuel Just) +* filestore: fix xattr spillout (Greg Farnum, Haomai Wang) +* keyvaluestore: header cache (Haomai Wang) +* librados_striper: striping library for librados (Sebastien Ponce) +* libs3: update to latest (Danny Al-Gaaf) +* log: fix derr level (Joao Eduardo Luis) +* logrotate: fix osd log rotation on ubuntu (Sage Weil) +* mds: fix xattr bug triggered by ACLs (Yan, Zheng) +* misc memory leaks, cleanups, fixes (Danny Al-Gaaf, Sahid Ferdjaoui) +* misc suse fixes (Danny Al-Gaaf) +* misc word size fixes (Kevin Cox) +* mon: drop mon- and osd- specific leveldb options (Joao Eduardo Luis) +* mon: ec pool profile fixes (Loic Dachary) +* mon: fix health down messages (Sage Weil) +* mon: fix quorum feature check (#8738, Greg Farnum) +* mon: 'osd crush reweight-subtree ...' (Sage Weil) +* mon, osd: relax client EC support requirements (Sage Weil) +* mon: some instrumentation (Sage Weil) +* objecter: flag operations that are redirected by caching (Sage Weil) +* osd: clean up shard_id_t, shard_t (Loic Dachary) +* osd: fix connection reconnect race (Greg Farnum) +* osd: fix dumps (Joao Eduardo Luis) +* osd: fix erasure-code lib initialization (Loic Dachary) +* osd: fix extent normalization (Adam Crume) +* osd: fix loopback msgr issue (Ma Jianpeng) +* osd: fix LSB release parsing (Danny Al-Gaaf) +* osd: improved backfill priorities (Sage Weil) +* osd: many many core fixes (Samuel Just) +* osd, mon: config sanity checks on start (Sage Weil, Joao Eduardo Luis) +* osd: sharded threadpool to improve parallelism (Somnath Roy) +* osd: simple io prioritization for scrub (Sage Weil) +* osd: simple scrub throttling (Sage Weil) +* osd: tests for bench command (Loic Dachary) +* osd: use xfs hint less frequently (Ilya Dryomov) +* pybind/rados: fix small timeouts (John Spray) +* qa: xfstests updates (Ilya Dryomov) +* rgw: cache bucket info (Yehuda Sadeh) +* rgw: cache decoded user info (Yehuda Sadeh) +* rgw: fix multipart object attr regression (#8452, Yehuda Sadeh) +* rgw: fix radosgw-admin 'show log' command (#8553, Yehuda Sadeh) +* rgw: fix URL decoding (#8702, Brian Rak) +* rgw: handle empty extra pool name (Yehuda Sadeh) +* rpm: do not restart daemons on upgrade (Alfredo Deza) +* rpm: misc packaging fixes for rhel7 (Sandon Van Ness) +* rpm: split ceph-common from ceph (Sandon Van Ness) +* systemd: wrap started daemons in new systemd environment (Sage Weil, Dan Mick) +* sysvinit: less sensitive to failures (Sage Weil) +* upstart: increase max open files limit (Sage Weil) + +v0.82 +===== + +This is the second post-firefly development release. It includes a range +of bug fixes and some usability improvements. There are some MDS debugging +and diagnostic tools, an improved 'ceph df', and some OSD backend refactoring +and cleanup. + +Notable Changes +--------------- + +* ceph-brag: add tox tests (Alfredo Deza) +* common: perfcounters now use atomics and go faster (Sage Weil) +* doc: CRUSH updates (John Wilkins) +* doc: osd primary affinity (John Wilkins) +* doc: pool quotas (John Wilkins) +* doc: pre-flight doc improvements (Kevin Dalley) +* doc: switch to an unencumbered font (Ross Turk) +* doc: update openstack docs (Josh Durgin) +* fix hppa arch build (Dmitry Smirnov) +* init-ceph: continue starting other daemons on crush or mount failure (#8343, Sage Weil) +* keyvaluestore: fix hint crash (#8381, Haomai Wang) +* libcephfs-java: build against older JNI headers (Greg Farnum) +* librados: fix rados_pool_list bounds checks (Sage Weil) +* mds: cephfs-journal-tool (John Spray) +* mds: improve Journaler on-disk format (John Spray) +* mds, libcephfs: use client timestamp for mtime/ctime (Sage Weil) +* mds: misc encoding improvements (John Spray) +* mds: misc fixes for multi-mds (Yan, Zheng) +* mds: OPTracker integration, dump_ops_in_flight (Greg Farnum) +* misc cleanup (Christophe Courtaut) +* mon: fix default replication pool ruleset choice (#8373, John Spray) +* mon: fix set cache_target_full_ratio (#8440, Geoffrey Hartz) +* mon: include per-pool 'max avail' in df output (Sage Weil) +* mon: prevent EC pools from being used with cephfs (Joao Eduardo Luis) +* mon: restore original weight when auto-marked out OSDs restart (Sage Weil) +* mon: use msg header tid for MMonGetVersionReply (Ilya Dryomov) +* osd: fix bogus assert during OSD shutdown (Sage Weil) +* osd: fix clone deletion case (#8334, Sam Just) +* osd: fix filestore removal corner case (#8332, Sam Just) +* osd: fix hang waiting for osdmap (#8338, Greg Farnum) +* osd: fix interval check corner case during peering (#8104, Sam Just) +* osd: fix journal-less operation (Sage Weil) +* osd: include backend information in metadata reported to mon (Sage Weil) +* rest-api: fix help (Ailing Zhang) +* rgw: check entity permission for put_metadata (#8428, Yehuda Sadeh) + + +v0.81 +===== + +This is the first development release since Firefly. It includes a +lot of work that we delayed merging while stabilizing things. Lots of +new functionality, as well as several fixes that are baking a bit before +getting backported. + +Upgrading +--------- + +* CephFS support for the legacy anchor table has finally been removed. + Users with file systems created before firefly should ensure that inodes + with multiple hard links are modified *prior* to the upgrade to ensure that + the backtraces are written properly. For example:: + + sudo find /mnt/cephfs -type f -links +1 -exec touch \{\} \; + +* Disallow nonsensical 'tier cache-mode' transitions. From this point + onward, 'writeback' can only transition to 'forward' and 'forward' + can transition to 1) 'writeback' if there are dirty objects, or 2) any if + there are no dirty objects. + +Notable Changes +--------------- + +* bash completion improvements (Wido den Hollander) +* brag: fixes, improvements (Loic Dachary) +* ceph-disk: handle corrupt volumes (Stuart Longlang) +* ceph-disk: partprobe as needed (Eric Eastman) +* ceph-fuse, libcephfs: asok hooks for handling session resets, timeouts (Yan, Zheng) +* ceph-fuse, libcephfs: improve traceless reply handling (Sage Weil) +* clang build fixes (John Spray, Danny Al-Gaaf) +* config: support G, M, K, etc. suffixes (Joao Eduardo Luis) +* coverity cleanups (Danny Al-Gaaf) +* doc: cache tiering (John Wilkins) +* doc: keystone integration docs (John Wilkins) +* doc: updated simple configuration guides (John Wilkins) +* libcephfs-java: fix gcj-jdk build (Dmitry Smirnov) +* librbd: check error code on cache invalidate (Josh Durgin) +* librbd: new libkrbd library for kernel map/unmap/showmapped (Ilya Dryomov) +* Makefile: fix out of source builds (Stefan Eilemann) +* mds: multi-mds fixes (Yan, Zheng) +* mds: remove legacy anchor table (Yan, Zheng) +* mds: remove legacy discover ino (Yan, Zheng) +* monclient: fix hang (Sage Weil) +* mon: prevent nonsensical cache-mode transitions (Joao Eduardo Luis) +* msgr: avoid big lock when sending (most) messages (Greg Farnum) +* osd: bound osdmap epoch skew between PGs (Sage Weil) +* osd: cache tier flushing fixes for snapped objects (Samuel Just) +* osd: fix agent early finish looping (David Zafman) +* osd: fix flush vs OpContext (Samuel Just) +* osd: fix MarkMeDown and other shutdown races (Sage Weil) +* osd: fix scrub vs cache bugs (Samuel Just) +* osd: fix trim of hitsets (Sage Weil) +* osd, msgr: fast-dispatch of OSD ops (Greg Farnum, Samuel Just) +* osd, objecter: resend ops on last_force_op_resend barrier; fix cache overlay op ordering (Sage Weil) +* osd: remove obsolete classic scrub code (David Zafman) +* osd: scrub PGs with invalid stats (Sage Weil) +* osd: simple snap trimmer throttle (Sage Weil) +* osd: use FIEMAP to inform copy_range (Haomai Wang) +* rbd-fuse: allow exposing single image (Stephen Taylor) +* rbd-fuse: fix unlink (Josh Durgin) +* removed mkcephfs (deprecated since dumpling) +* rgw: bucket link uses instance id (Yehuda Sadeh) +* rgw: fix memory leak following chunk read error (Yehuda Sadeh) +* rgw: fix URL escaping (Yehuda Sadeh) +* rgw: fix user manifest (Yehuda Sadeh) +* rgw: object and bucket rewrite functions to allow restriping old objects (Yehuda Sadeh) +* rgw: prevent multiobject PUT race (Yehuda Sadeh) +* rgw: send user manifest header (Yehuda Sadeh) +* test_librbd_fsx: test krbd as well as librbd (Ilya Dryomov) |