Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / ceph / doc / changelog / v0.56.2.txt
1 commit 586538e22afba85c59beda49789ec42024e7a061
2 Author: Gary Lowell <gary.lowell@inktank.com>
3 Date:   Tue Jan 29 23:54:47 2013 -0800
4
5     v0.56.2
6
7 commit bcb8dfad9cbb4c6af7ae7f9584e36449a03cd1b6
8 Author: Dan Mick <dan.mick@inktank.com>
9 Date:   Tue Jan 29 23:05:49 2013 -0800
10
11     cls_rbd, cls_rgw: use PRI*64 when printing/logging 64-bit values
12
13     caused segfaults in 32-bit build
14
15     Fixes: #3961
16     Signed-off-by: Dan Mick <dan.mick@inktank.com>
17     Reviewed-by: Sage Weil <sage@inktank.com>
18     (cherry picked from commit e253830abac76af03c63239302691f7fac1af381)
19
20 commit 5a7c5088cc8f57f75eb594a21bf5fb6661e50978
21 Author: Dan Mick <dan.mick@inktank.com>
22 Date:   Tue Jan 29 15:18:53 2013 -0800
23
24     init-ceph: make ulimit -n be part of daemon command
25
26     ulimit -n from 'max open files' was being set only on the machine
27     running /etc/init.d/ceph.  It needs to be added to the commands to
28     start the daemons, and run both locally and remotely.
29
30     Verified by examining /proc/<pid>/limits on local and remote hosts
31
32     Fixes: #3900
33     Signed-off-by: Dan Mick <dan.mick@inktank.com>
34     Reviewed-by: Loïc Dachary <loic@dachary.org>
35     Reviewed-by: Gary Lowell <gary.lowell@inktank.com>
36     (cherry picked from commit 84a024b647c0ac2ee5a91bacdd4b8c966e44175c)
37
38 commit 95677fc599b9bf37ab4c2037b3675fd68f92ebcf
39 Author: Joao Eduardo Luis <joao.luis@inktank.com>
40 Date:   Sat Jan 12 01:06:36 2013 +0000
41
42     mon: OSDMonitor: only share osdmap with up OSDs
43
44     Try to share the map with a randomly picked OSD; if the picked monitor is
45     not 'up', then try to find the nearest 'up' OSD in the map by doing a
46     backward and a forward linear search on the map -- this would be O(n) in
47     the worst case scenario, as we only do a single iteration starting on the
48     picked position, incrementing and decrementing two different iterators
49     until we find an appropriate OSD or we exhaust the map.
50
51     Fixes: #3629
52     Backport: bobtail
53
54     Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
55     Reviewed-by: Sage Weil <sage@inktank.com>
56     (cherry picked from commit 3610e72e4f9117af712f34a2e12c5e9537a5746f)
57
58 commit e4d76cb8594c0ec901f89c2f2e8cc53e00eb2a06
59 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
60 Date:   Sun Jan 27 21:57:31 2013 +0100
61
62     utime: fix narrowing conversion compiler warning in sleep()
63
64     Fix compiler warning:
65     ./include/utime.h: In member function 'void utime_t::sleep()':
66     ./include/utime.h:139:50: warning: narrowing conversion of
67      '((utime_t*)this)->utime_t::tv.utime_t::<anonymous struct>::tv_sec' from
68      '__u32 {aka unsigned int}' to '__time_t {aka long int}' inside { } is
69      ill-formed in C++11 [-Wnarrowing]
70     ./include/utime.h:139:50: warning: narrowing conversion of
71      '((utime_t*)this)->utime_t::tv.utime_t::<anonymous struct>::tv_nsec' from
72      '__u32 {aka unsigned int}' to 'long int' inside { } is
73      ill-formed in C++11 [-Wnarrowing]
74
75     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
76     (cherry picked from commit 014fc6d6c1c68e2e3ad0117d08c4e46e4030d49e)
77
78 commit a8964107ddf02ac4a6707a997e1b634c1084a3b9
79 Author: Yehuda Sadeh <yehuda@inktank.com>
80 Date:   Mon Jan 28 17:13:23 2013 -0800
81
82     rgw: fix crash when missing content-type in POST object
83
84     Fixes: #3941
85     This fixes a crash when handling S3 POST request and content type
86     is not provided.
87
88     Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
89     (cherry picked from commit f41010c44b3a4489525d25cd35084a168dc5f537)
90
91 commit 11e1f3acf0953e9ac38322c0423144eaabd7bb61
92 Author: Samuel Just <sam.just@inktank.com>
93 Date:   Fri Jan 11 15:00:02 2013 -0800
94
95     ReplicatedPG: make_snap_collection when moving snap link in snap_trimmer
96
97     Backport: bobtail
98     Signed-off-by: Samuel Just <sam.just@inktank.com>
99     Reviewed-by: Sage Weil <sage@inktank.com>
100     (cherry picked from commit 88956e3186798058a1170803f8abfc0f3cf77a07)
101
102 commit c9201d0e9de5f4766a2d9f4715eb7c69691964de
103 Author: Samuel Just <sam.just@inktank.com>
104 Date:   Fri Jan 11 16:43:14 2013 -0800
105
106     ReplicatedPG: correctly handle new snap collections on replica
107
108     Backport: bobtail
109     Signed-off-by: Samuel Just <sam.just@inktank.com>
110     Reviewed-by: Sage Weil <sage@inktank.com>
111     (cherry picked from commit 9e44fca13bf1ba39dbcad29111b29f46c49d59f7)
112
113 commit 2efdfb41c1bc9128b76416630ee00a75de90c020
114 Author: Joao Eduardo Luis <joao.luis@inktank.com>
115 Date:   Sun Jan 27 18:08:15 2013 +0000
116
117     mon: Elector: reset the acked leader when the election finishes and we lost
118
119     Failure to do so will mean that we will always ack the same leader during
120     an election started by another monitor.  This had been working so far
121     because we were still acking the existing leader if he was supposed to
122     still be the leader; or we were acking a new potentially leader; or we
123     would eventually fall behind on an election and start a new election
124     ourselves, thus resetting the previously acked leader.  While this wasn't
125     something that mattered much until now, the timechecks code stumbled into
126     this tiny issue and was failing hard at completing a round because there
127     wouldn't be a reset before the election started -- timechecks are bound
128     to election epochs.
129
130     Fixes: #3854
131
132     Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
133     (cherry picked from commit c54781618569680898e77e151dd7364f22ac4aa1)
134
135 commit a16c6f3dc278e19e66776ffde45de3ff0db46a6c
136 Author: Josh Durgin <josh.durgin@inktank.com>
137 Date:   Wed Dec 26 14:24:22 2012 -0800
138
139     rbd: fix bench-write infinite loop
140
141     I/O was continously submitted as long as there were few enough ops in
142     flight. If the number of 'threads' was high, or caching was turned on,
143     there would never be that many ops in flight, so the loop would continue
144     indefinitely. Instead, submit at most io_threads ops per offset.
145
146     Fixes: #3413
147     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
148     Reviewed-by: Dan Mick <dan.mick@inktank.com>
149     Reviewed-by: Sage Weil <sage.weil@inktank.com>
150     (cherry picked from commit d81ac8418f9e6bbc9adcc69b2e7cb98dd4db6abb)
151
152 commit 76f93751d3603e3fb5c4b9e14bfdac406d8d1a58
153 Author: Dan Mick <dan.mick@inktank.com>
154 Date:   Fri Jan 4 18:00:24 2013 -0800
155
156     rbd: Don't call ProgressContext's finish() if there's an error.
157
158     do_copy was different from the others; call pc.fail() on error and
159     do not call pc.finish().
160
161     Fixes: #3729
162     Signed-off-by: Dan Mick <dan.mick@inktank.com>
163     (cherry picked from commit 0978dc4963fe441fb67afecb074bc7b01798d59d)
164
165 commit 10053b14623f9c19727cb4d2d3a6b62945bef5c1
166 Author: Josh Durgin <josh.durgin@inktank.com>
167 Date:   Wed Jan 2 14:15:24 2013 -0800
168
169     librbd: establish watch before reading header
170
171     This eliminates a window in which a race could occur when we have an
172     image open but no watch established. The previous fix (using
173     assert_version) did not work well with resend operations.
174
175     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
176     (cherry picked from commit c4370ff03f8ab655a009cfd9ba3a0827d8c58b11)
177
178 commit f666c617f6a5f8d94ce81461942c9f94a0775fb2
179 Author: Josh Durgin <josh.durgin@inktank.com>
180 Date:   Wed Jan 2 12:32:33 2013 -0800
181
182     Revert "librbd: ensure header is up to date after initial read"
183
184     Using assert version for linger ops doesn't work with retries,
185     since the version will change after the first send.
186     This reverts commit e1776809031c6dad441cfb2b9fac9612720b9083.
187
188     Conflicts:
189
190         qa/workunits/rbd/watch_correct_version.sh
191     (cherry picked from commit e0858fa89903cf4055889c405f17515504e917a0)
192
193 commit 575a58666adbca83d15468899272e8c369e903e1
194 Author: Sage Weil <sage@inktank.com>
195 Date:   Wed Jan 23 22:16:49 2013 -0800
196
197     os/FileStore: only adjust up op queue for btrfs
198
199     We only need to adjust up the op queue limits during commit for btrfs,
200     because the snapshot initiation (async create) is currently
201     high-latency and the op queue is quiesced during that period.
202
203     This lets us revert 44dca5c, which disabled the extra allowance because
204     it is generally bad for non-btrfs writeahead mode.
205
206     Signed-off-by: Sage Weil <sage@inktank.com>
207     (cherry picked from commit 38871e27eca5a34de78db23aa3663f6cb045d461)
208
209 commit c9eb1b0a99b0e55f7d7343176dad17d1a53589a1
210 Author: Sage Weil <sage@inktank.com>
211 Date:   Thu Jan 24 10:52:46 2013 -0800
212
213     common/HeartbeatMap: fix uninitialized variable
214
215     Introduced by me in 132045ce085e8584a3e177af552ee7a5205b13d8.  Thank you,
216     valgrind!
217
218     Signed-off-by: Sage Weil <sage@inktank.com>
219     (cherry picked from commit 00cfe1d3af286ffab7660933415684f18449720c)
220
221 commit e6bceeedb0b77d23416560bd951326587470aacb
222 Author: Samuel Just <sam.just@inktank.com>
223 Date:   Fri Jan 25 11:31:29 2013 -0800
224
225     sharedptr_registry: remove extaneous Mutex::Locker declaration
226
227     For some reason, the lookup() retry loop (for when happened to
228     race with a removal and grab an invalid WeakPtr) locked
229     the lock again.  This causes the #3836 crash since the lock
230     is already locked.  It's rare since it requires a lookup between
231     invalidation of the WeakPtr and removal of the WeakPtr entry.
232
233     Fixes: #3836
234     Backport: bobtail
235     Signed-off-by: Samuel Just <sam.just@inktank.com>
236     (cherry picked from commit 037900dc7a051ce2293a4ef9d0e71911b29ec159)
237
238 commit 60888cafdc53d6b381cd634170646c12669e1754
239 Author: Samuel Just <sam.just@inktank.com>
240 Date:   Thu Jan 24 12:02:09 2013 -0800
241
242     FileStore: ping TPHandle after each operation in _do_transactions
243
244     Each completed operation in the transaction proves thread
245     liveness, a stuck thread should still trigger the timeouts.
246
247     Fixes: #3928
248     Backport: bobtail
249     Signed-off-by: Samuel Just <sam.just@inktank.com>
250     (cherry picked from commit 0c1cc687b6a40d3c6a26671f0652e1b51c3fd1af)
251
252 commit 6b8a673f88cbaca2891834dd5d2137a0e076fd1e
253 Author: Samuel Just <sam.just@inktank.com>
254 Date:   Thu Jan 24 11:07:37 2013 -0800
255
256     OSD: use TPHandle in peering_wq
257
258     Implement _process overload with TPHandle argument and use
259     that to ping the hb map between pgs and between map epochs
260     when advancing a pg.  The thread will still timeout if
261     genuinely stuck at any point.
262
263     Fixes: 3905
264     Backport: bobtail
265     Signed-off-by: Samuel Just <sam.just@inktank.com>
266     (cherry picked from commit e0511f4f4773766d04e845af2d079f82f3177cb6)
267
268 commit aa6d20aac22d4c14ff059dbc28e06b7a5e5d6de1
269 Author: Samuel Just <sam.just@inktank.com>
270 Date:   Thu Jan 24 11:04:04 2013 -0800
271
272     WorkQueue: add TPHandle to allow _process to ping the hb map
273
274     Backport: bobtail
275     Signed-off-by: Samuel Just <sam.just@inktank.com>
276     (cherry picked from commit 4f653d23999b24fc8c65a59f14905db6630be5b5)
277
278 commit e66a75052a340b15693f08b05f7f9f5d975b0978
279 Author: Samuel Just <sam.just@inktank.com>
280 Date:   Wed Jan 23 12:49:04 2013 -0800
281
282     ReplicatedPG: handle omap > max_recovery_chunk
283
284     span_of fails if len == 0.
285
286     Backport: bobtail
287     Signed-off-by: Samuel Just <sam.just@inktank.com>
288     (cherry picked from commit 8a97eef1f7004988449bd7ace4c69d5796495139)
289
290 commit 44f0407a6b259e87803539ec9e942043de0cf35d
291 Author: Samuel Just <sam.just@inktank.com>
292 Date:   Wed Jan 23 12:18:31 2013 -0800
293
294     ReplicatedPG: correctly handle omap key larger than max chunk
295
296     Backport: bobtail
297     Signed-off-by: Samuel Just <sam.just@inktank.com>
298     (cherry picked from commit c3dec3e30a85ecad0090c75a38f28cb83e36232e)
299
300 commit 50fd6ac9f147a4418d64dfe08843402e7cfb4910
301 Author: Samuel Just <sam.just@inktank.com>
302 Date:   Wed Jan 23 12:15:10 2013 -0800
303
304     ReplicatedPG: start scanning omap at omap_recovered_to
305
306     Previously, we started scanning omap after omap_recovered_to.
307     This is a problem since the break in the loop implies that
308     omap_recovered_to is the first key not recovered.
309
310     Backport: bobtail
311     Signed-off-by: Samuel Just <sam.just@inktank.com>
312     (cherry picked from commit 09c71f2f5ee9929ac4574f4c35fb8c0211aad097)
313
314 commit 4b32eecba2e2bd8e8ea17e1888e6971d31e71439
315 Author: Samuel Just <sam.just@inktank.com>
316 Date:   Wed Jan 23 11:50:13 2013 -0800
317
318     ReplicatedPG: don't finish_recovery_op until the transaction completes
319
320     Signed-off-by: Samuel Just <sam.just@inktank.com>
321     (cherry picked from commit 62a4b96831c1726043699db86a664dc6a0af8637)
322
323 commit da34c77b93e3f880c01329711ab8eca7776b1830
324 Author: Samuel Just <sam.just@inktank.com>
325 Date:   Wed Jan 23 11:35:47 2013 -0800
326
327     ReplicatedPG: ack push only after transaction has completed
328
329     Signed-off-by: Samuel Just <sam.just@inktank.com>
330     (cherry picked from commit 20278c4f77b890d5b2b95d2ccbeb4fbe106667ac)
331
332 commit f9381c74931b80294e5df60f6d2e69c946b8fe88
333 Author: Samuel Just <sam.just@inktank.com>
334 Date:   Wed Jan 23 11:13:28 2013 -0800
335
336     ObjectStore: add queue_transactions with oncomplete
337
338     Signed-off-by: Samuel Just <sam.just@inktank.com>
339     (cherry picked from commit 4d6ba06309b80fb21de7bb5d12d5482e71de5f16)
340
341 commit e2560554f0568c30c786632723c5ce0c86043359
342 Author: Sage Weil <sage@inktank.com>
343 Date:   Tue Jan 22 21:18:45 2013 -0800
344
345     common/HeartbeatMap: inject unhealthy heartbeat for N seconds
346
347     This lets us test code that is triggered by an unhealthy heartbeat in a
348     generic way.
349
350     Signed-off-by: Sage Weil <sage@inktank.com>
351     (cherry picked from commit 132045ce085e8584a3e177af552ee7a5205b13d8)
352
353 commit cbe8b5bca40fd63a382b1a903087e7c34b314985
354 Author: Sage Weil <sage@inktank.com>
355 Date:   Tue Jan 22 18:08:22 2013 -0800
356
357     os/FileStore: add stall injection into filestore op queue
358
359     Allow admin to artificially induce a stall in the op queue.  Forces the
360     thread(s) to sleep for N seconds.  We pause for 1 second increments and
361     recheck the value so that a previously stalled thread can be unwedged by
362     reinjecting a lower value (or 0).  To stall indefinitely, just injust
363     very large number.
364
365     Signed-off-by: Sage Weil <sage@inktank.com>
366     (cherry picked from commit 657df852e9c89bfacdbce25ea014f7830d61e6aa)
367
368 commit beb6ca44cd0e7fc405360e6da974252cb76e7039
369 Author: Sage Weil <sage@inktank.com>
370 Date:   Tue Jan 22 18:03:10 2013 -0800
371
372     osd: do not join cluster if not healthy
373
374     If our internal heartbeats are failing, do not send a boot message and try
375     to join the cluster.
376
377     Signed-off-by: Sage Weil <sage@inktank.com>
378     (cherry picked from commit a4e78652cdd1698e8dd72dda51599348d013e5e0)
379
380 commit 1ecdfca3a3b4985ebd182a5f399c7b15af258663
381 Author: Sage Weil <sage@inktank.com>
382 Date:   Tue Jan 22 18:01:07 2013 -0800
383
384     osd: hold lock while calling start_boot on startup
385
386     This probably doesn't strictly matter because start_boot doesn't need the
387     lock (currently) and few other threads should be running, but it is
388     better to be consistent.
389
390     Signed-off-by: Sage Weil <sage@inktank.com>
391     (cherry picked from commit c406476c0309792c43df512dddb2fe0f19835e71)
392
393 commit e120bf20b3c7213fbde20907e158792dd36c8e54
394 Author: Sage Weil <sage@inktank.com>
395 Date:   Tue Jan 22 17:56:32 2013 -0800
396
397     osd: do not reply to ping if internal heartbeat is not healthy
398
399     If we find that our internal threads are stalled, do not reply to ping
400     requests.  If we do this long enough, peers will mark us down.  If we are
401     only transiently unhealthy, we will reply to the next ping and they will
402     be satisfied.  If we are unhealthy and marked down, and eventually recover,
403     we will mark ourselves back up.
404
405     Signed-off-by: Sage Weil <sage@inktank.com>
406     (cherry picked from commit ad6b231127a6bfcbed600a7493ca3b66c68484d2)
407
408 commit 5f396e2b9360401dfe4dc2afa6acc37df8580c80
409 Author: Sage Weil <sage@inktank.com>
410 Date:   Tue Jan 22 17:53:40 2013 -0800
411
412     osd: reduce op thread heartbeat default 30 -> 15 seconds
413
414     If the thread stalls for 15 seconds, let our internal heartbeat fail.
415     This will let us internally respond more quickly to a stalled or failing
416     disk.
417
418     Signed-off-by: Sage Weil <sage@inktank.com>
419     (cherry picked from commit 61eafffc3242357d9add48be9308222085536898)
420
421 commit fca288b718ef4582d65ff4b9d1fc87ba53d7fd8d
422 Author: Sage Weil <sage@inktank.com>
423 Date:   Mon Jan 21 21:02:01 2013 -0800
424
425     osd: improve sub_op flag points
426
427     Signed-off-by: Sage Weil <sage@inktank.com>
428     (cherry picked from commit 73a969366c8bbd105579611320c43e2334907fef)
429
430 commit f13ddc8a2df401c37f6dc792eb93fc0cc45705e2
431 Author: Sage Weil <sage@inktank.com>
432 Date:   Mon Jan 21 20:55:20 2013 -0800
433
434     osd: refactor ReplicatedPG::do_sub_op
435
436     PULL is the only case where we don't wait for active.
437
438     Signed-off-by: Sage Weil <sage@inktank.com>
439     (cherry picked from commit 23c02bce90c9725ccaf4295de3177e8146157723)
440
441 commit d5e00f963f177745f0e0684d5977460b7ab59fbd
442 Author: Sage Weil <sage@inktank.com>
443 Date:   Mon Jan 21 16:36:36 2013 -0800
444
445     osd: make last state for slow requests more informative
446
447     Report on the last event string, and pass in important context for the
448     op event list, including:
449
450      - which peers were sent sub ops and we are waiting for
451      - which pg queue we are delayed by
452
453     Signed-off-by: Sage Weil <sage@inktank.com>
454     (cherry picked from commit a1137eb3e168c2d00f93789e4d565c1584790df0)
455
456 commit ab3a110cbe16b548bb96225656b64507aa67e78f
457 Author: Sage Weil <sage@inktank.com>
458 Date:   Mon Jan 21 15:59:07 2013 -0800
459
460     osd: dump op priority queue state via admin socket
461
462     Signed-off-by: Sage Weil <sage@inktank.com>
463     (cherry picked from commit 24d0d7eb0165c8b8f923f2d8896b156bfb5e0e60)
464
465 commit 43a65d04d8a13621a856baec85fb741971c13cb0
466 Author: Sage Weil <sage@inktank.com>
467 Date:   Mon Jan 21 15:50:33 2013 -0800
468
469     osd: simplify asok to single callback
470
471     Signed-off-by: Sage Weil <sage@inktank.com>
472     (cherry picked from commit 33efe32151e04beaafd9435d7f86dc2eb046214d)
473
474 commit d040798637da03e3df937181de156714fc62a550
475 Author: Sage Weil <sage@inktank.com>
476 Date:   Mon Jan 21 15:58:57 2013 -0800
477
478     common/PrioritizedQueue: dump state to Formatter
479
480     Signed-off-by: Sage Weil <sage@inktank.com>
481     (cherry picked from commit 514af15e95604bd241d2a98a97b938889c6876db)
482
483 commit 691fd505ad606bd8befd2b19113ee51a17a0a543
484 Author: Sage Weil <sage@inktank.com>
485 Date:   Mon Jan 21 15:29:28 2013 -0800
486
487     common/PrioritizedQueue: add min cost, max tokens per bucket
488
489     Two problems.
490
491     First, we need to cap the tokens per bucket.  Otherwise, a stream of
492     items at one priority over time will indefinitely inflate the tokens
493     available at another priority.  The cap should represent how "bursty"
494     we allow a given bucket to be.  Start with 4MB for now.
495
496     Second, set a floor on the item cost.  Otherwise, we can have an
497     infinite queue of 0 cost items that start over queues.  More
498     realistically, we need to balance the overhead of processing small items
499     with the cost of large items.  I.e., a 4 KB item is not 1/1000th as
500     expensive as a 4MB item.
501
502     Signed-off-by: Sage Weil <sage@inktank.com>
503     (cherry picked from commit 6e3363b20e590cd9df89f2caebe71867b94cc291)
504
505 commit a2b03fe08044b5c121ea6b4c2f9d19e73e4c83d1
506 Author: Sage Weil <sage@inktank.com>
507 Date:   Mon Jan 21 14:52:54 2013 -0800
508
509     common/PrioritizedQueue: buckets -> tokens
510
511     Signed-off-by: Sage Weil <sage@inktank.com>
512     (cherry picked from commit c549a0cf6fae78c8418a3b4b0702fd8a1e4ce482)
513
514 commit 612d75cdee0daf9dfca97831c249e1ac3fbd59fc
515 Author: Sage Weil <sage@inktank.com>
516 Date:   Mon Jan 21 14:31:00 2013 -0800
517
518     note puller's max chunk in pull requests
519
520     this lets us calculate a cost value
521     (cherry picked from commit 128fcfcac7d3fb66ca2c799df521591a98b82e05)
522
523 commit 2224e413fba11795693025fa8f11c3f1fba4bbaa
524 Author: Sage Weil <sage@inktank.com>
525 Date:   Mon Jan 21 14:14:25 2013 -0800
526
527     osd: add OpRequest flag point when commit is sent
528
529     With writeahead journaling in particular, we can get requests that
530     stay in the queue for a long time even after the commit is sent to the
531     client while we are waiting for the transaction to apply to the fs.
532     Instead of showing up as 'waiting for subops', make it clear that the
533     client has gotten its reply and it is local state that is slow.
534
535     Signed-off-by: Sage Weil <sage@inktank.com>
536     (cherry picked from commit b685f727d4c37a26cb78bd4a04cce041428ceb52)
537
538 commit 5b5ca5926258e4f0b5041fb2c15b1c2f904c4adb
539 Author: Sage Weil <sage@inktank.com>
540 Date:   Mon Jan 21 13:57:59 2013 -0800
541
542     osd: set PULL subop cost to size of requested data
543
544     Signed-off-by: Sage Weil <sage@inktank.com>
545     (cherry picked from commit a1bf8220e545f29b83d965f07b1abfbea06238b3)
546
547 commit 10651e4f500d7b55d8c689a10a61d2239b3ecd26
548 Author: Sage Weil <sage@inktank.com>
549 Date:   Mon Jan 21 13:57:38 2013 -0800
550
551     osd: use Message::get_cost() function for queueing
552
553     The data payload is a decent proxy for cost in most cases, but not all.
554
555     Signed-off-by: Sage Weil <sage@inktank.com>
556     (cherry picked from commit e8e0da1a577e24cd4aad71fb94d8b244e2ac7300)
557
558 commit 9735c6b163f4d226d8de6508d5c1534d18f1c300
559 Author: Sage Weil <sage@inktank.com>
560 Date:   Mon Jan 21 13:25:21 2013 -0800
561
562     osd: debug msg prio, cost, latency
563
564     Signed-off-by: Sage Weil <sage@inktank.com>
565     (cherry picked from commit bec96a234c160bebd9fd295df5b431dc70a2cfb3)
566
567 commit c48279da7ad98013ce97eab89c17fe9fae1ba866
568 Author: Sage Weil <sage@inktank.com>
569 Date:   Mon Jan 21 21:05:00 2013 -0800
570
571     filestore: filestore_queue_max_ops 500 -> 50
572
573     Having a deep queue limits the effectiveness of the priority queues
574     above by adding additional latency.
575
576     Signed-off-by: Sage Weil <sage@inktank.com>
577     (cherry picked from commit 40654d6d53436c210b2f80911217b044f4d7643a)
578
579 commit f47b2e8b607cc0d56a42ec7b1465ce6b8c0ca68c
580 Author: Sage Weil <sage@inktank.com>
581 Date:   Mon Jan 21 20:00:26 2013 -0800
582
583     osd: target transaction size 300 -> 30
584
585     Small transactions make pg removal nicer to the op queue.  It also slows
586     down PG deletion a bit, which may exacerbate the PG resurrection case
587     until #3884 is addressed.
588
589     At least on user reported this fixed an osd that kept failing due to
590     an internal heartbeat failure.
591
592     Signed-off-by: Sage Weil <sage@inktank.com>
593     (cherry picked from commit 1233e8617098766c95100aa9a6a07db1a688e290)
594
595 commit 4947f0efadf9ef209d02fd17f5f86b9a7d6523ef
596 Author: Sage Weil <sage@inktank.com>
597 Date:   Mon Jan 21 19:55:26 2013 -0800
598
599     os/FileStore: allow filestore_queue_max_{ops,bytes} to be adjusted at runtime
600
601     The 'committing' ones too.
602
603     Signed-off-by: Sage Weil <sage@inktank.com>
604     (cherry picked from commit cfe4b8519363f92f84f724a812aa41257402865f)
605
606 commit ad6e6c91f61c092bfc9f88b788ccbee6438fd40b
607 Author: Sage Weil <sage@inktank.com>
608 Date:   Sat Jan 19 22:06:27 2013 -0800
609
610     osd: make osd_max_backfills dynamically adjustable
611
612     Signed-off-by: Sage Weil <sage@inktank.com>
613     (cherry picked from commit 101955a6b8bfdf91f4229f4ecb5d5b3da096e160)
614
615 commit 939b1855245bc9cb31f5762027f2ed3f2317eb55
616 Author: Sage Weil <sage@inktank.com>
617 Date:   Sat Jan 19 18:28:35 2013 -0800
618
619     osd: make OSD a config observer
620
621     Signed-off-by: Sage Weil <sage@inktank.com>
622     (cherry picked from commit 9230c863b3dc2bdda12c23202682a84c48f070a1)
623
624     Conflicts:
625
626         src/osd/OSD.cc
627
628 commit b0f27a8f81feb401407bed784bf5d4d799998ee0
629 Author: Dan Mick <dan.mick@inktank.com>
630 Date:   Tue Jan 8 11:21:22 2013 -0800
631
632     librbd: Allow get_lock_info to fail
633
634     If the lock class isn't present, EOPNOTSUPP is returned for lock calls
635     on newer OSDs, but sadly EIO on older; we need to treat both as
636     acceptable failures for RBD images.  rados lock list will still fail.
637
638     Fixes #3744.
639
640     Signed-off-by: Dan Mick <dan.mick@inktank.com>
641     Reviewed-by: Sage Weil <sage@inktank.com>
642     (cherry picked from commit 4483285c9fb16f09986e2e48b855cd3db869e33c)
643
644 commit 022a5254b4fac3f76220abdde2a2e81de33cb8dc
645 Author: Sage Weil <sage@inktank.com>
646 Date:   Fri Jan 4 13:00:56 2013 -0800
647
648     osd: drop newlines from event descriptions
649
650     These produce extra newlines in the log.
651
652     Signed-off-by: Sage Weil <sage@inktank.com>
653     Reviewed-by: Samuel Just <sam.just@inktank.com>
654     (cherry picked from commit 9a1f574283804faa6dbba9165a40558e1a6a1f13)
655
656 commit ebc93a878c8b0697004a619d6aa957a80b8b7e35
657 Author: Samuel Just <sam.just@inktank.com>
658 Date:   Fri Jan 18 14:35:51 2013 -0800
659
660     OSD: do deep_scrub for repair
661
662     Signed-off-by: Samuel Just <sam.just@inktank.com>
663     Reviewed-by: David Zafman <david.zafman@inktank.com>
664     (cherry picked from commit 0cb760f31b0cb26f022fe8b9341e41cd5351afac)
665
666 commit 32527fa3eb48a7d7d5d67c39bfa05087dbc0e41b
667 Author: Samuel Just <sam.just@inktank.com>
668 Date:   Mon Jan 14 12:52:04 2013 -0800
669
670     ReplicatedPG: ignore snap link info in scrub if nlinks==0
671
672     links==0 implies that the replica did not sent snap link information.
673
674     Signed-off-by: Samuel Just <sam.just@inktank.com>
675     (cherry picked from commit 70c3512037596a42ba6eb5eb7f96238843095db9)
676
677 commit 13e42265db150b19511a5a618c7a95ad801290c8
678 Author: Sage Weil <sage@inktank.com>
679 Date:   Fri Jan 11 12:25:22 2013 -0800
680
681     osd/PG: fix osd id in error message on snap collection errors
682
683     Signed-off-by: Sage Weil <sage@inktank.com>
684     (cherry picked from commit 381e25870f26fad144ecc2fb99710498e3a7a1d4)
685
686 commit e3b6191fc45c7d2c27ec75c867be822a6da17e9a
687 Author: Sage Weil <sage@inktank.com>
688 Date:   Wed Jan 9 22:34:12 2013 -0800
689
690     osd/ReplicatedPG: validate ino when scrubbing snap collections
691
692     Signed-off-by: Sage Weil <sage@inktank.com>
693     (cherry picked from commit 665577a88b98390b9db0f9991836d10ebdd8f4cf)
694
695 commit 353b7341caff86f936a429669de52e6949a89c2b
696 Author: Samuel Just <sam.just@inktank.com>
697 Date:   Wed Jan 9 16:41:40 2013 -0800
698
699     ReplicatedPG: compare nlinks to snapcolls
700
701     nlinks gives us the number of hardlinks to the object.
702     nlinks should be 1 + snapcolls.size().  This will allow
703     us to detect links which remain in an erroneous snap
704     collection.
705
706     Signed-off-by: Samuel Just <sam.just@inktank.com>
707     (cherry picked from commit e65ea70ea64025fbb0709ee8596bb2878be0bbdc)
708
709 commit 33d5cfc8c080a270d65275f8e010a6468c77381a
710 Author: Samuel Just <sam.just@inktank.com>
711 Date:   Thu Jan 10 15:35:10 2013 -0800
712
713     ReplicatedPG/PG: check snap collections during _scan_list
714
715     During _scan_list check the snapcollections corresponding to the
716     object_info attr on the object.  Report inconsistencies during
717     scrub_finalize.
718
719     Signed-off-by: Samuel Just <sam.just@inktank.com>
720     (cherry picked from commit 57352351bb86e0ae9f64f9ba0d460c532d882de6)
721
722 commit bea783bd722d862a5018477a637c843fe4b18a58
723 Author: Samuel Just <sam.just@inktank.com>
724 Date:   Wed Jan 9 11:53:52 2013 -0800
725
726     osd_types: add nlink and snapcolls fields to ScrubMap::object
727
728     Signed-off-by: Samuel Just <sam.just@inktank.com>
729     (cherry picked from commit b85687475fa2ec74e5429d92ee64eda2051a256c)
730
731 commit 0c48407bf46b39b2264a7be14e9d3caa2c1e5875
732 Author: Samuel Just <sam.just@inktank.com>
733 Date:   Thu Jan 3 20:16:50 2013 -0800
734
735     PG: move auth replica selection to helper in scrub
736
737     Signed-off-by: Samuel Just <sam.just@inktank.com>
738     (cherry picked from commit 39bc65492af1bf1da481a8ea0a70fe7d0b4b17a3)
739
740 commit c3433ce60ec3683217d8b4cd2b6e75fb749af2c6
741 Author: Sage Weil <sage@inktank.com>
742 Date:   Mon Jan 14 18:23:52 2013 -0800
743
744     mon: note scrub errors in health summary
745
746     Signed-off-by: Sage Weil <sage@inktank.com>
747     (cherry picked from commit 8e33a8b9e1fef757bbd901d55893e9b84ce6f3fc)
748
749 commit 90c6edd0155b327c48a5b178d848d9e5839bd928
750 Author: Sage Weil <sage@inktank.com>
751 Date:   Mon Jan 14 18:31:06 2013 -0800
752
753     osd: fix rescrub after repair
754
755     We were rescrubbing if INCONSISTENT is set, but that is now persistent.
756     Add a new scrub_after_recovery flag that is reset on each peering interval
757     and set that when repair encounters errors.
758
759     Signed-off-by: Sage Weil <sage@inktank.com>
760     (cherry picked from commit a586966a3cfb10b5ffec0e9140053a7e4ff105d2)
761
762 commit 0696cf57283e6e9a3500c56ca5fc9f981475ca26
763 Author: Sage Weil <sage@inktank.com>
764 Date:   Mon Jan 14 18:22:02 2013 -0800
765
766     osd: note must_scrub* flags in PG operator<<
767
768     Signed-off-by: Sage Weil <sage@inktank.com>
769     (cherry picked from commit d56af797f996ac92bf4e0886d416fd358a2aa08e)
770
771 commit 1541ffe4bec6cce607c505271ff074fd0a292d30
772 Author: Sage Weil <sage@inktank.com>
773 Date:   Mon Jan 14 18:21:46 2013 -0800
774
775     osd: based INCONSISTENT pg state on persistent scrub errors
776
777     This makes the state persistent across PG peering and OSD restarts.
778
779     This has the side-effect that, on recovery, we rescrub any PGs marked
780     inconsistent.  This is new behavior!
781
782     Signed-off-by: Sage Weil <sage@inktank.com>
783     (cherry picked from commit 2baf1253eed630a7c4ae4cb43aab6475efd82425)
784
785 commit 609101255c81d977072b2ab741ac47167d9b1b16
786 Author: Sage Weil <sage@inktank.com>
787 Date:   Mon Jan 14 18:20:29 2013 -0800
788
789     osd: fix scrub scheduling for 0.0
790
791     The initial value for pair<utime_t,pg_t> can match pg 0.0, preventing it
792     from being manually scrubbed.  Fix!
793
794     Signed-off-by: Sage Weil <sage@inktank.com>
795     (cherry picked from commit 26a63df97b2a12fd1a7c1e3cc9ccd34ca2ef9834)
796
797 commit 0961a3a85c286a31ec2e8bba23217bbd3974572c
798 Author: Sage Weil <sage@inktank.com>
799 Date:   Sun Jan 13 23:03:01 2013 -0800
800
801     osd: note last_clean_scrub_stamp, last_scrub_errors
802
803     Signed-off-by: Sage Weil <sage@inktank.com>
804     (cherry picked from commit 389bed5d338cf32ab14c9fc2abbc7bcc386b8a28)
805
806 commit 8d823045538bf4c51506e349b5c6705fd76450f8
807 Author: Sage Weil <sage@inktank.com>
808 Date:   Sun Jan 13 22:59:39 2013 -0800
809
810     osd: add num_scrub_errors to object_stat_t
811
812     Signed-off-by: Sage Weil <sage@inktank.com>
813     (cherry picked from commit 2475066c3247774a2ad048a2e32968e47da1b0f5)
814
815 commit 3a1cd6e07b4e2a4714de159f69afd689495e2927
816 Author: Sage Weil <sage@inktank.com>
817 Date:   Sun Jan 13 22:43:35 2013 -0800
818
819     osd: add last_clean_scrub_stamp to pg_stat_t, pg_history_t
820
821     Signed-off-by: Sage Weil <sage@inktank.com>
822     (cherry picked from commit d738328488de831bf090f23e3fa6d25f6fa819df)
823
824 commit 7e5a899bdcf6c08a5f6f5c98cd2fff7fa2dacaca
825 Author: Sage Weil <sage@inktank.com>
826 Date:   Sun Jan 13 22:56:14 2013 -0800
827
828     osd: fix object_stat_sum_t dump signedness
829
830     Signed-off-by: Sage Weil <sage@inktank.com>
831     (cherry picked from commit 6f6a41937f1bd05260a8d70b4c4a58ecadb34a2f)
832
833 commit e252a313d465006d3fe4db97939ad307ebe91c71
834 Author: Sage Weil <sage@inktank.com>
835 Date:   Sun Jan 13 22:04:58 2013 -0800
836
837     osd: change scrub min/max thresholds
838
839     The previous 'osd scrub min interval' was mostly meaningless and useless.
840     Meanwhile, the 'osd scrub max interval' would only trigger a scrub if the
841     load was sufficiently low; if it was high, the PG might *never* scrub.
842
843     Instead, make the 'min' what the max used to be.  If it has been more than
844     this many seconds, and the load is low, scrub.  And add an additional
845     condition that if it has been more than the max threshold, scrub the PG
846     no matter what--regardless of the load.
847
848     Note that this does not change the default scrub interval for less-loaded
849     clusters, but it *does* change the meaning of existing config options.
850
851     Fixes: #3786
852     Signed-off-by: Sage Weil <sage@inktank.com>
853     (cherry picked from commit 299548024acbf8123a4e488424c06e16365fba5a)
854
855     Conflicts:
856
857         PendingReleaseNotes
858
859 commit 33aa64eee34f4759f6000130de4d1306de49d087
860 Author: Sage Weil <sage@inktank.com>
861 Date:   Sun Jan 13 20:27:59 2013 -0800
862
863     osd/PG: remove useless osd_scrub_min_interval check
864
865     This was already a no-op: we don't call PG::scrub_sched() unless it has
866     been osd_scrub_max_interval seconds since we last scrubbed.  Unless we
867     explicitly requested in, in which case we don't want this check anyway.
868
869     Signed-off-by: Sage Weil <sage@inktank.com>
870     (cherry picked from commit 16d67c798b6f752a6e03084bafe861396b86baae)
871
872 commit fdd0c1ec3519376980a205b94e65187833634e2e
873 Author: Sage Weil <sage@inktank.com>
874 Date:   Sun Jan 13 20:25:39 2013 -0800
875
876     osd: move scrub schedule random backoff to seperate helper
877
878     Separate this from the load check, which will soon vary dependon on the
879     PG.
880
881     Signed-off-by: Sage Weil <sage@inktank.com>
882     (cherry picked from commit a148120776d0930b265411332a60e93abfbf0423)
883
884 commit 9ffbe268f785e1a74c0d893735117edb7a3ef377
885 Author: Sage Weil <sage@inktank.com>
886 Date:   Sat Jan 12 09:18:38 2013 -0800
887
888     osd/PG: trigger scrub via scrub schedule, must_ flags
889
890     When a scrub is requested, flag it and move it to the front of the
891     scrub schedule instead of immediately queuing it.  This avoids
892     bypassing the scrub reservation framework, which can lead to a heavier
893     impact on performance.
894
895     Signed-off-by: Sage Weil <sage@inktank.com>
896     (cherry picked from commit 62ee6e099a8e4873287b54f9bba303ea9523d040)
897
898 commit cffb1b22d5df7300ec411d2b620bf3c4a08351cd
899 Author: Sage Weil <sage@inktank.com>
900 Date:   Sat Jan 12 09:15:16 2013 -0800
901
902     osd/PG: introduce flags to indicate explicitly requested scrubs
903
904     Signed-off-by: Sage Weil <sage@inktank.com>
905     (cherry picked from commit 1441095d6babfacd781929e8a54ed2f8a4444467)
906
907 commit 438e3dfc88bfdc8eb36b5b5f7b728b2610476724
908 Author: Sage Weil <sage@inktank.com>
909 Date:   Sat Jan 12 09:14:01 2013 -0800
910
911     osd/PG: move scrub schedule registration into a helper
912
913     Simplifies callers, and will let us easily modify the decision of when
914     to schedule the PG for scrub.
915
916     Signed-off-by: Sage Weil <sage@inktank.com>
917     (cherry picked from commit 796907e2159371f84a16cbd35f6caa8ac868acf6)
918
919 commit acb47e4d7dc9682937984661a9d754131d806630
920 Author: Sage Weil <sage@inktank.com>
921 Date:   Fri Jan 18 12:14:48 2013 -0800
922
923     os/FileStore: only flush inline if write is sufficiently large
924
925     Honor filestore_flush_min in the inline flush case.
926
927     Backport: bobtail
928     Signed-off-by: Sage Weil <sage@inktank.com>
929     Reviewed-by: Samuel Just <sam.just@inktank.com>
930     (cherry picked from commit 49726dcf973c38c7313ab78743b45ccc879671ea)
931
932 commit 15a1ced859629c361da127799b05620bee84c9a8
933 Author: Sage Weil <sage@inktank.com>
934 Date:   Fri Jan 18 12:14:40 2013 -0800
935
936     os/FileStore: fix compile when sync_file_range is missing;
937
938     If sync_file_range is not present, we always close inline, and flush
939     via fdatasync(2).
940
941     Fixes compile on ancient platforms like RHEL5.8.
942
943     Backport: bobtail
944     Signed-off-by: Sage Weil <sage@inktank.com>
945     Reviewed-by: Samuel Just <sam.just@inktank.com>
946     (cherry picked from commit 8ddb55d34c72e6df1023cf427cbd41f3f98da402)
947
948 commit 9dddb9d855e6d5fd804b54bff1f726c1d2fb566c
949 Author: Sage Weil <sage@inktank.com>
950 Date:   Fri Jan 18 15:23:22 2013 -0800
951
952     osd: set pg removal transactions based on configurable
953
954     Use the osd_target_transaction_size knob, and gracefully tolerate bogus
955     values (e.g., <= 0).
956
957     Signed-off-by: Sage Weil <sage@inktank.com>
958     (cherry picked from commit 5e00af406b89c9817e9a429f92a05ca9c29b19c3)
959
960 commit c30d231e40a17c3fb08d1db5e01133466170e90c
961 Author: Sage Weil <sage@inktank.com>
962 Date:   Fri Jan 18 15:30:06 2013 -0800
963
964     osd: make pg removal thread more friendly
965
966     For a large PG these are saturating the filestore and journal queues.  Do
967     them synchronously to make them more friendly.  They don't need to be fast.
968
969     Signed-off-by: Sage Weil <sage@inktank.com>
970     (cherry picked from commit 4712e984d3f62cdf51ea67da8197eed18a5983dd)
971
972 commit b2bc4b95fefaeb0cfc31ce0bc95b77062d0777c7
973 Author: Sage Weil <sage@inktank.com>
974 Date:   Fri Jan 18 15:27:24 2013 -0800
975
976     os: move apply_transactions() sync wrapper into ObjectStore
977
978     This has nothing to do with the backend implementation.
979
980     Signed-off-by: Sage Weil <sage@inktank.com>
981     (cherry picked from commit bc994045ad67fb70c7a0457b8cd29273dd5d1654)
982
983 commit 6d161b57979246ddea4e6309e0e489ab729eec4b
984 Author: Sage Weil <sage@inktank.com>
985 Date:   Fri Jan 18 15:28:24 2013 -0800
986
987     os: add apply_transaction() variant that takes a sequencer
988
989     Also, move the convenience wrappers into the interface and funnel through
990     a single implementation.
991
992     Signed-off-by: Sage Weil <sage@inktank.com>
993     (cherry picked from commit f6c69c3f1ac35546b90315fff625993ba5cd8c07)
994
995 commit c5fe0965572c074a2a33660719ce3222d18c1464
996 Author: Sage Weil <sage@inktank.com>
997 Date:   Sun Jan 20 16:11:10 2013 -0800
998
999     osd: calculate initial PG mapping from PG's osdmap
1000
1001     The initial values of up/acting need to be based on the PG's osdmap, not
1002     the OSD's latest.  This can cause various confusion in
1003     pg_interval_t::check_new_interval() when calling OSDMap methods due to the
1004     up/acting OSDs not existing yet (for example).
1005
1006     Fixes: #3879
1007     Reported-by: Jens Kristian S?gaard <jens@mermaidconsulting.dk>
1008     Tested-by: Jens Kristian S?gaard <jens@mermaidconsulting.dk>
1009     Signed-off-by: Sage Weil <sage@inktank.com>
1010     Reviewed-by: Samuel Just <sam.just@inktank.com>
1011     (cherry picked from commit 17160843d0c523359d8fa934418ff2c1f7bffb25)
1012
1013 commit 6008b1d8e4587d5a3aea60684b1d871401496942
1014 Author: Sage Weil <sage@inktank.com>
1015 Date:   Thu Jan 17 15:01:35 2013 -0800
1016
1017     osdmap: make replica separate in default crush map configurable
1018
1019     Add 'osd crush chooseleaf type' option to control what the default
1020     CRUSH rule separates replicas across.  Default to 1 (host), and set it
1021     to 0 in vstart.sh.
1022
1023     Fixes: #3785
1024     Signed-off-by: Sage Weil <sage@inktank.com>
1025     Reviewed-by: Greg Farnum <greg@inktank.com>
1026     (cherry picked from commit c236a51a8040508ee893e4c64b206e40f9459a62)
1027
1028 commit 5fb77bf1d1b241b4f9c1fe9e57288bbc84d8d97d
1029 Author: Sage Weil <sage@inktank.com>
1030 Date:   Wed Jan 16 14:09:53 2013 -0800
1031
1032     ceph: adjust crush tunables via 'ceph osd crush tunables <profile>'
1033
1034     Make it easy to adjust crush tunables.  Create profiles:
1035
1036      legacy: the legacy values
1037      argonaut: the argonaut defaults, and what is supported.. legacy! (*(
1038      bobtail: best that bobtail supports
1039      optimal: the current optimal values
1040      default: the current default values
1041
1042     * In actuality, argonaut supports some of the tunables, but it doesn't
1043       say so via the feature bits.
1044
1045     Signed-off-by: Sage Weil <sage@inktank.com>
1046     Reviewed-by: Samuel Just <sam.just@inktank.com>
1047     Reviewed-by: Dan Mick <dan.mick@inktank.com>
1048     (cherry picked from commit 19ee23111585f15a39ee2907fa79e2db2bf523f0)
1049
1050 commit 8c0d702e6f2ba0ed0fe31c06c7a028260ae08e42
1051 Author: Sage Weil <sage@inktank.com>
1052 Date:   Fri Dec 28 17:20:43 2012 -0800
1053
1054     msg/Pipe: use state_closed atomic_t for _lookup_pipe
1055
1056     We shouldn't look at Pipe::state in SimpleMessenger::_lookup_pipe() without
1057     holding pipe_lock.  Instead, use an atomic that we set to non-zero only
1058     when transitioning to the terminal STATE_CLOSED state.
1059
1060     Signed-off-by: Sage Weil <sage@inktank.com>
1061     (cherry picked from commit 82f8bcddb5fa09913eb477ee26c71d6b4bb8d97c)
1062
1063 commit 8e0359c3e586c0edcce769c8ed1a03444a521165
1064 Author: Sage Weil <sage@inktank.com>
1065 Date:   Sun Dec 23 13:43:15 2012 -0800
1066
1067     msgr: inject delays at inconvenient times
1068
1069     Exercise some rare races by injecting delays before taking locks
1070     via the 'ms inject internal delays' option.
1071
1072     Signed-off-by: Sage Weil <sage@inktank.com>
1073     (cherry picked from commit a5d692a7b9b4bec2c27993ca37aa3fec4065292b)
1074
1075 commit 34e2d4024700f633c2c586265efb61537342db18
1076 Author: Sage Weil <sage@inktank.com>
1077 Date:   Sun Dec 23 09:22:18 2012 -0800
1078
1079     msgr: fix race on Pipe removal from hash
1080
1081     When a pipe is faulting and shutting down, we have to drop pipe_lock to
1082     take msgr lock and then remove the entry.  The Pipe in this case will
1083     have STATE_CLOSED.  Handle this case in all places we do a lookup on
1084     the rank_pipe hash so that we effectively ignore entries that are
1085     CLOSED.
1086
1087     This fixes a race introduced by the previous commit where we won't use
1088     the CLOSED pipe and try to register a new one, but the old one is still
1089     registered.
1090
1091     See bug #3675.
1092
1093     Signed-off-by: Sage Weil <sage@inktank.com>
1094     (cherry picked from commit e99b4a307b4427945a4eb5ec50e65d6239af4337)
1095
1096 commit ae1882e7efc91b770ac0ac8682ee6c5792a63a93
1097 Author: Sage Weil <sage@inktank.com>
1098 Date:   Sun Dec 23 09:19:05 2012 -0800
1099
1100     msgr: don't queue message on closed pipe
1101
1102     If we have a con that refs a pipe but it is closed, don't use it.  If
1103     the ref is still there, it is only because we are racing with fault()
1104     and it is about to (or just was) be detached.  Either way,
1105
1106     Signed-off-by: Sage Weil <sage@inktank.com>
1107     (cherry picked from commit 6339c5d43974f4b495f15d199e01a141e74235f5)
1108
1109 commit 373f1671b6cb64dba5a9172967b27177515be1fd
1110 Author: Sage Weil <sage@inktank.com>
1111 Date:   Sat Dec 22 21:24:52 2012 -0800
1112
1113     msgr: atomically queue first message with connect_rank
1114
1115     Atomically queue the first message on the new pipe, without dropping
1116     and retaking pipe_lock.
1117
1118     Signed-off-by: Sage Weil <sage@inktank.com>
1119     (cherry picked from commit 7bf0b0854d1f2706a3a2302bcbf92dd5c8c888ef)
1120
1121 commit 82f22b38c5dc0b636574679ba1fee1b36a3c0478
1122 Author: Samuel Just <sam.just@inktank.com>
1123 Date:   Thu Jan 10 11:06:02 2013 -0800
1124
1125     config_opts.h: default osd_recovery_delay_start to 0
1126
1127     This setting was intended to prevent recovery from overwhelming peering traffic
1128     by delaying the recovery_wq until osd_recovery_delay_start seconds after pgs
1129     stop being added to it.  This should be less necessary now that recovery
1130     messages are sent with strictly lower priority then peering messages.
1131
1132     Signed-off-by: Samuel Just <sam.just@inktank.com>
1133     Reviewed-by: Gregory Farnum <greg@inktank.com>
1134     (cherry picked from commit 44625d4460f61effe2d63d8280752f10f159e7b4)
1135
1136 commit 81e8bb55e28384048fd82116a791a65ca52ef999
1137 Author: Sage Weil <sage@inktank.com>
1138 Date:   Wed Jan 16 21:19:18 2013 -0800
1139
1140     osdmaptool: more fix cli test
1141
1142     Signed-off-by: Sage Weil <sage@inktank.com>
1143     (cherry picked from commit b0162fab3d927544885f2b9609b9ab3dc4aaff74)
1144
1145 commit 2b5b2657579abdf5b1228f4c5c5ac8cec3706726
1146 Author: Sage Weil <sage@inktank.com>
1147 Date:   Wed Jan 16 21:10:26 2013 -0800
1148
1149     osdmaptool: fix cli test
1150
1151     Signed-off-by: Sage Weil <sage@inktank.com>
1152     (cherry picked from commit 5bd8765c918174aea606069124e43c480c809943)
1153
1154 commit f739d1238a8a67598c037b6e2ed5d539a2d79996
1155 Author: Samuel Just <sam.just@inktank.com>
1156 Date:   Wed Jan 16 14:21:47 2013 -0800
1157
1158     osdmaptool: allow user to specify pool for test-map-object
1159
1160     Fixes: #3820
1161     Backport: bobtail
1162     Signed-off-by: Samuel Just <sam.just@inktank.com>
1163     Reviewed-by: Gregory Farnum <greg@inktank.com>
1164     (cherry picked from commit 85eb8e382a26dfc53df36ae1a473185608b282aa)
1165
1166 commit 00759ee08f5dc62cbe4f237399f298472f6d8f4a
1167 Author: David Zafman <david.zafman@inktank.com>
1168 Date:   Wed Jan 16 12:41:16 2013 -0800
1169
1170     rados.cc: fix rmomapkey usage: val not needed
1171
1172     Signed-off-by: David Zafman <david.zafman@inktank.com>
1173     Reviewed-by: Samuel Just <samuel.just@inktank.com>
1174     (cherry picked from commit 625c3cb9b536a0cff7249b8181b7a4f09b1b4f4f)
1175
1176 commit 06b3270f679be496df41810dacf863128b0cfcaa
1177 Author: Samuel Just <sam.just@inktank.com>
1178 Date:   Tue Jan 15 21:27:23 2013 -0800
1179
1180     librados.hpp: fix omap_get_vals and omap_get_keys comments
1181
1182     We list keys greater than start_after.
1183
1184     Signed-off-by: Samuel Just <sam.just@inktank.com>
1185     Reviewed-by: David Zafman <david.zafman@inktank.com>
1186     (cherry picked from commit 3f0ad497b3c4a5e9bef61ecbae5558ae72d4ce8b)
1187
1188 commit 75072965201380aa55a8e15f9db4ccaf4d34d954
1189 Author: Samuel Just <sam.just@inktank.com>
1190 Date:   Tue Jan 15 21:26:22 2013 -0800
1191
1192     rados.cc: use omap_get_vals_by_keys in getomapval
1193
1194     Fixes: #3811
1195     Signed-off-by: Samuel Just <sam.just@inktank.com>
1196     Reviewed-by: David Zafman <david.zafman@inktank.com>
1197     (cherry picked from commit cb5e2be418924cf8b2c6a6d265a7a0327f08d00a)
1198
1199 commit a3c2980fccfe95b7d094a7c93945437c3911b858
1200 Author: Samuel Just <sam.just@inktank.com>
1201 Date:   Tue Jan 15 21:24:50 2013 -0800
1202
1203     rados.cc: fix listomapvals usage: key,val are not needed
1204
1205     Fixes: #3812
1206     Signed-off-by: Samuel Just <sam.just@inktank.com>
1207     Reviewed-by: David Zafman <david.zafman@inktank.com>
1208     (cherry picked from commit 44c45e520cc2e60c6c803bb245edb9330bff37e4)
1209
1210 commit 20b27a1ce71c379a3b2a29d282dc0689a3a0df46
1211 Author: Yehuda Sadeh <yehuda@inktank.com>
1212 Date:   Wed Jan 16 15:01:47 2013 -0800
1213
1214     rgw: copy object should not copy source acls
1215
1216     Fixes: #3802
1217     Backport: argonaut, bobtail
1218
1219     When using the S3 api and x-amz-metadata-directive is
1220     set to COPY we used to copy complete metadata of source
1221     object. However, this shouldn't include the source ACLs.
1222
1223     Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
1224     (cherry picked from commit 37dbf7d9df93dd0e92019be31eaa1a19dd9569c7)
1225
1226 commit 3293b31b44c9adad2b5e37da9d5342a6e4b72ade
1227 Author: Samuel Just <sam.just@inktank.com>
1228 Date:   Fri Jan 11 11:02:15 2013 -0800
1229
1230     OSD: only trim up to the oldest map still in use by a pg
1231
1232     map_cache.cached_lb() provides us with a lower bound across
1233     all pgs for in-use osdmaps.  We cannot trim past this since
1234     those maps are still in use.
1235
1236     backport: bobtail
1237     Fixes: #3770
1238     Signed-off-by: Samuel Just <sam.just@inktank.com>
1239     Reviewed-by: Sage Weil <sage@inktank.com>
1240     Reviewed-by: Greg Farnum <greg@inktank.com>
1241     (cherry picked from commit 66eb93b83648b4561b77ee6aab5b484e6dba4771)
1242
1243 commit 898a4b19ecc6fffc33feb198f37182ec0a6e77e9
1244 Author: Sage Weil <sage@inktank.com>
1245 Date:   Mon Jan 14 08:15:02 2013 -0800
1246
1247     Revert "osdmap: spread replicas across hosts with default crush map"
1248
1249     This reverts commit 503917f0049d297218b1247dc0793980c39195b3.
1250
1251     This breaks vstart and teuthology configs.  A better fix is coming.
1252
1253 commit 55b7dd3248f35929ea097525798e8667fafbf161
1254 Author: Joao Eduardo Luis <joao.luis@inktank.com>
1255 Date:   Thu Jan 10 18:54:12 2013 +0000
1256
1257     mon: OSDMonitor: don't output to stdout in plain text if json is specified
1258
1259     Fixes: #3748
1260
1261     Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
1262     Reviewed-by: Sage Weil <sage@inktank.com>
1263     (cherry picked from commit 410906e04936c935903526f26fb7db16c412a711)
1264
1265 commit 015a454a0c046cb678991cc4f4d53fb58c41dbe4
1266 Author: Sage Weil <sage@inktank.com>
1267 Date:   Fri Jan 11 17:23:22 2013 -0800
1268
1269     osdmap: spread replicas across hosts with default crush map
1270
1271     This is more often the case than not, and we don't have a good way to
1272     magically know what size of cluster the user will be creating.  Better to
1273     err on the side of doing the right thing for more people.
1274
1275     Fixes: #3785
1276     Signed-off-by: Sage Weil <sage@inktank.com>
1277     Reviewed-by: Greg Farnum <greg@inktank.com>
1278     (cherry picked from commit 7ea5d84fa3d0ed3db61eea7eb9fa8dbee53244b6)
1279
1280 commit d882d053927c319274be38a247f2beabb4e06b64
1281 Author: Samuel Just <sam.just@inktank.com>
1282 Date:   Wed Jan 9 19:17:23 2013 -0800
1283
1284     ReplicatedPG: fix snapdir trimming
1285
1286     The previous logic was both complicated and not correct.  Consequently,
1287     we have been tending to drop snapcollection links in some cases.  This
1288     has resulted in clones incorrectly not being trimmed.  This patch
1289     replaces the logic with something less efficient but hopefully a bit
1290     clearer.
1291
1292     Signed-off-by: Samuel Just <sam.just@inktank.com>
1293     Reviewed-by: Sage Weil <sage@inktank.com>
1294     (cherry picked from commit 0f42c37359d976d1fe90f2d3b877b9b0268adc0b)