summaryrefslogtreecommitdiffstats
path: root/doc/changelog/v0.67.8.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/changelog/v0.67.8.txt')
-rw-r--r--doc/changelog/v0.67.8.txt1220
1 files changed, 1220 insertions, 0 deletions
diff --git a/doc/changelog/v0.67.8.txt b/doc/changelog/v0.67.8.txt
new file mode 100644
index 00000000..2f8e0c94
--- /dev/null
+++ b/doc/changelog/v0.67.8.txt
@@ -0,0 +1,1220 @@
+commit ffc58b4ea6a3ea10e91050aaa28d14d87dea5656 (tag: refs/tags/v0.67.8, refs/remotes/gh/dumpling)
+Author: Jenkins <jenkins@inktank.com>
+Date: Thu May 1 11:18:24 2014 +0000
+
+ 0.67.8
+
+commit 4b16b70c53be83481efefcf394eca99c73bb9805
+Merge: 5a6b351 fb0944e
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Apr 30 15:15:48 2014 -0700
+
+ Merge pull request #1743 from ceph/wip-mon-backports.dumpling
+
+ mon: OSDMonitor: HEALTH_WARN on 'mon osd down out interval == 0'
+
+ Reviewed-by: Sage Weil <sage@inktank.com>
+
+commit fb0944e22acf6f8b6cefb59cc4c41dc48087bfd7
+Author: Joao Eduardo Luis <joao.luis@inktank.com>
+Date: Wed Apr 30 17:13:30 2014 +0100
+
+ mon: OSDMonitor: HEALTH_WARN on 'mon osd down out interval == 0'
+
+ A 'status' or 'health' request will return a HEALTH_WARN whenever the
+ monitor handling the request has the option set to zero.
+
+ Fixes: 7784
+
+ Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
+ (cherry picked from commit b2112d5087b449d3b019678cb266ff6fa897897e)
+
+commit 5a6b35160417423db7c6ff892627f084ab610dfe
+Author: Sandon Van Ness <sandon@inktank.com>
+Date: Tue Mar 4 16:15:15 2014 -0800
+
+ Make symlink of librbd to qemu's folder so it can detect it.
+
+ Per issue #7293.
+
+ Signed-off-by: Sandon Van Ness <sandon@inktank.com>
+ (cherry picked from commit 65f3354903fdbdb81468a84b8049ff19c00f91ba)
+
+commit 735a90a95eea01dbcce5026758895117c2842627
+Author: Yehuda Sadeh <yehuda@inktank.com>
+Date: Fri Apr 25 14:11:27 2014 -0700
+
+ rgw: fix url escaping
+
+ Fixes: #8202
+ This fixes the radosgw side of issue #8202. Needed to cast value
+ to unsigned char, otherwise it'd get padded.
+
+ Backport: dumpling
+
+ Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
+ (cherry picked from commit bcf92c496aba0dfde432290fc2df5620a2767313)
+
+commit 438b57890dfce04226d769389a601d35b74e11fe
+Merge: c049967 476b929
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Apr 25 16:00:24 2014 -0700
+
+ Merge pull request #1700 from xanpeng/patch-1
+
+ Fix error in mkcephfs.rst
+
+ Signed-off-by: Xan Peng <xanpeng@gmail.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+
+commit 476b929ecc5b7351a5be3024817b900976a90a3e
+Author: xanpeng <xanpeng@gmail.com>
+Date: Mon Apr 21 11:30:42 2014 +0800
+
+ Update mkcephfs.rst
+
+ There should be no blank between mount options.
+
+commit c049967af829497f8a62e0cbbd6031f85ead8a59
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Tue Apr 1 17:27:01 2014 -0700
+
+ auth: add rwlock to AuthClientHandler to prevent races
+
+ For cephx, build_authorizer reads a bunch of state (especially the
+ current session_key) which can be updated by the MonClient. With no
+ locks held, Pipe::connect() calls SimpleMessenger::get_authorizer()
+ which ends up calling RadosClient::get_authorizer() and then
+ AuthClientHandler::bulid_authorizer(). This unsafe usage can lead to
+ crashes like:
+
+ Program terminated with signal 11, Segmentation fault.
+ 0x00007fa0d2ddb7cb in ceph::buffer::ptr::release (this=0x7f987a5e3070) at common/buffer.cc:370
+ 370 common/buffer.cc: No such file or directory.
+ in common/buffer.cc
+ (gdb) bt
+ 0x00007fa0d2ddb7cb in ceph::buffer::ptr::release (this=0x7f987a5e3070) at common/buffer.cc:370
+ 0x00007fa0d2ddec00 in ~ptr (this=0x7f989c03b830) at ./include/buffer.h:171
+ ceph::buffer::list::rebuild (this=0x7f989c03b830) at common/buffer.cc:817
+ 0x00007fa0d2ddecb9 in ceph::buffer::list::c_str (this=0x7f989c03b830) at common/buffer.cc:1045
+ 0x00007fa0d2ea4dc2 in Pipe::connect (this=0x7fa0c4307340) at msg/Pipe.cc:907
+ 0x00007fa0d2ea7d73 in Pipe::writer (this=0x7fa0c4307340) at msg/Pipe.cc:1518
+ 0x00007fa0d2eb44dd in Pipe::Writer::entry (this=<value optimized out>) at msg/Pipe.h:59
+ 0x00007fa0e0f5f9d1 in start_thread (arg=0x7f987a5e4700) at pthread_create.c:301
+ 0x00007fa0de560b6d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
+
+ and
+
+ Error in `qemu-system-x86_64': invalid fastbin entry (free): 0x00007ff12887ff20
+ *** ======= Backtrace: =========
+ /lib/x86_64-linux-gnu/libc.so.6(+0x80a46)[0x7ff3dea1fa46]
+ /usr/lib/librados.so.2(+0x29eb03)[0x7ff3e3d43b03]
+ /usr/lib/librados.so.2(_ZNK9CryptoKey7encryptEP11CephContextRKN4ceph6buffer4listERS4_RSs+0x71)[0x7ff3e3d42661]
+ /usr/lib/librados.so.2(_Z21encode_encrypt_enc_blIN4ceph6buffer4listEEvP11CephContextRKT_RK9CryptoKeyRS2_RSs+0xfe)[0x7ff3e3d417de]
+ /usr/lib/librados.so.2(_Z14encode_encryptIN4ceph6buffer4listEEiP11CephContextRKT_RK9CryptoKeyRS2_RSs+0xa2)[0x7ff3e3d41912]
+ /usr/lib/librados.so.2(_ZN19CephxSessionHandler12sign_messageEP7Message+0x242)[0x7ff3e3d40de2]
+ /usr/lib/librados.so.2(_ZN4Pipe6writerEv+0x92b)[0x7ff3e3e61b2b]
+ /usr/lib/librados.so.2(_ZN4Pipe6Writer5entryEv+0xd)[0x7ff3e3e6c7fd]
+ /lib/x86_64-linux-gnu/libpthread.so.0(+0x7f8e)[0x7ff3ded6ff8e]
+ /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7ff3dea99a0d]
+
+ Fix this by adding an rwlock to AuthClientHandler. A simpler fix would
+ be to move RadosClient::get_authorizer() into the MonClient() under
+ the MonClient lock, but this would not catch all uses of other
+ Authorizer, e.g. for verify_authorizer() and it would serialize
+ independent connection attempts.
+
+ This mainly matters for cephx, but none and unknown can have the
+ global_id reset as well.
+
+ Partially-fixes: #6480
+ Backport: dumpling, emperor
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 2cc76bcd12d803160e98fa73810de2cb916ef1ff)
+
+commit 2b4b00b76b245b1ac6f95e4537b1d1a4656715d5
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Tue Apr 1 11:37:29 2014 -0700
+
+ pipe: only read AuthSessionHandler under pipe_lock
+
+ session_security, the AuthSessionHandler for a Pipe, is deleted and
+ recreated while the pipe_lock is held. read_message() is called
+ without pipe_lock held, and examines session_security. To make this
+ safe, make session_security a shared_ptr and take a reference to it
+ while the pipe_lock is still held, and use that shared_ptr in
+ read_message().
+
+ This may have caused crashes like:
+
+ *** Error in `qemu-system-x86_64': invalid fastbin entry (free): 0x00007f42a4002de0 ***
+ ======= Backtrace: =========
+ /lib/x86_64-linux-gnu/libc.so.6(+0x80a46)[0x7f452f1f3a46]
+ /usr/lib/x86_64-linux-gnu/libnss3.so(PK11_FreeSymKey+0xa8)[0x7f452e72ff98]
+ /usr/lib/librados.so.2(+0x2a18cd)[0x7f453451a8cd]
+ /usr/lib/librados.so.2(_ZNK9CryptoKey7encryptEP11CephContextRKN4ceph6buffer4listERS4_RSs+0x71)[0x7f4534519421]
+ /usr/lib/librados.so.2(_Z21encode_encrypt_enc_blIN4ceph6buffer4listEEvP11CephContextRKT_RK9CryptoKeyRS2_RSs+0xfe)[0x7f453451859e]
+ /usr/lib/librados.so.2(_Z14encode_encryptIN4ceph6buffer4listEEiP11CephContextRKT_RK9CryptoKeyRS2_RSs+0xa2)[0x7f45345186d2]
+ /usr/lib/librados.so.2(_ZN19CephxSessionHandler23check_message_signatureEP7Message+0x246)[0x7f4534516866]
+ /usr/lib/librados.so.2(_ZN4Pipe12read_messageEPP7Message+0xdcc)[0x7f453462ecbc]
+ /usr/lib/librados.so.2(_ZN4Pipe6readerEv+0xa5c)[0x7f453464059c]
+ /usr/lib/librados.so.2(_ZN4Pipe6Reader5entryEv+0xd)[0x7f4534643ecd]
+ /lib/x86_64-linux-gnu/libpthread.so.0(+0x7f8e)[0x7f452f543f8e]
+ /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f452f26da0d]
+
+ Partially-fixes: #6480
+ Backport: dumpling, emperor
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 1d74170a4c252f35968ccfbec8e432582e92f638)
+
+commit 48895a46015c9d6d67543816f5a400c21aa206b1 (refs/remotes/gh/wip-objectcacher-flusher-dumpling)
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Jan 3 12:51:15 2014 -0800
+
+ osdc/ObjectCacher: back off less during flush
+
+ In cce990efc8f2a58c8d0fa11c234ddf2242b1b856 we added a limit to avoid
+ holding the lock for too long. However, if we back off, we currently
+ wait for a full second, which is probably a bit much--we really just want
+ to give other threads a chance.
+
+ Backport: emperor
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit e2ee52879e9de260abbf5eacbdabbd71973a6a83)
+
+commit f3b5ba6f25010291a2918bdd286f1b39570bb907
+Author: Sage Weil <sage@inktank.com>
+Date: Tue Oct 1 09:28:29 2013 -0700
+
+ osdc/ObjectCacher: limit writeback IOs generated while holding lock
+
+ While analyzing a log from Mike Dawson I saw a long stall while librbd's
+ objectcacher was starting lots (many hundreds) of IOs. Limit the amount of
+ time we spend doing this at a time to allow IO replies to be processed so
+ that the cache remains responsive.
+
+ I'm not sure this warrants a tunable (which we would need to add for both
+ libcephfs and librbd).
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit cce990efc8f2a58c8d0fa11c234ddf2242b1b856)
+
+commit 06f27fc6446d47b853208357ec4277c5dc10d9fe
+Author: Sage Weil <sage@inktank.com>
+Date: Tue Apr 8 10:52:43 2014 -0700
+
+ os/FileStore: reset journal state on umount
+
+ We observed a sequence like:
+
+ - replay journal
+ - sets JournalingObjectStore applied_op_seq
+ - umount
+ - mount
+ - initiate commit with prevous applied_op_seq
+ - replay journal
+ - commit finishes
+ - on replay commit, we fail assert op > committed_seq
+
+ Although strictly speaking the assert failure is harmless here, in general
+ we should not let state leak through from a previous mount into this
+ mount or else assertions are in general more difficult to reason about.
+
+ Fixes: #8019
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 4de49e8676748b6ab4716ff24fd0a465548594fc)
+
+commit b29238729f87c73dfdcf16dddcf293577678dea2
+Author: Yehuda Sadeh <yehuda@inktank.com>
+Date: Tue Nov 5 14:54:20 2013 -0800
+
+ rgw: deny writes to a secondary zone by non-system users
+
+ Fixes: #6678
+ We don't want to allow regular users to write to secondary zones,
+ otherwise we'd end up with data inconsistencies.
+
+ Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
+ (cherry picked from commit 6961b5254f16ac3362c3a51f5490328d23640dbf)
+
+ Conflicts:
+ src/rgw/rgw_rados.h
+
+commit 051a17eb008d75aa6b0737873318a2e7273501ab
+Author: Sage Weil <sage@inktank.com>
+Date: Sat Apr 5 16:58:55 2014 -0700
+
+ mon: wait for quorum for MMonGetVersion
+
+ We should not respond to checks for map versions when we are in the
+ probing or electing states or else clients will get incorrect results when
+ they ask what the latest map version is.
+
+ Fixes: #7997
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 67fd4218d306c0d2c8f0a855a2e5bf18fa1d659e)
+
+commit 0716516da05eee967796fb71eb2f85c86afc40f1
+Author: Yehuda Sadeh <yehuda@inktank.com>
+Date: Wed Feb 19 08:59:07 2014 -0800
+
+ rgw: fix swift range response
+
+ Fixes: #7099
+ Backport: dumpling
+ The range response header was broken in swift.
+
+ Reported-by: Julien Calvet <julien.calvet@neurea.com>
+ Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
+ (cherry picked from commit 0427f61544529ab4e0792b6afbb23379fe722de1)
+
+commit 94a1deefcfe525a7e698a1ae70a3bb561b6157de
+Author: Yehuda Sadeh <yehuda@inktank.com>
+Date: Fri Nov 22 15:41:49 2013 -0800
+
+ rgw: don't log system requests in usage log
+
+ Fixes: 6889
+ System requets should not be logged in the usage log.
+
+ Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
+ (cherry picked from commit 42ef8ba543c7bf13c5aa3b6b4deaaf8a0f9c58b6)
+
+commit 23fed8fc427e7077c61f86168a42f61a5f73867d
+Author: Greg Farnum <greg@inktank.com>
+Date: Fri Apr 4 16:06:05 2014 -0700
+
+ OSD: _share_map_outgoing whenever sending a message to a peer
+
+ This ensures that they get new maps before an op which requires them (that
+ they would then request from the monitor).
+
+ Signed-off-by: Greg Farnum <greg@inktank.com>
+ (cherry picked from commit 232ac1a52a322d163d8d8dbc4a7da4b6a9acb709)
+
+commit c45e15fd5cbe57a34c743b2835ecc30ee5a43963
+Author: Xihui He <xihuihe@gmail.com>
+Date: Mon Dec 30 12:04:10 2013 +0800
+
+ msgr: fix rebind() race
+ stop the accepter and mark all pipes down before rebind to avoid race
+
+ Fixes: #6992
+
+ Signed-off-by: Xihui He xihuihe@gmail.com
+ (cherry picked from commit f8e413f9c79a3a2a12801f5f64a2f612de3f06a0)
+
+commit 3d31cf012a59e1fea8080b13bdc06c9021ba0656
+Author: Samuel Just <sam.just@inktank.com>
+Date: Tue Nov 26 13:20:21 2013 -0800
+
+ PG: retry GetLog() each time we get a notify in Incomplete
+
+ If for some reason there are no up OSDs in the history which
+ happen to have usable copies of the pg, it's possible that
+ there is a usable copy elsewhere on the cluster which will
+ become known to the primary if it waits.
+
+ Fixes: #6909
+ Signed-off-by: Samuel Just <sam.just@inktank.com>
+ Reviewed-by: Greg Farnum <greg@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 964c8e978f86713e37a13b4884a6c0b9b41b5bae)
+
+commit 1f80bbdf45439c7224ed52e4956973fc6d007848
+Author: Sage Weil <sage@inktank.com>
+Date: Mon Mar 17 15:37:44 2014 -0700
+
+ os/FileJournal: return errors on make_writeable() if reopen fails
+
+ This is why #7738 is resulting in a crash instead of an error.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit aed074401d2834a5b04edd1b7f6b4f36336f6293)
+
+commit 62d942294a54208cdc82aebf8b536d164cae5dc6
+Author: Sage Weil <sage@inktank.com>
+Date: Mon Mar 17 16:21:17 2014 -0700
+
+ mon/Paxos: commit only after entire quorum acks
+
+ If a subset of the quorum accepts the proposal and we commit, we will start
+ sharing the new state. However, the mon that didn't yet reply with the
+ accept may still be sharing the old and stale value.
+
+ The simplest way to prevent this is not to commit until the entire quorum
+ replies. In the general case, there are no failures and this is just fine.
+ In the failure case, we will call a new election and have a smaller quorum
+ of (live) nodes and will recommit the same value.
+
+ A more performant solution would be to have a separate message invalidate
+ the old state and commit once we have all invalidations and a majority of
+ accepts. This will lower latency a bit in the non-failure case, but not
+ change the failure case significantly. Later!
+
+ Fixes: #7736
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
+ Reviewed-by: Greg Farnum <greg@inktank.com>
+ (cherry picked from commit fa1d957c115a440e162dba1b1002bc41fc1eac43)
+
+commit 2160c72b393893896be581e89a42c4e37b79cb23
+Author: Samuel Just <sam.just@inktank.com>
+Date: Thu Mar 13 14:04:19 2014 -0700
+
+ PrioritizedQueue: cap costs at max_tokens_per_subqueue
+
+ Otherwise, you can get a recovery op in the queue which has a cost
+ higher than the max token value. It won't get serviced until all other
+ queues also do not have enough tokens and higher priority queues are
+ empty.
+
+ Fixes: #7706
+ Signed-off-by: Samuel Just <sam.just@inktank.com>
+ (cherry picked from commit 2722a0a487e77ea2aa0d18caec0bdac50cb6a264)
+
+commit 1dd42e0f75fe1f5363f92bd5a4506812e54b8fb5
+Author: Dan Mick <dan.mick@inktank.com>
+Date: Thu Apr 3 13:59:59 2014 -0700
+
+ Fix byte-order dependency in calculation of initial challenge
+
+ Fixes: #7977
+ Signed-off-by: Dan Mick <dan.mick@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 4dc62669ecd679bc4d0ef2b996b2f0b45b8b4dc7)
+
+commit c66b61f9dcad217429e4876d27881d9fb2e7666f
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Tue Dec 31 17:00:06 2013 -0800
+
+ rbd: return 0 and an empty list when pool is entirely empty
+
+ rbd_list will return -ENOENT when no rbd_directory object
+ exists. Handle this in the cli tool and interpret it as success with
+ an empty list.
+
+ Add this to the release notes since it changes command line behavior.
+
+ Fixes: #6693
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit ac547a5b7dc94282f079aef78e66348d99d9d5e9)
+
+ Conflicts:
+ PendingReleaseNotes
+ src/rbd.cc
+
+commit 60b7aa96abfe09f7e9a263fa3f9b72c556dee8cb
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Nov 20 18:35:34 2013 -0800
+
+ test: use older names for module setup/teardown
+
+ setUp and tearDown require nosetests 0.11, but 0.10.4 is the latest on
+ centos. Rename to use the older aliases, which still work with newer
+ versions of nosetests as well.
+
+ Fixes: #6368
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ Reviewed-by: Dan Mick <dan.mick@inktank.com>
+ (cherry picked from commit f753d56a9edba6ce441520ac9b52b93bd8f1b5b4)
+
+commit b405bfa49ec31f0c6d8636c4bdde17ee1f81deb7
+Author: Samuel Just <sam.just@inktank.com>
+Date: Sun Nov 3 11:06:10 2013 -0800
+
+ OSD: don't clear peering_wait_for_split in advance_map()
+
+ I really don't know why I added this... Ops can be discarded from the
+ waiting_for_pg queue if we aren't primary simply because there must have
+ been an exchange of peering events before subops will be sent within a
+ particular epoch. Thus, any events in the waiting_for_pg queue must be
+ client ops which should only be seen by the primary. Peering events, on
+ the other hand, should only be discarded if we are in a new interval,
+ and that check might as well be performed in the peering wq.
+
+ Fixes: #6681
+ Signed-off-by: Samuel Just <sam.just@inktank.com>
+ Reviewed-by: Greg Farnum <greg@inktank.com>
+ (cherry picked from commit 9ab513334c7ff9544bac07bd420c6d5d200cf535)
+
+commit a498c940bd630cb103d17ad8532a11122439411d
+Merge: 225fc97 80e0a0a
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Apr 2 12:57:30 2014 -0700
+
+ Merge remote-tracking branch 'gh/wip-7888-dumpling' into dumpling
+
+commit 225fc97f228490dfc13c2e4deed8fecffdb28c5e
+Author: Samuel Just <sam.just@inktank.com>
+Date: Tue Nov 5 21:48:53 2013 -0800
+
+ PG: fix operator<<,log_wierdness log bound warning
+
+ Split may cause holes such that head != tail and yet
+ log.empty().
+
+ Fixes: #6722
+ Signed-off-by: Samuel Just <sam.just@inktank.com>
+ Reviewed-by: David Zafman <david.zafman@inktank.com>
+ (cherry picked from commit c6826c1e8a301b2306530c6e5d0f4a3160c4e691)
+
+commit 26eeab43f3f703a25e7ba62c75d0382d15e38263
+Author: Samuel Just <sam.just@inktank.com>
+Date: Tue Nov 5 17:47:48 2013 -0800
+
+ PGLog::rewind_divergent_log: log may not contain newhead
+
+ Due to split, there may be a hole at newhead.
+
+ Fixes: #6722
+ Signed-off-by: Samuel Just <sam.just@inktank.com>
+ Reviewed-by: David Zafman <david.zafman@inktank.com>
+ (cherry picked from commit f4648bc6fec89c870e0c47b38b2f13496742b10f)
+
+commit 040abd75ad45bbcc05b24c9dddbd2026dd35e659
+Author: Sage Weil <sage@inktank.com>
+Date: Sat Mar 29 14:23:21 2014 -0700
+
+ qa/workunits/fs/misc/layout_vxattrs: ceph.file.layout is not listed
+
+ As of 08a3d6bd428c5e78dd4a10e6ee97540f66f9729c. A similar change was made
+ in the kernel.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 4f9f7f878953b29cd5f56a8e0834832d6e3a9cec)
+
+commit f5aa492a338ff711f3a45e4ebbf0d6b187b5f78e
+Merge: fef70cb 84cb345
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Mar 28 18:01:08 2014 -0700
+
+ Merge pull request #1519 from ceph/wip-6951-dumpling
+
+ rgw: reset objv tracker on bucket recreation
+
+commit fef70cbb52cf1ad12db45998b38858d9bbc3360d
+Merge: 9bfbce3 f443ff3
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Mar 28 17:02:39 2014 -0700
+
+ Merge pull request #1559 from ceph/wip-7881-dumpling
+
+ Wip 7881 dumpling
+
+ Reviewed-by: Sage Weil <sage@inktank.com>
+
+commit 80e0a0a8fee2f6f903f612734b2cc72eae703eae (refs/remotes/gh/wip-7888-dumpling)
+Author: Sage Weil <sage@inktank.com>
+Date: Thu Mar 27 21:33:21 2014 -0700
+
+ mon/MonClient: use keepalive2 to verify the mon session is live
+
+ Verify that the mon is responding by checking the keepalive2 reply
+ timestamp. We cannot rely solely on TCP timing out and returning an
+ error.
+
+ Fixes: #7888
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 056151a6334c054505c54e59af40f203a0721f28)
+
+commit 8723218379e80725a449b0594a4b15eb1c236b05
+Author: Sage Weil <sage@inktank.com>
+Date: Thu Mar 27 21:09:13 2014 -0700
+
+ msgr: add KEEPALIVE2 feature
+
+ This is similar to KEEPALIVE, except a timestamp is also exchanged. It is
+ sent with the KEEPALIVE, and then returned with the ACK. The last
+ received stamp is stored in the Connection so that it can be queried for
+ liveness. Since all of the users of keepalive are already regularly
+ triggering a keepalive, they can check the liveness at the same time.
+
+ See #7888.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit d747d79fd5ea8662a809c5636dfd2eaaa9bf8f5d)
+
+ Conflicts:
+
+ src/include/ceph_features.h
+
+commit a2f0974f8b3567c0385494a0b2c828ade6ca8e1c
+Author: Greg Farnum <greg@inktank.com>
+Date: Wed Mar 26 15:58:10 2014 -0700
+
+ Pipe: rename keepalive->send_keepalive
+
+ Signed-off-by: Greg Farnum <greg@inktank.com>
+ (cherry picked from commit 38d4c71a456c1cc9a5044dbcae5378836a34484d)
+
+commit 9bfbce30678742515025ca235c4443bb3a69199f
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Mar 26 21:52:00 2014 -0700
+
+ client: pin Inode during readahead
+
+ Make sure the Inode does not go away while a readahead is in progress. In
+ particular:
+
+ - read_async
+ - start a readahead
+ - get actual read from cache, return
+ - close/release
+ - call ObjectCacher::release_set() and get unclean > 0, assert
+
+ Fixes: #7867
+ Backport: emperor, dumpling
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit f1c7b4ef0cd064a9cb86757f17118d17913850db)
+
+commit 232445578a2c6d0fb974e55378057fce473095f7
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Mar 28 12:34:07 2014 -0700
+
+ osdc/ObjectCacher: call read completion even when no target buffer
+
+ If we do no assemble a target bl, we still want to return a valid return
+ code with the number of bytes read-ahead so that the C_RetryRead completion
+ will see this as a finish and call the caller's provided Context.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 032d4ec53e125ad91ad27ce58da6f38dcf1da92e)
+
+commit f443ff3006d41a7b0a2d7b649e8def0ffef6df12
+Author: Samuel Just <sam.just@inktank.com>
+Date: Wed Oct 30 16:54:39 2013 -0700
+
+ PGLog: remove obsolete assert in merge_log
+
+ This assert assumes that if olog.head != log.head, olog contains
+ a log entry at log.head, which may not be true since pg splitting
+ might have left the log with arbitrary holes.
+
+ Related: 0c2769d3321bff6e85ec57c85a08ee0b8e751bcb
+ Signed-off-by: Samuel Just <sam.just@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 353813b2e1a98901b876790c7c531f8a202c661d)
+
+commit 636e53c0f4fc43e9bfc1c8e7214cab9e0b46a359
+Author: Samuel Just <sam.just@inktank.com>
+Date: Mon Sep 30 15:54:27 2013 -0700
+
+ PGLog: on split, leave log head alone
+
+ This way last_update doesn't go backwards.
+
+ Fixes: 6447
+ Signed-off-by: Samuel Just <sam.just@inktank.com>
+ (cherry picked from commit 0c2769d3321bff6e85ec57c85a08ee0b8e751bcb)
+
+commit a0a560a9f04311306a9784fa3c6ea2586d637f56
+Merge: 466cd53 41d5e9a
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Mar 26 17:18:24 2014 -0700
+
+ Merge pull request #1539 from ceph/wip-6910-dumpling
+
+ PG: don't query unfound on empty pgs
+
+commit 41d5e9ab39e69c80bec1cb0627004c3fae6dc81d
+Author: Samuel Just <sam.just@inktank.com>
+Date: Tue Nov 26 19:17:59 2013 -0800
+
+ PG: don't query unfound on empty pgs
+
+ When the replica responds, it responds with a notify
+ rather than a log, which the primary then ignores since
+ it is already in the peer_info map. Rather than fix that
+ we'll simply not send queries to peers we already know to
+ have no unfound objects.
+
+ Fixes: #6910
+ Signed-off-by: Samuel Just <sam.just@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ Reviewed-by: David Zafman <david.zafman@inktank.com>
+ (cherry picked from commit 838b6c8387087543ce50837277f7f6b52ae87d00)
+
+commit 466cd536ed7e541a36d88bce43683a2d9e2ca283
+Merge: 2ef0d6a c188949
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Mar 21 14:53:23 2014 -0700
+
+ Merge pull request #1313 from ceph/dumpling-osd-subscribe
+
+ Dumpling backport: clean up osd subscriptions
+
+commit 2ef0d6a25bf8c0cfb38768c157c29ba52295f3ca
+Merge: 77e46d0 bdd96c6
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Mar 21 14:52:20 2014 -0700
+
+ Merge pull request #1485 from ceph/wip-7212.dumpling
+
+ backport 7212 fixes to dumpling
+
+commit 84cb345e4f12a9b1db5e384411492a9d88f17dd8
+Author: Yehuda Sadeh <yehuda@inktank.com>
+Date: Wed Feb 19 08:11:56 2014 -0800
+
+ rgw: reset objv tracker on bucket recreation
+
+ Fixes: #6951
+ If we cannot create a new bucket (as it already existed), we need to
+ read the old bucket's info. However, this was failing as we were holding
+ the objv tracker that we created for the bucket creation. We need to
+ clear it, as subsequent read using it will fail.
+
+ Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
+ (cherry picked from commit 859ed33ed7f9a96f4783dfb3e130d5eb60c622dd)
+
+commit 77e46d0d7984f2d3ee0e15f27d2961a637c20b45
+Author: Samuel Just <sam.just@inktank.com>
+Date: Wed Nov 6 14:33:03 2013 -0800
+
+ ReplicatedPG: don't skip missing if sentries is empty on pgls
+
+ Formerly, if sentries is empty, we skip missing. In general,
+ we need to continue adding items from missing until we get
+ to next (returned from collection_list_partial) to avoid
+ missing any objects.
+
+ Fixes: #6633
+ Signed-off-by: Samuel Just <sam.just@inktank.com>
+ Reviewed-by: David Zafman <david.zafman@inktank.com>
+ (cherry picked from commit c7a30b881151e08b37339bb025789921e7115288)
+
+commit bdd96c620f33fb8f48f30f8d543af3290e6c934a
+Author: Sage Weil <sage@inktank.com>
+Date: Sat Feb 15 08:59:51 2014 -0800
+
+ mon/Elector: bootstrap on timeout
+
+ Currently if an election times out we call a new
+ election. If we have never joined a quorum, bootstrap
+ instead. This is heavier weight, but captures the case
+ where, during bootstrap:
+
+ - a and b have learned each others' addresses
+ - everybody calls an election
+ - a and b form a quorum
+ - c loops trying to call an election, but is ignored
+ because a and b don't see its address in the monmap
+
+ See logs:
+ ubuntu@teuthology:/var/lib/teuthworker/archive/sage-2014-02-14_13:50:04-ceph-deploy-wip-7212-sage-b-testing-basic-plana/83194
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit a4bcb1f8129a4ece97bd3419abf1ff45d260ad8e)
+ (cherry picked from commit 143ec0281aa8b640617a3fe19a430248ce3b514c)
+
+commit 68fcc63c0423a2071b7b944ea6c3448282a78a09
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Feb 14 11:25:52 2014 -0800
+
+ mon: tell MonmapMonitor first about winning an election
+
+ It is important in the bootstrap case that the very first paxos round
+ also codify the contents of the monmap itself in order to avoid any manner
+ of confusing scenarios where subsequent elections are called and people
+ try to recover and modify paxos without agreeing on who the quorum
+ participants are.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit ad7f5dd481a7f45dfe6b50d27ad45abc40950510)
+ (cherry picked from commit e073a062d56099b5fb4311be2a418f7570e1ffd9)
+
+commit a3e57b7231cb28c2e0a896f747537ebdbe3a4e96
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Feb 14 11:13:26 2014 -0800
+
+ mon: only learn peer addresses when monmap == 0
+
+ It is only safe to dynamically update the address for a peer mon in our
+ monmap if we are in the midst of the initial quorum formation (i.e.,
+ monmap.epoch == 0). If it is a later epoch, we have formed our initial
+ quorum and any and all monmap changes need to be agreed upon by the quorum
+ and committed via paxos.
+
+ Fixes: #7212
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 7bd2104acfeff0c9aa5e648d82ed372f901f767f)
+ (cherry picked from commit 1996fd89fb3165a63449b135e05841579695aabd)
+
+commit 21ed54201bd4b0f02c07f6f96a63a5720057f011
+Author: Joao Eduardo Luis <joao.luis@inktank.com>
+Date: Mon Mar 17 14:37:09 2014 +0000
+
+ ceph.in: do not allow using 'tell' with interactive mode
+
+ This avoids a lot of hassle when dealing with to whom tell each command
+ on interactive mode, and even more so if multiple targets are specified.
+
+ As so, 'tell' commands should be used while on interactive mode instead.
+
+ Backport: dumpling,emperor
+
+ Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
+ (cherry picked from commit e39c213c1d230271d23b74086664c2082caecdb9)
+
+commit be0205c33ccbab3b6f105bdf4da114658a981557
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Wed Mar 12 22:56:44 2014 +0100
+
+ RGWListBucketMultiparts: init max_uploads/default_max with 0
+
+ CID 717377 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
+ 2. uninit_member: Non-static class member "max_uploads" is not initialized
+ in this constructor nor in any functions that it calls.
+ 4. uninit_member: Non-static class member "default_max" is not initialized
+ in this constructor nor in any functions that it calls.
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit b23a141d54ffb39958aba9da7f87544674fa0e50)
+
+commit 6c3d4fbeb9cc50eca6eba12cfe7fed64b34eec3d
+Author: Sage Weil <sage@inktank.com>
+Date: Thu Mar 13 14:49:30 2014 -0700
+
+ ceph_test_rados: wait for commit, not ack
+
+ First, this is what we wanted in the first place
+
+ Second, if we wait for ACK, we may look at a user_version value that is
+ not stable.
+
+ Fixes: #7705
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit f2124c5846f1e9cb44e66eb2e957b8c7df3e19f4)
+
+ Conflicts:
+
+ src/test/osd/RadosModel.h
+
+commit 2daed5ff99dab238b696da5aba3816c4f5d763e8
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Thu Mar 13 09:50:16 2014 -0700
+
+ test-upgrade-firefly: skip watch-notify system test
+
+ This also fails on mixed version clusters due to watch on a
+ non-existent object returning ENOENT in firefly and 0 in dumpling.
+
+ Reviewed-by: Sage Weil <sage.weil@inktank.com>
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+
+commit 90a21d8cf6df5fe14b2dc9b2c175983b6bb017ce
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Mar 12 21:30:12 2014 -0700
+
+ qa/workunit/rados/test-upgrade-firefly: skip watch-notify test
+
+ A watch on a non-existent object now returns ENOENT in firefly; skip this
+ test as it will fail on a hybrid or upgraded cluster.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+
+commit 32fdca6d9c2e3b923db7f21568bd315ab2c1c4ad
+Merge: 6700dd0 cd7986c
+Author: Sage Weil <sage@inktank.com>
+Date: Tue Mar 11 21:33:40 2014 -0700
+
+ Merge pull request #1411 from ceph/wip-7076-dumpling
+
+ dumpling backport of watchers check for rbd_remove()
+
+commit 6700dd068e236473343d15eee6307d44156958a3
+Author: Ray Lv <xiangyulv@gmail.com>
+Date: Wed Feb 26 21:17:32 2014 +0800
+
+ rgw: off-by-one in rgw_trim_whitespace()
+
+ Fixes: #7543
+ Backport: dumpling
+
+ Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
+ Signed-off-by: Ray Lv <raylv@yahoo-inc.com>
+ (cherry picked from commit 195d53a7fc695ed954c85022fef6d2a18f68fe20)
+
+commit cd7986caf6baee5f9d6498b113b3382e66dd6f77
+Author: Ilya Dryomov <ilya.dryomov@inktank.com>
+Date: Wed Jan 29 16:12:01 2014 +0200
+
+ rbd: check for watchers before trimming an image on 'rbd rm'
+
+ Check for watchers before trimming image data to try to avoid getting
+ into the following situation:
+
+ - user does 'rbd rm' on a mapped image with an fs mounted from it
+ - 'rbd rm' trims (removes) all image data, only header is left
+ - 'rbd rm' tries to remove a header and fails because krbd has a
+ watcher registered on the header
+ - at this point image cannot be unmapped because of the mounted fs
+ - fs cannot be unmounted because all its data and metadata is gone
+
+ Unfortunately, this fix doesn't make it impossible to happen (the
+ required atomicity isn't there), but it's a big improvement over the
+ status quo.
+
+ Fixes: http://tracker.ceph.com/issues/7076
+
+ Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
+ Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
+ (cherry picked from commit 0a553cfa81b06e75585ab3c39927e307ec0f4cb6)
+
+commit a931aaa6cc104d63b20c0cbe9e3af4006c3abfaf
+Merge: b476d32 f5668b3
+Author: Sage Weil <sage@inktank.com>
+Date: Sun Mar 9 10:56:31 2014 -0700
+
+ Merge pull request #1407 from dachary/wip-7188-dumpling
+
+ common: ping existing admin socket before unlink (dumpling)
+
+ Reviewed-by: Sage Weil <sage@inktank.com>
+
+commit f5668b363b0724f385bebded3cbc7f363893f985
+Author: Loic Dachary <loic@dachary.org>
+Date: Sat Feb 15 11:43:13 2014 +0100
+
+ common: ping existing admin socket before unlink
+
+ When a daemon initializes it tries to create an admin socket and unlinks
+ any pre-existing file, regardless. If such a file is in use, it causes
+ the existing daemon to loose its admin socket.
+
+ The AdminSocketClient::ping is implemented to probe an existing socket,
+ using the "0" message. The AdminSocket::bind_and_listen function is
+ modified to call ping() on when it finds existing file. It unlinks the
+ file only if the ping fails.
+
+ http://tracker.ceph.com/issues/7188 fixes: #7188
+
+ Backport: emperor, dumpling
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit 45600789f1ca399dddc5870254e5db883fb29b38)
+
+commit b476d324c69d4e6018191a7ffea8c9d6c1dfa008
+Merge: d3e13a7 5133dd6
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Mar 5 14:19:31 2014 -0800
+
+ Merge pull request #1366 from ceph/wip-6820.dumpling
+
+ mon: OSDMonitor: don't crash if formatter is invalid during osd crush dump
+
+commit d3e13a7cdab42fa33182680f45fe21b4f9dc4b20
+Merge: c218c99 9c626e0
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Mar 5 12:45:57 2014 -0800
+
+ Merge pull request #1377 from ceph/wip-7584
+
+ qa/workunit/rados/test-upgrade-firely.sh
+
+ Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
+
+commit 9c626e0b18f538eb60883da01713ba629220e35e
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Mar 5 12:37:10 2014 -0800
+
+ qa/workunit/rados/test-upgrade-firely.sh
+
+ Skip the tests that don't pass when run against firefly OSDs.
+
+ Fixes: #7584
+ Signed-off-by: Sage Weil <sage@inktank.com>
+
+commit c218c999ecebe41e6de6fde76e85cc765cad8257
+Merge: 0eabbf1 24711cd
+Author: Samuel Just <sam.just@inktank.com>
+Date: Tue Mar 4 07:28:44 2014 -0800
+
+ Merge pull request #1357 from ceph/wip-dumpling-removewq
+
+ OSD: ping tphandle during pg removal
+
+ Reviewed-by: Greg Farnum <greg@inktank.com>
+
+commit 5133dd60e272d3fcbaacd5662a708ee4cf0db46d
+Author: Joao Eduardo Luis <joao.luis@inktank.com>
+Date: Fri Nov 22 02:17:16 2013 +0000
+
+ mon: OSDMonitor: don't crash if formatter is invalid during osd crush dump
+
+ Code would assume a formatter would always be defined. If a 'plain'
+ formatter or even an invalid formatter were to be supplied, the monitor
+ would crash and burn in poor style.
+
+ Fixes: 6820
+ Backport: emperor
+
+ Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
+ (cherry picked from commit 49d2fb71422fe4edfe5795c001104fb5bc8c98c3)
+
+commit 24711cd49f85dbe827d41c4bcad2700cd6c42ad7
+Author: Samuel Just <sam.just@inktank.com>
+Date: Tue Oct 15 13:11:29 2013 -0700
+
+ OSD: ping tphandle during pg removal
+
+ Fixes: #6528
+ Signed-off-by: Samuel Just <sam.just@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+
+ (cherry picked from commit c658258d9e2f590054a30c0dee14a579a51bda8c)
+
+ Conflicts:
+ src/osd/OSD.cc
+
+commit 0eabbf145e1c44f4d128b192cc77b708f180c968
+Merge: fe8915a 9d5d931
+Author: Samuel Just <sam.just@inktank.com>
+Date: Tue Feb 25 15:47:05 2014 -0800
+
+ Merge pull request #1316 from ceph/dumpling-6922
+
+ Dumpling: Prevent extreme PG split multipliers
+
+ Reviewed-by: Samuel Just <sam.just@inktank.com>
+
+commit fe8915ae7e182340d1e22154e852895742c7da51
+Merge: 87822cc 5667566
+Author: Samuel Just <sam.just@inktank.com>
+Date: Tue Feb 25 15:45:45 2014 -0800
+
+ Merge pull request #1315 from ceph/dumpling-hashpspool
+
+ mon: OSDMonitor: allow (un)setting 'hashpspool' flag via 'osd pool set'
+
+ Reviewed-by: Samuel Just <sam.just@inktank.com>
+
+commit 87822ccc862b533132c1fe232dfe4b7b17b816ad
+Merge: 0ae3352 37fbcb9
+Author: Samuel Just <sam.just@inktank.com>
+Date: Tue Feb 25 15:44:39 2014 -0800
+
+ Merge pull request #1314 from ceph/dumpling-osd-pgstatsack
+
+ Dumpling osd pgstatsack
+
+ Reviewed-by: Samuel Just <sam.just@inktank.com>
+
+commit 5667566313b69dca011e897b2fa752356ad8901b
+Author: Joao Eduardo Luis <joao.luis@inktank.com>
+Date: Thu Oct 10 17:43:48 2013 -0700
+
+ mon: OSDMonitor: allow (un)setting 'hashpspool' flag via 'osd pool set'
+
+ Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 1c2886964a0c005545abab0cf8feae7e06ac02a8)
+
+ Conflicts:
+
+ src/mon/MonCommands.h
+ src/mon/OSDMonitor.cc
+
+ mon: ceph hashpspool false clears the flag
+ instead of toggling it.
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ Reviewed-by: Christophe Courtaut <christophe.courtaut@gmail.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 589e2fa485b94244c79079f249428d4d545fca18
+
+ Replace some of the infrastructure required by this command that
+ was not present in Dumpling with single-use code.
+ Signed-off-by: Greg Farnum <greg@inktank.com>
+
+commit 9d5d931c60104823b3b20dcfb09480d65ffaa5ed
+Author: Greg Farnum <greg@inktank.com>
+Date: Tue Dec 3 10:57:09 2013 -0800
+
+ OSDMonitor: use a different approach to prevent extreme multipliers on PG splits
+
+ Signed-off-by: Greg Farnum <greg@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit d8ccd73968fbd0753ca08916ebf1062cdb4d5ac1)
+
+ Conflicts:
+
+ src/mon/OSDMonitor.cc
+
+commit c0c4448dc7df7900a564a6745903398cd39be7f1
+Author: Greg Farnum <greg@inktank.com>
+Date: Mon Dec 2 15:13:40 2013 -0800
+
+ OSDMonitor: prevent extreme multipliers on PG splits
+
+ Fixes: #6922
+ Backport: emperor
+
+ Signed-off-by: Greg Farnum <greg@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit f57dad6461171c903e8b5255eaed300374b00e74)
+
+ Conflicts:
+
+ src/mon/OSDMonitor.cc
+
+commit c1889497b93ae9f0a946b11d9f5f6fcc7427e934
+Author: Sage Weil <sage@inktank.com>
+Date: Sat Feb 22 08:08:37 2014 -0800
+
+ osd: fix off-by-one is boot subscription
+
+ If we have osdmap N, we want to onetime subscribe
+ starting at N+1. Among other things, it means we
+ hear when the NOUP flag is cleared.
+
+ This appears to have broken somewhere around
+ 3c76b81f2f96b790b72f2088164ed8e9d5efbba1.
+
+ Fixes: #7511
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ Reviewed-by: Sam Just <sam.just@inktank.com>
+ (cherry picked from commit 70d23b9a0ad9af5ca35a627a7f93c7e610e17549)
+ Reviewed-by: Greg Farnum <greg@inktank.com>
+
+commit 4584f60653bee0305e85418323d80332ceecd0cf
+Author: Greg Farnum <greg@inktank.com>
+Date: Tue Feb 11 12:51:19 2014 -0800
+
+ OSD: use the osdmap_subscribe helper
+
+ Signed-off-by: Greg Farnum <greg@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 3c76b81f2f96b790b72f2088164ed8e9d5efbba1)
+
+commit 61b2aeee7c37e03d5f6691c08c7760c48a85a2e1
+Author: Greg Farnum <greg@inktank.com>
+Date: Tue Feb 11 13:34:39 2014 -0800
+
+ OSD: create a helper for handling OSDMap subscriptions, and clean them up
+
+ We've had some trouble with not clearing out subscription requests and
+ overloading the monitors (though only because of other bugs). Write a
+ helper for handling subscription requests that we can use to centralize
+ safety logic. Clear out the subscription whenever we get a map that covers
+ it; if there are more maps available than we received, we will issue another
+ subscription request based on "m->newest_map" at the end of handle_osd_map().
+
+ Notice that the helper will no longer request old maps which we already have,
+ and that unless forced it will not dispatch multiple subscribe requests
+ to a single monitor.
+ Skipping old maps is safe:
+ 1) we only trim old maps when the monitor tells us to,
+ 2) we do not send messages to our peers until we have updated our maps
+ from the monitor.
+ That means only old and broken OSDs will send us messages based on maps
+ in our past, and we can (and should) ignore any directives from them anyway.
+
+ Signed-off-by: Greg Farnum <greg@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 6db3ae851d1c936de045390d18b1c6ae95f2a209)
+
+ Conflicts:
+
+ src/osd/OSD.h
+
+commit d93d67d1a315d8abe8d1cd9d7ea83417a19e2406
+Author: Greg Farnum <greg@inktank.com>
+Date: Tue Feb 11 13:31:26 2014 -0800
+
+ monc: new fsub_want_increment( function to make handling subscriptions easier
+
+ Provide a subscription-modifying function which will not decrement
+ the start version.
+
+ Signed-off-by: Greg Farnum <greg@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 5b9c187caf6f7847aaa4a1003d200158dd32bf63)
+
+commit 37fbcb958f79bbfcba57c516b4862a14c52be398
+Author: Greg Farnum <greg@inktank.com>
+Date: Wed Feb 12 11:30:15 2014 -0800
+
+ OSD: disable the PGStatsAck timeout when we are reconnecting to a monitor
+
+ Previously, the timeout counter started as soon as we issued the reopen,
+ but if the reconnect process itself took a while, we might time out and
+ issue another reopen just as we get to the point where it's possible to
+ get work done. Since the mon client has its own reconnect timeouts (that is,
+ the OSD doesn't need to trigger those), we instead disable our timeouts
+ while the reconnect is happening, and then turn them back on again starting
+ from when we get the reconnect callback.
+
+ Signed-off-by: Greg Farnum <greg@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 64cedf6fa3ee309cc96554286bfb805e4ca89439)
+
+ Conflicts:
+
+ src/osd/OSD.cc
+
+commit 9be395e870c50d97604ef41f17667cc566fd84e1
+Author: Greg Farnum <greg@inktank.com>
+Date: Wed Feb 12 13:51:48 2014 -0800
+
+ monc: backoff the timeout period when reconnecting
+
+ If the monitors are systematically slowing down, we don't want to spam
+ them with reconnect attempts every three seconds. Instead, every time
+ we issue a reconnect, multiply our timeout period by a configurable; when
+ we complete the connection, reduce that multipler by 50%. This should let
+ us respond to monitor load.
+ Of course, we don't want to do that for initial startup in the case of a
+ couple down monitors, so don't apply the backoff until we've successfully
+ connected to a monitor at least once.
+
+ Signed-off-by: Greg Farnum <greg@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 794c86fd289bd62a35ed14368fa096c46736e9a2)
+
+commit 8f4c20bdab153d1603cc99186d8d3e3970aa8976
+Author: Greg Farnum <greg@inktank.com>
+Date: Wed Feb 12 13:37:50 2014 -0800
+
+ monc: set "hunting" to true when we reopen the mon session
+
+ If we don't have a connecton to a monitor, we want to retry to another
+ monitor regardless of whether it's the first time or not.
+
+ Signed-off-by: Greg Farnum <greg@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 60da8abe0ebf17ce818d6fcc6391401878123bb7)
+
+commit c6317558e0d3c8c62aecee0d95a839f93303f681
+Author: Greg Farnum <greg@inktank.com>
+Date: Tue Feb 11 17:53:56 2014 -0800
+
+ monc: let users specify a callback when they reopen their monitor session
+
+ Then the callback is triggered when a new session is established, and the
+ daemon can do whatever it likes. There are no guarantees about how long it
+ might take to trigger, though. In particular we call the provided callback
+ while not holding our own lock in order to avoid deadlock. This could lead
+ to some funny ordering from the user's perspective if they call
+ reopen_session() again before getting the callback, but there's no way around
+ that, so they just have to use it appropriately.
+
+ Signed-off-by: Greg Farnum <greg@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 1a8c43474bf36bfcf2a94bf9b7e756a2a99f33fd)
+
+commit 0ae335298b85daba5125a3da4ad26d598c76ecab (refs/remotes/gh/multi-object-delete)
+Author: Yehuda Sadeh <yehuda@inktank.com>
+Date: Tue Feb 11 16:54:05 2014 -0800
+
+ rgw: multi object delete should be idempotent
+
+ Fixes: #7346
+ When doing a multi object delete, if an object does not exist then we
+ should return a success code for that object.
+
+ Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
+ (cherry picked from commit 8ca3d95bf633ea9616852cec74f02285a03071d5)
+
+ Conflicts:
+ src/rgw/rgw_op.cc