Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / ceph / doc / changelog / v0.67.8.txt
1 commit ffc58b4ea6a3ea10e91050aaa28d14d87dea5656 (tag: refs/tags/v0.67.8, refs/remotes/gh/dumpling)
2 Author: Jenkins <jenkins@inktank.com>
3 Date:   Thu May 1 11:18:24 2014 +0000
4
5     0.67.8
6
7 commit 4b16b70c53be83481efefcf394eca99c73bb9805
8 Merge: 5a6b351 fb0944e
9 Author: Sage Weil <sage@inktank.com>
10 Date:   Wed Apr 30 15:15:48 2014 -0700
11
12     Merge pull request #1743 from ceph/wip-mon-backports.dumpling
13     
14     mon: OSDMonitor: HEALTH_WARN on 'mon osd down out interval == 0'
15     
16     Reviewed-by: Sage Weil <sage@inktank.com>
17
18 commit fb0944e22acf6f8b6cefb59cc4c41dc48087bfd7
19 Author: Joao Eduardo Luis <joao.luis@inktank.com>
20 Date:   Wed Apr 30 17:13:30 2014 +0100
21
22     mon: OSDMonitor: HEALTH_WARN on 'mon osd down out interval == 0'
23     
24     A 'status' or 'health' request will return a HEALTH_WARN whenever the
25     monitor handling the request has the option set to zero.
26     
27     Fixes: 7784
28     
29     Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
30     (cherry picked from commit b2112d5087b449d3b019678cb266ff6fa897897e)
31
32 commit 5a6b35160417423db7c6ff892627f084ab610dfe
33 Author: Sandon Van Ness <sandon@inktank.com>
34 Date:   Tue Mar 4 16:15:15 2014 -0800
35
36     Make symlink  of librbd to qemu's folder so it can detect it.
37     
38     Per issue #7293.
39     
40     Signed-off-by: Sandon Van Ness <sandon@inktank.com>
41     (cherry picked from commit 65f3354903fdbdb81468a84b8049ff19c00f91ba)
42
43 commit 735a90a95eea01dbcce5026758895117c2842627
44 Author: Yehuda Sadeh <yehuda@inktank.com>
45 Date:   Fri Apr 25 14:11:27 2014 -0700
46
47     rgw: fix url escaping
48     
49     Fixes: #8202
50     This fixes the radosgw side of issue #8202. Needed to cast value
51     to unsigned char, otherwise it'd get padded.
52     
53     Backport: dumpling
54     
55     Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
56     (cherry picked from commit bcf92c496aba0dfde432290fc2df5620a2767313)
57
58 commit 438b57890dfce04226d769389a601d35b74e11fe
59 Merge: c049967 476b929
60 Author: Sage Weil <sage@inktank.com>
61 Date:   Fri Apr 25 16:00:24 2014 -0700
62
63     Merge pull request #1700 from xanpeng/patch-1
64     
65     Fix error in mkcephfs.rst
66     
67     Signed-off-by: Xan Peng <xanpeng@gmail.com>
68     Reviewed-by: Sage Weil <sage@inktank.com>
69
70 commit 476b929ecc5b7351a5be3024817b900976a90a3e
71 Author: xanpeng <xanpeng@gmail.com>
72 Date:   Mon Apr 21 11:30:42 2014 +0800
73
74     Update mkcephfs.rst
75     
76     There should be no blank between mount options.
77
78 commit c049967af829497f8a62e0cbbd6031f85ead8a59
79 Author: Josh Durgin <josh.durgin@inktank.com>
80 Date:   Tue Apr 1 17:27:01 2014 -0700
81
82     auth: add rwlock to AuthClientHandler to prevent races
83     
84     For cephx, build_authorizer reads a bunch of state (especially the
85     current session_key) which can be updated by the MonClient. With no
86     locks held, Pipe::connect() calls SimpleMessenger::get_authorizer()
87     which ends up calling RadosClient::get_authorizer() and then
88     AuthClientHandler::bulid_authorizer(). This unsafe usage can lead to
89     crashes like:
90     
91     Program terminated with signal 11, Segmentation fault.
92     0x00007fa0d2ddb7cb in ceph::buffer::ptr::release (this=0x7f987a5e3070) at common/buffer.cc:370
93     370 common/buffer.cc: No such file or directory.
94     in common/buffer.cc
95     (gdb) bt
96     0x00007fa0d2ddb7cb in ceph::buffer::ptr::release (this=0x7f987a5e3070) at common/buffer.cc:370
97     0x00007fa0d2ddec00 in ~ptr (this=0x7f989c03b830) at ./include/buffer.h:171
98     ceph::buffer::list::rebuild (this=0x7f989c03b830) at common/buffer.cc:817
99     0x00007fa0d2ddecb9 in ceph::buffer::list::c_str (this=0x7f989c03b830) at common/buffer.cc:1045
100     0x00007fa0d2ea4dc2 in Pipe::connect (this=0x7fa0c4307340) at msg/Pipe.cc:907
101     0x00007fa0d2ea7d73 in Pipe::writer (this=0x7fa0c4307340) at msg/Pipe.cc:1518
102     0x00007fa0d2eb44dd in Pipe::Writer::entry (this=<value optimized out>) at msg/Pipe.h:59
103     0x00007fa0e0f5f9d1 in start_thread (arg=0x7f987a5e4700) at pthread_create.c:301
104     0x00007fa0de560b6d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
105     
106     and
107     
108     Error in `qemu-system-x86_64': invalid fastbin entry (free): 0x00007ff12887ff20
109     *** ======= Backtrace: =========
110     /lib/x86_64-linux-gnu/libc.so.6(+0x80a46)[0x7ff3dea1fa46]
111     /usr/lib/librados.so.2(+0x29eb03)[0x7ff3e3d43b03]
112     /usr/lib/librados.so.2(_ZNK9CryptoKey7encryptEP11CephContextRKN4ceph6buffer4listERS4_RSs+0x71)[0x7ff3e3d42661]
113     /usr/lib/librados.so.2(_Z21encode_encrypt_enc_blIN4ceph6buffer4listEEvP11CephContextRKT_RK9CryptoKeyRS2_RSs+0xfe)[0x7ff3e3d417de]
114     /usr/lib/librados.so.2(_Z14encode_encryptIN4ceph6buffer4listEEiP11CephContextRKT_RK9CryptoKeyRS2_RSs+0xa2)[0x7ff3e3d41912]
115     /usr/lib/librados.so.2(_ZN19CephxSessionHandler12sign_messageEP7Message+0x242)[0x7ff3e3d40de2]
116     /usr/lib/librados.so.2(_ZN4Pipe6writerEv+0x92b)[0x7ff3e3e61b2b]
117     /usr/lib/librados.so.2(_ZN4Pipe6Writer5entryEv+0xd)[0x7ff3e3e6c7fd]
118     /lib/x86_64-linux-gnu/libpthread.so.0(+0x7f8e)[0x7ff3ded6ff8e]
119     /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7ff3dea99a0d]
120     
121     Fix this by adding an rwlock to AuthClientHandler. A simpler fix would
122     be to move RadosClient::get_authorizer() into the MonClient() under
123     the MonClient lock, but this would not catch all uses of other
124     Authorizer, e.g. for verify_authorizer() and it would serialize
125     independent connection attempts.
126     
127     This mainly matters for cephx, but none and unknown can have the
128     global_id reset as well.
129     
130     Partially-fixes: #6480
131     Backport: dumpling, emperor
132     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
133     (cherry picked from commit 2cc76bcd12d803160e98fa73810de2cb916ef1ff)
134
135 commit 2b4b00b76b245b1ac6f95e4537b1d1a4656715d5
136 Author: Josh Durgin <josh.durgin@inktank.com>
137 Date:   Tue Apr 1 11:37:29 2014 -0700
138
139     pipe: only read AuthSessionHandler under pipe_lock
140     
141     session_security, the AuthSessionHandler for a Pipe, is deleted and
142     recreated while the pipe_lock is held. read_message() is called
143     without pipe_lock held, and examines session_security. To make this
144     safe, make session_security a shared_ptr and take a reference to it
145     while the pipe_lock is still held, and use that shared_ptr in
146     read_message().
147     
148     This may have caused crashes like:
149     
150     *** Error in `qemu-system-x86_64': invalid fastbin entry (free): 0x00007f42a4002de0 ***
151     ======= Backtrace: =========
152     /lib/x86_64-linux-gnu/libc.so.6(+0x80a46)[0x7f452f1f3a46]
153     /usr/lib/x86_64-linux-gnu/libnss3.so(PK11_FreeSymKey+0xa8)[0x7f452e72ff98]
154     /usr/lib/librados.so.2(+0x2a18cd)[0x7f453451a8cd]
155     /usr/lib/librados.so.2(_ZNK9CryptoKey7encryptEP11CephContextRKN4ceph6buffer4listERS4_RSs+0x71)[0x7f4534519421]
156     /usr/lib/librados.so.2(_Z21encode_encrypt_enc_blIN4ceph6buffer4listEEvP11CephContextRKT_RK9CryptoKeyRS2_RSs+0xfe)[0x7f453451859e]
157     /usr/lib/librados.so.2(_Z14encode_encryptIN4ceph6buffer4listEEiP11CephContextRKT_RK9CryptoKeyRS2_RSs+0xa2)[0x7f45345186d2]
158     /usr/lib/librados.so.2(_ZN19CephxSessionHandler23check_message_signatureEP7Message+0x246)[0x7f4534516866]
159     /usr/lib/librados.so.2(_ZN4Pipe12read_messageEPP7Message+0xdcc)[0x7f453462ecbc]
160     /usr/lib/librados.so.2(_ZN4Pipe6readerEv+0xa5c)[0x7f453464059c]
161     /usr/lib/librados.so.2(_ZN4Pipe6Reader5entryEv+0xd)[0x7f4534643ecd]
162     /lib/x86_64-linux-gnu/libpthread.so.0(+0x7f8e)[0x7f452f543f8e]
163     /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f452f26da0d]
164     
165     Partially-fixes: #6480
166     Backport: dumpling, emperor
167     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
168     (cherry picked from commit 1d74170a4c252f35968ccfbec8e432582e92f638)
169
170 commit 48895a46015c9d6d67543816f5a400c21aa206b1 (refs/remotes/gh/wip-objectcacher-flusher-dumpling)
171 Author: Sage Weil <sage@inktank.com>
172 Date:   Fri Jan 3 12:51:15 2014 -0800
173
174     osdc/ObjectCacher: back off less during flush
175     
176     In cce990efc8f2a58c8d0fa11c234ddf2242b1b856 we added a limit to avoid
177     holding the lock for too long.  However, if we back off, we currently
178     wait for a full second, which is probably a bit much--we really just want
179     to give other threads a chance.
180     
181     Backport: emperor
182     Signed-off-by: Sage Weil <sage@inktank.com>
183     (cherry picked from commit e2ee52879e9de260abbf5eacbdabbd71973a6a83)
184
185 commit f3b5ba6f25010291a2918bdd286f1b39570bb907
186 Author: Sage Weil <sage@inktank.com>
187 Date:   Tue Oct 1 09:28:29 2013 -0700
188
189     osdc/ObjectCacher: limit writeback IOs generated while holding lock
190     
191     While analyzing a log from Mike Dawson I saw a long stall while librbd's
192     objectcacher was starting lots (many hundreds) of IOs.  Limit the amount of
193     time we spend doing this at a time to allow IO replies to be processed so
194     that the cache remains responsive.
195     
196     I'm not sure this warrants a tunable (which we would need to add for both
197     libcephfs and librbd).
198     
199     Signed-off-by: Sage Weil <sage@inktank.com>
200     (cherry picked from commit cce990efc8f2a58c8d0fa11c234ddf2242b1b856)
201
202 commit 06f27fc6446d47b853208357ec4277c5dc10d9fe
203 Author: Sage Weil <sage@inktank.com>
204 Date:   Tue Apr 8 10:52:43 2014 -0700
205
206     os/FileStore: reset journal state on umount
207     
208     We observed a sequence like:
209     
210      - replay journal
211        - sets JournalingObjectStore applied_op_seq
212      - umount
213      - mount
214        - initiate commit with prevous applied_op_seq
215      - replay journal
216        - commit finishes
217        - on replay commit, we fail assert op > committed_seq
218     
219     Although strictly speaking the assert failure is harmless here, in general
220     we should not let state leak through from a previous mount into this
221     mount or else assertions are in general more difficult to reason about.
222     
223     Fixes: #8019
224     Signed-off-by: Sage Weil <sage@inktank.com>
225     (cherry picked from commit 4de49e8676748b6ab4716ff24fd0a465548594fc)
226
227 commit b29238729f87c73dfdcf16dddcf293577678dea2
228 Author: Yehuda Sadeh <yehuda@inktank.com>
229 Date:   Tue Nov 5 14:54:20 2013 -0800
230
231     rgw: deny writes to a secondary zone by non-system users
232     
233     Fixes: #6678
234     We don't want to allow regular users to write to secondary zones,
235     otherwise we'd end up with data inconsistencies.
236     
237     Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
238     (cherry picked from commit 6961b5254f16ac3362c3a51f5490328d23640dbf)
239     
240     Conflicts:
241         src/rgw/rgw_rados.h
242
243 commit 051a17eb008d75aa6b0737873318a2e7273501ab
244 Author: Sage Weil <sage@inktank.com>
245 Date:   Sat Apr 5 16:58:55 2014 -0700
246
247     mon: wait for quorum for MMonGetVersion
248     
249     We should not respond to checks for map versions when we are in the
250     probing or electing states or else clients will get incorrect results when
251     they ask what the latest map version is.
252     
253     Fixes: #7997
254     Signed-off-by: Sage Weil <sage@inktank.com>
255     (cherry picked from commit 67fd4218d306c0d2c8f0a855a2e5bf18fa1d659e)
256
257 commit 0716516da05eee967796fb71eb2f85c86afc40f1
258 Author: Yehuda Sadeh <yehuda@inktank.com>
259 Date:   Wed Feb 19 08:59:07 2014 -0800
260
261     rgw: fix swift range response
262     
263     Fixes: #7099
264     Backport: dumpling
265     The range response header was broken in swift.
266     
267     Reported-by: Julien Calvet <julien.calvet@neurea.com>
268     Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
269     (cherry picked from commit 0427f61544529ab4e0792b6afbb23379fe722de1)
270
271 commit 94a1deefcfe525a7e698a1ae70a3bb561b6157de
272 Author: Yehuda Sadeh <yehuda@inktank.com>
273 Date:   Fri Nov 22 15:41:49 2013 -0800
274
275     rgw: don't log system requests in usage log
276     
277     Fixes: 6889
278     System requets should not be logged in the usage log.
279     
280     Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
281     (cherry picked from commit 42ef8ba543c7bf13c5aa3b6b4deaaf8a0f9c58b6)
282
283 commit 23fed8fc427e7077c61f86168a42f61a5f73867d
284 Author: Greg Farnum <greg@inktank.com>
285 Date:   Fri Apr 4 16:06:05 2014 -0700
286
287     OSD: _share_map_outgoing whenever sending a message to a peer
288     
289     This ensures that they get new maps before an op which requires them (that
290     they would then request from the monitor).
291     
292     Signed-off-by: Greg Farnum <greg@inktank.com>
293     (cherry picked from commit 232ac1a52a322d163d8d8dbc4a7da4b6a9acb709)
294
295 commit c45e15fd5cbe57a34c743b2835ecc30ee5a43963
296 Author: Xihui He <xihuihe@gmail.com>
297 Date:   Mon Dec 30 12:04:10 2013 +0800
298
299     msgr: fix rebind() race
300     stop the accepter and mark all pipes down before rebind to avoid race
301     
302     Fixes: #6992
303     
304     Signed-off-by: Xihui He xihuihe@gmail.com
305     (cherry picked from commit f8e413f9c79a3a2a12801f5f64a2f612de3f06a0)
306
307 commit 3d31cf012a59e1fea8080b13bdc06c9021ba0656
308 Author: Samuel Just <sam.just@inktank.com>
309 Date:   Tue Nov 26 13:20:21 2013 -0800
310
311     PG: retry GetLog() each time we get a notify in Incomplete
312     
313     If for some reason there are no up OSDs in the history which
314     happen to have usable copies of the pg, it's possible that
315     there is a usable copy elsewhere on the cluster which will
316     become known to the primary if it waits.
317     
318     Fixes: #6909
319     Signed-off-by: Samuel Just <sam.just@inktank.com>
320     Reviewed-by: Greg Farnum <greg@inktank.com>
321     Reviewed-by: Sage Weil <sage@inktank.com>
322     (cherry picked from commit 964c8e978f86713e37a13b4884a6c0b9b41b5bae)
323
324 commit 1f80bbdf45439c7224ed52e4956973fc6d007848
325 Author: Sage Weil <sage@inktank.com>
326 Date:   Mon Mar 17 15:37:44 2014 -0700
327
328     os/FileJournal: return errors on make_writeable() if reopen fails
329     
330     This is why #7738 is resulting in a crash instead of an error.
331     
332     Signed-off-by: Sage Weil <sage@inktank.com>
333     (cherry picked from commit aed074401d2834a5b04edd1b7f6b4f36336f6293)
334
335 commit 62d942294a54208cdc82aebf8b536d164cae5dc6
336 Author: Sage Weil <sage@inktank.com>
337 Date:   Mon Mar 17 16:21:17 2014 -0700
338
339     mon/Paxos: commit only after entire quorum acks
340     
341     If a subset of the quorum accepts the proposal and we commit, we will start
342     sharing the new state.  However, the mon that didn't yet reply with the
343     accept may still be sharing the old and stale value.
344     
345     The simplest way to prevent this is not to commit until the entire quorum
346     replies.  In the general case, there are no failures and this is just fine.
347     In the failure case, we will call a new election and have a smaller quorum
348     of (live) nodes and will recommit the same value.
349     
350     A more performant solution would be to have a separate message invalidate
351     the old state and commit once we have all invalidations and a majority of
352     accepts.  This will lower latency a bit in the non-failure case, but not
353     change the failure case significantly.  Later!
354     
355     Fixes: #7736
356     Signed-off-by: Sage Weil <sage@inktank.com>
357     Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
358     Reviewed-by: Greg Farnum <greg@inktank.com>
359     (cherry picked from commit fa1d957c115a440e162dba1b1002bc41fc1eac43)
360
361 commit 2160c72b393893896be581e89a42c4e37b79cb23
362 Author: Samuel Just <sam.just@inktank.com>
363 Date:   Thu Mar 13 14:04:19 2014 -0700
364
365     PrioritizedQueue: cap costs at max_tokens_per_subqueue
366     
367     Otherwise, you can get a recovery op in the queue which has a cost
368     higher than the max token value.  It won't get serviced until all other
369     queues also do not have enough tokens and higher priority queues are
370     empty.
371     
372     Fixes: #7706
373     Signed-off-by: Samuel Just <sam.just@inktank.com>
374     (cherry picked from commit 2722a0a487e77ea2aa0d18caec0bdac50cb6a264)
375
376 commit 1dd42e0f75fe1f5363f92bd5a4506812e54b8fb5
377 Author: Dan Mick <dan.mick@inktank.com>
378 Date:   Thu Apr 3 13:59:59 2014 -0700
379
380     Fix byte-order dependency in calculation of initial challenge
381     
382     Fixes: #7977
383     Signed-off-by: Dan Mick <dan.mick@inktank.com>
384     Reviewed-by: Sage Weil <sage@inktank.com>
385     (cherry picked from commit 4dc62669ecd679bc4d0ef2b996b2f0b45b8b4dc7)
386
387 commit c66b61f9dcad217429e4876d27881d9fb2e7666f
388 Author: Josh Durgin <josh.durgin@inktank.com>
389 Date:   Tue Dec 31 17:00:06 2013 -0800
390
391     rbd: return 0 and an empty list when pool is entirely empty
392     
393     rbd_list will return -ENOENT when no rbd_directory object
394     exists. Handle this in the cli tool and interpret it as success with
395     an empty list.
396     
397     Add this to the release notes since it changes command line behavior.
398     
399     Fixes: #6693
400     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
401     (cherry picked from commit ac547a5b7dc94282f079aef78e66348d99d9d5e9)
402     
403     Conflicts:
404         PendingReleaseNotes
405         src/rbd.cc
406
407 commit 60b7aa96abfe09f7e9a263fa3f9b72c556dee8cb
408 Author: Josh Durgin <josh.durgin@inktank.com>
409 Date:   Wed Nov 20 18:35:34 2013 -0800
410
411     test: use older names for module setup/teardown
412     
413     setUp and tearDown require nosetests 0.11, but 0.10.4 is the latest on
414     centos. Rename to use the older aliases, which still work with newer
415     versions of nosetests as well.
416     
417     Fixes: #6368
418     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
419     Reviewed-by: Dan Mick <dan.mick@inktank.com>
420     (cherry picked from commit f753d56a9edba6ce441520ac9b52b93bd8f1b5b4)
421
422 commit b405bfa49ec31f0c6d8636c4bdde17ee1f81deb7
423 Author: Samuel Just <sam.just@inktank.com>
424 Date:   Sun Nov 3 11:06:10 2013 -0800
425
426     OSD: don't clear peering_wait_for_split in advance_map()
427     
428     I really don't know why I added this...  Ops can be discarded from the
429     waiting_for_pg queue if we aren't primary simply because there must have
430     been an exchange of peering events before subops will be sent within a
431     particular epoch.  Thus, any events in the waiting_for_pg queue must be
432     client ops which should only be seen by the primary.  Peering events, on
433     the other hand, should only be discarded if we are in a new interval,
434     and that check might as well be performed in the peering wq.
435     
436     Fixes: #6681
437     Signed-off-by: Samuel Just <sam.just@inktank.com>
438     Reviewed-by: Greg Farnum <greg@inktank.com>
439     (cherry picked from commit 9ab513334c7ff9544bac07bd420c6d5d200cf535)
440
441 commit a498c940bd630cb103d17ad8532a11122439411d
442 Merge: 225fc97 80e0a0a
443 Author: Sage Weil <sage@inktank.com>
444 Date:   Wed Apr 2 12:57:30 2014 -0700
445
446     Merge remote-tracking branch 'gh/wip-7888-dumpling' into dumpling
447
448 commit 225fc97f228490dfc13c2e4deed8fecffdb28c5e
449 Author: Samuel Just <sam.just@inktank.com>
450 Date:   Tue Nov 5 21:48:53 2013 -0800
451
452     PG: fix operator<<,log_wierdness log bound warning
453     
454     Split may cause holes such that head != tail and yet
455     log.empty().
456     
457     Fixes: #6722
458     Signed-off-by: Samuel Just <sam.just@inktank.com>
459     Reviewed-by: David Zafman <david.zafman@inktank.com>
460     (cherry picked from commit c6826c1e8a301b2306530c6e5d0f4a3160c4e691)
461
462 commit 26eeab43f3f703a25e7ba62c75d0382d15e38263
463 Author: Samuel Just <sam.just@inktank.com>
464 Date:   Tue Nov 5 17:47:48 2013 -0800
465
466     PGLog::rewind_divergent_log: log may not contain newhead
467     
468     Due to split, there may be a hole at newhead.
469     
470     Fixes: #6722
471     Signed-off-by: Samuel Just <sam.just@inktank.com>
472     Reviewed-by: David Zafman <david.zafman@inktank.com>
473     (cherry picked from commit f4648bc6fec89c870e0c47b38b2f13496742b10f)
474
475 commit 040abd75ad45bbcc05b24c9dddbd2026dd35e659
476 Author: Sage Weil <sage@inktank.com>
477 Date:   Sat Mar 29 14:23:21 2014 -0700
478
479     qa/workunits/fs/misc/layout_vxattrs: ceph.file.layout is not listed
480     
481     As of 08a3d6bd428c5e78dd4a10e6ee97540f66f9729c.  A similar change was made
482     in the kernel.
483     
484     Signed-off-by: Sage Weil <sage@inktank.com>
485     (cherry picked from commit 4f9f7f878953b29cd5f56a8e0834832d6e3a9cec)
486
487 commit f5aa492a338ff711f3a45e4ebbf0d6b187b5f78e
488 Merge: fef70cb 84cb345
489 Author: Sage Weil <sage@inktank.com>
490 Date:   Fri Mar 28 18:01:08 2014 -0700
491
492     Merge pull request #1519 from ceph/wip-6951-dumpling
493     
494     rgw: reset objv tracker on bucket recreation
495
496 commit fef70cbb52cf1ad12db45998b38858d9bbc3360d
497 Merge: 9bfbce3 f443ff3
498 Author: Sage Weil <sage@inktank.com>
499 Date:   Fri Mar 28 17:02:39 2014 -0700
500
501     Merge pull request #1559 from ceph/wip-7881-dumpling
502     
503     Wip 7881 dumpling
504     
505     Reviewed-by: Sage Weil <sage@inktank.com>
506
507 commit 80e0a0a8fee2f6f903f612734b2cc72eae703eae (refs/remotes/gh/wip-7888-dumpling)
508 Author: Sage Weil <sage@inktank.com>
509 Date:   Thu Mar 27 21:33:21 2014 -0700
510
511     mon/MonClient: use keepalive2 to verify the mon session is live
512     
513     Verify that the mon is responding by checking the keepalive2 reply
514     timestamp.  We cannot rely solely on TCP timing out and returning an
515     error.
516     
517     Fixes: #7888
518     Signed-off-by: Sage Weil <sage@inktank.com>
519     (cherry picked from commit 056151a6334c054505c54e59af40f203a0721f28)
520
521 commit 8723218379e80725a449b0594a4b15eb1c236b05
522 Author: Sage Weil <sage@inktank.com>
523 Date:   Thu Mar 27 21:09:13 2014 -0700
524
525     msgr: add KEEPALIVE2 feature
526     
527     This is similar to KEEPALIVE, except a timestamp is also exchanged.  It is
528     sent with the KEEPALIVE, and then returned with the ACK.  The last
529     received stamp is stored in the Connection so that it can be queried for
530     liveness.  Since all of the users of keepalive are already regularly
531     triggering a keepalive, they can check the liveness at the same time.
532     
533     See #7888.
534     
535     Signed-off-by: Sage Weil <sage@inktank.com>
536     (cherry picked from commit d747d79fd5ea8662a809c5636dfd2eaaa9bf8f5d)
537     
538     Conflicts:
539     
540         src/include/ceph_features.h
541
542 commit a2f0974f8b3567c0385494a0b2c828ade6ca8e1c
543 Author: Greg Farnum <greg@inktank.com>
544 Date:   Wed Mar 26 15:58:10 2014 -0700
545
546     Pipe: rename keepalive->send_keepalive
547     
548     Signed-off-by: Greg Farnum <greg@inktank.com>
549     (cherry picked from commit 38d4c71a456c1cc9a5044dbcae5378836a34484d)
550
551 commit 9bfbce30678742515025ca235c4443bb3a69199f
552 Author: Sage Weil <sage@inktank.com>
553 Date:   Wed Mar 26 21:52:00 2014 -0700
554
555     client: pin Inode during readahead
556     
557     Make sure the Inode does not go away while a readahead is in progress.  In
558     particular:
559     
560      - read_async
561        - start a readahead
562        - get actual read from cache, return
563      - close/release
564        - call ObjectCacher::release_set() and get unclean > 0, assert
565     
566     Fixes: #7867
567     Backport: emperor, dumpling
568     Signed-off-by: Sage Weil <sage@inktank.com>
569     (cherry picked from commit f1c7b4ef0cd064a9cb86757f17118d17913850db)
570
571 commit 232445578a2c6d0fb974e55378057fce473095f7
572 Author: Sage Weil <sage@inktank.com>
573 Date:   Fri Mar 28 12:34:07 2014 -0700
574
575     osdc/ObjectCacher: call read completion even when no target buffer
576     
577     If we do no assemble a target bl, we still want to return a valid return
578     code with the number of bytes read-ahead so that the C_RetryRead completion
579     will see this as a finish and call the caller's provided Context.
580     
581     Signed-off-by: Sage Weil <sage@inktank.com>
582     (cherry picked from commit 032d4ec53e125ad91ad27ce58da6f38dcf1da92e)
583
584 commit f443ff3006d41a7b0a2d7b649e8def0ffef6df12
585 Author: Samuel Just <sam.just@inktank.com>
586 Date:   Wed Oct 30 16:54:39 2013 -0700
587
588     PGLog: remove obsolete assert in merge_log
589     
590     This assert assumes that if olog.head != log.head, olog contains
591     a log entry at log.head, which may not be true since pg splitting
592     might have left the log with arbitrary holes.
593     
594     Related: 0c2769d3321bff6e85ec57c85a08ee0b8e751bcb
595     Signed-off-by: Samuel Just <sam.just@inktank.com>
596     Reviewed-by: Sage Weil <sage@inktank.com>
597     (cherry picked from commit 353813b2e1a98901b876790c7c531f8a202c661d)
598
599 commit 636e53c0f4fc43e9bfc1c8e7214cab9e0b46a359
600 Author: Samuel Just <sam.just@inktank.com>
601 Date:   Mon Sep 30 15:54:27 2013 -0700
602
603     PGLog: on split, leave log head alone
604     
605     This way last_update doesn't go backwards.
606     
607     Fixes: 6447
608     Signed-off-by: Samuel Just <sam.just@inktank.com>
609     (cherry picked from commit 0c2769d3321bff6e85ec57c85a08ee0b8e751bcb)
610
611 commit a0a560a9f04311306a9784fa3c6ea2586d637f56
612 Merge: 466cd53 41d5e9a
613 Author: Sage Weil <sage@inktank.com>
614 Date:   Wed Mar 26 17:18:24 2014 -0700
615
616     Merge pull request #1539 from ceph/wip-6910-dumpling
617     
618     PG: don't query unfound on empty pgs
619
620 commit 41d5e9ab39e69c80bec1cb0627004c3fae6dc81d
621 Author: Samuel Just <sam.just@inktank.com>
622 Date:   Tue Nov 26 19:17:59 2013 -0800
623
624     PG: don't query unfound on empty pgs
625     
626     When the replica responds, it responds with a notify
627     rather than a log, which the primary then ignores since
628     it is already in the peer_info map.  Rather than fix that
629     we'll simply not send queries to peers we already know to
630     have no unfound objects.
631     
632     Fixes: #6910
633     Signed-off-by: Samuel Just <sam.just@inktank.com>
634     Reviewed-by: Sage Weil <sage@inktank.com>
635     Reviewed-by: David Zafman <david.zafman@inktank.com>
636     (cherry picked from commit 838b6c8387087543ce50837277f7f6b52ae87d00)
637
638 commit 466cd536ed7e541a36d88bce43683a2d9e2ca283
639 Merge: 2ef0d6a c188949
640 Author: Sage Weil <sage@inktank.com>
641 Date:   Fri Mar 21 14:53:23 2014 -0700
642
643     Merge pull request #1313 from ceph/dumpling-osd-subscribe
644     
645     Dumpling backport: clean up osd subscriptions
646
647 commit 2ef0d6a25bf8c0cfb38768c157c29ba52295f3ca
648 Merge: 77e46d0 bdd96c6
649 Author: Sage Weil <sage@inktank.com>
650 Date:   Fri Mar 21 14:52:20 2014 -0700
651
652     Merge pull request #1485 from ceph/wip-7212.dumpling
653     
654     backport 7212 fixes to dumpling
655
656 commit 84cb345e4f12a9b1db5e384411492a9d88f17dd8
657 Author: Yehuda Sadeh <yehuda@inktank.com>
658 Date:   Wed Feb 19 08:11:56 2014 -0800
659
660     rgw: reset objv tracker on bucket recreation
661     
662     Fixes: #6951
663     If we cannot create a new bucket (as it already existed), we need to
664     read the old bucket's info. However, this was failing as we were holding
665     the objv tracker that we created for the bucket creation. We need to
666     clear it, as subsequent read using it will fail.
667     
668     Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
669     (cherry picked from commit 859ed33ed7f9a96f4783dfb3e130d5eb60c622dd)
670
671 commit 77e46d0d7984f2d3ee0e15f27d2961a637c20b45
672 Author: Samuel Just <sam.just@inktank.com>
673 Date:   Wed Nov 6 14:33:03 2013 -0800
674
675     ReplicatedPG: don't skip missing if sentries is empty on pgls
676     
677     Formerly, if sentries is empty, we skip missing.  In general,
678     we need to continue adding items from missing until we get
679     to next (returned from collection_list_partial) to avoid
680     missing any objects.
681     
682     Fixes: #6633
683     Signed-off-by: Samuel Just <sam.just@inktank.com>
684     Reviewed-by: David Zafman <david.zafman@inktank.com>
685     (cherry picked from commit c7a30b881151e08b37339bb025789921e7115288)
686
687 commit bdd96c620f33fb8f48f30f8d543af3290e6c934a
688 Author: Sage Weil <sage@inktank.com>
689 Date:   Sat Feb 15 08:59:51 2014 -0800
690
691     mon/Elector: bootstrap on timeout
692     
693     Currently if an election times out we call a new
694     election.  If we have never joined a quorum, bootstrap
695     instead. This is heavier weight, but captures the case
696     where, during bootstrap:
697     
698      - a and b have learned each others' addresses
699      - everybody calls an election
700      - a and b form a quorum
701      - c loops trying to call an election, but is ignored
702        because a and b don't see its address in the monmap
703     
704     See logs:
705       ubuntu@teuthology:/var/lib/teuthworker/archive/sage-2014-02-14_13:50:04-ceph-deploy-wip-7212-sage-b-testing-basic-plana/83194
706     
707     Signed-off-by: Sage Weil <sage@inktank.com>
708     (cherry picked from commit a4bcb1f8129a4ece97bd3419abf1ff45d260ad8e)
709     (cherry picked from commit 143ec0281aa8b640617a3fe19a430248ce3b514c)
710
711 commit 68fcc63c0423a2071b7b944ea6c3448282a78a09
712 Author: Sage Weil <sage@inktank.com>
713 Date:   Fri Feb 14 11:25:52 2014 -0800
714
715     mon: tell MonmapMonitor first about winning an election
716     
717     It is important in the bootstrap case that the very first paxos round
718     also codify the contents of the monmap itself in order to avoid any manner
719     of confusing scenarios where subsequent elections are called and people
720     try to recover and modify paxos without agreeing on who the quorum
721     participants are.
722     
723     Signed-off-by: Sage Weil <sage@inktank.com>
724     (cherry picked from commit ad7f5dd481a7f45dfe6b50d27ad45abc40950510)
725     (cherry picked from commit e073a062d56099b5fb4311be2a418f7570e1ffd9)
726
727 commit a3e57b7231cb28c2e0a896f747537ebdbe3a4e96
728 Author: Sage Weil <sage@inktank.com>
729 Date:   Fri Feb 14 11:13:26 2014 -0800
730
731     mon: only learn peer addresses when monmap == 0
732     
733     It is only safe to dynamically update the address for a peer mon in our
734     monmap if we are in the midst of the initial quorum formation (i.e.,
735     monmap.epoch == 0).  If it is a later epoch, we have formed our initial
736     quorum and any and all monmap changes need to be agreed upon by the quorum
737     and committed via paxos.
738     
739     Fixes: #7212
740     Signed-off-by: Sage Weil <sage@inktank.com>
741     (cherry picked from commit 7bd2104acfeff0c9aa5e648d82ed372f901f767f)
742     (cherry picked from commit 1996fd89fb3165a63449b135e05841579695aabd)
743
744 commit 21ed54201bd4b0f02c07f6f96a63a5720057f011
745 Author: Joao Eduardo Luis <joao.luis@inktank.com>
746 Date:   Mon Mar 17 14:37:09 2014 +0000
747
748     ceph.in: do not allow using 'tell' with interactive mode
749     
750     This avoids a lot of hassle when dealing with to whom tell each command
751     on interactive mode, and even more so if multiple targets are specified.
752     
753     As so, 'tell' commands should be used while on interactive mode instead.
754     
755     Backport: dumpling,emperor
756     
757     Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
758     (cherry picked from commit e39c213c1d230271d23b74086664c2082caecdb9)
759
760 commit be0205c33ccbab3b6f105bdf4da114658a981557
761 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
762 Date:   Wed Mar 12 22:56:44 2014 +0100
763
764     RGWListBucketMultiparts: init max_uploads/default_max with 0
765     
766     CID 717377 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
767      2. uninit_member: Non-static class member "max_uploads" is not initialized
768         in this constructor nor in any functions that it calls.
769      4. uninit_member: Non-static class member "default_max" is not initialized
770         in this constructor nor in any functions that it calls.
771     
772     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
773     (cherry picked from commit b23a141d54ffb39958aba9da7f87544674fa0e50)
774
775 commit 6c3d4fbeb9cc50eca6eba12cfe7fed64b34eec3d
776 Author: Sage Weil <sage@inktank.com>
777 Date:   Thu Mar 13 14:49:30 2014 -0700
778
779     ceph_test_rados: wait for commit, not ack
780     
781     First, this is what we wanted in the first place
782     
783     Second, if we wait for ACK, we may look at a user_version value that is
784     not stable.
785     
786     Fixes: #7705
787     Signed-off-by: Sage Weil <sage@inktank.com>
788     (cherry picked from commit f2124c5846f1e9cb44e66eb2e957b8c7df3e19f4)
789     
790     Conflicts:
791     
792         src/test/osd/RadosModel.h
793
794 commit 2daed5ff99dab238b696da5aba3816c4f5d763e8
795 Author: Josh Durgin <josh.durgin@inktank.com>
796 Date:   Thu Mar 13 09:50:16 2014 -0700
797
798     test-upgrade-firefly: skip watch-notify system test
799     
800     This also fails on mixed version clusters due to watch on a
801     non-existent object returning ENOENT in firefly and 0 in dumpling.
802     
803     Reviewed-by: Sage Weil <sage.weil@inktank.com>
804     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
805
806 commit 90a21d8cf6df5fe14b2dc9b2c175983b6bb017ce
807 Author: Sage Weil <sage@inktank.com>
808 Date:   Wed Mar 12 21:30:12 2014 -0700
809
810     qa/workunit/rados/test-upgrade-firefly: skip watch-notify test
811     
812     A watch on a non-existent object now returns ENOENT in firefly; skip this
813     test as it will fail on a hybrid or upgraded cluster.
814     
815     Signed-off-by: Sage Weil <sage@inktank.com>
816
817 commit 32fdca6d9c2e3b923db7f21568bd315ab2c1c4ad
818 Merge: 6700dd0 cd7986c
819 Author: Sage Weil <sage@inktank.com>
820 Date:   Tue Mar 11 21:33:40 2014 -0700
821
822     Merge pull request #1411 from ceph/wip-7076-dumpling
823     
824     dumpling backport of watchers check for rbd_remove()
825
826 commit 6700dd068e236473343d15eee6307d44156958a3
827 Author: Ray Lv <xiangyulv@gmail.com>
828 Date:   Wed Feb 26 21:17:32 2014 +0800
829
830     rgw: off-by-one in rgw_trim_whitespace()
831     
832     Fixes: #7543
833     Backport: dumpling
834     
835     Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
836     Signed-off-by: Ray Lv <raylv@yahoo-inc.com>
837     (cherry picked from commit 195d53a7fc695ed954c85022fef6d2a18f68fe20)
838
839 commit cd7986caf6baee5f9d6498b113b3382e66dd6f77
840 Author: Ilya Dryomov <ilya.dryomov@inktank.com>
841 Date:   Wed Jan 29 16:12:01 2014 +0200
842
843     rbd: check for watchers before trimming an image on 'rbd rm'
844     
845     Check for watchers before trimming image data to try to avoid getting
846     into the following situation:
847     
848       - user does 'rbd rm' on a mapped image with an fs mounted from it
849       - 'rbd rm' trims (removes) all image data, only header is left
850       - 'rbd rm' tries to remove a header and fails because krbd has a
851         watcher registered on the header
852       - at this point image cannot be unmapped because of the mounted fs
853       - fs cannot be unmounted because all its data and metadata is gone
854     
855     Unfortunately, this fix doesn't make it impossible to happen (the
856     required atomicity isn't there), but it's a big improvement over the
857     status quo.
858     
859     Fixes: http://tracker.ceph.com/issues/7076
860     
861     Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
862     Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
863     (cherry picked from commit 0a553cfa81b06e75585ab3c39927e307ec0f4cb6)
864
865 commit a931aaa6cc104d63b20c0cbe9e3af4006c3abfaf
866 Merge: b476d32 f5668b3
867 Author: Sage Weil <sage@inktank.com>
868 Date:   Sun Mar 9 10:56:31 2014 -0700
869
870     Merge pull request #1407 from dachary/wip-7188-dumpling
871     
872     common: ping existing admin socket before unlink (dumpling)
873     
874     Reviewed-by: Sage Weil <sage@inktank.com>
875
876 commit f5668b363b0724f385bebded3cbc7f363893f985
877 Author: Loic Dachary <loic@dachary.org>
878 Date:   Sat Feb 15 11:43:13 2014 +0100
879
880     common: ping existing admin socket before unlink
881     
882     When a daemon initializes it tries to create an admin socket and unlinks
883     any pre-existing file, regardless. If such a file is in use, it causes
884     the existing daemon to loose its admin socket.
885     
886     The AdminSocketClient::ping is implemented to probe an existing socket,
887     using the "0" message. The AdminSocket::bind_and_listen function is
888     modified to call ping() on when it finds existing file. It unlinks the
889     file only if the ping fails.
890     
891     http://tracker.ceph.com/issues/7188 fixes: #7188
892     
893     Backport: emperor, dumpling
894     Reviewed-by: Sage Weil <sage@inktank.com>
895     Signed-off-by: Loic Dachary <loic@dachary.org>
896     (cherry picked from commit 45600789f1ca399dddc5870254e5db883fb29b38)
897
898 commit b476d324c69d4e6018191a7ffea8c9d6c1dfa008
899 Merge: d3e13a7 5133dd6
900 Author: Sage Weil <sage@inktank.com>
901 Date:   Wed Mar 5 14:19:31 2014 -0800
902
903     Merge pull request #1366 from ceph/wip-6820.dumpling
904     
905     mon: OSDMonitor: don't crash if formatter is invalid during osd crush dump
906
907 commit d3e13a7cdab42fa33182680f45fe21b4f9dc4b20
908 Merge: c218c99 9c626e0
909 Author: Josh Durgin <josh.durgin@inktank.com>
910 Date:   Wed Mar 5 12:45:57 2014 -0800
911
912     Merge pull request #1377 from ceph/wip-7584
913     
914     qa/workunit/rados/test-upgrade-firely.sh
915     
916     Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
917
918 commit 9c626e0b18f538eb60883da01713ba629220e35e
919 Author: Sage Weil <sage@inktank.com>
920 Date:   Wed Mar 5 12:37:10 2014 -0800
921
922     qa/workunit/rados/test-upgrade-firely.sh
923     
924     Skip the tests that don't pass when run against firefly OSDs.
925     
926     Fixes: #7584
927     Signed-off-by: Sage Weil <sage@inktank.com>
928
929 commit c218c999ecebe41e6de6fde76e85cc765cad8257
930 Merge: 0eabbf1 24711cd
931 Author: Samuel Just <sam.just@inktank.com>
932 Date:   Tue Mar 4 07:28:44 2014 -0800
933
934     Merge pull request #1357 from ceph/wip-dumpling-removewq
935     
936     OSD: ping tphandle during pg removal
937     
938     Reviewed-by: Greg Farnum <greg@inktank.com>
939
940 commit 5133dd60e272d3fcbaacd5662a708ee4cf0db46d
941 Author: Joao Eduardo Luis <joao.luis@inktank.com>
942 Date:   Fri Nov 22 02:17:16 2013 +0000
943
944     mon: OSDMonitor: don't crash if formatter is invalid during osd crush dump
945     
946     Code would assume a formatter would always be defined. If a 'plain'
947     formatter or even an invalid formatter were to be supplied, the monitor
948     would crash and burn in poor style.
949     
950     Fixes: 6820
951     Backport: emperor
952     
953     Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
954     (cherry picked from commit 49d2fb71422fe4edfe5795c001104fb5bc8c98c3)
955
956 commit 24711cd49f85dbe827d41c4bcad2700cd6c42ad7
957 Author: Samuel Just <sam.just@inktank.com>
958 Date:   Tue Oct 15 13:11:29 2013 -0700
959
960     OSD: ping tphandle during pg removal
961     
962     Fixes: #6528
963     Signed-off-by: Samuel Just <sam.just@inktank.com>
964     Reviewed-by: Sage Weil <sage@inktank.com>
965     
966     (cherry picked from commit c658258d9e2f590054a30c0dee14a579a51bda8c)
967     
968     Conflicts:
969         src/osd/OSD.cc
970
971 commit 0eabbf145e1c44f4d128b192cc77b708f180c968
972 Merge: fe8915a 9d5d931
973 Author: Samuel Just <sam.just@inktank.com>
974 Date:   Tue Feb 25 15:47:05 2014 -0800
975
976     Merge pull request #1316 from ceph/dumpling-6922
977     
978     Dumpling: Prevent extreme PG split multipliers
979     
980     Reviewed-by: Samuel Just <sam.just@inktank.com>
981
982 commit fe8915ae7e182340d1e22154e852895742c7da51
983 Merge: 87822cc 5667566
984 Author: Samuel Just <sam.just@inktank.com>
985 Date:   Tue Feb 25 15:45:45 2014 -0800
986
987     Merge pull request #1315 from ceph/dumpling-hashpspool
988     
989     mon: OSDMonitor: allow (un)setting 'hashpspool' flag via 'osd pool set'
990     
991     Reviewed-by: Samuel Just <sam.just@inktank.com>
992
993 commit 87822ccc862b533132c1fe232dfe4b7b17b816ad
994 Merge: 0ae3352 37fbcb9
995 Author: Samuel Just <sam.just@inktank.com>
996 Date:   Tue Feb 25 15:44:39 2014 -0800
997
998     Merge pull request #1314 from ceph/dumpling-osd-pgstatsack
999     
1000     Dumpling osd pgstatsack
1001     
1002     Reviewed-by: Samuel Just <sam.just@inktank.com>
1003
1004 commit 5667566313b69dca011e897b2fa752356ad8901b
1005 Author: Joao Eduardo Luis <joao.luis@inktank.com>
1006 Date:   Thu Oct 10 17:43:48 2013 -0700
1007
1008     mon: OSDMonitor: allow (un)setting 'hashpspool' flag via 'osd pool set'
1009     
1010     Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
1011     Reviewed-by: Sage Weil <sage@inktank.com>
1012     (cherry picked from commit 1c2886964a0c005545abab0cf8feae7e06ac02a8)
1013     
1014     Conflicts:
1015     
1016         src/mon/MonCommands.h
1017         src/mon/OSDMonitor.cc
1018     
1019     mon: ceph hashpspool false clears the flag
1020     instead of toggling it.
1021     Signed-off-by: Loic Dachary <loic@dachary.org>
1022     Reviewed-by: Christophe Courtaut <christophe.courtaut@gmail.com>
1023     Reviewed-by: Sage Weil <sage@inktank.com>
1024     (cherry picked from commit 589e2fa485b94244c79079f249428d4d545fca18
1025     
1026     Replace some of the infrastructure required by this command that
1027     was not present in Dumpling with single-use code.
1028     Signed-off-by: Greg Farnum <greg@inktank.com>
1029
1030 commit 9d5d931c60104823b3b20dcfb09480d65ffaa5ed
1031 Author: Greg Farnum <greg@inktank.com>
1032 Date:   Tue Dec 3 10:57:09 2013 -0800
1033
1034     OSDMonitor: use a different approach to prevent extreme multipliers on PG splits
1035     
1036     Signed-off-by: Greg Farnum <greg@inktank.com>
1037     Reviewed-by: Sage Weil <sage@inktank.com>
1038     (cherry picked from commit d8ccd73968fbd0753ca08916ebf1062cdb4d5ac1)
1039     
1040     Conflicts:
1041     
1042         src/mon/OSDMonitor.cc
1043
1044 commit c0c4448dc7df7900a564a6745903398cd39be7f1
1045 Author: Greg Farnum <greg@inktank.com>
1046 Date:   Mon Dec 2 15:13:40 2013 -0800
1047
1048     OSDMonitor: prevent extreme multipliers on PG splits
1049     
1050     Fixes: #6922
1051     Backport: emperor
1052     
1053     Signed-off-by: Greg Farnum <greg@inktank.com>
1054     Reviewed-by: Sage Weil <sage@inktank.com>
1055     (cherry picked from commit f57dad6461171c903e8b5255eaed300374b00e74)
1056     
1057     Conflicts:
1058     
1059         src/mon/OSDMonitor.cc
1060
1061 commit c1889497b93ae9f0a946b11d9f5f6fcc7427e934
1062 Author: Sage Weil <sage@inktank.com>
1063 Date:   Sat Feb 22 08:08:37 2014 -0800
1064
1065     osd: fix off-by-one is boot subscription
1066     
1067     If we have osdmap N, we want to onetime subscribe
1068     starting at N+1.  Among other things, it means we
1069     hear when the NOUP flag is cleared.
1070     
1071     This appears to have broken somewhere around
1072     3c76b81f2f96b790b72f2088164ed8e9d5efbba1.
1073     
1074     Fixes: #7511
1075     Signed-off-by: Sage Weil <sage@inktank.com>
1076     Reviewed-by: Sam Just <sam.just@inktank.com>
1077     (cherry picked from commit 70d23b9a0ad9af5ca35a627a7f93c7e610e17549)
1078     Reviewed-by: Greg Farnum <greg@inktank.com>
1079
1080 commit 4584f60653bee0305e85418323d80332ceecd0cf
1081 Author: Greg Farnum <greg@inktank.com>
1082 Date:   Tue Feb 11 12:51:19 2014 -0800
1083
1084     OSD: use the osdmap_subscribe helper
1085     
1086     Signed-off-by: Greg Farnum <greg@inktank.com>
1087     Reviewed-by: Sage Weil <sage@inktank.com>
1088     (cherry picked from commit 3c76b81f2f96b790b72f2088164ed8e9d5efbba1)
1089
1090 commit 61b2aeee7c37e03d5f6691c08c7760c48a85a2e1
1091 Author: Greg Farnum <greg@inktank.com>
1092 Date:   Tue Feb 11 13:34:39 2014 -0800
1093
1094     OSD: create a helper for handling OSDMap subscriptions, and clean them up
1095     
1096     We've had some trouble with not clearing out subscription requests and
1097     overloading the monitors (though only because of other bugs). Write a
1098     helper for handling subscription requests that we can use to centralize
1099     safety logic. Clear out the subscription whenever we get a map that covers
1100     it; if there are more maps available than we received, we will issue another
1101     subscription request based on "m->newest_map" at the end of handle_osd_map().
1102     
1103     Notice that the helper will no longer request old maps which we already have,
1104     and that unless forced it will not dispatch multiple subscribe requests
1105     to a single monitor.
1106     Skipping old maps is safe:
1107     1) we only trim old maps when the monitor tells us to,
1108     2) we do not send messages to our peers until we have updated our maps
1109     from the monitor.
1110     That means only old and broken OSDs will send us messages based on maps
1111     in our past, and we can (and should) ignore any directives from them anyway.
1112     
1113     Signed-off-by: Greg Farnum <greg@inktank.com>
1114     Reviewed-by: Sage Weil <sage@inktank.com>
1115     (cherry picked from commit 6db3ae851d1c936de045390d18b1c6ae95f2a209)
1116     
1117     Conflicts:
1118     
1119         src/osd/OSD.h
1120
1121 commit d93d67d1a315d8abe8d1cd9d7ea83417a19e2406
1122 Author: Greg Farnum <greg@inktank.com>
1123 Date:   Tue Feb 11 13:31:26 2014 -0800
1124
1125     monc: new fsub_want_increment( function to make handling subscriptions easier
1126     
1127     Provide a subscription-modifying function which will not decrement
1128     the start version.
1129     
1130     Signed-off-by: Greg Farnum <greg@inktank.com>
1131     Reviewed-by: Sage Weil <sage@inktank.com>
1132     (cherry picked from commit 5b9c187caf6f7847aaa4a1003d200158dd32bf63)
1133
1134 commit 37fbcb958f79bbfcba57c516b4862a14c52be398
1135 Author: Greg Farnum <greg@inktank.com>
1136 Date:   Wed Feb 12 11:30:15 2014 -0800
1137
1138     OSD: disable the PGStatsAck timeout when we are reconnecting to a monitor
1139     
1140     Previously, the timeout counter started as soon as we issued the reopen,
1141     but if the reconnect process itself took a while, we might time out and
1142     issue another reopen just as we get to the point where it's possible to
1143     get work done. Since the mon client has its own reconnect timeouts (that is,
1144     the OSD doesn't need to trigger those), we instead disable our timeouts
1145     while the reconnect is happening, and then turn them back on again starting
1146     from when we get the reconnect callback.
1147     
1148     Signed-off-by: Greg Farnum <greg@inktank.com>
1149     Reviewed-by: Sage Weil <sage@inktank.com>
1150     (cherry picked from commit 64cedf6fa3ee309cc96554286bfb805e4ca89439)
1151     
1152     Conflicts:
1153     
1154         src/osd/OSD.cc
1155
1156 commit 9be395e870c50d97604ef41f17667cc566fd84e1
1157 Author: Greg Farnum <greg@inktank.com>
1158 Date:   Wed Feb 12 13:51:48 2014 -0800
1159
1160     monc: backoff the timeout period when reconnecting
1161     
1162     If the monitors are systematically slowing down, we don't want to spam
1163     them with reconnect attempts every three seconds. Instead, every time
1164     we issue a reconnect, multiply our timeout period by a configurable; when
1165     we complete the connection, reduce that multipler by 50%. This should let
1166     us respond to monitor load.
1167     Of course, we don't want to do that for initial startup in the case of a
1168     couple down monitors, so don't apply the backoff until we've successfully
1169     connected to a monitor at least once.
1170     
1171     Signed-off-by: Greg Farnum <greg@inktank.com>
1172     Reviewed-by: Sage Weil <sage@inktank.com>
1173     (cherry picked from commit 794c86fd289bd62a35ed14368fa096c46736e9a2)
1174
1175 commit 8f4c20bdab153d1603cc99186d8d3e3970aa8976
1176 Author: Greg Farnum <greg@inktank.com>
1177 Date:   Wed Feb 12 13:37:50 2014 -0800
1178
1179     monc: set "hunting" to true when we reopen the mon session
1180     
1181     If we don't have a connecton to a monitor, we want to retry to another
1182     monitor regardless of whether it's the first time or not.
1183     
1184     Signed-off-by: Greg Farnum <greg@inktank.com>
1185     Reviewed-by: Sage Weil <sage@inktank.com>
1186     (cherry picked from commit 60da8abe0ebf17ce818d6fcc6391401878123bb7)
1187
1188 commit c6317558e0d3c8c62aecee0d95a839f93303f681
1189 Author: Greg Farnum <greg@inktank.com>
1190 Date:   Tue Feb 11 17:53:56 2014 -0800
1191
1192     monc: let users specify a callback when they reopen their monitor session
1193     
1194     Then the callback is triggered when a new session is established, and the
1195     daemon can do whatever it likes. There are no guarantees about how long it
1196     might take to trigger, though. In particular we call the provided callback
1197     while not holding our own lock in order to avoid deadlock. This could lead
1198     to some funny ordering from the user's perspective if they call
1199     reopen_session() again before getting the callback, but there's no way around
1200     that, so they just have to use it appropriately.
1201     
1202     Signed-off-by: Greg Farnum <greg@inktank.com>
1203     Reviewed-by: Sage Weil <sage@inktank.com>
1204     (cherry picked from commit 1a8c43474bf36bfcf2a94bf9b7e756a2a99f33fd)
1205
1206 commit 0ae335298b85daba5125a3da4ad26d598c76ecab (refs/remotes/gh/multi-object-delete)
1207 Author: Yehuda Sadeh <yehuda@inktank.com>
1208 Date:   Tue Feb 11 16:54:05 2014 -0800
1209
1210     rgw: multi object delete should be idempotent
1211     
1212     Fixes: #7346
1213     When doing a multi object delete, if an object does not exist then we
1214     should return a success code for that object.
1215     
1216     Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
1217     (cherry picked from commit 8ca3d95bf633ea9616852cec74f02285a03071d5)
1218     
1219     Conflicts:
1220         src/rgw/rgw_op.cc