Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / ceph / doc / changelog / v0.61.5.txt
1 commit 8ee10dc4bb73bdd918873f29c70eedc3c7ef1979
2 Author: Gary Lowell <gary.lowell@inktank.com>
3 Date:   Wed Jul 17 16:39:08 2013 -0700
4
5     v0.61.5
6
7 commit 39bffac6b6c898882d03de392f7f2218933d942b
8 Author: Sage Weil <sage@inktank.com>
9 Date:   Tue Jul 16 13:14:50 2013 -0700
10
11     ceph-disk: rely on /dev/disk/by-partuuid instead of special-casing journal symlinks
12     
13     This was necessary when ceph-disk-udev didn't create the by-partuuid (and
14     other) symlinks for us, but now it is fragile and error-prone.  (It also
15     appears to be broken on a certain customer RHEL VM.)  See
16     d7f7d613512fe39ec883e11d201793c75ee05db1.
17     
18     Instead, just use the by-partuuid symlinks that we spent all that ugly
19     effort generating.
20     
21     Backport: cuttlefish
22     Signed-off-by: Sage Weil <sage@inktank.com>
23     Reviewed-by: Dan Mick <dan.mick@inktank.com>
24     (cherry picked from commit 64379e701b3ed862c05f156539506d3382f77aa8)
25
26 commit 363d54288254b5e2311cd28fce5988d68cfd5773
27 Author: Joao Eduardo Luis <joao.luis@inktank.com>
28 Date:   Tue Jul 16 16:49:48 2013 +0100
29
30     mon: Monitor: StoreConverter: clearer debug message on 'needs_conversion()'
31     
32     The previous debug message outputted the function's name, as often our
33     functions do.  This was however a source of bewilderment, as users would
34     see those in logs and think their stores would need conversion.  Changing
35     this message is trivial enough and it will make ceph users happier log
36     readers.
37     
38     Backport: cuttlefish
39     Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
40     Reviewed-by: Sage Weil <sage@inktank.com>
41     (cherry picked from commit ad1392f68170b391d11df0ce5523c2d1fb57f60e)
42
43 commit 0ea89760def73f76d8100889eca3c25b0a6eb772
44 Author: Joao Eduardo Luis <joao.luis@inktank.com>
45 Date:   Tue Jul 16 16:45:39 2013 +0100
46
47     mon: Monitor: do not reopen MonitorDBStore during conversion
48     
49     We already open the store on ceph_mon.cc, before we start the conversion.
50     Given we are unable to reproduce this every time a conversion is triggered,
51     we are led to believe that this causes a race in leveldb that will lead
52     to 'store.db/LOCK' being locked upon the open this patch removes.
53     
54     Regardless, reopening the db here is pointless as we already did it when
55     we reach Monitor::StoreConverter::convert().
56     
57     Fixes: #5640
58     Backport: cuttlefish
59     
60     Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
61     Reviewed-by: Sage Weil <sage@inktank.com>
62     (cherry picked from commit 036e6739a4e873863bae3d7d00f310c015dfcdb3)
63
64 commit 595c09df9134fb0d62144fe1594914c90e567dca
65 Author: Sage Weil <sage@inktank.com>
66 Date:   Sun Jul 14 15:54:29 2013 -0700
67
68     messages/MClientReconnect: clear data when encoding
69     
70     The MClientReconnect puts everything in the data payload portion of
71     the message and nothing in the front portion.  That means that if the
72     message is resent (socket failure or something), the messenger thinks it
73     hasn't been encoded yet (front empty) and reencodes, which means
74     everything gets added (again) to the data portion.
75     
76     Decoding keep decoding until it runs out of data, so the second copy
77     means we decode garbage snap realms, leading to the crash in bug
78     
79     Clearing data each time around resolves the problem, although it does
80     mean we do the encoding work multiple times.  We could alternatively
81     (or also) stick some data in the front portion of the payload
82     (ignored), but that changes the wire protocol and I would rather not
83     do that.
84     
85     Fixes: #4565
86     Backport: cuttlefish
87     Signed-off-by: Sage Weil <sage@inktank.com>
88     Reviewed-by: Greg Farnum <greg@inktank.com>
89     (cherry picked from commit 314cf046b0b787ca69665e8751eab6fe7adb4037)
90
91 commit 8c178e0d39d8d4a4820eb061f79d74f95e60199f
92 Author: Sage Weil <sage@inktank.com>
93 Date:   Mon Jul 15 10:05:37 2013 -0700
94
95     mon: once sync full is chosen, make sure we don't change our mind
96     
97     It is possible for a sequence like:
98     
99      - probe
100      - first probe reply has paxos trim that indicates a full sync is
101        needed
102      - start sync
103      - clear store
104      - something happens that makes us abort and bootstrap (e.g., the
105        provider mon restarts
106      - probe
107      - first probe reply has older paxos trim bound and we call an election
108      - on election completion, we crash because we have no data.
109     
110     Non-determinism of the probe decision aside, we need to ensure that
111     the info we share during probe (fc, lc) is accurate, and that once we
112     clear the store we know we *must* do a full sync.
113     
114     This is a backport of aa60f940ec1994a61624345586dc70d261688456.
115     
116     Fixes: #5621
117     Signed-off-by: Sage Weil <sage@inktank.com>
118     Reviewed-by: Greg Farnum <greg@inktank.com>
119
120 commit 6af0ed9bc4cc955f8c30ad9dc6e9095599f323d0
121 Author: Sage Weil <sage@inktank.com>
122 Date:   Tue Jul 9 14:12:15 2013 -0700
123
124     mon: do not scrub if scrub is in progress
125     
126     This prevents an assert from unexpected scrub results from the previous
127     scrub on the leader.
128     
129     Backport: cuttlefish
130     Signed-off-by: Sage Weil <sage@inktank.com>
131     (cherry picked from commit 00ae543b3e32f89d906a0e934792cc5309f57696)
132
133 commit 5642155ba5ca9b384a7af058a6538ac00c2a592d
134 Author: Sage Weil <sage@inktank.com>
135 Date:   Wed Jul 10 10:06:20 2013 -0700
136
137     messages/MPGStats: do not set paxos version to osdmap epoch
138     
139     The PaxosServiceMessage version field is meant for client-coordinated
140     ordering of messages when switching between monitors (and is rarely
141     used).  Do not fill it with the osdmap epoch lest it be compared to a
142     pgmap version, which may cause the mon to (near) indefinitely put it on
143     a wait queue until the pgmap version catches up.
144     
145     Backport: cuttlefish
146     Signed-off-by: Sage Weil <sage@inktank.com>
147     Reviewed-by: Greg Farnum <greg@inktank.com>
148     (cherry picked from commit b36338be43f43b6dd4ee87c97f2eaa23b467c386)
149
150 commit 06c65988bb0b1d1ec626fe31e9d806a1c4e24b28
151 Author: Sage Weil <sage@inktank.com>
152 Date:   Thu Jul 11 18:43:24 2013 -0700
153
154     osd/OSDmap: fix OSDMap::Incremental::dump() for new pool names
155     
156     The name is always present when pools are created, but not when they are
157     modified.  Also, a name may be present with a new_pools entry if the pool
158     is just renamed.  Separate it out completely in the dump.
159     
160     Backport: cuttlefish, bobtail
161     Signed-off-by: Sage Weil <sage@inktank.com>
162     (cherry picked from commit 3e4a29111e89588385e63f8d92ce3d67739dd679)
163
164 commit 658240710baaf9c661b8fbf856322907a0d394ee
165 Author: Sage Weil <sage@inktank.com>
166 Date:   Mon Jul 8 10:49:28 2013 -0700
167
168     mon/PaxosService: prevent reads until initial service commit is done
169     
170     Do not process reads (or, by PaxosService::dispatch() implication, writes)
171     until we have committed the initial service state.  This avoids things like
172     EPERM due to missing keys when we race with mon creation, triggered by
173     teuthology tests doing their health check after startup.
174     
175     Fixes: #5515
176     Backport: cuttlefish
177     Signed-off-by: Sage Weil <sage@inktank.com>
178     Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
179     (cherry picked from commit d08b6d6df7dba06dad73bdec2c945f24afc02717)
180
181 commit 5c3ff33771e227b3fb5cc354323846fe8db4ecc1
182 Author: Sage Weil <sage@inktank.com>
183 Date:   Fri Jun 28 12:21:58 2013 -0700
184
185     client: send all request put's through put_request()
186     
187     Make sure all MetaRequest reference put's go through the same path that
188     releases inode references, including all of the error paths.
189     
190     Signed-off-by: Sage Weil <sage@inktank.com>
191     (cherry picked from commit 87217e1e3cb2785b79d0dec49bd3f23a827551f5)
192
193 commit 1df78ad73df581bc7537688ae28bda820b089a13
194 Author: Sage Weil <sage@inktank.com>
195 Date:   Fri Jun 28 11:50:11 2013 -0700
196
197     client: fix remaining Inode::put() caller, and make method psuedo-private
198     
199     Not sure I can make this actually private and make Client::put_inode() a
200     friend method (making all of Client a friend would defeat the purpose).
201     This works well enough, though!
202     
203     Signed-off-by: Sage Weil <sage@inktank.com>
204     (cherry picked from commit 9af3b86b25574e4d2cdfd43e61028cffa19bdeb1)
205
206 commit fea024cc3dd2c6fd9ff322d1cd15e0d75c92eca5
207 Author: Sage Weil <sage@inktank.com>
208 Date:   Thu Jun 27 21:39:35 2013 -0700
209
210     client: use put_inode on MetaRequest inode refs
211     
212     When we drop the request inode refs, we need to use put_inode() to ensure
213     they get cleaned up properly (removed from inode_map, caps released, etc.).
214     Do this explicitly here (as we do with all other inode put() paths that
215     matter).
216     
217     Fixes: #5381
218     Backport: cuttlefish
219     Signed-off-by: Sage Weil <sage@inktank.com>
220     (cherry picked from commit 81bee6487fb1ce9e090b030d61bda128a3cf4982)
221
222 commit 62ae39ec8f208cb8f89e43ba844b9a20b4315c61
223 Author: Sage Weil <sage@inktank.com>
224 Date:   Mon Jul 8 15:57:48 2013 -0700
225
226     mon: be smarter about calculating last_epoch_clean lower bound
227     
228     We need to take PGs whose mapping has not changed in a long time into
229     account.  For them, the pg state will indicate it was clean at the time of
230     the report, in which case we can use that as a lower-bound on their actual
231     latest epoch clean.  If they are not currently clean (at report time), use
232     the last_epoch_clean value.
233     
234     Fixes: #5519
235     Signed-off-by: Sage Weil <sage@inktank.com>
236     (cherry picked from commit cc0006deee3153e06ddd220bf8a40358ba830135)
237
238 commit da725852190245d2f91b7b21e72baee70e4342bd
239 Author: Sage Weil <sage@inktank.com>
240 Date:   Mon Jul 8 13:27:58 2013 -0700
241
242     osd: report pg stats to mon at least every N (=500) epochs
243     
244     The mon needs a moderately accurate last_epoch_clean value in order to trim
245     old osdmaps.  To prevent a PG that hasn't peered or received IO in forever
246     from preventing this, send pg stats at some minimum frequency.  This will
247     increase the pg stat report workload for the mon over an idle pool, but
248     should be no worse that a cluster that is getting actual IO and sees these
249     updates from normal stat updates.
250     
251     This makes the reported update a bit more aggressive/useful in that the epoch
252     is the last map epoch processed by this PG and not just one that is >= the
253     currenting interval.  Note that the semantics of this field are pretty useless
254     at this point.
255     
256     See #5519
257     
258     Signed-off-by: Sage Weil <sage@inktank.com>
259     (cherry picked from commit da81228cc73c95737f26c630e5c3eccf6ae1aaec)
260
261 commit 757af91b2af0da6bbfeeb53551fa1ef4ef9118ea
262 Author: Sage Weil <sage@inktank.com>
263 Date:   Wed Jul 10 11:32:34 2013 -0700
264
265     osd: fix warning
266     
267     From 653e04a79430317e275dd77a46c2b17c788b860b
268     
269     Backport: cuttlefish, bobtail
270     Signed-off-by: Sage Weil <sage@inktank.com>
271     (cherry picked from commit bc291d3fc3fc1cac838565cbe0f25f71d855a6e3)
272
273 commit 65af2538329472d2fd078bb961863c40cdabda12
274 Merge: e537699 804314b
275 Author: Sage Weil <sage@inktank.com>
276 Date:   Fri Jul 12 15:21:20 2013 -0700
277
278     Merge remote-tracking branch 'gh/wip-mon-sync-2' into cuttlefish
279     
280     Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
281     Reviewed-by: Greg Farnum <greg@inktank.com>
282
283 commit e537699b33f84c14f027b56372fbcb0a99bbe88d
284 Author: Sandon Van Ness <sandon@inktank.com>
285 Date:   Wed Jul 10 14:55:52 2013 -0700
286
287     Get device-by-path by looking for it instead of assuming 3rd entry.
288     
289     On some systems (virtual machines so far) the device-by-path entry
290     from udevadm is not always in the same spot so instead actually
291     look for the right output instead of blindy assuming that its a
292     specific field in the output.
293     
294     Signed-off-by: Sandon Van Ness <sandon@inktank.com>
295     Reviewed-by: Gary Lowell  <gary.lowell@inktank.com>
296
297 commit 804314b8bfa5ec75cc9653e2928874c457395c92
298 Merge: 6ad9fe1 78f2266
299 Author: Sage Weil <sage@inktank.com>
300 Date:   Wed Jul 10 11:40:37 2013 -0700
301
302     Merge remote-tracking branch 'gh/cuttlefish' into wip-mon-sync-2
303
304 commit 78f226634bd80f6678b1f74ccf785bc52fcd6b62
305 Author: Sage Weil <sage@inktank.com>
306 Date:   Wed Jul 10 11:02:08 2013 -0700
307
308     osd: limit number of inc osdmaps send to peers, clients
309     
310     We should not send an unbounded number of inc maps to our peers or clients.
311     In particular, if a peer is not contacted for a while, we may think they
312     have a very old map (say, 10000 epochs ago) and send thousands of inc maps
313     when the distribution shifts and we need to peer.
314     
315     Note that if we do not send enough maps, the peers will make do by
316     requesting the map from somewhere else (currently the mon).  Regardless
317     of the source, however, we must limit the amount that we speculatively
318     share as it usually is not needed.
319     
320     Backport: cuttlefish, bobtail
321     Signed-off-by: Sage Weil <sage@inktank.com>
322     Reviewed-by: Samuel Just <sam.just@inktank.com>
323     (cherry picked from commit 653e04a79430317e275dd77a46c2b17c788b860b)
324
325 commit 54ee2dc80ed032c286546da51442340ec9991cdf
326 Author: Christophe Courtaut <christophe.courtaut@gmail.com>
327 Date:   Mon Jul 1 14:57:17 2013 +0200
328
329     rgw: Fix return value for swift user not found
330     
331     http://tracker.ceph.com/issues/1779 fixes #1779
332     
333     Adjust the return value from rgw_get_user_info_by_swift call
334     in RGW_SWIFT_Auth_Get::execute() to have the correct
335     return code in response.
336     (cherry picked from commit 4089001de1f22d6acd0b9f09996b71c716235551)
337
338 commit 47852c263831707fff1570317a7446b0700c5962
339 Author: Sage Weil <sage@inktank.com>
340 Date:   Tue Jul 9 21:55:51 2013 -0700
341
342     mon/OSDMonitor: make 'osd crush rm ...' slightly more idempotent
343     
344     This is a manual backport of 18a624fd8b90d9959de51f07622cf0839e6bd9aa.
345     Do not return immediately if we are looking at uncommitted state.t
346     
347     Signed-off-by: Sage Weil <sage@inktank.com>
348
349 commit bfc26c656d183fbcc90a352391e47f9f51c96052
350 Author: Sage Weil <sage@inktank.com>
351 Date:   Mon Jul 8 17:46:40 2013 -0700
352
353     mon/OSDMonitor: fix base case for loading full osdmap
354     
355     Right after cluster creation, first_committed is 1 and latest stashed in 0,
356     but we don't have the initial full map yet.  Thereafter, we do (because we
357     write it with trim).  Fixes afd6c7d8247075003e5be439ad59976c3d123218.
358     
359     Signed-off-by: Sage Weil <sage@inktank.com>
360     Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
361     (cherry picked from commit 43fa7aabf1f7e5deb844c1f52d451bab9e7d1006)
362
363 commit 7fb3804fb860dcd0340dd3f7c39eec4315f8e4b6
364 Author: Sage Weil <sage@inktank.com>
365 Date:   Mon Jul 8 15:04:59 2013 -0700
366
367     mon: fix osdmap stash, trim to retain complete history of full maps
368     
369     The current interaction between sync and stashing full osdmaps only on
370     active mons means that a sync can result in an incomplete osdmap_full
371     history:
372     
373      - mon.c starts a full sync
374      - during sync, active osdmap service should_stash_full() is true and
375        includes a full in the txn
376      - mon.c sync finishes
377      - mon.c update_from_paxos gets "latest" stashed that it got from the
378        paxos txn
379      - mon.c does *not* walk to previous inc maps to complete it's collection
380        of full maps.
381     
382     To fix this, we disable the periodic/random stash of full maps by the
383     osdmap service.
384     
385     This introduces a new problem: we must have at least one full map (the first
386     one) in order for a mon that just synced to build it's full collection.
387     Extend the encode_trim() process to allow the osdmap service to include
388     the oldest full map with the trim txn.  This is more complex than just
389     writing the full maps in the txn, but cheaper--we only write the full
390     map at trim time.
391     
392     This *might* be related to previous bugs where the full osdmap was
393     missing, or case where leveldb keys seemed to 'disappear'.
394     
395     Fixes: #5512
396     Backport: cuttlefish
397     Signed-off-by: Sage Weil <sage@inktank.com>
398     Reviewed-by: Greg Farnum <greg@inktank.com>
399     (cherry picked from commit afd6c7d8247075003e5be439ad59976c3d123218)
400
401 commit 24f90b832c695ef13021db66a178c18369ac356d
402 Author: Sage Weil <sage@inktank.com>
403 Date:   Mon Jul 8 15:07:57 2013 -0700
404
405     mon: implement simple 'scrub' command
406     
407     Compare all keys within the sync'ed prefixes across members of the quorum
408     and compare the key counts and CRC for inconsistencies.
409     
410     Currently this is a one-shot inefficient hammer.  We'll want to make this
411     work in chunks before it is usable in production environments.
412     
413     Protect with a feature bit to avoid sending MMonScrub to mons who can't
414     decode it.
415     
416     Signed-off-by: Sage Weil <sage@inktank.com>
417     Reviewed-by: Greg Farnum <greg@inktank.com>
418     (cherry picked from commit a9906641a1dce150203b72682da05651e4d68ff5)
419     
420     Conflicts:
421     
422         src/mon/MonCommands.h
423         src/mon/Monitor.cc
424
425 commit 926f723c12428a034545c6c4ff6641e1d5e05d24
426 Author: Samuel Just <sam.just@inktank.com>
427 Date:   Wed Jul 3 11:18:33 2013 -0700
428
429     Elector.h: features are 64 bit
430     
431     Fixes: #5497
432     Signed-off-by: Samuel Just <sam.just@inktank.com>
433     Reviewed-by: Sage Weil <sage@inktank.com>
434     Reviewed-by: Joao Luis <joao.luis@inktank.com>
435     (cherry picked from commit 3564e304e3f50642e4d9ff25e529d5fc60629093)
436
437 commit c2b38291e706c9d1d4d337cee3a944f34bf66525
438 Author: Samuel Just <sam.just@inktank.com>
439 Date:   Wed Jul 3 11:18:19 2013 -0700
440
441     ceph_features.h: declare all features as ULL
442     
443     Otherwise, the first 32 get |'d together as ints.  Then, the result
444     ((int)-1) is sign extended to ((long long int)-1) before being |'d
445     with the 1LL entries.  This results in ~((uint64_t)0).
446     
447     Fixes: #5497
448     Signed-off-by: Samuel Just <sam.just@inktank.com>
449     Reviewed-by: Sage Weil <sage@inktank.com>
450     Reviewed-by: Joao Luis <joao.luis@inktank.com>
451     (cherry picked from commit 4255b5c2fb54ae40c53284b3ab700fdfc7e61748)
452
453 commit 95ef961d8537fc369efd0634262ffb8f288d6e9e
454 Author: Samuel Just <sam.just@inktank.com>
455 Date:   Tue Jul 2 21:09:36 2013 -0700
456
457     Pipe: use uint64_t not unsigned when setting features
458     
459     Fixes: #5497
460     Signed-off-by: Samuel Just <sam.just@inktank.com>
461     Reviewed-by: Sage Weil <sage@inktank.com>
462     Reviewed-by: Joao Luis <joao.luis@inktank.com>
463     (cherry picked from commit bc3e2f09f8860555d8b3b49b2eea164b4118d817)
464
465 commit 09d258b70a28e5cea555b9d7e215fe41d6b84577
466 Author: Sage Weil <sage@inktank.com>
467 Date:   Mon Jul 8 11:24:48 2013 -0700
468
469     client: remove O_LAZY
470     
471     The once-upon-a-time unique O_LAZY value I chose forever ago is now
472     O_NOATIME, which means that some clients are choosing relaxed
473     consistency without meaning to.
474     
475     It is highly unlikely that a real O_LAZY will ever exist, and we can
476     select it in the ceph case with the ioctl or libcephfs call, so drop
477     any support for doing this via open(2) flags.
478     
479     Update doc/lazy_posix.txt file re: lazy io.
480     
481     Backport: cuttlefish
482     Signed-off-by: Sage Weil <sage@inktank.com>
483     Reviewed-by: Greg Farnum <greg@inktank.com>
484     (cherry picked from commit 94afedf02d07ad4678222aa66289a74b87768810)
485
486 commit c3b684932bad31fc853ad556d16e1e4a9926486e
487 Author: Sage Weil <sage@inktank.com>
488 Date:   Mon Jul 8 12:55:20 2013 -0700
489
490     osd/osd_types: fix pg_stat_t::dump for last_epoch_clean
491     
492     Backport: cuttlefish
493     Signed-off-by: Sage Weil <sage@inktank.com>
494     (cherry picked from commit 69a55445439fce0dd6a3d32ff4bf436da42f1b11)
495
496 commit a02f2510fcc800b9f2cf2a06401a7b97d5985409
497 Author: Sage Weil <sage@inktank.com>
498 Date:   Fri Jul 5 16:03:49 2013 -0700
499
500     mon: remove bad assert about monmap version
501     
502     It is possible to start a sync when our newest monmap is 0.  Usually we see
503     e0 from probe, but that isn't always published as part of the very first
504     paxos transaction due to the way PaxosService::_active generates it's
505     first initial commit.
506     
507     In any case, having e0 here is harmless.
508     
509     Fixes: #5509
510     Signed-off-by: Sage Weil <sage@inktank.com>
511     Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
512     (cherry picked from commit 85a1d6cc5d3852c94d1287b566656c5b5024fa13)
513
514 commit 6ad9fe17a674ba65bbeb4052cb1ac47f3113e7bf
515 Author: Sage Weil <sage@inktank.com>
516 Date:   Thu Jul 4 19:33:06 2013 -0700
517
518     mon/Paxos: fix sync restart
519     
520     If we have a sync going, and an election intervenes, the client will
521     try to continue by sending a new start_chunks request.  In order to
522     ensure that we get all of the paxos commits from our original starting
523     point (and thus properly update the keys from which they started),
524     only pay attention if they *also* send their current last_committed
525     version.  Otherwise, start them at the beginning.
526     
527     Signed-off-by: Sage Weil <sage@inktank.com>
528
529 commit c5812b1c893305a7d20f9eaec2695c8b1691f0c9
530 Author: Sage Weil <sage@inktank.com>
531 Date:   Thu Jul 4 14:57:06 2013 -0700
532
533     mon: uninline _trim_enable and Paxos::trim_{enable,disable} so we can debug them
534     
535     Signed-off-by: Sage Weil <sage@inktank.com>
536
537 commit 6fbcbd7fddf35a5be4b38e536871903bff4f9bf1
538 Author: Sage Weil <sage@inktank.com>
539 Date:   Thu Jul 4 14:55:34 2013 -0700
540
541     mon/Paxos: increase paxos max join drift
542     
543     A value of 10 is too aggressive for large, long-running syncs. 100 is
544     about 2 minutes of activity at most, which should be a more forgiving
545     buffer.
546     
547     Signed-off-by: Sage Weil <sage@inktank.com>
548
549 commit f3a51fa30e5ce1656853b40d831409f195f6e4ca
550 Author: Sage Weil <sage@inktank.com>
551 Date:   Thu Jul 4 14:21:04 2013 -0700
552
553     mon/Paxos: configure minimum paxos txns separately
554     
555     We were using paxos_max_join_drift to control the minimum number of
556     paxos transactions to keep around.  Instead, make this explicit, and
557     separate from the join drift.
558     
559     Signed-off-by: Sage Weil <sage@inktank.com>
560
561 commit 1156721f22f5f337241eef3d0276ca74fe6352d1
562 Author: Sage Weil <sage@inktank.com>
563 Date:   Thu Jul 4 17:09:07 2013 -0700
564
565     mon: include any new paxos commits in each sync CHUNK message
566     
567     We already take note of the paxos version when we begin the sync.  As
568     sync progresses and there are new paxos commits/txns, include those
569     and update last_committed, so that when sync completes we will have
570     a full view of everything that happened during sync.
571     
572     Note that this does not introduce any compatibility change.  This change
573     *only* affects the provider.  The key difference is that at the end
574     of the sync, the provide will set version to the latest version, and
575     not the version from the start of the sync (as was done previously).
576     
577     Signed-off-by: Sage Weil <sage@inktank.com>
578
579 commit 40672219a081f0dc2dd536977290ef05cfc9f097
580 Author: Sage Weil <sage@inktank.com>
581 Date:   Thu Jul 4 12:17:28 2013 -0700
582
583     mon/MonitorDBStore: expose get_chunk_tx()
584     
585     Allow users get the transaction unencoded.
586     
587     Signed-off-by: Sage Weil <sage@inktank.com>
588
589 commit db2bb270e93ed44f9252d65d1d4c9b36875d0ea5
590 Author: Sage Weil <sage@inktank.com>
591 Date:   Wed Jul 3 17:15:56 2013 -0700
592
593     mon: enable leveldb cache by default
594     
595     256 is not as large as the upstream 512 MB, but will help signficiantly and
596     be less disruptive for existing cuttlefish clusters.
597     
598     Sort-of backport of e93730b7ffa48b53c8da2f439a60cb6805facf5a.
599     
600     Signed-off-by: Sage Weil <sage@inktank.com>
601
602 commit 123f676e3ae8154ca94cb076c4c4ec5389d2a643
603 Author: Sage Weil <sage@inktank.com>
604 Date:   Wed Jul 3 16:56:06 2013 -0700
605
606     mon/Paxos: make 'paxos trim disabled max versions' much much larger
607     
608     108000 is about 3 hours if paxos is going full-bore (1 proposal/second).
609     That ought to be pretty safe.  Otherwise, we start trimming to soon and a
610     slow sync will just have to restart when it finishes.
611     
612     Backport: cuttlefish
613     Signed-off-by: Sage Weil <sage@inktank.com>
614     Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
615     (cherry picked from commit 71ebfe7e1abe4795b46cf00dfe1b03d1893368b0)
616     
617     Conflicts:
618     
619         src/common/config_opts.h
620
621 commit 03393c0df9f54e4f1db60e1058ca5a7cd89f44e6
622 Author: Sage Weil <sage@inktank.com>
623 Date:   Wed Jun 26 06:01:40 2013 -0700
624
625     mon: do not reopen MonitorDBStore during startup
626     
627     level doesn't seem to like this when it races with an internal compaction
628     attempt (see below).  Instead, let the store get opened by the ceph_mon
629     caller, and pull a bit of the logic into the caller to make the flow a
630     little easier to follow.
631     
632         -2> 2013-06-25 17:49:25.184490 7f4d439f8780 10 needs_conversion
633         -1> 2013-06-25 17:49:25.184495 7f4d4065c700  5 asok(0x13b1460) entry start
634          0> 2013-06-25 17:49:25.316908 7f4d3fe5b700 -1 *** Caught signal (Segmentation fault) **
635      in thread 7f4d3fe5b700
636     
637      ceph version 0.64-667-g089cba8 (089cba8fc0e8ae8aef9a3111cba7342ecd0f8314)
638      1: ceph-mon() [0x649f0a]
639      2: (()+0xfcb0) [0x7f4d435dccb0]
640      3: (leveldb::Table::BlockReader(void*, leveldb::ReadOptions const&, leveldb::Slice const&)+0x154) [0x806e54]
641      4: ceph-mon() [0x808840]
642      5: ceph-mon() [0x808b39]
643      6: ceph-mon() [0x806540]
644      7: (leveldb::DBImpl::DoCompactionWork(leveldb::DBImpl::CompactionState*)+0xdd) [0x7f363d]
645      8: (leveldb::DBImpl::BackgroundCompaction()+0x2c0) [0x7f4210]
646      9: (leveldb::DBImpl::BackgroundCall()+0x68) [0x7f4cc8]
647      10: ceph-mon() [0x80b3af]
648      11: (()+0x7e9a) [0x7f4d435d4e9a]
649      12: (clone()+0x6d) [0x7f4d4196bccd]
650      NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
651     
652     Signed-off-by: Sage Weil <sage@inktank.com>
653     (cherry picked from commit ea1f316e5de21487ae034a1aa929068ba23ac525)
654
655 commit 0143acc49bc5834836afc2c5a9d8f67030bec85f
656 Author: Sage Weil <sage@inktank.com>
657 Date:   Tue Jul 2 14:43:17 2013 -0700
658
659     sysvinit, upstart: handle symlinks to dirs in /var/lib/ceph/*
660     
661     Match a symlink to a dir, not just dirs.  This fixes the osd case of e.g.,
662     creating an osd in /data/osd$id in which ceph-disk makes a symlink from
663     /var/lib/ceph/osd/ceph-$id.
664     
665     Fix proposed by Matt Thompson <matt.thompson@mandiant.com>; extended to
666     include the upstart users too.
667     
668     Fixes: #5490
669     Signed-off-by: Sage Weil <sage@inktank.com>
670     Reviewed-by: Dan Mick <dan.mick@inktank.com>
671     (cherry picked from commit 87c98e92d1375c8bc76196bbbf06f677bef95e64)
672
673 commit 7e878bcc8c1b51538f3c05f854a9dac74c09b116
674 Author: Sage Weil <sage@inktank.com>
675 Date:   Mon Jul 1 17:33:11 2013 -0700
676
677     rgw: add RGWFormatter_Plain allocation to sidestep cranky strlen()
678     
679     Valgrind complains about an invalid read when we don't pad the allocation,
680     and because it is inlined we can't whitelist it for valgrind.  Workaround
681     the warning by just padding our allocations a bit.
682     
683     Fixes: #5346
684     Backport: cuttlefish
685     Signed-off-by: Sage Weil <sage@inktank.com>
686     (cherry picked from commit 49ff63b1750789070a8c6fef830c9526ae0f6d9f)
687
688 commit ca61402855966210ba1598239eaf454eaad0f5f2
689 Author: Yan, Zheng <zheng.z.yan@intel.com>
690 Date:   Wed May 15 11:24:36 2013 +0800
691
692     mds: warn on unconnected snap realms
693     
694     When there are more than one active MDS, restarting MDS triggers
695     assertion "reconnected_snaprealms.empty()" quite often. If there
696     is no snapshot in the FS, the items left in reconnected_snaprealms
697     should be other MDS' mdsdir. I think it's harmless.
698     
699     If there are snapshots in the FS, the assertion probably can catch
700     real bugs. But at present, snapshot feature is broken, fixing it is
701     non-trivial. So replace the assertion with a warning.
702     
703     Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
704     (cherry picked from commit 26effc0e583b0a3dade6ec81ef26dec1c94ac8b2)
705
706 commit e11f258831e14dc3755e09c0fd4f9bfdf79022a7
707 Author: Sage Weil <sage@inktank.com>
708 Date:   Wed Jun 26 06:53:08 2013 -0700
709
710     mon/PGMonitor: use post_paxos_update, not init, to refresh from osdmap
711     
712     We do two things here:
713      - make init an one-time unconditional init method, which is what the
714        health service expects/needs.
715      - switch PGMonitor::init to be post_paxos_update() which is called after
716        the other services update, which is what PGMonitor really needs.
717     
718     This is a new version of the fix originally in commit
719     a2fe0137946541e7b3b537698e1865fbce974ca6 (and those around it).  That is,
720     this re-fixes a problem where osds do not see pg creates from their
721     subscribe due to map_pg_creates() not getting called.
722     
723     Backport: cuttlefish
724     Signed-off-by: Sage Weil <sage@inktank.com>
725     (cherry picked from commit e635c47851d185eda557e36bdc4bf3775f7b87a2)
726     
727     Conflicts:
728         src/mon/PGMonitor.cc
729         src/mon/PGMonitor.h
730
731 commit 4d07fb014178da3c88edeb8765e1aaacb8cb8ffa
732 Author: Sage Weil <sage@inktank.com>
733 Date:   Wed Jun 26 06:52:01 2013 -0700
734
735     mon/PaxosService: add post_paxos_update() hook
736     
737     Some services need to update internal state based on other service's
738     state, and thus need to be run after everyone has pulled their info out of
739     paxos.
740     
741     Backport: cuttlefish
742     Signed-off-by: Sage Weil <sage@inktank.com>
743     (cherry picked from commit 131686980f0a930d5de7cbce8234fead5bd438b6)
744
745 commit 90f5c448abeb127ae5a5528a79bd7bdbc74cb497
746 Author: Greg Farnum <greg@inktank.com>
747 Date:   Thu Jun 27 14:58:14 2013 -0700
748
749     ceph-disk: s/else if/elif/
750     
751     Signed-off-by: Greg Farnum <greg@inktank.com>
752     Reviewed-by: Joao Luis <joao.luis@inktank.com>
753     (cherry picked from commit bd8255a750de08c1b8ee5e9c9a0a1b9b16171462)
754     (cherry picked from commit 9e604ee6943fdb131978afbec51321050faddfc6)
755
756 commit 5c4bb463dca5aa61ea5f02f7592d5a3cc82cf6f4
757 Author: Yehuda Sadeh <yehuda@inktank.com>
758 Date:   Wed Jun 26 11:28:57 2013 -0700
759
760     rgw: fix radosgw-admin buckets list
761     
762     Fixes: #5455
763     Backport: cuttlefish
764     This commit fixes a regression, where radosgw-admin buckets list
765     operation wasn't returning any data.
766     
767     Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
768     Reviewed-by: Sage Weil <sage@inktank.com>
769     (cherry picked from commit e1f9fe58d2860fcbb18c92d3eb3946236b49a6ce)
770
771 commit b2fb48762f32279e73feb83b220339fea31275e9
772 Author: Sage Weil <sage@inktank.com>
773 Date:   Wed Jun 19 17:27:49 2013 -0700
774
775     ceph-disk: use unix lock instead of lockfile class
776     
777     The lockfile class relies on file system trickery to get safe mutual
778     exclusion.  However, the unix syscalls do this for us.  More
779     importantly, the unix locks go away when the owning process dies, which
780     is behavior that we want here.
781     
782     Fixes: #5387
783     Backport: cuttlefish
784     Signed-off-by: Sage Weil <sage@inktank.com>
785     Reviewed-by: Dan Mick <dan.mick@inktank.com>
786     (cherry picked from commit 2a4953b697a3464862fd3913336edfd7eede2487)
787
788 commit 26e7a6fffde4abcb685f34247e8491c05ee2a68d
789 Author: Sage Weil <sage@inktank.com>
790 Date:   Wed Jun 26 18:27:49 2013 -0700
791
792     ceph-disk: do not mount over an osd directly in /var/lib/ceph/osd/$cluster-$id
793     
794     If we see a 'ready' file in the target OSD dir, do not mount our device
795     on top of it.
796     
797     Among other things, this prevents ceph-disk activate on stray disks from
798     stepping on teuthology osds.
799     
800     Fixes: #5445
801     Signed-off-by: Sage Weil <sage@inktank.com>
802     (cherry picked from commit 8a17f33b14d858235dfeaa42be1f4842dcfd66d2)
803
804 commit ccb3dd5ad5533ca4e9b656b4e3df31025a5f2017
805 Author: Yan, Zheng <zheng.z.yan@intel.com>
806 Date:   Tue Apr 2 15:46:51 2013 +0800
807
808     mds: fix underwater dentry cleanup
809     
810     If the underwater dentry is a remove link, we shouldn't mark the
811     inode clean
812     
813     Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
814     (cherry picked from commit 81d073fecb58e2294df12b71351321e6d2e69652)
815
816 commit 3020c5ea07a91475a7261dc2b810f5b61a1ae1f2
817 Author: Sage Weil <sage@inktank.com>
818 Date:   Mon Jun 24 18:51:07 2013 -0700
819
820     mon/Elector: cancel election timer if we bootstrap
821     
822     If we short-circuit and bootstrap, cancel our timer.  Otherwise it will
823     go off some time later when we are in who knows what state.
824     
825     Backport: cuttlefish
826     Signed-off-by: Sage Weil <sage@inktank.com>
827     Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
828     (cherry picked from commit 9ae0ec83dabe37ac15e5165559debdfef7a5f91d)
829
830 commit 305f0c50a5f0ffabc73e10bdf4590217d5d5d211
831 Author: Sage Weil <sage@inktank.com>
832 Date:   Mon Jun 24 18:12:11 2013 -0700
833
834     mon: cancel probe timeout on reset
835     
836     If we are probing and get (say) an election timeout that calls reset(),
837     cancel the timer.  Otherwise, we assert later with a splat like
838     
839     2013-06-24 01:09:33.675882 7fb9627e7700  4 mon.b@0(leader) e1 probe_timeout 0x307a520
840     2013-06-24 01:09:33.676956 7fb9627e7700 -1 mon/Monitor.cc: In function 'void Monitor::probe_timeout(int)' thread 7fb9627e7700 time 2013-06-24 01:09:43.675904
841     mon/Monitor.cc: 1888: FAILED assert(is_probing() || is_synchronizing())
842     
843      ceph version 0.64-613-g134d08a (134d08a9654f66634b893d493e4a92f38acc63cf)
844      1: (Monitor::probe_timeout(int)+0x161) [0x56f5c1]
845      2: (Context::complete(int)+0xa) [0x574a2a]
846      3: (SafeTimer::timer_thread()+0x425) [0x7059a5]
847      4: (SafeTimerThread::entry()+0xd) [0x7065dd]
848      5: (()+0x7e9a) [0x7fb966f62e9a]
849      6: (clone()+0x6d) [0x7fb9652f9ccd]
850      NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
851     
852     Fixes: #5438
853     Backport: cuttlefish
854     Signed-off-by: Sage Weil <sage@inktank.com>
855     Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
856     (cherry picked from commit 03d3be3eaa96a8e72754c36abd6f355c68d52d59)
857
858 commit a8f601d543168f4cdbddf674479d8de4b8dfc732
859 Author: Alexandre Maragone <alexandre.marangone@inktank.com>
860 Date:   Tue Jun 18 16:18:01 2013 -0700
861
862     ceph-disk: make list_partition behave with unusual device names
863     
864     When you get device names like sdaa you do not want to mistakenly conclude that
865     sdaa is a partition of sda.  Use /sys/block/$device/$partition existence
866     instead.
867     
868     Fixes: #5211
869     Backport: cuttlefish
870     Signed-off-by: Alexandre Maragone <alexandre.maragone@inktank.com>
871     Reviewed-by: Sage Weil <sage@inktank.com>
872     (cherry picked from commit 8c0daafe003935881c5192e0b6b59b949269e5ae)
873
874 commit 1c890f5cdfc596588e54fffeb016b4a5e9e2124c
875 Author: Sage Weil <sage@inktank.com>
876 Date:   Mon Jun 17 20:28:24 2013 -0700
877
878     client: fix warning
879     
880     client/Client.cc: In member function 'virtual void Client::ms_handle_remote_reset(Connection*)':
881     warning: client/Client.cc:7892:9: enumeration value 'STATE_NEW' not handled in switch [-Wswitch]
882     warning: client/Client.cc:7892:9: enumeration value 'STATE_OPEN' not handled in switch [-Wswitch]
883     warning: client/Client.cc:7892:9: enumeration value 'STATE_CLOSED' not handled in switch [-Wswitch]
884     
885     Signed-off-by: Sage Weil <sage@inktank.com>
886     Reviewed-by: David Zafman <david.zafman@inktank.com>
887     (cherry picked from commit 8bd936f077530dfeb2e699164e4492b1c0973088)
888
889 commit c3b97591fd8206825bcfe65bdb24fbc75a2a9b42
890 Author: Sage Weil <sage@inktank.com>
891 Date:   Mon Jun 24 17:58:48 2013 -0700
892
893     mon/AuthMonitor: ensure initial rotating keys get encoded when create_initial called 2x
894     
895     The create_initial() method may get called multiple times; make sure it
896     will unconditionally generate new/initial rotating keys.  Move the block
897     up so that we can easily assert as much.
898     
899     Broken by commit cd98eb0c651d9ee62e19c2cc92eadae9bed678cd.
900     
901     Signed-off-by: Sage Weil <sage@inktank.com>
902     Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
903     (cherry picked from commit 521fdc2a4e65559b3da83283e6ca607b6e55406f)
904
905 commit 0cc826c385edb2e327505696491d3ff1c3bfe8fd
906 Author: Sage Weil <sage@inktank.com>
907 Date:   Mon Jun 24 17:42:04 2013 -0700
908
909     init-radosgw.sysv: remove -x debug mode
910     
911     Fixes: #5443
912     Signed-off-by: Sage Weil <sage@inktank.com>
913     (cherry picked from commit 31d6062076fdbcd2691c07a23b381b26abc59f65)
914
915 commit 4d57c12faceb7f591f10776c6850d98da55c667b
916 Author: Sage Weil <sage@inktank.com>
917 Date:   Mon Jun 24 12:52:44 2013 -0700
918
919     common/pick_addresses: behave even after internal_safe_to_start_threads
920     
921     ceph-mon recently started using Preforker to working around forking issues.
922     As a result, internal_safe_to_start_threads got set sooner and calls to
923     pick_addresses() which try to set string config values now fail because
924     there are no config observers for them.
925     
926     Work around this by observing the change while we adjust the value.  We
927     assume pick_addresses() callers are smart enough to realize that their
928     result will be reflected by cct->_conf and not magically handled elsewhere.
929     
930     Fixes: #5195, #5205
931     Backport: cuttlefish
932     Signed-off-by: Sage Weil <sage@inktank.com>
933     Reviewed-by: Dan Mick <dan.mick@inktank.com>
934     (cherry picked from commit eb86eebe1ba42f04b46f7c3e3419b83eb6fe7f9a)
935
936 commit e1ac7c6c3ca673d08710829aa5a3c03735710486
937 Author: Sage Weil <sage@inktank.com>
938 Date:   Thu Jun 20 15:39:23 2013 -0700
939
940     mon/PaxosService: allow paxos service writes while paxos is updating
941     
942     In commit f985de28f86675e974ac7842a49922a35fe24c6c I mistakenly made
943     is_writeable() false while paxos was updating due to a misread of
944     Paxos::propose_new_value() (I didn't see that it would queue).
945     This is problematic because it narrows the window during which each service
946     is writeable for no reason.
947     
948     Allow service to be writeable both when paxos is active and updating.
949     
950     Signed-off-by: Sage Weil <sage@inktank.com>
951     (cherry picked from commit 11169693d086e67dcf168ce65ef6e13eebd1a1ab)
952
953 commit 02b0b4a9acb439b2ee5deadc8b02492006492931
954 Author: Sage Weil <sage@inktank.com>
955 Date:   Fri Jun 7 11:41:21 2013 -0700
956
957     mon/PaxosService: not active during paxos UPDATING_PREVIOUS
958     
959     Treat this as an extension of the recovery process, e.g.
960     
961      RECOVERING -> ACTIVE
962     or
963      RECOVERING -> UPDATING_PREVIOUS -> ACTIVE
964     
965     and we are not active until we get to "the end" in both cases.
966     
967     Signed-off-by: Sage Weil <sage@inktank.com>
968     (cherry picked from commit 392a8e21f8571b410c85be2129ef62dd6fc52b54)
969
970 commit c6d5dc4d47838c8c8f4d059b7d018dea3f9c4425
971 Author: Sage Weil <sage@inktank.com>
972 Date:   Fri Jun 7 11:40:22 2013 -0700
973
974     mon: simplify states
975     
976     - make states mutually exclusive (an enum)
977     - rename locked -> updating_previous
978     - set state prior to begin() to simplify things a bit
979     
980     Signed-off-by: Sage Weil <sage@inktank.com>
981     (cherry picked from commit ee34a219605d1943740fdae0d84cfb9020302dd6)
982
983 commit c43b1f4dff254df96144b0b4d569cc72421a8fff
984 Author: Sage Weil <sage@inktank.com>
985 Date:   Fri Jun 7 11:14:58 2013 -0700
986
987     mon/Paxos: not readable when LOCKED
988     
989     If we are re-proposing a previously accepted value from a previous quorum,
990     we should not consider it readable, because it is possible it was exposed
991     to clients as committed (2/3 accepted) but not recored to be committed, and
992     we do not want to expose old state as readable when new state was
993     previously readable.
994     
995     Signed-off-by: Sage Weil <sage@inktank.com>
996     (cherry picked from commit ec2ea86ed55e00265c2cc5ad0c94460b4c92865c)
997
998 commit 10d41200622d76dbf276602828584e7153cb22b5
999 Author: Sage Weil <sage@inktank.com>
1000 Date:   Fri Jun 7 11:07:38 2013 -0700
1001
1002     mon/Paxos: cleanup: drop unused PREPARING state bit
1003     
1004     This is never set when we block, and nobody looks at it.
1005     
1006     Signed-off-by: Sage Weil <sage@inktank.com>
1007     (cherry picked from commit 7b7ea8e30e20704caad9a841332ecb2e39819a41)
1008
1009 commit 9d7c40e3f4ea2dd969aa0264ea8a6ad74f3e678a
1010 Author: Sage Weil <sage@inktank.com>
1011 Date:   Thu Jun 6 15:20:05 2013 -0700
1012
1013     mon/PaxosService: simplify is_writeable
1014     
1015     Recast this in terms of paxos check + our conditions, and make it
1016     match wait_for_writeable().
1017     
1018     Signed-off-by: Sage Weil <sage@inktank.com>
1019     (cherry picked from commit f985de28f86675e974ac7842a49922a35fe24c6c)
1020
1021 commit 35745cba8985c5f3238e3c28fd28b194fae043d9
1022 Author: Sage Weil <sage@inktank.com>
1023 Date:   Tue Jun 4 17:03:15 2013 -0700
1024
1025     mon/PaxosService: simplify readable check
1026     
1027     Recast this in terms of the paxos check and our additional conditions,
1028     which match wait_for_readable().
1029     
1030     Signed-off-by: Sage Weil <sage@inktank.com>
1031     (cherry picked from commit 3aa61a0beb540e48bf61ceded766d6ff52c95eb2)
1032
1033 commit 57c89291a48c319907fb3029746d9f5a4bd9dd61
1034 Author: Sage Weil <sage@inktank.com>
1035 Date:   Fri May 31 16:45:08 2013 -0700
1036
1037     mon: simplify Monitor::init_paxos()
1038     
1039     Signed-off-by: Sage Weil <sage@inktank.com>
1040     (cherry picked from commit e832e76a4af04b091c806ad412bcfd0326d75a2d)
1041
1042 commit fd1769cb2d61e8f2c7921a78760e8f12b28258fb
1043 Author: Sage Weil <sage@inktank.com>
1044 Date:   Fri May 31 16:39:37 2013 -0700
1045
1046     mon/Paxos: go active *after* refreshing
1047     
1048     The update_from_paxos() methods occasionally like to trigger new activity.
1049     As long as they check is_readable() and is_writeable(), they will defer
1050     until we go active and that activity will happen in the normal callbacks.
1051     
1052     This fixes the problem where we active but is_writeable() is still false,
1053     triggered by PGMonitor::check_osd_map().
1054     
1055     Signed-off-by: Sage Weil <sage@inktank.com>
1056     (cherry picked from commit e68b1bd36ed285e38a558899f83cf224d3aa60ed)
1057
1058 commit cf75478d027dfd377424988745230d096dae79ac
1059 Author: Sage Weil <sage@inktank.com>
1060 Date:   Fri May 31 15:32:06 2013 -0700
1061
1062     mon: safely signal bootstrap from MonmapMonitor::update_from_paxos()
1063     
1064     Signed-off-by: Sage Weil <sage@inktank.com>
1065     (cherry picked from commit dc83430124a5fd37573202a4cc0986c3c03739ef)
1066
1067 commit 6ac58cd9c1f9c80c5f3cbe97e19cfcd8427db46d
1068 Author: Sage Weil <sage@inktank.com>
1069 Date:   Sun Jun 2 16:57:11 2013 -0700
1070
1071     mon/Paxos: do paxos refresh in finish_proposal; and refactor
1072     
1073     Do the paxos refresh inside finish_proposal, ordered *after* the leader
1074     assertion so that MonmapMonitor::update_from_paxos() calling bootstrap()
1075     does not kill us.
1076     
1077     Also, remove unnecessary finish_queued_proposal() and move the logic inline
1078     where the bad leader assertion is obvious.
1079     
1080     Signed-off-by: Sage Weil <sage@inktank.com>
1081     (cherry picked from commit a42d7582f816b45f5d19c393fd45447555e78fdd)
1082
1083 commit 054e96d96533b1c4078402e43184f13b97329905
1084 Author: Joao Eduardo Luis <joao.luis@inktank.com>
1085 Date:   Sun Jun 2 16:15:02 2013 -0700
1086
1087     mon/PaxosService: cache {first,last}_committed
1088     
1089     Refresh the in-memory values when we are told the on-disk paxos state
1090     may have changed.
1091     
1092     Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
1093     (cherry picked from commit 2fccb300bdf6ffd44db3462eb05115da11322ed4)
1094
1095 commit 265212a7384399bf85e15e6978bc7543824c0e92
1096 Author: Sage Weil <sage@inktank.com>
1097 Date:   Fri May 31 14:30:48 2013 -0700
1098
1099     mon: no need to refresh from _active
1100     
1101     The refresh is done explicitly by the monitor, independent of the more
1102     fragile PaxosService callbacks.
1103     
1104     Signed-off-by: Sage Weil <sage@inktank.com>
1105     (cherry picked from commit d941363d6e4249e97b64faff0e573f75e918ac0c)
1106
1107 commit 1d8662504299babec22c714662cefbb86a0acb8b
1108 Author: Sage Weil <sage@inktank.com>
1109 Date:   Sun Jun 2 16:10:57 2013 -0700
1110
1111     mon: remove unnecessary update_from_paxos calls
1112     
1113     The refresh() will do this when the state changes; no need to
1114     opportunistically call this method all of the time.
1115     
1116     Signed-off-by: Sage Weil <sage@inktank.com>
1117     (cherry picked from commit 03014a4ecc06cde420fad0c6c2a0177ebd7b839d)
1118
1119 commit 34acc5a3161b6bcda2b9f7ce18d89a8618fff1c5
1120 Author: Sage Weil <sage@inktank.com>
1121 Date:   Sun Jun 2 16:14:01 2013 -0700
1122
1123     mon: explicitly refresh_from_paxos() when leveldb state changes
1124     
1125     Instead of opportunistically calling each service's update_from_paxos(),
1126     instead explicitly refresh all in-memory state whenever we know the
1127     paxos state may have changed.  This is simpler and less fragile.
1128     
1129     Signed-off-by: Sage Weil <sage@inktank.com>
1130     (cherry picked from commit cc339c07312006e65854207523f50542d00ecf87)
1131
1132 commit 4474a0cc6c009a566ecf46efadb39d80343a7c68
1133 Author: Sage Weil <sage@inktank.com>
1134 Date:   Sun Jun 23 09:25:55 2013 -0700
1135
1136     mon/AuthMonitor: make initial auth include rotating keys
1137     
1138     This closes a very narrow race during mon creation where there are no
1139     service keys.
1140     
1141     Fixes: #5427
1142     Signed-off-by: Sage Weil <sage@inktank.com>
1143     (cherry picked from commit cd98eb0c651d9ee62e19c2cc92eadae9bed678cd)
1144
1145 commit d572cf6f77418f217a5a8e37f1124dc566e24d0b
1146 Author: Sage Weil <sage@inktank.com>
1147 Date:   Fri Jun 21 11:53:29 2013 -0700
1148
1149     mds: fix iterator invalidation for backtrace removal
1150     
1151     - Don't increment before we dereference!
1152     - We need to update the iterator before we delete the item.
1153     
1154     This code is changed in master, so this fix is for cuttlefish only.
1155     
1156     Signed-off-by: Sage Weil <sage@inktank.com>
1157     Reviewed-by: Greg Farnum <greg@inktank.com>
1158
1159 commit 50957772c3582290331f69ba4a985b1cdf86834d
1160 Author: Sage Weil <sage@inktank.com>
1161 Date:   Thu May 9 09:44:20 2013 -0700
1162
1163     osd: init test_ops_hook
1164     
1165     CID 1019628 (#1 of 1): Uninitialized pointer field (UNINIT_CTOR)
1166     2. uninit_member: Non-static class member "test_ops_hook" is not initialized in this constructor nor in any functions that it calls.
1167     
1168     Signed-off-by: Sage Weil <sage@inktank.com>
1169     (cherry picked from commit e30a03210c3efb768b1653df5ae58917ef26e579)
1170
1171 commit 17d2745f095e7bb640dece611d7824d370ea3b81
1172 Author: Sage Weil <sage@inktank.com>
1173 Date:   Thu May 9 09:45:51 2013 -0700
1174
1175     osd: initialize OSDService::next_notif_id
1176     
1177     CID 1019627 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
1178     2. uninit_member: Non-static class member "next_notif_id" is not initialized in this constructor nor in any functions that it calls.
1179     
1180     Signed-off-by: Sage Weil <sage@inktank.com>
1181     (cherry picked from commit 499edd8bfc355c2d590f5fa1ef197d1ea5680351)
1182
1183 commit ffdb7236a994aa20b5f75860b9c81dac0f131f9a
1184 Author: Sage Weil <sage@inktank.com>
1185 Date:   Thu Jun 20 09:46:42 2013 -0700
1186
1187     mon: more fix dout use in sync_requester_abort()
1188     
1189     Signed-off-by: Sage Weil <sage@inktank.com>
1190     (cherry picked from commit d60534b8f59798feaeeaa17adba2a417d7777cbf)
1191
1192 commit 38ddae04bb974a93f1718c509363f1afbe6b612d
1193 Author: Sage Weil <sage@inktank.com>
1194 Date:   Mon Jun 10 11:48:25 2013 -0700
1195
1196     mon: fix raw use of *_dout in sync_requester_abort()
1197     
1198     Signed-off-by: Sage Weil <sage@inktank.com>
1199     (cherry picked from commit 8a4ed58e39b287fd8667c62b45848487515bdc80)