]> git.proxmox.com Git - ceph.git/blob - ceph/doc/changelog/v0.48.1argonaut.txt
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / doc / changelog / v0.48.1argonaut.txt
1 commit a7ad701b9bd479f20429f19e6fea7373ca6bba7c
2 Author: Sage Weil <sage@inktank.com>
3 Date: Mon Aug 13 14:58:51 2012 -0700
4
5 v0.48.1argonaut
6
7 commit d4849f2f8a8c213c266658467bc5f22763010bc2
8 Author: Yehuda Sadeh <yehuda@inktank.com>
9 Date: Wed Aug 1 13:22:38 2012 -0700
10
11 rgw: fix usage trim call encoding
12
13 Fixes: #2841.
14 Usage trim operation was encoding the wrong op structure (usage read).
15 Since the structures somewhat overlapped it somewhat worked, but user
16 info wasn't encoded.
17
18 Backport: argonaut
19 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
20
21 commit 515952d07107d442889754ec3bd6a344fad25d58
22 Author: Yehuda Sadeh <yehuda@inktank.com>
23 Date: Wed Aug 8 15:21:53 2012 -0700
24
25 cls_rgw: fix rgw_cls_usage_log_trim_op encode/decode
26
27 It was not encoding user, adding that and reset version
28 compatibility.
29 This changes affects command interface, makes use of
30 radosgw-admin usage trim incompatible. Use of old
31 radosgw-admin usage trim should be avoided, as it may
32 remove more data than requested. In any case, upgraded
33 server code will not handle old client's trim requests.
34
35 backport: argonaut
36 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
37
38 commit 2e77130d5c80220be1612b5499d422de620d2d0b
39 Author: Yehuda Sadeh <yehuda@inktank.com>
40 Date: Tue Jul 31 16:17:22 2012 -0700
41
42 rgw: expand date format support
43
44 Relaxing the date format parsing function to allow UTC
45 instead of GMT.
46
47 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
48
49 commit 14fa77d9277b5ef5d0c6683504b368773b39ccc4
50 Author: Yehuda Sadeh <yehuda@inktank.com>
51 Date: Thu Aug 2 11:13:05 2012 -0700
52
53 rgw: complete multipart upload can handle chunked encoding
54
55 Fixes: #2878
56 We now allow complete multipart upload to use chunked encoding
57 when sending request data. With chunked encoding the HTTP_LENGTH
58 header is not required.
59
60 Backport: argonaut
61 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
62
63 commit a06f7783fbcc02e775fc36f30e422fe0f9e0ec2d
64 Author: Yehuda Sadeh <yehuda@inktank.com>
65 Date: Wed Aug 1 11:19:32 2012 -0700
66
67 rgw_xml: xml_handle_data() appends data string
68
69 Fixes: #2879.
70 xml_handle_data() appends data to the object instead of just
71 replacing it. Parsed data can arrive in pieces, specifically
72 when data is escaped.
73
74 Backport: argonaut
75 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
76
77 commit a8b224b9c4877a559ce420a2e04f19f68c8c5680
78 Author: Yehuda Sadeh <yehuda@inktank.com>
79 Date: Wed Aug 1 13:09:41 2012 -0700
80
81 rgw: ETag is unquoted in multipart upload complete
82
83 Fixes #2877.
84 Removing quotes from ETag before comparing it to what we
85 have when completing a multipart upload.
86
87 Backport: argonaut
88 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
89
90 commit 22259c6efda9a5d55221fd036c757bf123796753
91 Author: Josh Durgin <josh.durgin@inktank.com>
92 Date: Wed Aug 8 15:24:57 2012 -0700
93
94 MonMap: return error on failure in build_initial
95
96 If mon_host fails to parse, return an error instead of success.
97 This avoids failing later on an assert monmap.size() > 0 in the
98 monmap in MonClient.
99
100 Fixes: #2913
101 Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
102
103 commit 49b2c7b5a79b8fb4a3941eca2cb0dbaf22f658b7
104 Author: Josh Durgin <josh.durgin@inktank.com>
105 Date: Wed Aug 8 15:10:27 2012 -0700
106
107 addr_parsing: report correct error message
108
109 getaddrinfo uses its return code to report failures.
110
111 Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
112
113 commit 7084f29544f431b7c6a3286356f2448ae0333eda
114 Author: Sage Weil <sage@inktank.com>
115 Date: Wed Aug 8 14:01:53 2012 -0700
116
117 mkcephfs: use default osd_data, _journal values
118
119 Signed-off-by: Sage Weil <sage@inktank.com>
120 Reviewed-by: Greg Farnum <greg@inktank.com>
121
122 commit 96b1a496cdfda34a5efdb6686becf0d2e7e3a1c0
123 Author: Sage Weil <sage@inktank.com>
124 Date: Wed Aug 8 14:01:35 2012 -0700
125
126 mkcephfs: use new default keyring locations
127
128 The ceph-conf command only parses the conf; it does not apply default
129 config values. This breaks mkcephfs if values are not specified in the
130 config.
131
132 Let ceph-osd create its own key, fix copying, and fix creation/copying for
133 the mds.
134
135 Fixes: #2845
136 Reported-by: Florian Haas <florian@hastexo.com>
137 Signed-off-by: Sage Weil <sage@inktank.com>
138 Reviewed-by: Greg Farnum <greg@inktank.com>
139
140 commit 4bd466d6ed49c7192df4a5bf0d63bda5d7d7dd9a
141 Author: Sage Weil <sage@inktank.com>
142 Date: Tue Jul 31 14:01:57 2012 -0700
143
144 osd: peering: detect when log source osd goes down
145
146 The Peering state has a generic check based on the prior set osds that
147 will restart peering if one of them goes down (or one of the interesting
148 down ones comes up). The GetLog state, however, can pull the log from
149 a peer that is not in the prior set if it got a notify from them (e.g., an
150 osd in an old interval that was down when the prior set was calculated).
151 If that osd goes down, we don't detect it and will block forward.
152
153 Fix by adding a simple check in GetLog for the newest_update_osd going
154 down.
155
156 (BTW GetMissing does not suffer from this problem because
157 peer_missing_requested is a subset of the prior set, so the Peering check
158 is sufficient.)
159
160 Signed-off-by: Sage Weil <sage@inktank.com>
161 Reviewed-by: Samuel Just <sam.just@inktank.com>
162
163 commit 87defa88a0c6d6aafaa65437a6e4ddd92418f834
164 Author: Sylvain Munaut <tnt@246tNt.com>
165 Date: Tue Jul 31 11:55:56 2012 -0700
166
167 rbd: fix off-by-one error in key name
168
169 Fixes: #2846
170 Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
171
172 commit 37d5b46269c8a4227e5df61a88579d94f7b56772
173 Author: Sylvain Munaut <tnt@246tNt.com>
174 Date: Tue Jul 31 11:54:29 2012 -0700
175
176 secret: return error on empty secret
177
178 Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
179
180 commit 7b9d37c662313929b52011ddae47cc8abab99095
181 Author: Sage Weil <sage@inktank.com>
182 Date: Sat Jul 28 10:05:47 2012 -0700
183
184 osd: set STRAY on pg load when non-primary
185
186 The STRAY bit indicates that we should annouce ourselves to the primary,
187 but it is only set in start_peering_interval(). We also need to set it
188 initially, so that a PG that is loaded but whose role does not change
189 (e.g., the stray replica stays a stray) will notify the primary.
190
191 Observed:
192 - osd starts up
193 - mapping does not change, STRAY not set
194 - does not announce to primary
195 - primary does not re-check must_have_unfound, objects appear unfound
196
197 Fix this by initializing STRAY when pg is loaded or created whenever we
198 are not the primary.
199
200 Fixes: #2866
201 Signed-off-by: Sage Weil <sage@inktank.com>
202
203 commit 96feca450c5505a06868bc012fe998a03371b77f
204 Author: Sage Weil <sage@inktank.com>
205 Date: Fri Jul 27 16:03:26 2012 -0700
206
207 osd: peering: make Incomplete a Peering substate
208
209 This allows us to still catch changes in the prior set that would affect
210 our conclusions (that we are incomplete) and, when they happen, restart
211 peering.
212
213 Consider:
214 - calc prior set, osd A is down
215 - query everyone else, no good info
216 - set down, go to Incomplete (previously WaitActingChange) state.
217 - osd A comes back up (we do nothing)
218 - osd A sends notify message with good info (we ignore)
219
220 By making this a Peering substate, we catch the Peering AdvMap reaction,
221 which will notice a prior set down osd is now up and move to Reset.
222
223 Fixes: #2860
224 Signed-off-by: Sage Weil <sage@inktank.com>
225
226 commit a71e442fe620fa3a22ad9302413d8344a3a1a969
227 Author: Sage Weil <sage@inktank.com>
228 Date: Fri Jul 27 15:39:40 2012 -0700
229
230 osd: peering: move to Incomplete when.. incomplete
231
232 PG::choose_acting() may return false and *not* request an acting set change
233 if it can't find any suitable peers with enough info to recover. In that
234 case, we should move to Incomplete, not WaitActingChange, just like we do
235 a bit lower in GetLog() if we have non-contiguous logs. The state name is
236 more accurate, and this is also needed to fix bug #2860.
237
238 Signed-off-by: Sage Weil <sage@inktank.com>
239
240 commit 623026d9bc8ea4c845eb3b06d79e0ca9bef50deb
241 Merge: 87b6e80 9db7809
242 Author: Sage Weil <sage@inktank.com>
243 Date: Fri Jul 27 14:00:52 2012 -0700
244
245 Merge remote-tracking branch 'gh/stable' into stable-next
246
247 commit 9db78090451e609e3520ac3e57a5f53da03f9ee2
248 Author: Sage Weil <sage@inktank.com>
249 Date: Thu Jul 26 16:35:00 2012 -0700
250
251 osd: fixing sharing of past_intervals on backfill restart
252
253 We need to share past_intervals whenever we instantiate the PG on a peer.
254 In the PG activation case, this is based on whether our peer_info[] value
255 for that peer is dne(). However, the backfill code was updating the
256 peer info (history) in the block preceeding the dne() check, which meant
257 we never shared past_intervals in this case and the peer would have to
258 chew through a potentially large number of maps if the PG has not been
259 clean recently.
260
261 Fix by checking dne() prior to the backfill block. We still need to fill
262 in the message later because it isn't yet instantiated.
263
264 Fixes: #2849
265 Signed-off-by: Sage Weil <sage@inktank.com>
266 Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
267
268 commit 87b6e8045a3a1ff6439d2684e960ad0dc8988b33
269 Merge: 81d72e5 7dfdf4f
270 Author: Sage Weil <sage@inktank.com>
271 Date: Thu Jul 26 15:04:12 2012 -0700
272
273 Merge remote-tracking branch 'gh/wip-rbd-bid' into stable-next
274
275 commit 81d72e5d7ba4713eb7c290878d901e21c0709028
276 Author: Sage Weil <sage@inktank.com>
277 Date: Mon Jul 23 10:47:10 2012 -0700
278
279 mon: make 'ceph osd rm ...' wipe out all state bits, not just EXISTS
280
281 This ensures that when a new osd reclaims that id it behaves as if it were
282 really new.
283
284 Backport: argonaut
285 Signed-off-by: Sage Weil <sage@inktank.com>
286
287 commit ad9c37f2c029f6eb372efb711b234014397057e9
288 Author: Sage Weil <sage@inktank.com>
289 Date: Mon Jul 9 20:54:19 2012 -0700
290
291 test_stress_watch: just one librados instance
292
293 This was creating a new cluster connection/session per iteration, and
294 along with it a few service threads and sockets and so forth.
295
296 Unfortunately, librados leaks like a sieve, starting with CephContext
297 and ceph::crypto::init(). See #845 and #2067.
298
299 Signed-off-by: Sage Weil <sage@inktank.com>
300
301 commit c60afe1842a48dd75944822c0872fce6a7229f5a
302 Merge: 8833050 35b1326
303 Author: Sage Weil <sage@inktank.com>
304 Date: Thu Jul 26 15:03:50 2012 -0700
305
306 Merge commit '35b13266923f8095650f45562d66372e618c8824' into stable-next
307
308 First batch of msgr fixes.
309
310 commit 88330505cc772a5528e9405d515aa2b945b0819e
311 Author: Samuel Just <sam.just@inktank.com>
312 Date: Mon Jul 9 15:53:31 2012 -0700
313
314 ReplicatedPG: fix replay op ordering
315
316 After a client reconnect, the client replays outstanding ops. The
317 OSD then immediately responds with success if the op has already
318 committed (version < ReplicatedPG::get_first_in_progress).
319 Otherwise, we stick it in waiting_for_ondisk to be replied to when
320 eval_repop concludes that waitfor_disk is empty.
321
322 Fixes #2508
323
324 Signed-off-by: Samuel Just <sam.just@inktank.com>
325
326 Conflicts:
327
328 src/osd/ReplicatedPG.cc
329
330 commit 682609a9343d0488788b1c6b03bc437b7905e4d6
331 Author: Sage Weil <sage@inktank.com>
332 Date: Wed Jul 18 12:55:35 2012 -0700
333
334 objecter: always resend linger registrations
335
336 If a linger op (watch) is sent to the OSD and updates the object, and then
337 the client loses the reply, it will resend the request. The OSD will see
338 that it is a dup, however, and not set up the in-memory session state for
339 the watch. This in turn will break the watch (i.e., notifies won't
340 get delivered).
341
342 Instead, always resend linger registration ops, so that we always have a
343 unique reqid and do the correct session registeration for each session.
344
345 * track the tid of the registation op for each LingerOp
346 * mark registrations ops as should_resend=false; cancel as needed
347 * when we send a new registration op, cancel the old one to ensure we
348 ignore the reply. This is needed becuase we resend linger ops on any
349 pg change, not just a primary change.
350 * drop the first_send arg to send_linger(), as we can now infer that
351 from register_tid == 0.
352
353 The bug was easily reproduced with ms inject socket failures = 500 and the
354 test_stress_watch utility.
355
356 Fixes: #2796
357 Signed-off-by: Sage Weil <sage@inktank.com>
358 Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
359
360 commit 4d7d3e276967d555fed8a689976047f72c96c2db
361 Author: Sage Weil <sage@inktank.com>
362 Date: Mon Jul 9 13:22:42 2012 -0700
363
364 osd: guard class call decoding
365
366 Backport: argonaut
367 Signed-off-by: Sage Weil <sage@inktank.com>
368
369 commit 7fbbe4652ffb2826978aa1f1cacce4456d2ef1fc
370 Author: Sage Weil <sage@inktank.com>
371 Date: Thu Jul 5 18:08:58 2012 -0700
372
373 librados: take lock when signaling notify cond
374
375 When we are signaling the cond to indicate that a notify is complete,
376 take the appropriate lock. This removes the possibility of a race
377 that loses our signal. (That would be very difficult given that there
378 are network round trips involved, but this makes the lock/cond usage
379 "correct.")
380
381 Signed-off-by: Sage Weil <sage@inktank.com>
382
383 commit 6ed01df412b4f4745c8f427a94446987c88b6bef
384 Author: Sage Weil <sage@inktank.com>
385 Date: Sun Jul 22 07:46:11 2012 -0700
386
387 workqueue: kick -> wake or _wake, depending on locking
388
389 Break kick() into wake() and _wake() methods, depending on whether the
390 lock is already held. (The rename ensures that we audit/fix all
391 callers.)
392
393 Signed-off-by: Sage Weil <sage@inktank.com>
394
395 Conflicts:
396
397 src/common/WorkQueue.h
398 src/osd/OSD.cc
399
400 commit d2d40dc3059d91450925534f361f2c03eec9ef88
401 Author: Sage Weil <sage@inktank.com>
402 Date: Wed Jul 4 15:11:21 2012 -0700
403
404 client: fix locking for SafeCond users
405
406 Need to wait on flock, not client_lock.
407
408 Signed-off-by: Sage Weil <sage@inktank.com>
409
410 commit c963a21a8620779d97d6cbb51572551bdbb50d0b
411 Author: Sage Weil <sage@inktank.com>
412 Date: Thu Jul 26 15:01:05 2012 -0700
413
414 filestore: check for EIO in read path
415
416 Check for EIO in read methods and helpers. Try to do checks in low-level
417 methods (e.g., lfn_*()) to avoid duplication in higher-level methods.
418
419 The transaction apply function already checks for EIO on writes, and will
420 generate a nicer error message, so we can largely ignore the write path,
421 as long as errors get passed up correctly.
422
423 Signed-off-by: Sage Weil <sage@inktank.com>
424
425 commit 6bd89aeb1bf3b1cbb663107ae6bcda8a84dd8601
426 Author: Sage Weil <sage@inktank.com>
427 Date: Thu Jul 26 09:07:46 2012 -0700
428
429 filestore: add 'filestore fail eio' option, default true
430
431 By default we will assert/fail/crash on EIO from the underlying fs. We
432 already do this in the write path, but not the read path, or in various
433 internal infrastructure.
434
435 Signed-off-by: Sage Weil <sage@inktank.com>
436
437 commit e9b5a289838f17f75efbf9d1640b949e7485d530
438 Author: Sage Weil <sage@inktank.com>
439 Date: Tue Jul 24 13:53:03 2012 -0700
440
441 config: fix 'config set' admin socket command
442
443 Fixes: #2832
444 Backport: argonaut
445 Signed-off-by: Sage Weil <sage@inktank.com>
446
447 commit 1a6cd9659abcdad0169fe802ed47967467c448b3
448 Author: Sage Weil <sage@inktank.com>
449 Date: Wed Jul 25 16:35:09 2012 -0700
450
451 osd: break potentially large transaction into pieces
452
453 We do a similar trick elsewhere. Control this via a tunable. Eventually
454 we'll control the others (in a non-stable branch).
455
456 Signed-off-by: Sage Weil <sage@inktank.com>
457
458 commit 15e1622959f5a46f7a98502cdbaebfda2247a35b
459 Author: Sage Weil <sage@inktank.com>
460 Date: Wed Jul 25 14:53:34 2012 -0700
461
462 osd: only commit past intervals at end of parallel build
463
464 We don't check for gaps in the past intervals, so we should only commit
465 this when we are completely done. Otherwise a partial run and rsetart will
466 leave the gap in place, which may confuse the peering code that relies on
467 this information.
468
469 Signed-off-by: Sage Weil <sage@inktank.com>
470
471 commit 16302acefd8def98fc4597366d6ba2845e17fcb6
472 Author: Sage Weil <sage@inktank.com>
473 Date: Wed Jul 25 10:57:35 2012 -0700
474
475 osd: generate past intervals in parallel on boot
476
477 Even though we aggressively share past_intervals with notifies etc, it is
478 still possible for an osd to get buried behind a pile of old maps and need
479 to generate these if it has been out of the cluster for a while. This has
480 happened to us in the past but, sadly, we did not merge the work then.
481 On the bright side, this implementation is much much much cleaner than the
482 old one because of the pg_interval_t helper we've since switched to.
483
484 On bootup, we look at the intervals each pg needs and calclate the union,
485 and then iterate over that map range. The inner bit of the loop is
486 functionally identical to PG::build_past_intervals(), keeping the per-pg
487 state in the pistate struct.
488
489 Backport: argonaut
490 Signed-off-by: Sage Weil <sage@inktank.com>
491 Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
492 Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
493
494 commit fca65ff52a5f7d49bcac83b3b2232963a879e446
495 Author: Sage Weil <sage@inktank.com>
496 Date: Wed Jul 25 10:58:07 2012 -0700
497
498 osd: move calculation of past_interval range into helper
499
500 PG::generate_past_intervals() first calculates the range over which it
501 needs to generate past intervals. Do this in a helper function.
502
503 Signed-off-by: Sage Weil <sage@inktank.com>
504 Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
505 Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
506
507 commit 5979351ef3d3d03bced9286f79cbc22524c4a8de
508 Author: Sage Weil <sage@inktank.com>
509 Date: Wed Jul 25 10:58:28 2012 -0700
510
511 osd: fix map epoch boot condition
512
513 We only want to join the cluster if we can catch up to the latest
514 osdmap with a small number of maps, in this case a single map message.
515
516 Backport: argonaut
517 Signed-off-by: Sage Weil <sage@inktank.com>
518 Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
519
520 commit 8c7186d02627f8255273009269d50955172efb52
521 Author: Sage Weil <sage@inktank.com>
522 Date: Tue Jul 24 20:18:01 2012 -0700
523
524 mon: ignore pgtemp messages from down osds
525
526 Signed-off-by: Sage Weil <sage@inktank.com>
527
528 commit b17f54671f350fd4247f895f7666d46860736728
529 Author: Sage Weil <sage@inktank.com>
530 Date: Tue Jul 24 20:16:04 2012 -0700
531
532 mon: ignore osd_alive messages from down osds
533
534 Signed-off-by: Sage Weil <sage@inktank.com>
535
536 commit 7dfdf4f8de16155edd434534e161e06ba7c79d7d
537 Author: Josh Durgin <josh.durgin@inktank.com>
538 Date: Mon Jul 23 14:05:53 2012 -0700
539
540 librbd: replace assign_bid with client id and random number
541
542 The assign_bid method has issues with replay because it is a write
543 that also returns data. This means that the replayed operation would
544 return success, but no data, and cause a create to fail. Instead, let
545 the client set the bid based on its global id and a random number.
546
547 This only affects the creation of new images, since the bid is put
548 into an opaque string as part of the object prefix.
549
550 Keep the server side assign_bid around in case there are old clients
551 still using it.
552
553 Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
554
555 commit dc2d67112163bee8b111f75ae3e3ca42884b09b4
556 Author: Dan Mick <dan.mick@inktank.com>
557 Date: Mon Jul 9 14:11:23 2012 -0700
558
559 librados: add new constructor to form a Rados object from IoCtx
560
561 This creates a separate reference to an existing connection, for
562 use when a client holding IoCtx needs to consult another (say,
563 for rbd cloning)
564
565 Signed-off-by: Dan Mick <dan.mick@inktank.com>
566 Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
567
568 commit c99671201de9d9cdf03bbf0f4e28e8afb70c280c
569 Author: Sage Weil <sage@inktank.com>
570 Date: Wed Jul 18 19:49:58 2012 -0700
571
572 add CRUSH_TUNABLES feature bit
573
574 Signed-off-by: Sage Weil <sage@inktank.com>
575
576 commit 0b579546cfddec35095b2aec753028d8e63f3533
577 Author: Josh Durgin <josh.durgin@inktank.com>
578 Date: Wed Jul 18 10:24:58 2012 -0700
579
580 ObjectCacher: fix cache_bytes_hit accounting
581
582 Misses are not hits!
583
584 Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
585
586 commit 2869039b79027e530c2863ebe990662685e4bbe6
587 Author: Pascal de Bruijn | Unilogic Networks B.V <pascal@unilogicnetworks.net>
588 Date: Wed Jul 11 15:23:16 2012 +0200
589
590 Robustify ceph-rbdnamer and adapt udev rules
591
592 Below is a patch which makes the ceph-rbdnamer script more robust and
593 fixes a problem with the rbd udev rules.
594
595 On our setup we encountered a symlink which was linked to the wrong rbd:
596
597 /dev/rbd/mypool/myrbd -> /dev/rbd1
598
599 While that link should have gone to /dev/rbd3 (on which a
600 partition /dev/rbd3p1 was present).
601
602 Now the old udev rule passes %n to the ceph-rbdnamer script, the problem
603 with %n is that %n results in a value of 3 (for rbd3), but in a value of
604 1 (for rbd3p1), so it seems it can't be depended upon for rbdnaming.
605
606 In the patch below the ceph-rbdnamer script is made more robust and it
607 now it can be called in various ways:
608
609 /usr/bin/ceph-rbdnamer /dev/rbd3
610 /usr/bin/ceph-rbdnamer /dev/rbd3p1
611 /usr/bin/ceph-rbdnamer rbd3
612 /usr/bin/ceph-rbdnamer rbd3p1
613 /usr/bin/ceph-rbdnamer 3
614
615 Even with all these different styles of calling the modified script, it
616 should now return the same rbdname. This change "has" to be combined
617 with calling it from udev with %k though.
618
619 With that fixed, we hit the second problem. We ended up with:
620
621 /dev/rbd/mypool/myrbd -> /dev/rbd3p1
622
623 So the rbdname was symlinked to the partition on the rbd instead of the
624 rbd itself. So what probably went wrong is udev discovering the disk and
625 running ceph-rbdnamer which resolved it to myrbd so the following
626 symlink was created:
627
628 /dev/rbd/mypool/myrbd -> /dev/rbd3
629
630 However partitions would be discovered next and ceph-rbdnamer would be
631 run with rbd3p1 (%k) as parameter, resulting in the name myrbd too, with
632 the previous correct symlink being overwritten with a faulty one:
633
634 /dev/rbd/mypool/myrbd -> /dev/rbd3p1
635
636 The solution to the problem is in differentiating between disks and
637 partitions in udev and handling them slightly differently. So with the
638 patch below partitions now get their own symlinks in the following style
639 (which is fairly consistent with other udev rules):
640
641 /dev/rbd/mypool/myrbd-part1 -> /dev/rbd3p1
642
643 Please let me know any feedback you have on this patch or the approach
644 used.
645
646 Regards,
647 Pascal de Bruijn
648 Unilogic B.V.
649
650 Signed-off-by: Pascal de Bruijn <pascal@unilogicnetworks.net>
651 Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
652
653 commit 426384f6beccabf9e9b9601efcb8147904ec97c2
654 Author: Sage Weil <sage@inktank.com>
655 Date: Mon Jul 16 16:02:14 2012 -0700
656
657 log: apply log_level to stderr/syslog logic
658
659 In non-crash situations, we want to make sure the message is both below the
660 syslog/stderr threshold and also below the normal log threshold. Otherwise
661 we get anything we gather on those channels, even when the log level is
662 low.
663
664 Signed-off-by: Sage Weil <sage@inktank.com>
665
666 commit 8dafcc5c1906095cb7d15d648a7c1d7524df3768
667 Author: Sage Weil <sage@inktank.com>
668 Date: Mon Jul 16 15:40:53 2012 -0700
669
670 log: fix event gather condition
671
672 We should gather an event if it is below the log or gather threshold.
673
674 Previously we were only gathering if we were going to print it, which makes
675 the dump no more useful than what was already logged.
676
677 Signed-off-by: Sage Weil <sage@inktank.com>
678
679 commit ec5cd6def9817039704b6cc010f2797a700d8500
680 Author: Samuel Just <sam.just@inktank.com>
681 Date: Mon Jul 16 13:11:24 2012 -0700
682
683 PG::RecoveryState::Stray::react(LogEvt&): reset last_pg_scrub
684
685 We need to reset the last_pg_scrub data in the osd since we
686 are replacing the info.
687
688 Probably fixes #2453
689
690 In cases like 2453, we hit the following backtrace:
691
692 0> 2012-05-19 17:24:09.113684 7fe66be3d700 -1 osd/OSD.h: In function 'void OSD::unreg_last_pg_scrub(pg_t, utime_t)' thread 7fe66be3d700 time 2012-05-19 17:24:09.095719
693 osd/OSD.h: 840: FAILED assert(last_scrub_pg.count(p))
694
695 ceph version 0.46-313-g4277d4d (commit:4277d4d3378dde4264e2b8d211371569219c6e4b)
696 1: (OSD::unreg_last_pg_scrub(pg_t, utime_t)+0x149) [0x641f49]
697 2: (PG::proc_primary_info(ObjectStore::Transaction&, pg_info_t const&)+0x5e) [0x63383e]
698 3: (PG::RecoveryState::ReplicaActive::react(PG::RecoveryState::MInfoRec const&)+0x4a) [0x633eda]
699 4: (boost::statechart::detail::reaction_result boost::statechart::simple_state<PG::RecoveryState::ReplicaActive, PG::RecoveryState::Started, boost::mpl::list<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, (boost::statechart::history_mode)0>::local_react_impl_non_empty::local_react_impl<boost::mpl::list3<boost::statechart::custom_reaction<PG::RecoveryState::MQuery>, boost::statechart::custom_reaction<PG::RecoveryState::MInfoRec>, boost::statechart::custom_reaction<PG::RecoveryState::MLogRec> >, boost::statechart::simple_state<PG::RecoveryState::ReplicaActive, PG::RecoveryState::Started, boost::mpl::list<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, (boost::statechart::history_mode)0> >(boost::statechart::simple_state<PG::RecoveryState::ReplicaActive, PG::RecoveryState::Started, boost::mpl::list<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, (boost::statechart::history_mode)0>&, boost::statechart::event_base const&, void const*)+0x130) [0x6466a0]
700 5: (boost::statechart::simple_state<PG::RecoveryState::ReplicaActive, PG::RecoveryState::Started, boost::mpl::list<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, (boost::statechart::history_mode)0>::react_impl(boost::statechart::event_base const&, void const*)+0x81) [0x646791]
701 6: (boost::statechart::state_machine<PG::RecoveryState::RecoveryMachine, PG::RecoveryState::Initial, std::allocator<void>, boost::statechart::null_exception_translator>::send_event(boost::statechart::event_base const&)+0x5b) [0x63dfcb]
702 7: (boost::statechart::state_machine<PG::RecoveryState::RecoveryMachine, PG::RecoveryState::Initial, std::allocator<void>, boost::statechart::null_exception_translator>::process_event(boost::statechart::event_base const&)+0x11) [0x63e0f1]
703 8: (PG::RecoveryState::handle_info(int, pg_info_t&, PG::RecoveryCtx*)+0x177) [0x616987]
704 9: (OSD::handle_pg_info(std::tr1::shared_ptr<OpRequest>)+0x665) [0x5d3d15]
705 10: (OSD::dispatch_op(std::tr1::shared_ptr<OpRequest>)+0x2a0) [0x5d7370]
706 11: (OSD::_dispatch(Message*)+0x191) [0x5dd4a1]
707 12: (OSD::ms_dispatch(Message*)+0x153) [0x5ddda3]
708 13: (SimpleMessenger::dispatch_entry()+0x863) [0x77fbc3]
709 14: (SimpleMessenger::DispatchThread::entry()+0xd) [0x746c5d]
710 15: (()+0x7efc) [0x7fe679b1fefc]
711 16: (clone()+0x6d) [0x7fe67815089d]
712 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
713
714 Because we don't clear the scrub state before reseting info,
715 the last_scrub_stamp state in the info.history structure
716 changes without updating the osd state resulting in the
717 above assert failure.
718
719 Backport: stable
720
721 Signed-off-by: Samuel Just <sam.just@inktank.com>
722
723 commit 248cfaddd0403c7bae8e1533a3d2e27d1a335b9b
724 Author: Samuel Just <sam.just@inktank.com>
725 Date: Mon Jul 9 17:57:03 2012 -0700
726
727 ReplicatedPG: don't warn if backfill peer stats don't match
728
729 pinfo.stats might be wrong if we did log-based recovery on the
730 backfilled portion in addition to continuing backfill.
731
732 bug #2750
733
734 Signed-off-by: Samuel Just <sam.just@inktank.com>
735
736 commit bcb1073f9171253adc37b67ee8d302932ba1667b
737 Author: Sage Weil <sage@inktank.com>
738 Date: Sun Jul 15 20:30:34 2012 -0700
739
740 mon/MonitorStore: always O_TRUNC when writing states
741
742 It is possible for a .new file to already exist, potentially with a
743 larger size. This would happen if:
744
745 - we were proposing a different value
746 - we crashed (or were stopped) before it got renamed into place
747 - after restarting, a different value was proposed and accepted.
748
749 This isn't so unlikely for the log state machine, where we're
750 aggregating random messages. O_TRUNC ensure we avoid getting the tail
751 end of some previous junk.
752
753 I observed #2593 and found that a logm state value had a larger size on
754 one mon (after slurping) than the others, pointing to put_bl_sn_map().
755
756 While we are at it, O_TRUNC put_int() too; the same type of bug is
757 possible there, too.
758
759 Fixes: #2593
760 Signed-off-by: Sage Weil <sage@inktank.com>
761
762 commit 41a570778a51fe9a36a5b67a177d173889e58363
763 Author: Sage Weil <sage@inktank.com>
764 Date: Sat Jul 14 14:31:34 2012 -0700
765
766 osd: based misdirected op role calc on acting set
767
768 We want to look at the acting set here, nothing else. This was causing us
769 to erroneously queue ops for later (wasting memory) and to erroneously
770 print out a 'misdrected op' message in the cluster log (confusion and
771 incorrect [but ignored] -ENXIO reply).
772
773 Fixes: #2022
774 Signed-off-by: Sage Weil <sage@inktank.com>
775
776 commit b3d077c61e977e8ebb91288aa2294fb21c197fe7
777 Author: Josh Durgin <josh.durgin@inktank.com>
778 Date: Fri Jul 13 09:42:20 2012 -0700
779
780 qa: download tests from specified branch
781
782 These python tests aren't installed, so they need to be downloaded
783
784 Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
785
786 commit e855cb247b5a9eda6845637e2da5b6358f69c2ed
787 Author: Yehuda Sadeh <yehuda@inktank.com>
788 Date: Mon Jun 25 09:47:37 2012 -0700
789
790 rgw: don't override subuser perm mask if perm not specified
791
792 Bug #2650. We were overriding subuser perm mask whenever subuser
793 was modified, even if perm mask was not passed.
794
795 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
796
797 commit d6c766ea425d87a2f2405c08dcec66f000a4e1a0
798 Author: James Page <james.page@ubuntu.com>
799 Date: Wed Jul 11 11:34:21 2012 -0700
800
801 debian: fix ceph-fs-common-dbg depends
802
803 Signed-off-by: James Page <james.page@ubuntu.com>
804
805 commit 95e8d87bc3fb12580e4058401674b93e19df6e02
806 Author: Yehuda Sadeh <yehuda@inktank.com>
807 Date: Wed Jul 11 11:52:24 2012 -0700
808
809 rados tool: remove -t param option for target pool
810
811 Bug #2772. This fixes an issue that was introduced when we
812 added the 'rados cp' command. The -t param was already used
813 for rados bench. With this change the only way to specify
814 a target pool is using --target-pool.
815 Though this problem is post argonaut, the 'rados cp' command
816 has been backported, so we need this fix there too.
817
818 Backport: argonaut
819
820 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
821
822 commit 5b10778399d5bee602e57035df7d40092a649c06
823 Author: Sage Weil <sage@inktank.com>
824 Date: Wed Jul 11 09:19:00 2012 -0700
825
826 Makefile: don't install crush headers
827
828 This is leftover from when we built a libcrush.so. We can re-add when we
829 start doing that again.
830
831 Reported-by: Laszlo Boszormenyi <gcs@debian.hu>
832 Signed-off-by: Sage Weil <sage@inktank.com>
833
834 commit 35b13266923f8095650f45562d66372e618c8824
835 Author: Sage Weil <sage@inktank.com>
836 Date: Tue Jul 10 13:18:27 2012 -0700
837
838 msgr: take over existing Connection on Pipe replacement
839
840 If a new pipe/socket is taking over an existing session, it should also
841 take over the Connection* associated with the existing session. Because
842 we cannot clear existing->connection_state, we just take another reference.
843
844 Clean up the comments a bit while we're here.
845
846 This affects MDS<->client sessions when reconnecting after a socket fault.
847 It probably also affects intra-cluster (osd/osd, mds/mds, mon/mon)
848 sessions as well, but I did not confirm that.
849
850 Backport: argonaut
851 Signed-off-by: Sage Weil <sage@inktank.com>
852
853 commit b387077b1d019ee52b28bc3bc5305bfb53dfd892
854 Author: Sage Weil <sage@inktank.com>
855 Date: Sun Jul 8 20:33:12 2012 -0700
856
857 debian: include librados-config in librados-dev
858
859 Reported-by: Laszlo Boszormenyi <gcs@debian.hu>
860 Signed-off-by: Sage Weil <sage@inktank.com>
861
862 commit 03c2dc244af11b711e2514fd5f32b9bfa34183f6
863 Author: Sage Weil <sage@inktank.com>
864 Date: Tue Jul 3 13:04:28 2012 -0700
865
866 lockdep: increase max locks
867
868 Hit this limit with the rados api tests.
869
870 Signed-off-by: Sage Weil <sage@inktank.com>
871
872 commit b554d112c107efe78ec64f85b5fe588f1e7137ce
873 Author: Sage Weil <sage@inktank.com>
874 Date: Tue Jul 3 12:07:28 2012 -0700
875
876 config: add unlocked version of get_my_sections; use it internally
877
878 Signed-off-by: Sage Weil <sage@inktank.com>
879
880 commit 01da287b8fdc07262be252f1a7c115734d3cc328
881 Author: Sage Weil <sage@inktank.com>
882 Date: Tue Jul 3 08:20:06 2012 -0700
883
884 config: fix lock recursion in get_val_from_conf_file()
885
886 Introduce a private, already-locked version.
887
888 Signed-off-by: Sage Weil <sage@inktank.com>
889
890 commit c73c64a0f722477a5b0db93da2e26e313a5f52ba
891 Author: Sage Weil <sage@inktank.com>
892 Date: Tue Jul 3 08:15:08 2012 -0700
893
894 config: fix recursive lock in parse_config_files()
895
896 The _impl() helper is only called from parse_config_files(); don't retake
897 the lock.
898
899 Signed-off-by: Sage Weil <sage@inktank.com>
900
901 commit 6646e891ff0bd31c935d1ce0870367b1e086ddfd
902 Author: Sage Weil <sage@inktank.com>
903 Date: Tue Jul 3 18:51:02 2012 -0700
904
905 rgw: initialize fields of RGWObjEnt
906
907 This fixes various valgrind warnings triggered by the s3test
908 test_object_create_unreadable.
909
910 Signed-off-by: Sage Weil <sage@inktank.com>
911
912 commit b33553aae63f70ccba8e3d377ad3068c6144c99a
913 Author: Yehuda Sadeh <yehuda@inktank.com>
914 Date: Fri Jul 6 13:14:53 2012 -0700
915
916 rgw: handle response-* params
917
918 Handle response-* params that set response header field values.
919 Fixes #2734, #2735.
920 Backport: argonaut
921
922 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
923
924 commit 74f687501a8a02ef248a76f061fbc4d862a9abc4
925 Author: Sage Weil <sage@inktank.com>
926 Date: Wed Jul 4 13:59:04 2012 -0700
927
928 osd: add missing formatter close_section() to scrub status
929
930 Also add braces to make the open/close matchups easier to see. Broken
931 by f36617392710f9b3538bfd59d45fd72265993d57.
932
933 Signed-off-by: Sage Weil <sage@inktank.com>
934
935 commit 020b29961303b12224524ddf78c0c6763a61242e
936 Author: Mike Ryan <mike.ryan@inktank.com>
937 Date: Wed Jun 27 14:14:30 2012 -0700
938
939 pg: report scrub status
940
941 Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
942
943 commit db6d83b3ed51c07b361b27d2e5ce3227a51e2c60
944 Author: Mike Ryan <mike.ryan@inktank.com>
945 Date: Wed Jun 27 13:30:45 2012 -0700
946
947 pg: track who we are waiting for maps from
948
949 Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
950
951 commit e1d4855fa18b1cda85923ad9debd95768260d4eb
952 Author: Mike Ryan <mike.ryan@inktank.com>
953 Date: Tue Jun 26 16:25:27 2012 -0700
954
955 pg: reduce scrub write lock window
956
957 Wait for all replicas to construct the base scrub map before finalizing
958 the scrub and locking out writes.
959
960 Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
961
962 commit 27409aa1612c1512bf393de22b62bbfe79b104c1
963 Author: Yehuda Sadeh <yehuda@inktank.com>
964 Date: Thu Jul 5 15:52:51 2012 -0700
965
966 rgw: don't store bucket info indexed by bucket_id
967
968 Issue #2701. This info wasn't really used anywhere and we weren't
969 removing it. It was also sharing the same pool namespace as the
970 info indexed by bucket name, which is bad.
971
972 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
973
974 commit 9814374a2b40e15c13eb03ce6b8e642b0f7f93e4
975 Author: Yehuda Sadeh <yehuda@inktank.com>
976 Date: Thu Jul 5 14:59:22 2012 -0700
977
978 test_rados_tool.sh: test copy pool
979
980 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
981
982 commit d75100667a539baf47c79d752b787ed5dcb51d7a
983 Author: Yehuda Sadeh <yehuda@inktank.com>
984 Date: Thu Jul 5 13:42:23 2012 -0700
985
986 rados tool: copy object in chunks
987
988 Instead of reading the entire object and then writing it,
989 we read it in chunks.
990
991 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
992
993 commit 16ea64fbdebb7a74e69e80a18d98f35d68b8d9a1
994 Author: Yehuda Sadeh <yehuda@inktank.com>
995 Date: Fri Jun 29 14:43:00 2012 -0700
996
997 rados tool: copy entire pool
998
999 A new rados tool command that copies an entire pool
1000 into another existing pool.
1001
1002 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
1003
1004 commit 960c2124804520e81086df97905a299c8dd4e08c
1005 Author: Yehuda Sadeh <yehuda@inktank.com>
1006 Date: Fri Jun 29 14:09:08 2012 -0700
1007
1008 rados tool: copy object
1009
1010 New rados command: rados cp <src-obj> [dest-obj]
1011
1012 Requires specifying source pool. Target pool and locator can be specified.
1013 The new command preserves object xattrs and omap data.
1014
1015 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
1016
1017 commit 23d31d3e2aa7f2b474a7b8e9d40deb245d8be9de
1018 Author: Sage Weil <sage@inktank.com>
1019 Date: Fri Jul 6 08:47:44 2012 -0700
1020
1021 ceph.spec.in: add ceph-disk-{activate,prepare}
1022
1023 Reported-by: Jimmy Tang <jtang@tchpc.tcd.ie>
1024 Signed-off-by: Sage Weil <sage@inktank.com>
1025
1026 commit ea11c7f9d8fd9795e127cfd7e8a1f28d4f5472e9
1027 Author: Wido den Hollander <wido@widodh.nl>
1028 Date: Thu Jul 5 15:29:54 2012 +0200
1029
1030 Allow URL-safe base64 cephx keys to be decoded.
1031
1032 In these cases + and / are replaced by - and _ to prevent problems when using
1033 the base64 strings in URLs.
1034
1035 Signed-off-by: Wido den Hollander <wido@widodh.nl>
1036 Signed-off-by: Sage Weil <sage@inktank.com>
1037
1038 commit f67fe4e368b5f250f0adfb183476f5f294e8a529
1039 Author: Wido den Hollander <wido@widodh.nl>
1040 Date: Wed Jul 4 15:46:04 2012 +0200
1041
1042 librados: Bump the version to 0.48
1043
1044 Signed-off-by: Wido den Hollander <wido@widodh.nl>
1045 Signed-off-by: Sage Weil <sage@inktank.com>
1046
1047 commit 35b9ec881aecf84b3a49ec0395d7208de36dc67d
1048 Author: Yehuda Sadeh <yehuda@inktank.com>
1049 Date: Tue Jun 26 17:28:51 2012 -0700
1050
1051 rgw-admin: use correct modifier with strptime
1052
1053 Bug #2658: used %I (12h) instead of %H (24h)
1054
1055 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
1056
1057 commit da251fe88503d32b86113ee0618db7c446d34853
1058 Author: Yehuda Sadeh <yehuda@inktank.com>
1059 Date: Thu Jun 21 15:40:27 2012 -0700
1060
1061 rgw: send both swift x-storage-token and x-auth-token
1062
1063 older clients need x-storage-token, newer x-auth-token
1064
1065 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
1066
1067 commit 4c19ecb9a34e77e71d523a0a97e17f747bd5767d
1068 Author: Yehuda Sadeh <yehuda@inktank.com>
1069 Date: Thu Jun 21 15:17:19 2012 -0700
1070
1071 rgw: radosgw-admin date params now also accept time
1072
1073 The date format now is "YYYY-MM-DD[ hh:mm:ss]". Got rid of
1074 the --time param for the old ops log stuff.
1075
1076 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
1077
1078 Conflicts:
1079
1080 src/test/cli/radosgw-admin/help.t
1081
1082 commit 6958aeb898fc683159483bfbb798f069a9b5330a
1083 Author: Yehuda Sadeh <yehuda@inktank.com>
1084 Date: Thu Jun 21 13:14:47 2012 -0700
1085
1086 rgw-admin: fix usage help
1087
1088 s/show/trim
1089
1090 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
1091
1092 commit 83c043f803ab2ed74fa9a84ae9237dd7df2a0c57
1093 Author: Sage Weil <sage@inktank.com>
1094 Date: Tue Jul 3 14:07:16 2012 -0700
1095
1096 radosgw-admin: fix clit test
1097
1098 Signed-off-by: Sage Weil <sage@inktank.com>
1099
1100 commit 5674158163e9c1d50985796931240b237676b74d
1101 Author: Sage Weil <sage@inktank.com>
1102 Date: Tue Jul 3 11:32:57 2012 -0700
1103
1104 ceph: fix cli help test
1105
1106 Signed-off-by: Sage Weil <sage@inktank.com>
1107
1108 commit 151bf0eef59acae2d1fcf3f0feb8b6aa963dc2f6
1109 Author: Samuel Just <sam.just@inktank.com>
1110 Date: Tue Jul 3 11:23:16 2012 -0700
1111
1112 ReplicatedPG: remove faulty scrub assert in sub_op_modify_applied
1113
1114 This assert assumed that all ops submitted before MOSDRepScrub was
1115 submitted were processed by the time that MOSDRepScrub was
1116 processed. In fact, MOSDRepScrub's scrub_to may refer to a
1117 last_update yet to be seen by the replica.
1118
1119 Bug #2693
1120
1121 Signed-off-by: Samuel Just <sam.just@inktank.com>
1122
1123 commit 32833e88a1ad793fa4be86101ce9c22b6f677c06
1124 Author: Kyle Bader <kyle.bader@dreamhost.com>
1125 Date: Tue Jul 3 11:20:38 2012 -0700
1126
1127 ceph: better usage
1128
1129 Signed-off-by: Kyle Bader <kyle.bader@dreamhost.com>
1130
1131 commit 67455c21879c9c117f6402259b5e2da84524e169
1132 Author: Sage Weil <sage@inktank.com>
1133 Date: Tue Jul 3 09:20:35 2012 -0700
1134
1135 debian: strip new ceph-mds package
1136
1137 Reported-by: Amon Ott <a.ott@m-privacy.de>
1138 Signed-off-by: Sage Weil <sage@inktank.com>
1139
1140 commit b53cdb97d15f9276a9b26bec9f29034149f93358
1141 Author: Sage Weil <sage@inktank.com>
1142 Date: Tue Jul 3 06:46:10 2012 -0700
1143
1144 config: remove bad argparse_flag argument in parse_option()
1145
1146 This is wrong, and thankfully valgrind picks it up.
1147
1148 Signed-off-by: Sage Weil <sage@inktank.com>
1149
1150 commit f7d4e39740fd2afe82ac40c711bd3fe7a282e816
1151 Author: Sage Weil <sage@inktank.com>
1152 Date: Sun Jul 1 17:23:28 2012 -0700
1153
1154 msgr: restart_queue when replacing existing pipe and taking over the queue
1155
1156 The queue may have been previously stopped (by discard_queue()), and needs
1157 to be restarted.
1158
1159 Fixes consistent failures from the mon_recovery.py integration tests.
1160
1161 Signed-off-by: Sage Weil <sage@inktank.com>
1162
1163 commit 5dfd2a512d309f7f641bcf7c43277f08cf650b01
1164 Author: Sage Weil <sage@inktank.com>
1165 Date: Sun Jul 1 15:37:31 2012 -0700
1166
1167 msgr: choose incoming connection if ours is STANDBY
1168
1169 If the connect_seq matches, but our existing connection is in STANDBY, take
1170 the incoming one. Otherwise, the other end will wait indefinitely for us
1171 to connect but we won't.
1172
1173 Alternatively, we could "win" the race and trigger a connection by sending
1174 a keepalive (or similar), but that is more work; we may as well accept the
1175 incoming connection we have now.
1176
1177 This removes STANDBY from the acceptable WAIT case states. It also keeps
1178 responsibility squarely on the shoulders of the peer with something to
1179 deliver.
1180
1181 Without this patch, a 3-osd vstart cluster with
1182 'ms inject socket failures = 100' and rados bench write -b 4096 would start
1183 generating slow request warnings after a few minutes due to the osds
1184 failing to connect to each other. With the patch, I complete a 10 minute
1185 run without problems.
1186
1187 Signed-off-by: Sage Weil <sage@inktank.com>
1188
1189 commit b7007a159f6d941fa8313a24af5810ce295b36ca
1190 Author: Sage Weil <sage@inktank.com>
1191 Date: Thu Jun 28 17:50:47 2012 -0700
1192
1193 msgr: preserve incoming message queue when replacing pipes
1194
1195 If we replace an existing pipe with a new one, move the incoming queue
1196 of messages that have not yet been dispatched over to the new Pipe so that
1197 they are not lost. This prevents messages from being lost.
1198
1199 Alternatively, we could set in_seq = existing->in_seq - existing->in_qlen,
1200 but that would make the other end resend those messages, which is a waste
1201 of bandwidth.
1202
1203 Very easy to reproduce the original bug with 'ms inject socket failures'.
1204
1205 Signed-off-by: Sage Weil <sage@inktank.com>
1206
1207 commit 1f3a722e150f9f27fe7919e9579b5a88dcd15639
1208 Author: Sage Weil <sage@inktank.com>
1209 Date: Thu Jun 28 17:45:24 2012 -0700
1210
1211 msgr: move dispatch_entry into DispatchQueue class
1212
1213 A bit cleaner.
1214
1215 Signed-off-by: Sage Weil <sage@inktank.com>
1216
1217 commit 03445290dad5b1213dd138cacf46e379400201c9
1218 Author: Sage Weil <sage@inktank.com>
1219 Date: Thu Jun 28 17:38:34 2012 -0700
1220
1221 msgr: move incoming queue to separate class
1222
1223 This extricates the incoming queue and its funky relationship with
1224 DispatchQueue from Pipe and moves it into IncomingQueue. There is now a
1225 single IncomingQueue attached to each Pipe. DispatchQueue is now no
1226 longer tied to Pipe.
1227
1228 This modularizes the code a bit better (tho that is still a work in
1229 progress) and (more importantly) will make it possible to move the
1230 incoming messages from one pipe to another in accept().
1231
1232 Signed-off-by: Sage Weil <sage@inktank.com>
1233
1234 commit 0dbc54169512da776c16161ec3b8fa0b3f08e248
1235 Author: Sage Weil <sage@inktank.com>
1236 Date: Wed Jun 27 17:06:40 2012 -0700
1237
1238 msgr: make D_CONNECT constant non-zero, fix ms_handle_connect() callback
1239
1240 A while ago we inadvertantly broke ms_handle_connect() callbacks because
1241 of a check for m being non-zero in the dispatch_entry() thread. Adjust the
1242 enums so that they get delivered again.
1243
1244 This fixes hangs when, for example, the ceph tool sends a command, gets a
1245 connection reset, and doesn't get the connect callback to resend after
1246 reconnecting to a new monitor.
1247
1248 Signed-off-by: Sage Weil <sage@inktank.com>
1249
1250 commit 2429556a51e8f60b0d9bdee71ef7b34b367f2f38
1251 Author: Sage Weil <sage@inktank.com>
1252 Date: Tue Jun 26 17:10:40 2012 -0700
1253
1254 msgr: fix pipe replacement assert
1255
1256 We may replace an existing pipe in the STANDBY state if the previous
1257 attempt failed during accept() (see previous patches).
1258
1259 This might fix #1378.
1260
1261 Signed-off-by: Sage Weil <sage@inktank.com>
1262
1263 commit 204bc594be1a6046d1b362693d086b49294c2a27
1264 Author: Sage Weil <sage@inktank.com>
1265 Date: Tue Jun 26 17:07:31 2012 -0700
1266
1267 msgr: do not try to reconnect con with CLOSED pipe
1268
1269 If we have a con with a closed pipe, drop the message. For lossless
1270 sessions, the state will be STANDBY if we should reconnect. For lossy
1271 sessions, we will end up with CLOSED and we *should* drop the message.
1272
1273 Signed-off-by: Sage Weil <sage@inktank.com>
1274
1275 commit e6ad6d25a58b8e34a220d090d01e26293c2437b4
1276 Author: Sage Weil <sage@inktank.com>
1277 Date: Tue Jun 26 17:06:41 2012 -0700
1278
1279 msgr: move to STANDBY if we replace during accept and then fail
1280
1281 If we replace an existing pipe during accept() and then fail, move to
1282 STANDBY so that our connection state (connect_seq, etc.) is preserved.
1283 Otherwise, we will throw out that information and falsely trigger a
1284 RESETSESSION on the next connection attempt.
1285
1286 Signed-off-by: Sage Weil <sage@inktank.com>