From: Sage Weil Date: Mon, 27 Apr 2015 18:44:53 +0000 (-0700) Subject: doc/release-notes: v0.87.2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=0147e2331f6c26dde2799aa05c09c449d7fb1da4;p=ceph.git doc/release-notes: v0.87.2 Signed-off-by: Sage Weil (cherry picked from commit fd11e329937cc091758302c32a00bb78aecf9c7d) Conflicts: doc/release-notes.rst because giant release notes have never been backported --- diff --git a/doc/changelog/v0.87.2.txt b/doc/changelog/v0.87.2.txt new file mode 100644 index 0000000000000..98cf11732a583 --- /dev/null +++ b/doc/changelog/v0.87.2.txt @@ -0,0 +1,1413 @@ +commit 87a7cec9ab11c677de2ab23a7668a77d2f5b955e (tag: refs/tags/v0.87.2, refs/remotes/gh/giant) +Author: Jenkins +Date: Fri Apr 24 12:31:27 2015 -0700 + + 0.87.2 + +commit c1301e84aee0f399db85e2d37818a66147a0ce78 +Merge: 1a13e10 9e9c3c6 +Author: Loic Dachary +Date: Tue Apr 7 21:08:24 2015 +0200 + + Merge pull request #4214 from dachary/wip-10430-giant + + osd/osd_types.cc: 456: FAILED assert(m_seed < old_pg_num) + + Reviewed-by: David Zafman + +commit 1a13e1065829c59987c2f57a13eaa03de31df4ed +Merge: 1fb08d3 5f4e62f +Author: Loic Dachary +Date: Tue Apr 7 16:39:28 2015 +0200 + + Merge pull request #4258 from ceph/wip-10643-v2 + + mon: MDSMonitor: additional backports for #10643 + + Reviewed-by: Abhishek Lekshmanan + Reviewed-by: Loic Dachary + +commit 1fb08d3066b14b178a8912ffb3c9f50d2333738c +Merge: 90b37d9 7684ee2 +Author: Josh Durgin +Date: Thu Apr 2 08:55:48 2015 -0700 + + Merge pull request #4261 from ceph/wip-11303-giant + + allow -L to disable lttng. Enable it by default + + Reviewed-by: Josh Durgin + +commit 7684ee25ac21810153a44bdc4fc00b36e39eb12f +Author: Alfredo Deza +Date: Thu Apr 2 10:34:02 2015 -0400 + + allow -L to disable lttng. Enable it by default + + Signed-off-by: Alfredo Deza + +commit 5f4e62f382767ee69e5b0c701b1a01d9e4132237 +Author: Joao Eduardo Luis +Date: Fri Oct 17 19:08:20 2014 +0100 + + mon: MDSMonitor: wait for osdmon to be writable when requesting proposal + + Otherwise we may end up requesting the osdmon to propose while it is + mid-proposal. We can't simply return EAGAIN to the user either because + then we would have to expect the user to be able to successfully race + with the whole cluster in finding a window in which 'mds fs new' command + would succeed -- which is not a realistic expectation. Having the + command to osdmon()->wait_for_writable() guarantees that the command + will be added to a queue and that we will, eventually, tend to it. + + Fixes: #9794 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 2ae1cba595d9c56a0a4c534b34fe25250e7eb2d5) + +commit 257bd17db6470ca050403b1c8ff8daa94a4b80b5 +Author: Joao Eduardo Luis +Date: Fri Oct 17 18:59:51 2014 +0100 + + mon: MDSMonitor: have management_command() returning int instead of bool + + We can more easily differentiate between errors we get out of this + function, which makes the code a bit more versatile and readable. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 0dd473cbad4f9ea403fe60badffdc6da4dd3aa3c) + +commit 9e9c3c652339d85863af01cac621228f04eb4f18 +Author: David Zafman +Date: Thu Oct 9 11:20:13 2014 -0700 + + osd: Get pgid ancestor from last_map when building past intervals + + Fixed OSD::build_past_intervals_parallel() and PG::generate_past_intervals() + + Fixes: #10430 + + Signed-off-by: David Zafman + (cherry picked from commit 0c5b66da7a9ba516340d06d9e806beb9d1040d0e) + +commit 90b37d9bdcc044e26f978632cd68f19ece82d19a +Merge: 2ccbc14 9f1f355 +Author: Loic Dachary +Date: Thu Mar 26 07:58:14 2015 +0100 + + Merge pull request #4175 from wonzhq/objecter-timer-2 + + Objecter: failed assert(tick_event==NULL) at osdc/Objecter.cc + + Reviewed-by: Loic Dachary + +commit 9f1f35546e00e8f1ecbce0697d59b64f3537facf +Author: Zhiqiang Wang +Date: Wed Mar 25 16:32:44 2015 +0800 + + Objecter: failed assert(tick_event==NULL) at osdc/Objecter.cc + + When the Objecter timer erases the tick_event from its events queue and + calls tick() to dispatch it, if the Objecter::rwlock is held by shutdown(), + it waits there to get the rwlock. However, inside the shutdown function, + it checks the tick_event and tries to cancel it. The cancel_event function + returns false since tick_event is already removed from the events queue. Thus + tick_event is not set to NULL in shutdown(). Later the tick function return + ealier and doesn't set tick_event to NULL as well. This leads to the assertion + failure. + + This is a regression introduced by an incorrect conflict resolution when + d790833 was backported. + + Fixes: #11183 + + Signed-off-by: Zhiqiang Wang + +commit 2ccbc14d17b54ea4fd4126cb04a7b83cd64c7f1e +Merge: 02f9cdb de4b087 +Author: Loic Dachary +Date: Mon Mar 23 20:39:26 2015 +0100 + + Merge pull request #4127 from dzafman/wip-11176-giant + + ceph-objectstore-tool: Output only unsupported features when incomatible + + Reviewed-by: Loic Dachary + +commit 02f9cdbf889071ca6fe3811d9b9a92a0b630fa55 +Merge: 83bcc51 fc43d8c +Author: Loic Dachary +Date: Sun Mar 22 23:11:46 2015 +0100 + + Merge pull request #4097 from dachary/wip-10497-giant + + librados: c api does not translate op flag + + Reviewed-by: Abhishek Lekshmanan + +commit 83bcc516743e426c7a8c6f6401721bffbbec4fc0 +Merge: ebab2bd d790833 +Author: Loic Dachary +Date: Sun Mar 22 23:11:26 2015 +0100 + + Merge pull request #4096 from dachary/wip-9617-giant + + objecter shutdown races with msg dispatch + + Reviewed-by: Abhishek Lekshmanan + +commit ebab2bd5f36205d666673600624aaa3e5e06c405 +Merge: e31c92d 970a797 +Author: Loic Dachary +Date: Sun Mar 22 23:11:03 2015 +0100 + + Merge pull request #4095 from dachary/wip-9675-giant + + splitting a pool doesn't start when rule_id != ruleset_id + + Reviewed-by: Abhishek Lekshmanan + +commit e31c92d8dd814d276357e431ed87b93d75933f77 +Merge: f0ec5e3 7653511 +Author: Loic Dachary +Date: Sun Mar 22 23:10:42 2015 +0100 + + Merge pull request #4094 from dachary/wip-9891-giant + + Assertion: os/DBObjectMap.cc: 1214: FAILED assert(0) + + Reviewed-by: Abhishek Lekshmanan + +commit f0ec5e3b3ed58af65323bcc494e589935147aa45 +Merge: dd7c15b 13b0147 +Author: Loic Dachary +Date: Sun Mar 22 23:10:25 2015 +0100 + + Merge pull request #4093 from dachary/wip-9915-giant + + osd: eviction logic reversed + + Reviewed-by: Abhishek Lekshmanan + +commit dd7c15b2b24027a7cc5fa4bff21222c5a4606e60 +Merge: 33b09e1 13b8364 +Author: Loic Dachary +Date: Sun Mar 22 23:09:28 2015 +0100 + + Merge pull request #4092 from dachary/wip-9985-giant + + osd: incorrect atime calculation + + Reviewed-by: Abhishek Lekshmanan + +commit 33b09e18aa78252d94cbec8bf94ec97ed5bb1573 +Merge: 950123e 5550cdd +Author: Loic Dachary +Date: Sun Mar 22 23:08:41 2015 +0100 + + Merge pull request #4091 from dachary/wip-9986-giant + + objecter: map epoch skipping broken + + Reviewed-by: Abhishek Lekshmanan + +commit 950123e4daa85562b2f52e0e12e0bae07f444095 +Merge: abdc065 21f81b8 +Author: Loic Dachary +Date: Sun Mar 22 23:08:16 2015 +0100 + + Merge pull request #4090 from dachary/wip-10059-giant + + osd/ECBackend.cc: 876: FAILED assert(0) + + Reviewed-by: Abhishek Lekshmanan + +commit abdc065acd6cafa6439e9c1724cc87de02352bd7 +Merge: aee2825 1ccf583 +Author: Loic Dachary +Date: Sun Mar 22 23:07:52 2015 +0100 + + Merge pull request #4089 from dachary/wip-10080-giant + + Pipe::connect() cause osd crash when osd reconnect to its peer + + Reviewed-by: Abhishek Lekshmanan + +commit aee28250fee66bca08d91e56ce47ec46c2e9fc24 +Merge: 6582253 3e875ab +Author: Loic Dachary +Date: Sun Mar 22 23:07:20 2015 +0100 + + Merge pull request #4088 from dachary/wip-6003-giant + + journal Unable to read past sequence 406 ... + + Reviewed-by: Abhishek Lekshmanan + +commit 65822530ebfdea2feb9192c6eb6e3b8b9d60fe33 +Merge: 4b20f2d 96a5c67 +Author: Loic Dachary +Date: Sun Mar 22 23:06:51 2015 +0100 + + Merge pull request #4082 from dachary/wip-10106-giant + + rgw acl response should start with + + Reviewed-by: Abhishek Lekshmanan + +commit 4b20f2d2d1ee52deed33617f000fa342ebce2e49 +Merge: 7ff3a67 c7b02f5 +Author: Loic Dachary +Date: Sun Mar 22 23:06:23 2015 +0100 + + Merge pull request #4078 from dachary/wip-11157-giant + + doc,tests: force checkout of submodules + + Reviewed-by: Abhishek Lekshmanan + +commit 7ff3a67c44ba3dc20a663a7dc6ba28c25714f063 +Merge: 440e706 4d4eb9f +Author: Loic Dachary +Date: Sun Mar 22 23:05:20 2015 +0100 + + Merge pull request #4077 from dachary/wip-10150-giant + + osd/ReplicatedPG.cc: 10853: FAILED assert(r >= 0) (in _scan_range) + + Reviewed-by: Abhishek Lekshmanan + +commit 440e70607e7e3cd1d8ca33843c626109431caf8d +Merge: 66f639b 499d94f +Author: Loic Dachary +Date: Sun Mar 22 23:04:51 2015 +0100 + + Merge pull request #4076 from dachary/wip-10153-giant + + Rados.shutdown() dies with Illegal instruction (core dumped) + + Reviewed-by: Abhishek Lekshmanan + +commit 66f639b30ce6c74caae9397f20053761203f8e87 +Merge: 43b45df b79852f +Author: Loic Dachary +Date: Sun Mar 22 23:04:25 2015 +0100 + + Merge pull request #4074 from dachary/wip-10220-giant + + mon/Paxos.cc: 1033: FAILED assert(mon->is_leader()) + + Reviewed-by: Abhishek Lekshmanan + +commit 43b45dfacd598bab51fa06c5d0e2d0605d6e83d6 +Merge: d282cfd b318e2f +Author: Loic Dachary +Date: Sun Mar 22 23:03:35 2015 +0100 + + Merge pull request #3548 from ceph/wip-10643 + + mon: MDSMonitor: missing backports for giant + + Reviewed-by: Abhishek Lekshmanan + Reviewed-by: Loic Dachary + +commit d282cfd5ae3e65b74801cd27480ce8c0bd72d9a7 +Merge: 3f3b981 681c99f +Author: Loic Dachary +Date: Sun Mar 22 22:12:58 2015 +0100 + + Merge pull request #4053 from dachary/wip-8011-giant + + osd/ReplicatedPG.cc: 5244: FAILED assert(soid < scrubber.start || soid >= scrubber.end) + + Reviewed-by: Abhishek Lekshmanan + +commit 3f3b98123cb46080068c1c73f4be41acbe18bd0d +Merge: 6919eb1 4427358 +Author: Loic Dachary +Date: Sun Mar 22 22:12:40 2015 +0100 + + Merge pull request #4052 from dachary/wip-10844-giant + + mon: caps validation should rely on EntityName instead of entity_name_t + + Reviewed-by: Abhishek Lekshmanan + +commit 6919eb1684e34a6395963be6cc65215a51f5ba13 +Merge: 8876585 1d4ffbe +Author: Loic Dachary +Date: Sun Mar 22 22:12:15 2015 +0100 + + Merge pull request #4050 from dachary/wip-10817-giant + + WorkQueue: make timeout when calling WaitInterval configurable + + Reviewed-by: Abhishek Lekshmanan + +commit 88765851bd56a6a526f6ab724920c8858ec4956c +Merge: 6da3171 92c352d +Author: Loic Dachary +Date: Sun Mar 22 22:11:43 2015 +0100 + + Merge pull request #4049 from dachary/wip-10787-giant + + mon: OSDMonitor::map_cache is buggy, send_incremental is not conservative + + Reviewed-by: Abhishek Lekshmanan + Reviewed-by: Sage Weil + +commit 6da3171f21b8e1a56fe941a5028f2ccfdccee18a +Merge: 5a6eefc 25fcaca +Author: Loic Dachary +Date: Sun Mar 22 22:09:28 2015 +0100 + + Merge pull request #4048 from dachary/wip-10770-giant + + rgw: pending bucket index operations are not cancelled correctly + + Reviewed-by: Abhishek Lekshmanan + +commit 5a6eefcb40c94da9a900d9893ecb6eaaf8fd0cea +Merge: c67a7a5 2858327 +Author: Loic Dachary +Date: Sun Mar 22 22:09:06 2015 +0100 + + Merge pull request #4046 from dachary/wip-10723-giant + + rados python binding leaks Ioctx objects + + Reviewed-by: Abhishek Lekshmanan + +commit c67a7a52dc96f176431125921e36e4a2b8a30f1c +Merge: 41dcd2d d5b1b7e +Author: Loic Dachary +Date: Sun Mar 22 22:08:45 2015 +0100 + + Merge pull request #4044 from dachary/wip-10617-giant + + osd: pgs for deleted pools don't finish getting removed if osd restarts + + Reviewed-by: Abhishek Lekshmanan + +commit 41dcd2d9c307dd0b25d27bd6673943f3fdaaa28b +Merge: 42e7413 c3d998e +Author: Loic Dachary +Date: Sun Mar 22 22:08:20 2015 +0100 + + Merge pull request #4034 from dachary/wip-10475-giant + + rgw: Swift API. Support for X-Remove-Container-Meta-{key} header. + + Reviewed-by: Abhishek Lekshmanan + +commit 42e741339913990521c4509f4e266921f8dbe007 +Merge: ffb76d1 fa8d454 +Author: Loic Dachary +Date: Sun Mar 22 22:07:53 2015 +0100 + + Merge pull request #4033 from dachary/wip-10471-giant + + rgw: index swift keys appropriately + + Reviewed-by: Abhishek Lekshmanan + +commit de4b08704172ac31b511dde50e5c11d58d811ca2 +Author: David Zafman +Date: Fri Mar 20 16:57:40 2015 -0700 + + ceph-objectstore-tool: Output only unsupported features when incomatible + + Fixes: #11176 + Backport: firefly, giant + + Signed-off-by: David Zafman + (cherry picked from commit 5b23f5b5892b36fb7d06efc0d77e64a24ef6e8c9) + +commit ffb76d16c5d9d65ac94d21b4e8fc1fdf86441977 +Merge: fea29b1 61d6006 +Author: John Spray +Date: Thu Mar 19 22:07:58 2015 +0000 + + Merge pull request #3971 from ceph/giant-11053 + + mds: fix assertion caused by system clock backwards + + Reviewed-by: John Spray + +commit c3d998e4c3c9d90b50c3f6c0af7d48785616e032 +Author: Dmytro Iurchenko +Date: Tue Feb 3 17:54:38 2015 +0200 + + rgw: Swift API. Support for X-Remove-Container-Meta-{key} header. + + Fixes: #10475 + Backport: hammer, firefly + Reported-by: Josh Durgin + Signed-off-by: Dmytro Iurchenko + (cherry picked from commit f67bfa24fd6f69c2fcc0987eba8b6b426dd78320) + + Conflicts: + src/rgw/rgw_rest.h + trivial merge: prototype of an unrelated function changed + src/rgw/rgw_op.cc + s/is_object_op/!(s->object == NULL)/ + +commit fc43d8c2c54ec9e9cb6ef4d19cca695eb2fb3aab +Author: Matt Richards +Date: Thu Jan 8 13:16:17 2015 -0800 + + librados: Translate operation flags from C APIs + + The operation flags in the public C API are a distinct enum + and need to be translated to Ceph OSD flags, like as happens in + the C++ API. It seems like the C enum and the C++ enum consciously + use the same values, so I reused the C++ translation function. + + Signed-off-by: Matthew Richards + (cherry picked from commit 49d114f1fff90e5c0f206725a5eb82c0ba329376) + +commit d790833cb84d6f6349146e4f9abdcdffb4db2ee0 +Author: Josh Durgin +Date: Mon Sep 29 18:17:29 2014 -0700 + + Objecter: check the 'initialized' atomic_t safely + + shutdown() resets initialized to 0, but we can still receive messages + after this point, so fix message handlers to skip messages in this + case instead of asserting. + + Also read initialized while holding Objecter::rwlock to avoid races + where e.g. handle_osd_map() checks initialized -> 1, continues, + shutdown() is called, sets initialized to 0, then handle_osd_map() + goes about its business and calls op_submit(), which would fail the + assert(initialized.read()) check. Similar races existed in other + message handlers which change Objecter state. + + The Objecter is not destroyed until after its Messenger in + the MDS, OSD, and librados, so this should be safe. + + Fixes: #9617 + Backport: giant + Signed-off-by: Josh Durgin + (cherry picked from commit e506f896a9217324ab7a7865989f4454562aed5f) + + Conflicts: + src/osdc/Objecter.cc + context changed: Objecter::tick() did not have + assert(initialized.read()) + +commit ce436a33e0f720ea4b8cf0363bcac1126be3c28b +Author: Josh Durgin +Date: Mon Sep 29 18:12:50 2014 -0700 + + Objecter: init with a constant of the correct type + + Just a tiny cleanup. + + Signed-off-by: Josh Durgin + (cherry picked from commit 1feba200aae7d9a042cda705c3de8fba2fc82331) + +commit 970a79753dc52d82d2abf29ffe6f88adac678eb0 +Author: Xiaoxi Chen +Date: Wed Aug 20 15:35:44 2014 +0800 + + CrushWrapper: pick a ruleset same as rule_id + + Originally in the add_simple_ruleset funtion, the ruleset_id + is not reused but rule_id is reused. So after some add/remove + against rules, the newly created rule likely to have + ruleset!=rule_id. + + We dont want this happen because we are trying to hold the constraint + that ruleset == rule_id. + + Signed-off-by: Xiaoxi Chen + (cherry picked from commit 78e84f34da83abf5a62ae97bb84ab70774b164a6) + +commit 76535116823f02f0392226e5725fbfef14c277ba +Author: Samuel Just +Date: Fri Feb 20 13:43:46 2015 -0800 + + DBObjectMap: lock header_lock on sync() + + Otherwise, we can race with another thread updating state.seq + resulting in the old, smaller value getting persisted. If there + is a crash at that time, we will reuse a sequence number, resulting + in an inconsistent node tree and bug #9891. + + Fixes: 9891 + Backport: giant, firefly, dumpling + Signed-off-by: Samuel Just + (cherry picked from commit 2b63dd25fc1c73fa42e52e9ea4ab5a45dd9422a0) + + Conflicts: + src/os/DBObjectMap.cc + because we have state.v = 1; instead of state.v = 2; + +commit 13b01473c5c1a116d6cd6acbbb6cbe08ee6e9433 +Author: Zhiqiang Wang +Date: Tue Oct 28 09:37:11 2014 +0800 + + osd: cache tiering: fix the atime logic of the eviction + + Reported-by: Xinze Chi + Signed-off-by: Zhiqiang Wang + (cherry picked from commit 622c5ac41707069ef8db92cb67c9185acf125d40) + +commit 13b8364dc869b2eefcb6646cff1e18c31126ce7d +Author: Sage Weil +Date: Fri Oct 31 19:33:59 2014 -0700 + + osd/ReplicatedPG: fix compile error + + From 1fef4c3d541cba360738437420ebfa2447d5802e. + + Signed-off-by: Sage Weil + (cherry picked from commit 4a9ad7dc2da6f4fa6a64235776a3f1d2799aef60) + +commit 55541b90db0a6d6c26c1fae6a4958fa5a320f82c +Author: Xinze Chi +Date: Wed Oct 29 07:11:11 2014 +0000 + + Get the currently atime of the object in cache pool for eviction + + Because if there are mutiple atime in agent_state for the same object, we should use the recently one. + + Signed-off-by: Xinze Chi + (cherry picked from commit 1fef4c3d541cba360738437420ebfa2447d5802e) + +commit 5550cdd876db913b152edad17a4de16bded31627 +Author: Ding Dinghua +Date: Thu Oct 30 14:58:42 2014 +0800 + + osdc/Objecter: Fix a bug of dead looping in Objecter::handle_osd_map + + If current map epoch is less than oldest epoch, current map epoch + should step up to oldest epoch. + + Fixes: #9986 + Signed-off-by: Ding Dinghua + (cherry picked from commit e0166a23c2cf655bfb4cf873be021a14d9b9be27) + +commit 7c5056f5cf77065e0e5a920f525f0a3be6b4b299 +Author: Ding Dinghua +Date: Thu Oct 30 14:58:05 2014 +0800 + + osdc/Objecter: e shouldn't be zero in Objecter::handle_osd_map + + Signed-off-by: Ding Dinghua + (cherry picked from commit 31c584c8ba022cd44fe2872d221f3026618cefab) + +commit 21f81b85de652aede51e88b87bdff71f2e411da3 +Author: Samuel Just +Date: Wed Nov 19 08:20:16 2014 -0800 + + PG: always clear_primary_state on new interval, but only clear pg temp if not primary + + Signed-off-by: Samuel Just + (cherry picked from commit f692bfe076b8ddb679c6d1a6ea78cc47f0876326) + +commit 0c3f7637d8cf2146a4268330d8c0506ad38c354d +Author: Samuel Just +Date: Fri Nov 14 15:44:20 2014 -0800 + + PG: always clear_primary_state when leaving Primary + + Otherwise, entries from the log collection process might leak into the next + epoch, where we might end up choosing a different authoritative log. In this + case, it resulted in us not rolling back to log entries on one of the replicas + prior to trying to recover from an affected object due to the peer_missing not + being cleared. + + Fixes: #10059 + Backport: giant, firefly, dumpling + Signed-off-by: Samuel Just + (cherry picked from commit c87bde64dfccb5d6ee2877cc74c66fc064b1bcd7) + +commit 1ccf58355d0796172935938572cf68ceb31a6801 +Author: Greg Farnum +Date: Tue Dec 2 15:17:57 2014 -0800 + + SimpleMessenger: allow RESETSESSION whenever we forget an endpoint + + In the past (e229f8451d37913225c49481b2ce2896ca6788a2) we decided to disable + reset of lossless Pipes, because lossless peers resetting caused trouble and + they can't forget about each other. But they actually can: if mark_down() + is called. + + I can't figure out how else we could forget about a remote endpoint, so I think + it's okay if we tell them we reset in order to clean up state. That's desirable + so that we don't get into strange situations with out-of-whack counters. + + Fixes: #10080 + Backport: giant, firefly, dumpling + + Signed-off-by: Greg Farnum + (cherry picked from commit 8cd1fdd7a778eb84cb4d7161f73bc621cc394261) + +commit 3e875ab108de8d2aa3717f76a3fe48ede286abb7 +Author: Samuel Just +Date: Fri Feb 6 09:52:29 2015 -0800 + + FileJournal: fix journalq population in do_read_entry() + + Fixes: 6003 + Backport: dumpling, firefly, giant + Signed-off-by: Samuel Just + (cherry picked from commit bae1f3eaa09c4747b8bfc6fb5dc673aa6989b695) + + Conflicts: + src/os/FileJournal.cc + because reinterpret_cast was added near two hunks after firefly + +commit 96a5c67121dde0d4d4cd13793bb131414b64cc28 +Author: Yehuda Sadeh +Date: Fri Jan 30 18:42:40 2015 -0800 + + rgw: flush xml header on get acl request + + Fixes: #10106 + Backport: firefly, giant + + dump_start() updates the formatter with the appropriate prefix, however, + we never flushed the formatter. + + Signed-off-by: Yehuda Sadeh + (cherry picked from commit eb45f861343162e018968b8c56693a8c6f5b2cab) + +commit c7b02f5a7347ea8688c5214f85bb9f612925a586 +Author: Loic Dachary +Date: Thu Mar 19 00:32:39 2015 +0100 + + doc,tests: force checkout of submodules + + When updating submodules, always checkout even if the HEAD is the + desired commit hash (update --force) to avoid the following: + + * a directory gmock exists in hammer + * a submodule gmock replaces the directory gmock in master + * checkout master + submodule update : gmock/.git is created + * checkout hammer : the gmock directory still contains the .git from + master because it did not exist at the time and checkout won't + remove untracked directories + * checkout master + submodule update : git rev-parse HEAD is + at the desired commit although the content of the gmock directory + is from hammer + + http://tracker.ceph.com/issues/11157 Fixes: #11157 + + Signed-off-by: Loic Dachary + +commit 4d4eb9faf1871c4469b78a7ee75d527ce5cc67ad +Author: Samuel Just +Date: Thu Dec 11 13:05:54 2014 -0800 + + ReplicatedPG::scan_range: an object can disappear between the list and the attr get + + The first item in the range is often last_backfill, upon which writes + can be occuring. It's trimmed off on the primary side anyway. + + Fixes: 10150 + Backport: dumpling, firefly, giant + Signed-off-by: Samuel Just + (cherry picked from commit dce6f288ad541fe7f0ef8374301cd712dd3bfa39) + +commit 499d94f573e78f6545bd5a12ade6b5ba5a75bbca +Author: Federico Simoncelli +Date: Sat Nov 15 14:14:04 2014 +0000 + + common: do not unlock rwlock on destruction + + According to pthread_rwlock_unlock(3p): + + Results are undefined if the read-write lock rwlock is not held + by the calling thread. + + and: + + https://sourceware.org/bugzilla/show_bug.cgi?id=17561 + + Calling pthread_rwlock_unlock on an rwlock which is not locked + is undefined. + + calling pthread_rwlock_unlock on RWLock destruction could cause + an unknown behavior for two reasons: + + - the lock is acquired by another thread (undefined) + - the lock is not acquired (undefined) + + Moreover since glibc-2.20 calling pthread_rwlock_unlock on a + rwlock that is not locked results in a SIGILL that kills the + application. + + This patch removes the pthread_rwlock_unlock call on destruction + and replaces it with an assertion to check that the RWLock is + not in use. + + Any code that relied on the implicit release is now going to + break the assertion, e.g.: + + { + RWLock l; + l.get(for_write); + } // implicit release, wrong. + + Signed-off-by: Federico Simoncelli + (cherry picked from commit cf2104d4d991361c53f6e2fea93b69de10cd654b) + +commit b79852f3ab0643bbb3f6b71a56b15e5a4b5fc1f5 +Author: Joao Eduardo Luis +Date: Wed Dec 10 17:46:35 2014 +0000 + + mon: Paxos: reset accept timeout before submiting work to the store + + Otherwise we may trigger the timeout while waiting for the work to be + committed to the store -- and it would only take the write to take a bit + longer than 10 seconds (default accept timeout). + + We do wait for the work to be properly committed to the store before + extending the lease though. + + Fixes: #10220 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 18534615f184ba56b441fd1d4242eb06debdfe13) + +commit e997c9fed5feb3e877dfe07ffac1327b85d09ea2 +Author: Joao Eduardo Luis +Date: Tue Dec 9 17:35:47 2014 +0000 + + mon: MonitorDBStore: allow randomly injecting random delays on writes + + Adds two new config options: + + mon_inject_transaction_delay_probability : DOUBLE (0.0-1.0, default: 0.0) + mon_inject_transaction_delay_max : DOUBLE (seconds, default: 10.0) + + If probability is set to a value greater than 0, just before applying + the transaction, the store will decide whether to inject a delay, + randomly choosing a value between 0 and the max. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit beaa04e4119765d5775a6c48fd072dd95c984e3b) + +commit 1d4ffbe1d233de555c1ecb0a33eebe2391b29f33 +Author: Samuel Just +Date: Mon Feb 9 17:41:19 2015 -0800 + + ShardedThreadPool: make wait timeout on empty queue configurable + + Fixes: 10818 + Backport: giant + Signed-off-by: Samuel Just + (cherry picked from commit 7002f934e6664daa995ca0629c0ea3bae1c6bddf) + +commit 292c4339c064968c2aa05eec701fbc2a8d82dab0 +Author: Samuel Just +Date: Mon Feb 9 17:11:38 2015 -0800 + + WorkQueue: make wait timeout on empty queue configurable + + Fixes: 10817 + Backport: giant, firefly, dumpling + Signed-off-by: Samuel Just + (cherry picked from commit 5aa6f910843e98a05bfcabe6f29d612cf335edbf) + +commit fea29b1bcbd17b3d1f642398ec70dbe258bbc98f +Author: Samuel Just +Date: Thu Nov 20 15:15:08 2014 -0800 + + PGLog: include rollback_info_trimmed_to in (read|write)_log + + Fixes: #10157 + Backport: firefly, giant + Signed-off-by: Samuel Just + (cherry picked from commit 1fe8b846641486cc294fe7e1d2450132c38d2dba) + +commit 4427358bb556d902b01df27fd097cc3eefa561da +Author: Joao Eduardo Luis +Date: Wed Feb 11 23:36:01 2015 +0000 + + mon: MonCap: take EntityName instead when expanding profiles + + entity_name_t is tightly coupled to the messenger, while EntityName is + tied to auth. When expanding profiles we want to tie the profile + expansion to the entity that was authenticated. Otherwise we may incur + in weird behavior such as having caps validation failing because a given + client messenger inst does not match the auth entity it used. + + e.g., running + + ceph --name osd.0 config-key exists foo daemon-private/osd.X/foo + + has entity_name_t 'client.12345' and EntityName 'osd.0'. Using + entity_name_t during profile expansion would not allow the client access + to daemon-private/osd.X/foo (client.12345 != osd.X). + + Fixes: #10844 + Backport: firefly,giant + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 87544f68b88fb3dd17c519de3119a9ad9ab21dfb) + +commit 8902279dd4b52516d59db712bd59e8d9372611a6 +Author: Joao Eduardo Luis +Date: Fri Nov 14 21:03:54 2014 +0000 + + mon: Monitor: stash auth entity name in session + + Backport: giant + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit ca8e1efc0be9bffcfbdce5593526d257aa498062) + +commit 681c99fe12cfa6318f8cf06f4e825805635bcc07 +Author: Samuel Just +Date: Thu Nov 20 14:27:39 2014 -0800 + + ReplicatedPG: fail a non-blocking flush if the object is being scrubbed + + Fixes: #8011 + Backport: firefly, giant + Signed-off-by: Samuel Just + (cherry picked from commit 9b26de3f3653d38dcdfc5b97874089f19d2a59d7) + +commit 1f58a0adc3b23785fac00083d721b62f6a4c44a1 +Merge: 9fee7ba fe7d4ca +Author: Sage Weil +Date: Tue Mar 17 10:52:01 2015 -0700 + + Merge pull request #4042 from dachary/wip-10546-giant + + ceph time check start round bug in monitor.cc + +commit 9fee7ba9d7343bda29bc5113f8db5cdd9c09d71a +Merge: ca635ce e7af52a +Author: Sage Weil +Date: Tue Mar 17 10:50:26 2015 -0700 + + Merge pull request #4047 from dachary/wip-10762-giant + + mon: osd gets marked down twice + +commit ca635ce3eb21135b08613b97ce0c56977de44351 +Merge: 9094185 5771f57 +Author: Sage Weil +Date: Tue Mar 17 10:49:53 2015 -0700 + + Merge pull request #4041 from dachary/wip-10512-giant + + osd: cancel_flush requeues blocked events after blocking event + +commit 90941850ceb2c080ac72c67fed991c951b13f449 +Merge: bc1b9d2 5fca232 +Author: Sage Weil +Date: Tue Mar 17 10:47:26 2015 -0700 + + Merge pull request #4031 from dachary/wip-10353-giant + + crush: set_choose_tries = 100 for erasure code rulesets + +commit bc1b9d22d29a74e6853834fb0430e8803710bbbf +Merge: bd69cfc 30a1744 +Author: Sage Weil +Date: Tue Mar 17 10:47:08 2015 -0700 + + Merge pull request #4029 from dachary/wip-9910-giant + + msg/Pipe: discard delay queue before incoming queue + + Reviewed-by: Greg Farnum + +commit bd69cfcbd58103843fbc42c4e55d43c2bafe54ff +Merge: 30f7df2 4bd5237 +Author: Sage Weil +Date: Tue Mar 17 10:44:53 2015 -0700 + + Merge pull request #4030 from dachary/wip-10351-giant + + mount.ceph: avoid spurious error message + + Reviewed-by: John Spray + +commit 30f7df2b110f73477354fbfa607b4777317dddfa +Merge: e5a50c3 8307318 +Author: Sage Weil +Date: Tue Mar 17 10:44:00 2015 -0700 + + Merge pull request #4028 from dachary/wip-10259-giant + + osd_types: op_queue_age_hist and fs_perf_stat should be in osd_stat_t::o... + +commit e5a50c3ae42c8b9d16a19a13e10fc35b91149e73 +Merge: ba1d55d a5a76f8 +Author: Sage Weil +Date: Tue Mar 17 10:42:10 2015 -0700 + + Merge pull request #4027 from dachary/wip-10257-giant + + mon: PGMonitor: several stats output error fixes + +commit ba1d55de1e92a0143702e9e3fbbb1820db17d6c3 +Merge: 530fce4 640986f +Author: Sage Weil +Date: Tue Mar 17 10:41:56 2015 -0700 + + Merge pull request #3998 from dzafman/wip-10677 + + Fix ceph command manpage to match ceph -h (giant) + + Reviewed-by: Xinxin Shu + +commit 530fce4d7cf51f4a4ac1e70ebe20b2795a30010e +Merge: a2a3dad 8a5a3c7 +Author: Sage Weil +Date: Tue Mar 17 10:40:02 2015 -0700 + + Merge pull request #3921 from sponce/wip-11078-giant + + Fix libstriprados::stat, use strtoll insdead of strtol + +commit a2a3dad8ec00434b99d6d538615bf8ff9eada217 +Merge: 0f57188 984df3b +Author: Sage Weil +Date: Tue Mar 17 10:36:28 2015 -0700 + + Merge pull request #3819 from tchaikov/giant-pg-leak-10421 + + osd: fix PG leak in SnapTrimWQ._clear() + +commit 0f5718822793074ffab45124afb3bf3160e92004 +Merge: 776c82c c5c6fcd +Author: Sage Weil +Date: Tue Mar 17 10:35:37 2015 -0700 + + Merge pull request #3771 from ceph/wip-10883-giant + + osd: Fix FileJournal wrap to get header out first + +commit 776c82caac36de14a5f895688f81c88a883fca3e +Merge: 938e036 37f196e +Author: Sage Weil +Date: Tue Mar 17 10:35:29 2015 -0700 + + Merge pull request #3637 from sponce/wip-10758-giant + + Backport of pull request 3633 to giant : Fixed write_full behavior in libradosstriper + +commit 92c352d047c84035478e71828e32f554d9f507fc +Author: Sage Weil +Date: Thu Feb 12 13:49:50 2015 -0800 + + mon/OSDMonitor: do not trust small values in osd epoch cache + + If the epoch cache says the osd has epoch 100 and the osd is asking for + epoch 200+, do not send it 100+. + + Fixes: #10787 + Backport: giant, firefly + Signed-off-by: Sage Weil + (cherry picked from commit a5759e9b97107488a8508f36adf9ca1aba3fae07) + +commit 25fcaca19c76765284787c61584d25efd105a0ca +Author: Yehuda Sadeh +Date: Thu Feb 5 09:33:26 2015 -0800 + + rgw: send appropriate op to cancel bucket index pending operation + + Fixes: #10770 + Backport: firefly, giant + + Reported-by: baijiaruo + Signed-off-by: Yehuda Sadeh + (cherry picked from commit dfee96e3aebcaeef18c721ab73f0460eba69f1c7) + + Conflicts: + src/rgw/rgw_rados.cc + resolved by manual s/ADD/CANCEL/ + +commit e7af52a147cc6e1a578d51193a2d5a425cee8a20 +Author: Sage Weil +Date: Thu Feb 5 03:07:50 2015 -0800 + + mon: ignore osd failures from before up_from + + If the failure was generated for an instance of the OSD prior to when + it came up, ignore it. + + This probably causes a fair bit of unnecessary flapping in the wild... + + Backport: giant, firefly + Fixes: #10762 + Reported-by: Dan van der Ster + Signed-off-by: Sage Weil + (cherry picked from commit 400ac237d35d0d1d53f240fea87e8483c0e2a7f5) + +commit 28583276254ba6121b93688a6c6d8fab6588c864 +Author: Josh Durgin +Date: Mon Feb 9 20:50:23 2015 -0800 + + rados.py: keep reference to python callbacks + + If we don't keep a reference to these, the librados aio calls will + segfault since the python-level callbacks will have been garbage + collected. Passing them to aio_create_completion() does not take a + reference to them. Keep a reference in the python Completion object + associated with the request, since they need the same lifetime. + + This fixes a regression from 60b019f69aa0e39d276c669698c92fc890599f50. + + Fixes: #10775 + Backport: dumpling, firefly, giant + Signed-off-by: Josh Durgin + (cherry picked from commit 36d37aadbbbece28d70e827511f1a473d851463d) + (cherry picked from commit 5f1245e131e33a98572408c8223deed2c7cf7b75) + +commit 1b5fb51a995d5d672a46176240d5887354c12967 +Author: Billy Olsen +Date: Mon Feb 2 16:24:59 2015 -0700 + + Fix memory leak in python rados bindings + + A circular reference was inadvertently created when using the + CFUNCTYPE binding for callbacks for the asynchronous i/o callbacks. + This commit refactors the usage of the callbacks such that the + Ioctx object does not have a class reference to the callbacks. + + Fixes: #10723 + Backport: giant, firefly, dumpling + Signed-off-by: Billy Olsen + Reviewed-by: Dan Mick + Reviewed-by: Josh Durgin + (cherry picked from commit 60b019f69aa0e39d276c669698c92fc890599f50) + +commit d5b1b7e52242e082820e0cdd76dc59e9aea7f284 +Author: Sage Weil +Date: Fri Jan 23 10:47:44 2015 -0800 + + osd: do not ignore deleted pgs on startup + + These need to get instantiated so that we can complete the removal process. + + Fixes: #10617 + Signed-off-by: Sage Weil + (cherry picked from commit 879fd0c192f5d3c6afd36c2df359806ea95827b8) + +commit fe7d4ca17dacf4419be7bdc50010115cee36517b +Author: Joao Eduardo Luis +Date: Fri Jan 30 11:37:28 2015 +0000 + + mon: Monitor: fix timecheck rounds period + + Fixes: #10546 + Backports: dumpling?,firefly,giant + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 2e749599ac6e1060cf553b521761a93fafbf65bb) + +commit 5771f57af731e61bf70f630cf85f5b94dcfd1edb +Author: Sage Weil +Date: Sun Jan 11 17:28:04 2015 -0800 + + osd: requeue blocked op before flush it was blocked on + + If we have request A (say, cache-flush) that blocks things, and then + request B that gets blocked on it, and we have an interval change, then we + need to requeue B first, then A, so that the resulting queue will keep + A before B and preserve the order. + + This was observed on this firefly run: + + ubuntu@teuthology:/a/sage-2015-01-09_21:43:43-rados-firefly-distro-basic-multi/694675 + + Backport: giant, firefly + Fixes: #10512 + Signed-off-by: Sage Weil + (cherry picked from commit 11bdfb4131ecac16d4a364d651c6cf5d1d28c702) + +commit fa8d45423e22f7b916a345024a9f70283fc3097d +Author: Yehuda Sadeh +Date: Wed Jan 7 13:56:14 2015 -0800 + + rgw: index swift keys appropriately + + Fixes: #10471 + Backport: firefly, giant + + We need to index the swift keys by the full uid:subuser when decoding + the json representation, to keep it in line with how we store it when + creating it through other mechanism. + + Reported-by: hemant burman + Signed-off-by: Yehuda Sadeh + (cherry picked from commit 478629bd2f3f32afbe6e93eaebb8a8fa01af356f) + +commit 5fca232080c0bde50b5c65c60c133bf81311e8d3 +Author: Loic Dachary +Date: Wed Dec 17 16:06:55 2014 +0100 + + crush: set_choose_tries = 100 for erasure code rulesets + + It is common for people to try to map 9 OSDs out of a 9 OSDs total ceph + cluster. The default tries (50) will frequently lead to bad mappings for + this use case. Changing it to 100 makes no significant CPU performance + difference, as tested manually by running crushtool on one million + mappings. + + http://tracker.ceph.com/issues/10353 Fixes: #10353 + + Signed-off-by: Loic Dachary + (cherry picked from commit 2f87ac807f3cc7ac55d9677d2051645bf5396a62) + +commit 4bd523744cefb4a5e6b0d4440b9829b0e19dc012 +Author: Yan, Zheng +Date: Sat Jan 3 15:29:29 2015 +0800 + + mount.ceph: avoid spurious error message + + /etc/mtab in most modern distributions is a symbol link to + /proc/self/mounts. + + Fixes: #10351 + Signed-off-by: Yan, Zheng + (cherry picked from commit bdd0e3c4bda97fe18487a58dd173a7dff752e1a2) + +commit 30a17441f5030ac5c1227a9672811f88e580b4b2 +Author: Sage Weil +Date: Wed Oct 29 14:45:11 2014 -0700 + + msg/Pipe: discard delay queue before incoming queue + + Shutdown the delayed delivery before the incoming queue in case the + DelayedDelivery thread is busy queuing messages. + + Fixes: #9910 + Signed-off-by: Sage Weil + Reviewed-by: Greg Farnum + (cherry picked from commit f7431cc3c25878057482007beb874c9d4473883e) + +commit 8307318cdf9487dde3231aa4a00fca6079379738 +Author: Samuel Just +Date: Fri Dec 5 15:29:52 2014 -0800 + + osd_types: op_queue_age_hist and fs_perf_stat should be in osd_stat_t::operator== + + Fixes: 10259 + Backport: giant, firefly, dumpling + Signed-off-by: Samuel Just + (cherry picked from commit 1ac17c0a662e6079c2c57edde2b4dc947f547f57) + +commit a5a76f81ae9242a54d6ef150fa0ac32b31e90c25 +Author: Joao Eduardo Luis +Date: Mon Jan 19 18:49:15 2015 +0000 + + mon: PGMonitor: skip zeroed osd stats on get_rule_avail() + + Fixes: #10257 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit b311e7c36273efae39aa2602c1f8bd90d39e5975) + +commit 95ec68505ce4a26ea707716791cfb1e46a75ed25 +Author: Joao Eduardo Luis +Date: Fri Jan 16 18:13:05 2015 +0000 + + mon: PGMonitor: available size 0 if no osds on pool's ruleset + + get_rule_avail() may return < 0, which we were using blindly assuming it + would always return an unsigned value. We would end up with weird + values if the ruleset had no osds. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 8be6a6ab2aa5a000a39c73a98b11a0ab32fffa1c) + +commit 1c480b39acc184018d976beddc55187f86dfff1a +Author: Joao Eduardo Luis +Date: Fri Jan 16 18:12:42 2015 +0000 + + mon: PGMonitor: fix division by zero on stats dump + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 50547dc3c00b7556e26b9a44ec68640c5c3a2384) + +commit 640986fdef3543c7469e43853900b63d7b2f6f36 +Author: David Zafman +Date: Fri Mar 13 19:16:47 2015 -0700 + + doc: Fix ceph command manpage to match ceph -h (giant) + + Fixes: #10677 + + Signed-off-by: David Zafman + +commit ec4c8997a67397e3ba5f335e444586f6f1a7864c +Author: David Zafman +Date: Fri Mar 13 16:50:13 2015 -0700 + + doc: Minor fixes to ceph command manpage + + Fixes: #10676 + + Signed-off-by: David Zafman + (cherry picked from commit 7e85722fd4c89715fc2ed79697c82d65d7ebf287) + +commit 15e1c6fb3a0e2e191025f96df33feaf115c1411d +Author: David Zafman +Date: Thu Mar 12 11:39:52 2015 -0700 + + doc: Fix ceph command manpage to match ceph -h (firefly) + + Improve synopsis section + Fixes: #10676 + + Signed-off-by: David Zafman + (cherry picked from commit 9ac488c1eb0e30511079ba05aaf11c79615b3940) + + Conflicts: + + man/ceph.8 (took incoming version) + +commit 17d03e8e8b055ed50b1abb679a0dd1edf4ec3f30 +Author: Nilamdyuti Goswami +Date: Thu Dec 18 17:11:22 2014 +0530 + + doc: Changes format style in ceph to improve readability as html. + + Signed-off-by: Nilamdyuti Goswami + (cherry picked from commit 8b796173063ac9af8c21364521fc5ee23d901196) + +commit 61d600687ae6887a2edea0e79d582b1353558a83 +Author: Yan, Zheng +Date: Tue Mar 10 19:55:57 2015 +0800 + + mds: fix assertion caused by system clock backwards + + Fixes: #11053 + Signed-off-by: Yan, Zheng + +commit f1c9c71fd6d566687db05e1d8f15b04a9f793005 +Author: Nilamdyuti Goswami +Date: Sat Dec 13 02:24:41 2014 +0530 + + doc: Adds man page for ceph. + + Signed-off-by: Nilamdyuti Goswami + (cherry picked from commit 76da87a64ca6b3cc0ceeaf63e19a9f440d6f4161) + +commit 8a5a3c7a20517c7482dc9f5f2783a3da54bd4f23 +Author: Dongmao Zhang +Date: Fri Nov 14 18:48:58 2014 +0800 + + Fix libstriprados::stat, use strtoll insdead of strtol + + The return value(long int) of strict_strtol is too small for unstriped + object. + + Signed-off-by: Dongmao Zhang + (cherry picked from commit fe6679dca479fc24806d7e57ab0108a516cd6d55) + +commit 5d423a5188c62650eaa39077eb99a84085f5f3e2 +Author: Dongmao Zhang +Date: Wed Dec 10 18:55:28 2014 +0800 + + Fix libstriprados::remove, use strtoll insdead of strtol + + Signed-off-by: Dongmao Zhang + (cherry picked from commit 78a15ee4c61fdadccb1921e861748400cc651862) + +commit 938e03630e075af03780da139ae879b5b0377734 +Author: Samuel Just +Date: Mon Feb 2 13:57:00 2015 -0800 + + Objecter::_op_submit_with_budget: add timeout before call + + Objecter::_send_op depends on the ontimeout field being filled in + to avoid 10340 and 9582. + + Fixes: 10340 + Signed-off-by: Samuel Just + (cherry picked from commit cfcfafcb0f33994dbda1efe478ef3ab822ff50d4) + +commit 984df3b865f295ecf77b041a69d1d59384d80671 +Author: Kefu Chai +Date: Tue Feb 10 16:29:45 2015 +0800 + + osd: fix PG leak in SnapTrimWQ._clear() + + Fixes: #10421 + Signed-off-by: Kefu Chai + (cherry picked from commit 01e154d592d6cdbf3f859cf1b4357e803536a6b4) + +commit c5c6fcd6ad7a0317301970bc25419727ee3192fa +Author: David Zafman +Date: Wed Feb 18 16:21:12 2015 -0800 + + osd: Fix FileJournal wrap to get header out first + + Correct and restore assert that was removed + + Cause by f46b1b473fce0322a672b16c7739e569a45054b6 + Fixes: #10883 + Backport: dumpling, firefly, giant + + Signed-off-by: David Zafman + (cherry picked from commit 970bb4901f93575709421b5b25c3eff213de61b8) + +commit 37f196e80906d6b855ca0a7ce7344d1f8f50ae7f +Author: Sebastien Ponce +Date: Thu Feb 5 10:46:37 2015 +0100 + + libradosstriper: fixed write_full when ENOENT + + Fixes: #10758 + write_full was returning ENOENT when the file did not exists, while it should just have created it without complaining. + + Signed-off-by: Sebastien Ponce + (cherry picked from commit 6a91f2bb82035b3c8021a7dc7b23548ce3d61eb6) + +commit b318e2ffc3faedf6b02908429eb4ce79147d3471 (refs/remotes/gh/wip-10643) +Author: Joao Eduardo Luis +Date: Fri Oct 17 18:01:05 2014 +0100 + + mon: MDSMonitor: don't return -EINVAL if function is bool + + Returning -EINVAL on a function that expects bool and the error code to + be in a variable 'r' can only achieve one thing: if this path is ever + touched, instead of returning an error as it was supposed to, we're + returning 'true' with 'r = 0' and, for no apparent reason, the user will + think everything went smoothly but with no new fs created. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 91b2a2b69b198567d42f45f75b7f7ea559f89150) + +commit a1a7d856f5409280b6345afbbd961bcd8ee8d046 +Author: Joao Eduardo Luis +Date: Fri Oct 17 17:43:33 2014 +0100 + + mon: MDSMonitor: check all conditions are met *before* osdmon proposal + + We should not allow ourselves to request the osdmon to propose before we + know for sure that we meet the required conditions to go through with + our own state change. Even if we still can't guarantee that our + proposal is going to be committed, we shouldn't just change the osdmon's + state just because we can. This way, at least, we make sure that our + checks hold up before doing anything with side-effects. + + Fixes: #10643 + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 1d1ae413e9f0aafa314af903bcf6b815f6558082) + +commit 0df7cf1e58bc4d77c69354f2a7160e3d9e6d1fc1 +Author: Joao Eduardo Luis +Date: Fri Oct 17 17:37:03 2014 +0100 + + mon: MDSMonitor: return if fs exists on 'fs new' + + We were just setting return code to -EINVAL, while allowing the logic to + continue regardless. If we are to return error, then we should abort + the operation as well and let the user know it went wrong instead of + continuing as if nothing had happened. + + Signed-off-by: Joao Eduardo Luis + (cherry picked from commit 07b7f101057a80d1356bd20040180e94cd20c211) diff --git a/doc/release-notes.rst b/doc/release-notes.rst index 5592272e7bf95..6aaf650943196 100644 --- a/doc/release-notes.rst +++ b/doc/release-notes.rst @@ -2,6 +2,843 @@ Release Notes =============== +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 `. + +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 `. + + + +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 guage 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 +* asynchronos 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 =====