Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / ceph / doc / changelog / v0.56.5.txt
1 commit df884bb7b59e5796c996ab806f5ec8b8322e292f
2 Author: Gary Lowell <gary.lowell@inktank.com>
3 Date:   Thu May 2 18:08:06 2013 -0700
4
5     v0.56.5
6
7 commit b38cbabb2a38e4476de1135c33c25c673d62cd67
8 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
9 Date:   Thu Apr 4 18:23:40 2013 +0200
10
11     ceph.spec.in: fix udev rules.d files handling
12     
13     Move 50-rbd.rules into the ceph base package since the related
14     ceph-rbdnamer binary is part of this package. Use correct install
15     pattern.
16     
17     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
18
19 commit d0678a062a1baf738ce96114114d99495be19478
20 Author: Sage Weil <sage@inktank.com>
21 Date:   Mon Apr 29 17:01:55 2013 -0700
22
23     debian: only start/stop upstart jobs if upstart is present
24     
25     This avoids errors on non-upstart distros (like wheezy).
26     
27     Signed-off-by: Sage Weil <sage@inktank.com>
28     (cherry picked from commit 030bf8aaa15837f898e453161eeaf1d52fc5779d)
29     
30     Conflicts:
31         debian/ceph-mds.postinst
32
33 commit 209ce34a420cc5cdbe7219393f2f150ac28f612c
34 Author: Sage Weil <sage@inktank.com>
35 Date:   Mon Mar 11 17:09:37 2013 -0700
36
37     debian: stop ceph-mds before uninstalling ceph-mds
38     
39     Fixes: #4384
40     Signed-off-by: Sage Weil <sage@inktank.com>
41     (cherry picked from commit 9eb0d91b867ab980135d7c6ff6347d69d0a8a794)
42
43 commit 0c91becfa6cc5f05c5b2eaa89299dbf1aa202344
44 Author: Dan Mick <dan.mick@inktank.com>
45 Date:   Thu Apr 25 15:53:51 2013 -0700
46
47     Makefile.am: Add -lpthread to fix build on newer ld in Raring Ringtail
48     
49     Signed-off-by: Dan Mick <dan.mick@inktank.com>
50     Reviewed-by: Sage Weil <sage@inktank.com>
51     (cherry picked from commit 98f532e8000af281fa03b24da9ad2fda81755270)
52     
53     Conflicts:
54         src/Makefile.am
55
56 commit 15e6544f0892e8472f436149d15fc30257496c0b
57 Merge: fdc0534 418cff5
58 Author: Sage Weil <sage@inktank.com>
59 Date:   Wed May 1 12:57:43 2013 -0700
60
61     Merge remote-tracking branch 'gh/bobtail-deploy' into bobtail-next
62
63 commit fdc05346177a60f064fe351ca81c6078cd065179
64 Author: Sage Weil <sage@inktank.com>
65 Date:   Thu Apr 25 11:13:33 2013 -0700
66
67     init-ceph: use remote config when starting daemons on remote nodes (-a)
68     
69     If you use -a to start a remote daemon, assume the remote config is present
70     instead of pushing the local config.  This makes more sense and simplifies
71     things.
72     
73     Note that this means that -a in concert with -c foo means that foo must
74     also be present on the remote node in the same path.  That, however, is a
75     use case that I don't particularly care about right now.  :)
76     
77     Signed-off-by: Sage Weil <sage@inktank.com>
78     Reviewed-by: Dan Mick <dan.mick@inktank.com>
79     (cherry picked from commit cd7e52cc76878eed0f084f7b9a6cf7c792b716c6)
80
81 commit 55c87e821b6acc1cd46056ca27c6e7f7030466e7
82 Author: Samuel Just <sam.just@inktank.com>
83 Date:   Wed Apr 24 12:20:17 2013 -0700
84
85     PG: call check_recovery_sources in remove_down_peer_info
86     
87     If we transition out of peering due to affected
88     prior set, we won't trigger start_peering_interval
89     and check_recovery_sources won't get called.  This
90     will leave an entry in missing_loc_sources without
91     a matching missing set.  We always want to
92     check_recovery_sources with remove_down_peer_info.
93     
94     Fixes: 4805
95     Backport: bobtail
96     Signed-off-by: Samuel Just <sam.just@inktank.com>
97     Reviewed-by: Sage Weil <sage@inktank.com>
98     (cherry picked from commit 81a6165c13c533e9c1c6684ab7beac09d52ca6b5)
99
100 commit a28c2f55bfc768a502fbc8ec35265e7f1a53e044
101 Author: Samuel Just <sam.just@inktank.com>
102 Date:   Thu Apr 25 14:08:57 2013 -0700
103
104     PG: clear want_acting when we leave Primary
105     
106     This is somewhat annoying actually.  Intuitively we want to
107     clear_primary_state when we leave primary, but when we restart
108     peering due to a change in prior set status, we can't afford
109     to forget most of our peering state.  want_acting, on the
110     other hand, should never persist across peering attempts.
111     In fact, in the future, want_acting should be pulled into
112     the Primary state structure.
113     
114     Fixes: #3904
115     Signed-off-by: Samuel Just <sam.just@inktank.com>
116     Reviewed-by: Sage Weil <sage@inktank.com>
117     Reviewed-by: David Zafman <david.zafman@inktank.com>
118     (cherry picked from commit a5cade1fe7338602fb2bbfa867433d825f337c87)
119
120 commit 849ed5982d4547dd651313919fb090944f568214
121 Author: Greg Farnum <greg@inktank.com>
122 Date:   Tue Apr 30 18:12:10 2013 -0700
123
124     mon: communicate the quorum_features properly when declaring victory.
125     
126     Fixes #4747.
127     
128     Signed-off-by: Greg Farnum <greg@inktank.com>
129     Reviewed-by: Sage Weil <sage@inktank.com>
130     (cherry picked from commit fe68afe9d10bc5d49a05a8bafa644d57783447cf)
131
132 commit ea9c76b8f457d44e63551d47b6dd30bd16a56468
133 Author: Greg Farnum <greg@inktank.com>
134 Date:   Tue Apr 30 11:01:54 2013 -0700
135
136     elector: trigger a mon reset whenever we bump the epoch
137     
138     We need to call reset during every election cycle; luckily we
139     can call it more than once. bump_epoch is (by definition!) only called
140     once per cycle, and it's called at the beginning, so we put it there.
141     
142     Fixes #4858.
143     
144     Signed-off-by: Greg Farnum <greg@inktank.com>
145     Reviewed-by: Sage Weil <sage@inktank.com>
146     (cherry picked from commit 6ae9bbb5d03cb5695a4ebb7a3c20f729de1bd67a)
147     
148     Conflicts:
149     
150         src/mon/Elector.cc
151
152 commit 418cff585bf6fc292d260a464369d82f7cdb3b79
153 Author: Alexandre Marangone <alexandre.marangone@inktank.com>
154 Date:   Fri Apr 19 15:09:28 2013 -0700
155
156     Fix journal partition creation
157     
158     With OSD sharing data and journal, the previous code created the
159     journal partiton from the end of the device. A uint32_t is
160     used in sgdisk to get the last sector, with large HD, uint32_t
161     is too small.
162     The journal partition will be created backwards from the
163     a sector in the midlle of the disk leaving space before
164     and after it. The data partition will use whichever of
165     these spaces is greater. The remaining will not be used.
166     
167     This patch creates the journal partition from the start as a workaround.
168     
169     Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
170     (cherry picked from commit 56619ab91732bd2eacbef388311954f4e0230a30)
171
172 commit 1a6b87ea48c3bcd3904d888a2ad1e5774aa2de8e
173 Author: Sage Weil <sage@inktank.com>
174 Date:   Fri Apr 26 15:37:21 2013 -0700
175
176     ceph.spec.in: put ceph-disk-* et al in correct sbindir
177     
178     Signed-off-by: Sage Weil <sage@inktank.com>
179
180 commit 86337936059d6b17c887e82f79167324eafa083c
181 Author: Sage Weil <sage@inktank.com>
182 Date:   Fri Apr 26 15:29:12 2013 -0700
183
184     debian: fix ceph.install
185     
186     This got out of sync somewhere in cherry-picking all of these patches.
187     
188     Signed-off-by: Sage Weil <sage@inktank.com>
189
190 commit 0b42b1edb306a9763bcd02bd962bd284f6b7b3a3
191 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
192 Date:   Thu Apr 4 15:54:31 2013 +0200
193
194     Makefile.am: install ceph-* python scripts to /usr/bin directly
195     
196     Install ceph-* scripts directly to $(prefix)$(sbindir) (which
197     normaly would be /usr/sbin) instead of moving it around after
198     installation in SPEC file or debian files.
199     
200     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
201     (cherry picked from commit 4d16f38f48e276497190c8bc03abc55c40e18eed)
202
203 commit c71fb8d5b39667fc2c9f7e898ced53059d3f1eec
204 Author: Gary Lowell <glowell@inktank.com>
205 Date:   Tue Apr 2 12:11:10 2013 -0700
206
207     ceph-disk:  CalledProcessError has no output keyword on 2.6
208     
209     Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>
210     (cherry picked from commit a793853850ee135de14b9237f7023cadcdb8575c)
211
212 commit 1b86b1c7618b1ab93e25e1abf79bbe0a992c8526
213 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
214 Date:   Tue Apr 2 17:54:53 2013 +0200
215
216     ceph-disk: fix some (local) variable names
217     
218     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
219     (cherry picked from commit c4eb7e6ddd593cd45ab8343da01355be7382723e)
220
221 commit ee452ebe6ff37087714c085dacd1ca2bcf66bd49
222 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
223 Date:   Tue Apr 2 17:36:37 2013 +0200
224
225     ceph-disk: fix naming of local variable in is_mounted()
226     
227     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
228     (cherry picked from commit 3dd8b461219e64bb0f7a210dba5a9ab7c644f014)
229
230 commit 0e47d312dcec2deb26a960e6097708d8742d85cb
231 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
232 Date:   Tue Apr 2 17:33:08 2013 +0200
233
234     ceph-disk: merge twice defined function is_mounted(dev)
235     
236     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
237     (cherry picked from commit eaf31bf9f90ba9709a57a6870dbafa21142dae2c)
238
239 commit 7326ea6397160607d78914444f7f0598a6ba346f
240 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
241 Date:   Tue Apr 2 17:26:12 2013 +0200
242
243     ceph-disk: define exception type
244     
245     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
246     (cherry picked from commit 4c6d6442a89adc5b56e99cb4d2ed572f2ad192c9)
247
248 commit 14a348dc8ea9c012b6843825fd7beb5896a6d92e
249 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
250 Date:   Tue Apr 2 17:17:38 2013 +0200
251
252     ceph-disk: fix Redefining name 'uuid' from outer scope
253     
254     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
255     (cherry picked from commit 058eb923c5b7dab611901fdd1724ce2a7c180827)
256
257 commit 9419dca69292146ea1fd216a1ad08b2e07bdc1a0
258 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
259 Date:   Tue Apr 2 17:14:23 2013 +0200
260
261     ceph-disk: add missing space after comma
262     
263     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
264     (cherry picked from commit 0080d1df7c7950e051840a543fc4bdabe6cc53e5)
265
266 commit 7406981aa5515a3be8af0b9a0abef83a40c432b2
267 Author: Sage Weil <sage@inktank.com>
268 Date:   Fri Mar 29 17:30:28 2013 -0700
269
270     ceph-disk list: say 'unknown cluster $UUID' when cluster is unknown
271     
272     This makes it clearer that an old osd is in fact old.
273     
274     Signed-off-by: Sage Weil <sage@inktank.com>
275     (cherry picked from commit e9b3f2e6e93426d631d4f8101fb431a523b0d88a)
276
277 commit 0182973b66d449552d17248e27cd12c470137ea9
278 Author: Sage Weil <sage@inktank.com>
279 Date:   Fri Mar 29 13:59:04 2013 -0700
280
281     ceph-disk: handle missing journal_uuid field gracefully
282     
283     Only lower if we know it's not None.
284     
285     Signed-off-by: Sage Weil <sage@inktank.com>
286     (cherry picked from commit 562e1716bd4b5372716e502a5e4dd872d381bfb7)
287
288 commit 24d729c591430349b033992f87141e596dcd6bff
289 Author: Sage Weil <sage@inktank.com>
290 Date:   Thu Mar 28 20:49:24 2013 -0700
291
292     ceph-disk: implement 'list'
293     
294     This is based on Sandon's initial patch, but much-modified.
295     
296     Mounts ceph data volumes temporarily to see what is inside.  Attempts to
297     associated journals with osds.
298     
299     Resolves: #3120
300     Signed-off-by: Sage Weil <sage@inktank.com>
301     Reviewed-by: Dan Mick <dan.mick@inktank.com>
302     (cherry picked from commit 6a65b9131c444041d16b880c6a7f332776063a78)
303
304 commit bf3f8702c580c6b9647878837355688a2a4f954c
305 Author: Sage Weil <sage@inktank.com>
306 Date:   Wed Mar 27 18:44:32 2013 -0700
307
308     ceph-disk: reimplement list_all_partitions
309     
310     Use /dev/disk/by-id to list disks and their partitions.  This is more
311     accurate and correct than the previous (as-yet unused) implementation.
312     
313     Signed-off-by: Sage Weil <sage@inktank.com>
314     (cherry picked from commit d3e49047ff405573aa41f45864cf315be23f5c50)
315
316 commit 9da81e4e798b8e5593f3a7eda6dfa8586307121f
317 Author: Sage Weil <sage@inktank.com>
318 Date:   Wed Mar 27 18:43:59 2013 -0700
319
320     ceph-disk: reimplement is_partition
321     
322     Previously we were assuming any device that ended in a digit was a
323     partition, but this is not at all correct (e.g., /dev/sr0, /dev/rbd1).
324     Instead, look in /dev/disk/by-id and see if there is a symlink that ends in
325     -partNN that links to our device.
326     
327     There is probably still a better way...
328     
329     Signed-off-by: Sage Weil <sage@inktank.com>
330     (cherry picked from commit 20d594a889d62110ad03b761d8703f79f8eea6ad)
331
332 commit 0c8efc0664f068a1952fe54b8034d005cf3f9ce8
333 Author: Sage Weil <sage@inktank.com>
334 Date:   Wed Mar 27 12:45:29 2013 -0700
335
336     ceph-disk: conditionally remove mount path
337     
338     umount removes it on success; only remove it here if it is still there.
339     
340     Signed-off-by: Sage Weil <sage@inktank.com>
341     (cherry picked from commit 4362934a94c5a6f7521f06aa1255e111094e1d88)
342
343 commit 153994cdcf9bc4a9719849d951bec5f4983340b5
344 Author: Sage Weil <sage@inktank.com>
345 Date:   Tue Mar 26 17:04:14 2013 -0700
346
347     ceph-disk: ignore udevadm settle return code
348     
349     If we time out, just continue and let the next step fail.
350     
351     Signed-off-by: Sage Weil <sage@inktank.com>
352     (cherry picked from commit 2ae297ccb812c00204ec0c4dc614821c506062b9)
353
354 commit d714049d530dc9611cf5f2fcb9b272c355dbe9f1
355 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
356 Date:   Mon Mar 25 17:45:32 2013 +0100
357
358     ceph-disk: rename some local variabels in list_*partitions
359     
360     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
361     (cherry picked from commit b7d7e6894c550a7afa8dfb5bfa2bc54b5d331178)
362
363 commit ecb34b81b843adaf9455503eb3ecc69ea94652a3
364 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
365 Date:   Mon Mar 25 16:24:00 2013 +0100
366
367     ceph-disk: fix naming of a local variable in find_cluster_by_uuid
368     
369     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
370     (cherry picked from commit 0b5fcfffe6d2f69bd4318cc93ef73195d948b9c5)
371
372 commit 63eb85072f6a61552725bd04dfb261e5cd52a60a
373 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
374 Date:   Mon Mar 25 16:18:17 2013 +0100
375
376     ceph-disk: rename some constants to upper case variable names
377     
378     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
379     (cherry picked from commit 8a999ded088e688fd3f4a7c27127b7c06f0b2f66)
380
381 commit d26a03422a37f16d609de12f8973f3c32ffedae0
382 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
383 Date:   Mon Mar 25 16:15:29 2013 +0100
384
385     ceph-disk: add some more docstrings
386     
387     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
388     (cherry picked from commit 86e55f5448c4b5b46b74d2d89b01d1e64b1ea826)
389
390 commit bd8bb984806a1dbc3514c3a2a8980a03cfb2bc23
391 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
392 Date:   Mon Mar 25 14:36:41 2013 +0100
393
394     ceph-disk: print subprocess.CalledProcessError on error
395     
396     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
397     (cherry picked from commit 543327b1f2a9efe8083bb196433c4bcf83883269)
398
399 commit 970348fc46a7e100731ffdc63d20f343dcb1b787
400 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
401 Date:   Mon Mar 25 13:55:56 2013 +0100
402
403     ceph-disk: fix indention
404     
405     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
406     (cherry picked from commit 2d26bcc07162a5176cdbc1748b829e3f39653697)
407
408 commit 0113e5335e1552294bbf075cfff85c204b164e95
409 Author: Gary Lowell <glowell@inktank.com>
410 Date:   Tue Mar 26 11:31:16 2013 -0700
411
412     ceph-disk:  udevadm settle before partprobe
413     
414     After changing the partition table, allow the udev event to be
415     processed before calling partprobe.  This helps prevent partprobe
416     from getting a resource busy error on some platforms.
417     
418     Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>
419     (cherry picked from commit 9eda8e5d5abf0743a2ad484806cfb2018243515f)
420
421 commit 02d48351f73330917185d8980f8ad123b99138b5
422 Author: Sage Weil <sage@inktank.com>
423 Date:   Fri Mar 22 10:09:55 2013 -0700
424
425     ceph-disk: re-add python 2.7 dependency comment
426     
427     FIXME!
428     
429     Signed-off-by: Sage Weil <sage@inktank.com>
430     (cherry picked from commit 6d63752c8fde91cdab306d1ca689690b269fe977)
431
432 commit e92baf5081a43ff3290eb934612a11fbed946469
433 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
434 Date:   Wed Mar 20 14:36:58 2013 +0100
435
436     ceph-disk: cast output of subprocess.Popen() to str()
437     
438     Cast output of subprocess.Popen() to str() to be able to use
439     str.split() and str.splitlines() without warnings from pylint.
440     
441     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
442     (cherry picked from commit 87691dc46edfba11c370592dbb533772190be4b2)
443
444 commit 1ffc89af1954643426708987a09291463bd7525b
445 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
446 Date:   Wed Mar 20 14:02:28 2013 +0100
447
448     ceph-disk: fix adjust_symlink() replace 'journal' with 'target'
449     
450     Replace 'journal' variable with 'target' since journal doesn't
451     exist in this function.
452     
453     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
454     (cherry picked from commit 3575feb7d2e5f4e35c5df193a1f8c9f08f88fcf4)
455
456 commit 690ab6b3e284e9beed74b3e77612e804464e467d
457 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
458 Date:   Wed Mar 20 14:01:02 2013 +0100
459
460     ceph-disk: fix adjust_symlink() replace 'canonical' with 'path'
461     
462     Replace 'canonical' variable with 'path' since canonical doesn't
463     exist in this function.
464     
465     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
466     (cherry picked from commit a27cb85b21610b4a9f8eb24f8f6cd04902349728)
467
468 commit 329f279cd108c837e434ee3aae6c8ad502ba802f
469 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
470 Date:   Wed Mar 20 13:56:23 2013 +0100
471
472     ceph-disk: there is no os.path.lstat use os.lstat
473     
474     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
475     (cherry picked from commit 6d3247b5c02c39a66666a5833106dbc23044e436)
476
477 commit ffe024b8b5024cdac256bacb9df433b69385cc0a
478 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
479 Date:   Wed Mar 20 13:30:21 2013 +0100
480
481     ceph-disk: remove unused variable key from prepare_journal_dev()
482     
483     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
484     (cherry picked from commit 97b4f8d66bef2328fa53f9e508eb38f8b8d49632)
485
486 commit 9464284f3ac9737345c595847e165db48adc0a70
487 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
488 Date:   Wed Mar 20 13:27:27 2013 +0100
489
490     ceph-disk: fix except to catch OSError
491     
492     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
493     (cherry picked from commit 9daf6cfce2d57509d896eae28bb97146a682a306)
494
495 commit 01152115f7bf4a307296c9126174ce09bb0ce22d
496 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
497 Date:   Wed Mar 20 13:15:36 2013 +0100
498
499     ceph-disk: add missing space after >> operator
500     
501     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
502     (cherry picked from commit 0ada43f79d2b1f9f84367e558c6d1a3e90e5c9b2)
503
504 commit b9f86d96f5dd6ca18eb39882caf69e76369b5e0b
505 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
506 Date:   Wed Mar 20 12:33:09 2013 +0100
507
508     fix: Redefining name 'uuid' from outer scope (line 14)
509     
510     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
511     (cherry picked from commit d3c60dc8cad1db1d5df1c740bc805aaf9ba606ba)
512
513 commit 6fa6cd85b55935739e16b8ba537f7848dbb0218f
514 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
515 Date:   Wed Mar 20 12:17:45 2013 +0100
516
517     ceph-disk: remove unused variables from list_partitions()
518     
519     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
520     (cherry picked from commit 6a8120d4b0c4cfa851d473532eb2366534f8653d)
521
522 commit 0b4e85fe23e8aa24e8aef8548df2b508bda24752
523 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
524 Date:   Wed Mar 20 12:10:22 2013 +0100
525
526     ceph-disk: fix /dev/dm-[0-9] handling list_all_partitions()
527     
528     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
529     (cherry picked from commit 3af7a1ac5bf24bf832d7180002281d6b5853e85a)
530
531 commit 3ec61f85f6a8a8af8a2b921f94e77a77be77a1d7
532 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
533 Date:   Tue Mar 19 22:07:36 2013 +0100
534
535     ceph-disk: rename local variable shadowing builtin
536     
537     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
538     (cherry picked from commit 9bcf5b64f45ab6c4bdedf820ed111319b2dbd778)
539
540 commit bd1036dd83fa2ee4807047fb9c2b414ccc9375eb
541 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
542 Date:   Tue Mar 19 22:05:23 2013 +0100
543
544     ceph-disk: remove twice defined identical function unmount
545     
546     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
547     (cherry picked from commit 4adf088107586be7b356d1e963570cdab232809e)
548
549 commit 8dd8cbac6f88fcb9d2c6838b9f961c70cccb9288
550 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
551 Date:   Tue Mar 19 22:02:49 2013 +0100
552
553     ceph-disk: remove twice defined function mount
554     
555     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
556     (cherry picked from commit ea26ea0d81a23aa76076ad5441c3b1aadfba3b44)
557
558 commit 0da87db1c0e4b44b69c19b718d89e7a621979009
559 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
560 Date:   Tue Mar 19 21:58:22 2013 +0100
561
562     ceph-disk: remove double defined function get_conf
563     
564     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
565     (cherry picked from commit c57daa3c6e03e8974e133d3a2d9bc3d6f06f4faf)
566
567 commit 9c46dfb2512d3b55345faed1bebb9204ba07d030
568 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
569 Date:   Tue Mar 19 21:51:54 2013 +0100
570
571     ceph-disk: rename local variable shadowing builtin
572     
573     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
574     (cherry picked from commit 57dde5c8b18ff4ccd53a30bb94119c0ffceb52b7)
575
576 commit b807d8ba0a0c23c7dab6893bc5297e07c0fd902f
577 Author: Sage Weil <sage@inktank.com>
578 Date:   Mon Mar 18 14:55:24 2013 -0700
579
580     ceph-disk: install and package
581     
582     Signed-off-by: Sage Weil <sage@inktank.com>
583     (cherry picked from commit c2602d749023b24ac22d8cfce6e04889078f14d8)
584     
585     Conflicts:
586     
587         debian/ceph.install
588
589 commit 8901e02db05837b12d5e1d0ec6f14f909cc03315
590 Author: Sage Weil <sage@inktank.com>
591 Date:   Fri Mar 15 16:50:05 2013 -0700
592
593     ceph-disk: simplify command dispatch
594     
595     Signed-off-by: Sage Weil <sage@inktank.com>
596     (cherry picked from commit f287c6f90af0dfdd41358846b069aa3c54b600b3)
597
598 commit 3cbc0d0c92ad19d5022c94d9d1ac00aff4eb9b2d
599 Author: Sage Weil <sage@inktank.com>
600 Date:   Fri Mar 15 16:40:32 2013 -0700
601
602     ceph-disk: consolidate exceptions
603     
604     Use a single exception type, and catch it at the top level.
605     
606     Signed-off-by: Sage Weil <sage@inktank.com>
607     (cherry picked from commit a019753bd3897ee0f5d9c3563c653c5457d5e67d)
608
609 commit b4176bafa2b0721664332a1bb8b73da54151f685
610 Author: Sage Weil <sage@inktank.com>
611 Date:   Fri Mar 15 16:36:45 2013 -0700
612
613     ceph-disk: consolidate ceph-disk-* into a single binary
614     
615      ceph-disk prepare ...
616      ceph-disk activate ...
617      ceph-disk ...
618     
619     This let's us share code (we were already duplicating a bunch of stuff!)
620     and to add new commands easily.
621     
622     Signed-off-by: Sage Weil <sage@inktank.com>
623     (cherry picked from commit 20e4ba5cebb7b4989d1745932f7a412c28504ee1)
624
625 commit 455cb32543df8036a605dc7b6c194e58b10bc4ec
626 Author: Sage Weil <sage@inktank.com>
627 Date:   Mon Mar 18 21:13:34 2013 -0700
628
629     ceph-disk-prepare: 'mkfs -t' instead of 'mkfs --type='
630     
631     Older mkfs (el6) doesn't like --type=.
632     
633     Fixes: #4495
634     Reported-by: Alexandre Maragone <alexandre.maragone@inktank.com>
635     Signed-off-by: Sage Weil <sage@inktank.com>
636     (cherry picked from commit d47759429a6e2fdd392265e90b67046302c97644)
637
638 commit 19a2cf58504a3305ac9afe3d6642cf68e1b0f6c1
639 Author: Sage Weil <sage@inktank.com>
640 Date:   Thu Mar 14 21:05:07 2013 -0700
641
642     ceph-disk-activate: identify cluster .conf by fsid
643     
644     Determine what cluster the disk belongs to by checking the fsid defined
645     in /etc/ceph/*.conf.  Previously we hard-coded 'ceph'.
646     
647     Note that this has the nice side-effect that if we have a disk with a
648     bad/different fsid, we now fail to activate it.  Previously, we would
649     mount and start ceph-osd, but the daemon would fail to authenticate
650     because it was part of the wrong cluster.
651     
652     Fixes: #3253
653     Signed-off-by: Sage Weil <sage@inktank.com>
654     (cherry picked from commit 80af5fb887f30792c342ac16da9ed95d7e89e491)
655
656 commit 568485bea8ae9f0f36571de259c7254fa4227b15
657 Author: Sage Weil <sage@inktank.com>
658 Date:   Thu Mar 14 16:18:26 2013 -0700
659
660     ceph-disk-activate: abort if target position is already mounted
661     
662     If the target position is already a mount point, fail to move our mount
663     over to it.  This usually indicates that a different osd.N from a
664     different cluster instances is in that position.
665     
666     Signed-off-by: Sage Weil <sage@inktank.com>
667     (cherry picked from commit 7370b5564606474f11b9ac5afb7cc60e0ac36ed1)
668
669 commit a6ecf9288af248656bc712c1a4de910ff107a9a2
670 Author: Sage Weil <sage@inktank.com>
671 Date:   Thu Mar 14 12:05:52 2013 -0700
672
673     Revert "ceph-disk-activate: rely on default/configured keyring path"
674     
675     This reverts commit 936b8f20af1d390976097c427b6e92da4b39b218.
676     
677     This is necessary because we mount the osd in a temporary location.
678     
679     Signed-off-by: Sage Weil <sage@inktank.com>
680     (cherry picked from commit b6102c0945a0d68b7c5ff7f2254a1a994788ca0f)
681
682 commit 7c1edc0c927a27c07b6f1611c2cf9c48f2dc95f6
683 Author: Sage Weil <sage@inktank.com>
684 Date:   Thu Mar 14 12:04:44 2013 -0700
685
686     Revert "ceph-disk-activate: don't override default or configured osd journal path"
687     
688     This reverts commit 813e9fe2b4291a1c1922ef78f031daa9b78fe53b.
689     
690     We run --mkfs with the osd disk mounted in a temporary location, so it is
691     necessary to explicitly pass in these paths.
692     
693     If we want to support journals in a different location, we need to make
694     ceph-disk-prepare update the journal symlink accordingly.. not control it via
695     the config option.
696     
697     Signed-off-by: Sage Weil <sage@inktank.com>
698     (cherry picked from commit 3e628eee770508e750f64ea50179bbce52e7b8e0)
699
700 commit 739b013cfa4b84d36750b80ce44579498e7ea4f4
701 Author: Sage Weil <sage@inktank.com>
702 Date:   Mon Mar 11 21:15:11 2013 -0700
703
704     ceph-disk-activate: rely on default/configured keyring path
705     
706     No reason to override the default or configured value here.
707     
708     Signed-off-by: Sage Weil <sage@inktank.com>
709     (cherry picked from commit 936b8f20af1d390976097c427b6e92da4b39b218)
710
711 commit 897413f90c0e802c6824c0ee8d06bdae33979293
712 Author: Sage Weil <sage@inktank.com>
713 Date:   Mon Mar 11 21:14:53 2013 -0700
714
715     ceph-disk-activate: don't override default or configured osd journal path
716     
717     There is no reason not to rely on the default or obey any configured
718     value here.
719     
720     Fixes: #4031
721     Signed-off-by: Sage Weil <sage@inktank.com>
722     (cherry picked from commit 813e9fe2b4291a1c1922ef78f031daa9b78fe53b)
723
724 commit 35eac085182e569b17c287c86e1415880909be22
725 Author: Sage Weil <sage@inktank.com>
726 Date:   Tue Mar 5 13:08:26 2013 -0800
727
728     ceph-disk-prepare: move in-use checks to the top, before zap
729     
730     Move the in-use checks to the very top, before we (say) zap!
731     
732     Signed-off-by: Sage Weil <sage@inktank.com>
733     (cherry picked from commit 32407c994f309cd788bf13fe9af27e17a422309a)
734
735 commit 5ad4120a4825d6615778a005cff990afccf30691
736 Author: Sage Weil <sage@inktank.com>
737 Date:   Mon Mar 4 20:57:52 2013 -0800
738
739     ceph-disk-prepare: verify device is not in use by device-mapper
740     
741     Be nice and tell the user which devices/mappings are consuming the device,
742     too.
743     
744     Signed-off-by: Sage Weil <sage@inktank.com>
745     (cherry picked from commit a6196de9e2f3ca9d67691f79d44e9a9f669443e9)
746
747 commit e4a520029196cc76f1ec45695554ca6330bf14aa
748 Author: Sage Weil <sage@inktank.com>
749 Date:   Mon Mar 4 16:38:57 2013 -0800
750
751     ceph-disk-prepare: verify device is not mounted before using
752     
753     Make sure the data and/or journal device(s) are not in use (mounted)
754     before using them.  Make room for additional "in-use" checks in the future.
755     
756     Closes: #3256
757     Signed-off-by: Sage Weil <sage@inktank.com>
758     (cherry picked from commit 3bd0ac0ab011c4cdf0121f0d9732938d085fb8bf)
759
760 commit d05b439142a24d28f35c6a09a8ab7c9eed503cd5
761 Author: Sage Weil <sage@inktank.com>
762 Date:   Mon Mar 4 16:29:57 2013 -0800
763
764     ceph-disk-prepare: clean up stupid check for a digit
765     
766     Signed-off-by: Sage Weil <sage@inktank.com>
767     (cherry picked from commit f03f62697f170d42b4b62c53d2860ff2f24a2d73)
768
769 commit ea07b0e1047a4ac1b4dde88c795709190bd048be
770 Author: Sage Weil <sage@inktank.com>
771 Date:   Mon Mar 4 16:08:15 2013 -0800
772
773     ceph-disk-prepare: use os.path.realpath()
774     
775     My janky symlink resolution is broken in various ways.
776     
777     Signed-off-by: Sage Weil <sage@inktank.com>
778     (cherry picked from commit 59505546e52a175435881b431bd349d532ae627e)
779
780 commit 8f7e3e7dbbb9cab869366927c1687c38c012a1ef
781 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
782 Date:   Thu Feb 28 14:16:26 2013 +0100
783
784     ceph.spec.in: add new Requires from ceph-disk-prepare
785     
786     Added new Requires from ceph-disk-prepare: cryptsetup, gptfdisk,
787     parted and util-linux.
788     
789     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
790     (cherry picked from commit 5c3f5c5b69a9edc99138d4f1ddb016689303dc28)
791     
792     Conflicts:
793     
794         ceph.spec.in
795
796 commit 3441acf3749dbd99f1e00e5306e8180647085d2a
797 Author: Sage Weil <sage@inktank.com>
798 Date:   Wed Feb 27 13:31:12 2013 -0800
799
800     debian: require cryptsetup-bin
801     
802     This is needed for ceph-disk-prepare's dmcrypt support.
803     
804     Signed-off-by: Sage Weil <sage@inktank.com>
805     (cherry picked from commit cfcaceac44d6b7b7c55e81d0bfb05f4893f3b1d0)
806     
807     Conflicts:
808     
809         debian/control
810
811 commit abdac6fddd25bc71f59c1097246cfa32b33b0f5f
812 Author: Alexandre Marangone <alexandre.marangone@inktank.com>
813 Date:   Mon Apr 15 15:57:00 2013 -0700
814
815     Fix: use absolute path with udev
816     
817     Avoids the following: udevd[61613]: failed to execute '/lib/udev/bash'
818     'bash -c 'while [ ! -e /dev/mapper/....
819     
820     Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
821     (cherry picked from commit 785b25f53dc7f8035eeba2aae8a196e3b102d930)
822
823 commit d1775daf68d9aa887116a357cbcaf7c44e091cce
824 Author: Sage Weil <sage@inktank.com>
825 Date:   Sat Feb 16 20:55:03 2013 -0800
826
827     ceph-disk-prepare: -f for mkfs.xfs only
828     
829     Signed-off-by: Sage Weil <sage@inktank.com>
830     (cherry picked from commit fecc3c3abf1176f4c7938e161559ea2db59f1cff)
831
832 commit 405e0ea1c692b1d62f948734e07c4f919b90d4e0
833 Author: Sage Weil <sage@inktank.com>
834 Date:   Sat Feb 16 16:49:50 2013 -0800
835
836     debian: fix start of ceph-all
837     
838     Tolerate failure, and do ceph-all, not ceph-osd-all.
839     
840     Signed-off-by: Sage Weil <sage@inktank.com>
841     (cherry picked from commit aff0bb6fdc8ca358f7ac1e941bb9cfecbefb4bb6)
842
843 commit 632be442261cabd56da0dc897b8a47a8e5493dce
844 Author: Alexandre Marangone <alexandre.marangone@inktank.com>
845 Date:   Fri Feb 15 12:24:01 2013 -0800
846
847     ceph-disk-prepare: always force mkfs.xfs
848     
849     Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
850     (cherry picked from commit d950d83250db3a179c4b629fd32cd7bc8149997e)
851
852 commit 28d1193836edee622763e308aad69c7bfe7a4971
853 Author: Sage Weil <sage@inktank.com>
854 Date:   Wed Feb 13 18:22:45 2013 -0800
855
856     udev: trigger on dmcrypted osd partitions
857     
858     Automatically map encrypted journal partitions.
859     
860     For encrypted OSD partitions, map them, wait for the mapped device to
861     appear, and then ceph-disk-activate.
862     
863     This is much simpler than doing the work in ceph-disk-activate.
864     
865     Signed-off-by: Sage Weil <sage@inktank.com>
866     (cherry picked from commit e090a92a20f4161f473d16bc966f7d6aacac75ee)
867
868 commit 5c5021b43ab70a08d791020262f76879dc77effb
869 Author: Sage Weil <sage@inktank.com>
870 Date:   Tue Feb 12 21:35:56 2013 -0800
871
872     ceph-disk-prepare: add initial support for dm-crypt
873     
874     Keep keys in /etc/ceph/dmcrypt-keys.
875     
876     Identify partition instances by the partition UUID.  Identify encrypted
877     partitions by a parallel set of type UUIDs.
878     
879     Signed-off-by: Alexandre Marangone <alexandre.maragone@inktank.com>
880     Signed-off-by: Sage Weil <sage@inktank.com>
881     (cherry picked from commit c6ac0ddf91915ba2aeae46d21367f017e18e82cd)
882
883 commit d7084037d7a2395acfe8181f94963c1337c0f95b
884 Author: Alexandre Marangone <alexandre.marangone@inktank.com>
885 Date:   Fri Feb 15 12:22:33 2013 -0800
886
887     ceph-disk-activate: pull mount options from ceph.conf
888     
889     Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
890     (cherry picked from commit e7040f55f01db3de7d5cebfc79de50c8b6ad5d45)
891
892 commit 34fba357ca8b662c7b943d426ed37875c173003f
893 Author: Sage Weil <sage@inktank.com>
894 Date:   Thu Feb 14 17:05:32 2013 -0800
895
896     ceph-disk-activate: use full paths for everything
897     
898     We are run from udev, which doesn't get a decent PATH.
899     
900     Signed-off-by: Sage Weil <sage@inktank.com>
901     (cherry picked from commit b1c0fccba42dd184a2891ee873c0d6d8f8c79d14)
902
903 commit caad18745cd8553a012d9e7f92e59d5b4450dcf2
904 Author: Sage Weil <sage@inktank.com>
905 Date:   Thu Feb 14 17:04:55 2013 -0800
906
907     ceph-disk-prepare: do partprobe after setting final partition type
908     
909     This is necessary to kick udev into processing the updated partition and
910     running its rules.
911     
912     Signed-off-by: Sage Weil <sage@inktank.com>
913     (cherry picked from commit 95835de9f80712eb26652ac6b66ba9c5eeb093d6)
914
915 commit e1624e4626b4e67909f3bb83920c99ad323ed083
916 Author: Sage Weil <sage@inktank.com>
917 Date:   Wed Feb 13 21:47:30 2013 -0800
918
919     debian: start/stop ceph-all event on install/uninstall
920     
921     This helps us avoid the confusing situation with upstart where an individual
922     daemon job is running (like ceph-osd id=2) but the container jobs ceph-osd-all
923     and ceph-all are not.
924     
925     Signed-off-by: Sage Weil <sage@inktank.com>
926     (cherry picked from commit b7b9af5c0d531dcee7ce9b10043a29b0a1b31f47)
927
928 commit 656305f65eb33d68b95f4d29f37b031cf6cf889a
929 Author: Sage Weil <sage@inktank.com>
930 Date:   Wed Feb 13 21:37:08 2013 -0800
931
932     ceph-disk-activate: catch daemon start errors
933     
934     Signed-off-by: Sage Weil <sage@inktank.com>
935     (cherry picked from commit 690ae05309db118fb3fe390a48df33355fd068a0)
936
937 commit 8b771bf929c4a9ab3fd4eb6f40b9222a463fd1a4
938 Author: Sage Weil <sage@inktank.com>
939 Date:   Wed Feb 13 17:30:19 2013 -0800
940
941     udev: trigger ceph-disk-activate directly from udev
942     
943     There is no need to depend on upstart for this.
944     
945     Signed-off-by: Sage Weil <sage@inktank.com>
946     (cherry picked from commit 5bd85ee5aa31bfd1f4f0e434f08c2a19414358ef)
947     
948     Conflicts:
949     
950         ceph.spec.in
951
952 commit ffb0613efaa9cf919992640322785eedf95ca25f
953 Author: Sage Weil <sage@inktank.com>
954 Date:   Wed Feb 13 16:02:10 2013 -0800
955
956     ceph-disk-activate: auto detect init system
957     
958     Look for an option 'init' in ceph.conf.  Otherwise, check if we're ubuntu.
959     If so, use upstart.  Otherwise, use sysvinit.
960     
961     Signed-off-by: Sage Weil <sage@inktank.com>
962     (cherry picked from commit d1904b2a848af3c02d2065ac2a42abe0e2699d0f)
963
964 commit 74b562703c422890c67b2a88d7b18242f64949dc
965 Author: Sage Weil <sage@inktank.com>
966 Date:   Wed Feb 13 15:49:42 2013 -0800
967
968     ceph-disk-activate: specify full path for blkid, initctl, service
969     
970     /sbin apparently isn't in the path when udev runs us.
971     
972     Signed-off-by: Sage Weil <sage@inktank.com>
973     (cherry picked from commit f06b45e66315310abb0720e021da377186455048)
974
975 commit 9ea32e5f066bee75923212d8009fb37a365ef32e
976 Author: Sage Weil <sage@inktank.com>
977 Date:   Sat Jan 26 19:18:23 2013 -0800
978
979     upstart: ceph-hotplug -> ceph-osd-activate
980     
981     This is a more meaningful name.
982     
983     Signed-off-by: Sage Weil <sage@inktank.com>
984     (cherry picked from commit e011ad128e7f302cb6955d9a7171ac0ec8890ddf)
985
986 commit 494533a55010a59a52f6dcbe64f76e677a7dfe8e
987 Author: Sage Weil <sage@inktank.com>
988 Date:   Sat Jan 26 19:14:22 2013 -0800
989
990     upstart/ceph-hotplug: tell activate to start via upstart
991     
992     This will mark the OSD data dir as upstart-managed.
993     
994     Signed-off-by: Sage Weil <sage@inktank.com>
995     (cherry picked from commit 792e45c63dd7a9622fddd6e15ee4c075f995ea56)
996
997 commit 5e0892fd8cbc2571d94cffc0b64daaa4ec6c38f8
998 Author: Sage Weil <sage@inktank.com>
999 Date:   Sat Jan 26 19:08:22 2013 -0800
1000
1001     ceph-disk-prepare: refactor to support DIR, DISK, or PARTITION for data or journal
1002     
1003     Lots of code reorganization collapsed into a single commit here.
1004     
1005     - detect whether the user gave us a directory, disk, or partition, and Do The
1006     Right Thing
1007     - allow them to force that the input was of type X, for the careful/paranoid.
1008     - make --zap-disk an option -- no longer the default
1009     
1010     Signed-off-by: Sage Weil <sage@inktank.com>
1011     (cherry picked from commit b2ff6e8c9d96dee2c063b126de7030a5c2ae0d02)
1012
1013 commit aa428017e4aad9872a54cd87036ef2bb528aac7b
1014 Author: Sage Weil <sage@inktank.com>
1015 Date:   Sat Jan 26 20:33:16 2013 -0800
1016
1017     ceph-disk-activate: detect whether PATH is mount or dir
1018     
1019     remove in-the-way symlinks in /var/lib/ceph/osd
1020     
1021     This is simpler.  Just detect what the path is and Do The Right Thing.
1022     
1023     Closes #3341 (which wanted to make --mount the default)
1024     
1025     Signed-off-by: Sage Weil <sage@inktank.com>
1026     (cherry picked from commit 191d5f7535f8d96d493e1b35b43a421c67c168ea)
1027
1028 commit e6d5aa053dbaaf07c94e35406c23f4ca009fe2da
1029 Author: Sage Weil <sage@inktank.com>
1030 Date:   Sat Jan 26 20:32:47 2013 -0800
1031
1032     ceph-disk-activate: add --mark-init INITSYSTEM option
1033     
1034     Do not assume we will manage via upstart; let that be passed down via the
1035     command line.
1036     
1037     Signed-off-by: Sage Weil <sage@inktank.com>
1038     (cherry picked from commit fd4a921085a861e4aa428376219bb39055731f2b)
1039
1040 commit fa23919eae363291b4807afe3fadd34f94e9ddcb
1041 Author: Sage Weil <sage@inktank.com>
1042 Date:   Sat Jan 26 14:44:26 2013 -0800
1043
1044     ceph-disk-activate: factor mounting out of activate
1045     
1046     The activate stuff is generic for any OSD, regardless of whether we want
1047     to mount it or not.  Pull that part out.
1048     
1049     Signed-off-by: Sage Weil <sage@inktank.com>
1050     (cherry picked from commit 07655288281c9c6f691f87352dc26b7c11ae07e8)
1051
1052 commit 181ebdee0addfe3d13c13342def94ecf9415d6d5
1053 Author: Sage Weil <sage@inktank.com>
1054 Date:   Tue Feb 12 18:17:55 2013 -0800
1055
1056     debian: put ceph-mds upstart conf in ceph-mds package
1057     
1058     Fixes: #3157
1059     Signed-off-by: Sage Weil <sage@inktank.com>
1060     (cherry picked from commit 23ad3a46a0099e263f43e0f0c1df1d21cfe58b3f)
1061
1062 commit 919b0aedf7286e85e6ddc23f99f80f29e1d35db6
1063 Author: Sage Weil <sage@inktank.com>
1064 Date:   Tue Feb 12 17:02:52 2013 -0800
1065
1066     debian: include /var/lib/ceph/bootstrap-mds in package
1067     
1068     Signed-off-by: Sage Weil <sage@inktank.com>
1069     (cherry picked from commit e80675a0f333c04452d4822fd0eb3c6e92eda3df)
1070
1071 commit f97f49b1e7ca8555c945b93fbc8241f5fa620dd8
1072 Author: Sage Weil <sage@inktank.com>
1073 Date:   Tue Feb 12 16:26:14 2013 -0800
1074
1075     ceph-create-keys: create mds bootstrap key
1076     
1077     Signed-off-by: Sage Weil <sage@inktank.com>
1078     (cherry picked from commit 809143f16c70483ba5bb429dea812d31b67f2b49)
1079
1080 commit f43c339d67b78e6afc3737d26cea4bc05dcea900
1081 Author: Sage Weil <sage@inktank.com>
1082 Date:   Sat Jan 26 14:45:43 2013 -0800
1083
1084     upstart/ceph-hotplug: drop -- in ceph-disk-activate args
1085     
1086     We would like to transition to
1087     
1088      ceph-disk-activate --mount DEV
1089     
1090     and away from a generic multi-definition PATH argument.
1091     
1092     Signed-off-by: Sage Weil <sage@inktank.com>
1093     (cherry picked from commit 4698b6a1035dee8509ce2d4dab7b34a16b78f7cd)
1094
1095 commit 39df4c81f2166b7e9ac89c591b268b60de4042e6
1096 Author: Sage Weil <sage@inktank.com>
1097 Date:   Fri Jan 25 22:53:23 2013 -0800
1098
1099     init-ceph: iterate/locate local sysvinit-tagged directories
1100     
1101     Search /var/lib/ceph/$type/ceph-$id and start/stop those daemons if
1102     present and tagged with the sysvinit file.
1103     
1104     Signed-off-by: Sage Weil <sage@inktank.com>
1105     (cherry picked from commit c8f528a4070dd3aa0b25c435c6234032aee39b21)
1106
1107 commit 05efb7ab5b289472a1af05d6aa100a7385be304e
1108 Author: Sage Weil <sage@inktank.com>
1109 Date:   Fri Jan 25 22:52:03 2013 -0800
1110
1111     init-ceph: consider sysvinit-tagged dirs as local
1112     
1113     If there is a 'sysvinit' file in the daemon directory in the default
1114     location (/var/lib/ceph/$type/ceph-$id), consider it sysvinit-managed.
1115     
1116     Signed-off-by: Sage Weil <sage@inktank.com>
1117     (cherry picked from commit b8aa4769a62e0d88174678cbefd89d9ee2baceea)
1118
1119 commit 8c4c53abf84d30ff4a605225a22575f56d946971
1120 Author: Sage Weil <sage@inktank.com>
1121 Date:   Mon Feb 11 17:39:03 2013 -0800
1122
1123     ceph-disk-prepare: align mkfs, mount config options with mkcephfs
1124     
1125     'osd mkfs ...', not 'osd fs mkfs ...'.  Sigh.  Support both.
1126     
1127     Signed-off-by: Sage Weil <sage@inktank.com>
1128     (cherry picked from commit af2372ca4a702da70275edd1b1357fcff51e6ae2)
1129
1130 commit a8e7e9df61a7229d9e2b4b4dedc68b5c1bf15c38
1131 Author: Sage Weil <sage@inktank.com>
1132 Date:   Tue Apr 23 10:00:38 2013 -0700
1133
1134     init-ceph: fix (and simplify) pushing ceph.conf to remote unique name
1135     
1136     The old code would only do the push once per remote node (due to the
1137     list in $pushed_to) but would reset $unique on each attempt.  This would
1138     break if a remote host was processed twice.
1139     
1140     Fix by just skipping the $pushed_to optimization entirely.
1141     
1142     Fixes: #4794
1143     Reported-by: Andreas Friedrich <andreas.friedrich@ts.fujitsu.com>
1144     Signed-off-by: Sage Weil <sage@inktank.com>
1145     (cherry picked from commit ccbc4dbc6edf09626459ca52a53a72682f541e86)
1146
1147 commit 9374baccb8a71e1fe5ea2e614feac93e865dd027
1148 Merge: b6b4ebe aa37726
1149 Author: Josh Durgin <josh.durgin@inktank.com>
1150 Date:   Tue Apr 23 12:04:45 2013 -0700
1151
1152     Merge pull request #238 from ceph/wip-bobtail-rbd-backports-req-order
1153     
1154     Reviewed-by: Sage Weil <sage.weil@inktank.com>
1155
1156 commit aa37726b8d43d08b495d55dc2aef93854e9539c5
1157 Author: Josh Durgin <josh.durgin@inktank.com>
1158 Date:   Tue Apr 23 09:18:30 2013 -0700
1159
1160     rbd: only set STRIPINGV2 feature when needed
1161     
1162     Only set the STRIPINGV2 feature if the striping parameters are non-default.
1163     Specifically, fix the case where the passed-in size and count are == 0.
1164     
1165     Fixes: #4710
1166     Signed-off-by: Sage Weil <sage@inktank.com>
1167     (cherry picked from commit 5926ffa576e9477324ca00eaec731a224195e7db)
1168     
1169     Conflicts:
1170     
1171         src/rbd.cc
1172
1173 commit 0e2266dba912cde2c4a86ba7055c8bec3a5bc1a5
1174 Author: Josh Durgin <josh.durgin@inktank.com>
1175 Date:   Wed Apr 10 14:16:56 2013 -0700
1176
1177     LibrbdWriteback:  complete writes strictly in order
1178     
1179     RADOS returns writes to the same object in the same order. The
1180     ObjectCacher relies on this assumption to make sure previous writes
1181     are complete and maintain consistency. Reads, however, may be
1182     reordered with respect to each other. When writing to an rbd clone,
1183     reads to the parent must be performed when the object does not exist
1184     in the child yet. These reads may be reordered, resulting in the
1185     original writes being reordered. This breaks the assmuptions of the
1186     ObjectCacher, causing an assert to fail.
1187     
1188     To fix this, keep a per-object queue of outstanding writes to an
1189     object in the LibrbdWriteback handler, and finish them in the order in
1190     which they were sent.
1191     
1192     Fixes: #4531
1193     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1194     (cherry picked from commit 06d05e5ed7e09fa873cc05021d16f21317a1f8ef)
1195
1196 commit 7a11c2505a8b74babee90cca945c2a068a656ec1
1197 Author: Josh Durgin <josh.durgin@inktank.com>
1198 Date:   Wed Apr 10 12:22:02 2013 -0700
1199
1200     LibrbdWriteback: removed unused and undefined method
1201     
1202     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1203     (cherry picked from commit 909dfb7d183f54f7583a70c05550bec07856d4e4)
1204
1205 commit 884438febaf12dc380d4a1a3c3c8d3cbefd32399
1206 Author: Josh Durgin <josh.durgin@inktank.com>
1207 Date:   Wed Apr 10 12:06:36 2013 -0700
1208
1209     LibrbdWriteback: use a tid_t for tids
1210     
1211     An int could be much smaller, leading to overflow and bad behavior.
1212     
1213     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1214     (cherry picked from commit 9d19961539b2d50d0c9edee1e3d5ac6912a37f24)
1215
1216 commit 124f81cc5fa5a3ac9e7777ad49dd42d864fd7f68
1217 Author: Josh Durgin <josh.durgin@inktank.com>
1218 Date:   Wed Apr 10 12:03:04 2013 -0700
1219
1220     WritebackHandler: make read return nothing
1221     
1222     The tid returned by reads is ignored, and would make tracking writes
1223     internally more difficult by using the same id-space as them. Make read
1224     void and update all implementations.
1225     
1226     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1227     (cherry picked from commit 870f9cd421ca7b0094f9f89e13b1898a8302c494)
1228
1229 commit 13ba07a0f3af479861c0e83e3e6441fef1bc8a99
1230 Author: Josh Durgin <josh.durgin@inktank.com>
1231 Date:   Mon Apr 1 14:51:46 2013 -0700
1232
1233     ObjectCacher: deduplicate final part of flush_set()
1234     
1235     Both versions of flush_set() did the same thing. Move it into a
1236     helper called from both.
1237     
1238     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1239     (cherry picked from commit f5b81d8d167d1aa7f82a5776bbb1f319063ab809)
1240
1241 commit 7bc8df1f3e3b60b59672a082eba374729a6866b8
1242 Author: Josh Durgin <josh.durgin@inktank.com>
1243 Date:   Wed Apr 10 11:35:46 2013 -0700
1244
1245     test_stress_watch: remove bogus asserts
1246     
1247     There's no reason to check the duration of a watch. The notify will
1248     timeout after 30s on the OSD, but there's no guarantee the client will
1249     see that in any bounded time. This test is really meant as a stress
1250     test of the OSDs anyway, not of the clients, so just remove asserts
1251     about operation duration.
1252     
1253     Fixes: #4591
1254     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1255     Reviewed-by: Sam Just <sam.just@inktank.com>
1256     (cherry picked from commit 4b656730ffff21132f358c2b9a63504dfbf0998d)
1257
1258 commit 4a1c27c0e6e2e70be2b58e01872e321352c8e484
1259 Author: Josh Durgin <josh.durgin@inktank.com>
1260 Date:   Mon Apr 1 11:09:52 2013 -0700
1261
1262     librados: don't use lockdep for AioCompletionImpl
1263     
1264     This is a quick workaround for the next branch. A more complete fix
1265     will be done for the master branch. This does not affect correctness,
1266     just what qa runs with lockdep enabled do.
1267     
1268     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1269     Reviewed-by: Sage Weil <sage.weil@inktank.com>
1270     (cherry picked from commit 267ce0d90b8f3afaaddfdc0556c9bafbf4628426)
1271
1272 commit d36c5b5bd30a9d7e60403a09cedaea28bdc29e99
1273 Author: Josh Durgin <josh.durgin@inktank.com>
1274 Date:   Fri Mar 29 12:46:27 2013 -0700
1275
1276     librados: move snapc creation to caller for aio_operate
1277     
1278     The common case already has a snapshot context, so avoid duplicating
1279     it (copying a potentially large vector) in IoCtxImpl::aio_operate().
1280     
1281     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1282     (cherry picked from commit 4c4d5591bdb048cd9ffa25b529c6127356e7f9a7)
1283
1284 commit 31a45e8e23ebf9815ce5a4e0c89ddbf384702aad
1285 Author: Josh Durgin <josh.durgin@inktank.com>
1286 Date:   Thu Mar 21 16:04:10 2013 -0700
1287
1288     librbd: add an async flush
1289     
1290     At this point it's a simple wrapper around the ObjectCacher or
1291     librados.
1292     
1293     This is needed for QEMU so that its main thread can continue while a
1294     flush is occurring. Since this will be backported, don't update the
1295     librbd version yet, just add a #define that QEMU and others can use to
1296     detect the presence of aio_flush().
1297     
1298     Refs: #3737
1299     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1300     (cherry picked from commit 302b93c478b3f4bc2c82bfb08329e3c98389dd97)
1301
1302 commit f2e490cb5b1f322e637d787e788733ac4b2496f4
1303 Author: Josh Durgin <josh.durgin@inktank.com>
1304 Date:   Wed Mar 27 15:42:10 2013 -0700
1305
1306     librbd: use the same IoCtx for each request
1307     
1308     Before we were duplicating the IoCtx for each new request since they
1309     could have a different snapshot context or read from a different
1310     snapshot id. Since librados now supports setting these explicitly
1311     for a given request, do that instead.
1312     
1313     Since librados tracks outstanding requests on a per-IoCtx basis, this
1314     also fixes a bug that causes flush() without caching to ignore
1315     all the outstanding requests, since they were to separate,
1316     duplicate IoCtxs.
1317     
1318     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1319     (cherry picked from commit 860493e7ff0d87d02069b243fc1c8326ce0721f9)
1320
1321 commit cbb37fb5470f22949a4dbb747f428943cce4aca7
1322 Author: Josh Durgin <josh.durgin@inktank.com>
1323 Date:   Wed Mar 27 15:37:27 2013 -0700
1324
1325     librbd: add an is_complete() method to AioCompletions
1326     
1327     Mainly this is useful for testing, like flushing and checking that
1328     all pending writes are complete after the flush finishes.
1329     
1330     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1331     (cherry picked from commit 2ae32068dee22a0ca0698e230ead98f2eeeff3e6)
1332
1333 commit f9bcffa2482220202e68d6bac70216d44ee5046b
1334 Author: Josh Durgin <josh.durgin@inktank.com>
1335 Date:   Wed Mar 27 15:32:29 2013 -0700
1336
1337     librados: add versions of a couple functions taking explicit snap args
1338     
1339     Usually the snapid to read from or the snapcontext to send with a write
1340     are determined implicitly by the IoCtx the operations are done on.
1341     
1342     This makes it difficult to have multiple ops in flight to the same
1343     IoCtx using different snapcontexts or reading from different snapshots,
1344     particularly when more than one operation may be needed past the initial
1345     scheduling.
1346     
1347     Add versions of aio_read, aio_sparse_read, and aio_operate
1348     that don't depend on the snap id or snapcontext stored in the IoCtx,
1349     but get them from the caller. Specifying this information for each
1350     operation can be a more useful interface in general, but for now just
1351     add it for the methods used by librbd.
1352     
1353     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1354     (cherry picked from commit f06debef6c293750539501ec4e6103e5ae078392)
1355
1356 commit fb95b800a4cc431a8bd98692fffbfc150f6f8d67
1357 Author: Josh Durgin <josh.durgin@inktank.com>
1358 Date:   Wed Mar 27 14:48:31 2013 -0700
1359
1360     librados: add async flush interface
1361     
1362     Sometimes you don't want flush to block, and can't modify
1363     already scheduled aio_writes. This will be useful for a
1364     librbd async flush interface.
1365     
1366     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1367     (cherry picked from commit 7cc0940f89070dadab5b9102b1e78362f762f402)
1368     
1369     Conflicts:
1370     
1371         src/include/rados/librados.h
1372         src/include/rados/librados.hpp
1373
1374 commit 3a61d17b6729b73d0bf2df106f54dafb603af646
1375 Author: Josh Durgin <josh.durgin@inktank.com>
1376 Date:   Thu Mar 28 10:34:37 2013 -0700
1377
1378     ObjectCacher: remove unneeded var from flush_set()
1379     
1380     The gather will only have subs if there is something to flush. Remove
1381     the safe variable, which indicates the same thing, and convert the
1382     conditionals that used it to an else branch. Movinig gather.activate()
1383     inside the has_subs() check has no effect since activate() does
1384     nothing when there are no subs.
1385     
1386     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1387     (cherry picked from commit 553aaac8a19e2359acf6d9d2e1bb4ef0bdba7801)
1388
1389 commit ee7bf281005cce671e467ca9b9eff0ba7eb9899e
1390 Author: Josh Durgin <josh.durgin@inktank.com>
1391 Date:   Fri Mar 22 12:17:43 2013 -0700
1392
1393     ObjectCacher: remove NULL checks in flush_set()
1394     
1395     Callers will always pass a callback, so assert this and remove the
1396     checks for it being NULL.
1397     
1398     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1399     (cherry picked from commit 41568b904de6d155e5ee87c68e9c31cbb69508e5)
1400
1401 commit d86f9b1dd370563170ab875c6a7de511f05acbf7
1402 Author: Josh Durgin <josh.durgin@inktank.com>
1403 Date:   Fri Mar 22 12:13:36 2013 -0700
1404
1405     ObjectCacher: always complete flush_set() callback
1406     
1407     This removes the last remnants of
1408     b5e9995f59d363ba00d9cac413d9b754ee44e370. If there's nothing to flush,
1409     immediately call the callback instead of deleting it. Callers were
1410     assuming they were responsible for completing the callback whenever
1411     flush_set() returned true, and always called complete(0) in this
1412     case. Simplify the interface and just do this in flush_set(), so that
1413     it always calls the callback.
1414     
1415     Since C_GatherBuilder deletes its finisher if there are no subs,
1416     only set its finisher when subs are present. This way we can still
1417     call ->complete() for the callback.
1418     
1419     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1420     (cherry picked from commit 92db06c05dc2cad8ed31648cb08866781aee2855)
1421     
1422     Conflicts:
1423     
1424         src/client/Client.cc
1425
1426 commit 00dfb3f06fb6c2581a3f71126adcde0126e5e207
1427 Author: Josh Durgin <josh.durgin@inktank.com>
1428 Date:   Tue Jan 29 14:22:15 2013 -0800
1429
1430     ObjectCacher: fix flush_set when no flushing is needed
1431     
1432     C_GatherBuilder takes ownership of the Context we pass it. Deleting it
1433     in flush_set after constructing the C_GatherBuilder results in a
1434     double delete.
1435     
1436     Fixes: #3946
1437     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1438     Reviewed-by: Sam Lang <sam.lang@inktank.com>
1439     (cherry picked from commit 3bc21143552b35698c9916c67494336de8964d2a)
1440
1441 commit 0f2e5d36e4dcd073174715c310fa22a835ca1259
1442 Author: Sam Lang <sam.lang@inktank.com>
1443 Date:   Fri Jan 18 14:59:12 2013 -0600
1444
1445     objectcacher: Remove commit_set, use flush_set
1446     
1447     commit_set() and flush_set() are identical in functionality,
1448     so use flush_set everywhere and remove commit_set from
1449     the code.
1450     
1451     Also fixes a bug in flush_set where the finisher context was
1452     getting freed twice if no objects needed to be flushed.
1453     
1454     Signed-off-by: Sam Lang <sam.lang@inktank.com>
1455     (cherry picked from commit 72147fd3a1da8ecbcb31ddf6b66a158d71933909)
1456
1457 commit 3b0c565dceb41dcaf53965321ef420641bcb699b
1458 Author: Josh Durgin <josh.durgin@inktank.com>
1459 Date:   Wed Mar 13 09:42:43 2013 -0700
1460
1461     librbd: make aio_writes to the cache always non-blocking by default
1462     
1463     When the ObjectCacher's writex blocks, it affects the thread requesting
1464     the aio, which can cause starvation for other I/O when used by QEMU.
1465     
1466     Preserve the old behavior via a config option in case this has any
1467     bad side-effects, like too much memory usage under heavy write loads.
1468     
1469     Fixes: #4091
1470     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1471     (cherry picked from commit 03ac01fa6a94fa7a66ede057e9267e0a562c3cdb)
1472
1473 commit e237dfc742bba76664861a8868c502946fe53548
1474 Author: Josh Durgin <josh.durgin@inktank.com>
1475 Date:   Wed Mar 13 09:37:21 2013 -0700
1476
1477     ObjectCacher: optionally make writex always non-blocking
1478     
1479     Add a callback argument to writex, and a finisher to run the
1480     callbacks. Move the check for dirty+tx > max_dirty into a helper that
1481     can be called from a wrapper around the callbacks from writex, or from
1482     the current place in _wait_for_write().
1483     
1484     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1485     (cherry picked from commit c21250406eced8e5c467f492a2148c57978634f4)
1486
1487 commit 7bc1596b90d2d5853659cb3ffbe9653b633345f4
1488 Author: Josh Durgin <josh.durgin@inktank.com>
1489 Date:   Wed Mar 27 17:30:42 2013 -0700
1490
1491     librbd: flush cache when set_snap() is called
1492     
1493     If there are writes pending, they should be sent while the image
1494     is still writeable. If the image becomes read-only, flushing the
1495     cache will just mark everything dirty again due to -EROFS.
1496     
1497     Fixes: #4525
1498     Backport: bobtail
1499     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1500     (cherry picked from commit 613b7085bb48cde1e464b7a97c00b8751e0e917f)
1501
1502 commit 9facdcac7bb8ab92f1ab486eaabee681e6b6519d
1503 Author: Josh Durgin <josh.durgin@inktank.com>
1504 Date:   Fri Mar 15 17:28:13 2013 -0700
1505
1506     librbd: optionally wait for a flush before enabling writeback
1507     
1508     Older guests may not send flushes properly (i.e. never), so if this is
1509     enabled, rbd_cache=true is safe for them transparently.
1510     
1511     Disable by default, since it will unnecessarily slow down newer guest
1512     boot, and prevent writeback caching for things that don't need to send
1513     flushes, like the command line tool.
1514     
1515     Refs: #3817
1516     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1517     Reviewed-by: Sage Weil <sage@inktank.com>
1518     (cherry picked from commit 1597b3e3a1d776b56e05c57d7c3de396f4f2b5b2)
1519
1520 commit 1c44b66fb371a5864860c067bb5f59374f43005d
1521 Author: Josh Durgin <josh.durgin@inktank.com>
1522 Date:   Fri Mar 8 18:57:24 2013 -0800
1523
1524     librbd: invalidate cache when flattening
1525     
1526     The cache stores which objects don't exist. Flatten bypasses the cache
1527     when doing its copyups, so when it is done the -ENOENT from the cache
1528     is treated as zeroes instead of 'need to read from parent'.
1529     
1530     Clients that have the image open need to forgot about the cached
1531     non-existent objects as well. Do this during ictx_refresh, while the
1532     parent_lock is held exclusively so no new reads from the parent can
1533     happen until the updated parent metadata is visible, so no new reads
1534     from the parent will occur.
1535     
1536     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1537     (cherry picked from commit 46e8fc00b2dc8eb17d8777b6ef5ad1cfcc389cea)
1538
1539 commit d9ca1b00a4dacb4715a69a276a644d645d0d5bc1
1540 Author: Josh Durgin <josh.durgin@inktank.com>
1541 Date:   Fri Mar 8 17:53:31 2013 -0800
1542
1543     ObjectCacher: add a method to clear -ENOENT caching
1544     
1545     Clear the exists and complete flags for any objects that have exists
1546     set to false, and force any in-flight reads to retry if they get
1547     -ENOENT instead of generating zeros.
1548     
1549     This is useful for getting the cache into a consistent state for rbd
1550     after an image has been flattened, since many objects which previously
1551     did not exist and went up to the parent to retrieve data may now exist
1552     in the child.
1553     
1554     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1555     (cherry picked from commit f2a23dc0b092c5ac081893e8f28c6d4bcabd0c2e)
1556
1557 commit 1e51be05b7909a676ae499ca84e4cce94bb50da4
1558 Author: Josh Durgin <josh.durgin@inktank.com>
1559 Date:   Fri Mar 8 17:49:27 2013 -0800
1560
1561     ObjectCacher: keep track of outstanding reads on an object
1562     
1563     Reads always use C_ReadFinish as a callback (and they are the only
1564     user of this callback). Keep an xlist of these for each object, so
1565     they can remove themselves as they finish. To prevent racing requests
1566     and with discard removing objects from the cache, clear the xlist in
1567     the object destructor, so if the Object is still valid the set_item
1568     will still be on the list.
1569     
1570     Make the ObjectCacher constructor take an Object* instead of the pool
1571     and object id, which are derived from the Object* anyway.
1572     
1573     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1574     (cherry picked from commit f6f876fe51e40570596c25ac84ba3689f72776c2)
1575
1576 commit f2bcf241257500f5784b216b7a377ddec4669531
1577 Author: Josh Durgin <josh.durgin@inktank.com>
1578 Date:   Mon Feb 25 16:09:26 2013 -0800
1579
1580     test_rbd: move flatten tests back into TestClone
1581     
1582     They need the same setup, and it's easy enough to run specific
1583     subtests. Making them a separate subclass accidentally duplicated
1584     tests from TestClone.
1585     
1586     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1587     (cherry picked from commit 9c693d7e8312026f6d8d9586381b026ada35d808)
1588
1589 commit cd989681823a2b8521c789f5d4fea5525ac53911
1590 Author: Josh Durgin <josh.durgin@inktank.com>
1591 Date:   Tue Feb 26 13:20:08 2013 -0800
1592
1593     librbd: fix rollback size
1594     
1595     The duplicate calls to get_image_size() and get_snap_size() replaced
1596     by 5806226cf0743bb44eaf7bc815897c6846d43233 uncovered this. The first
1597     call was using the currently set snap_id instead of the snapshot being
1598     rolled back to.
1599     
1600     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1601     (cherry picked from commit d6c126e2131fefab6df676f2b9d0addf78f7a488)
1602
1603 commit 796066b7a8324b12a660d9b80b927e643db7529e
1604 Author: Josh Durgin <josh.durgin@inktank.com>
1605 Date:   Mon Feb 25 12:05:16 2013 -0800
1606
1607     Merge branch 'wip-4249' into wip-4249-master
1608     
1609     Make snap_rollback() only take a read lock on snap_lock, since
1610     it does not modify snapshot-related fields.
1611     Conflicts:
1612         src/librbd/internal.cc
1613     (cherry picked from commit db5fc2270f91aae220fc3c97b0c62e92e263527b)
1614
1615 commit 34e9030e50fe15a320cbfbc9854c86deb3a9c57c
1616 Author: Josh Durgin <josh.durgin@inktank.com>
1617 Date:   Thu Feb 21 11:26:45 2013 -0800
1618
1619     librbd: make sure racing flattens don't crash
1620     
1621     The only way for a parent to disappear is a racing flatten completing,
1622     or possibly in the future the image being forcibly removed. In either
1623     case, continuing to flatten makes no sense, so stop early.
1624     
1625     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1626     (cherry picked from commit a1ae8562877d1b902918e866a1699214090c40bd)
1627
1628 commit 6e6636d50840e97022c8e4a1072f42fee15050a9
1629 Author: Josh Durgin <josh.durgin@inktank.com>
1630 Date:   Thu Feb 21 11:17:18 2013 -0800
1631
1632     librbd: use rwlocks instead of mutexes for several fields
1633     
1634     Image metadata like snapshots, size, and parent is frequently read,
1635     but rarely updated. During flatten, we were depending on the parent
1636     lock to prevent the parent ImageCtx from disappearing out from under
1637     us while we read from it. The copy-up path also needed the parent lock
1638     to be able to read from the parent image, which lead to a deadlock.
1639     
1640     Convert parent_lock, snap_lock, and md_lock to RWLocks, and change
1641     their use to read instead of exclusive locks where appropriate. The
1642     main place exclusive locks are needed is in ictx_refresh, so this is
1643     pretty simple. This fixes the deadlock, since parent_lock is only
1644     needed for read access in both flatten and the copy-up operation.
1645     
1646     cache_lock and refresh_lock are only really used for exclusive access,
1647     so leave them as regular mutexes.
1648     
1649     One downside to this is that there's no way to assert is_locked()
1650     for RWLocks, so we'll have to be very careful about changing code
1651     in the future.
1652     
1653     Fixes: #3665
1654     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1655     (cherry picked from commit 995ff0e3eaa560b242da8c019a2e11e735e854f7)
1656
1657 commit 9b292199ef63822462c67cb6cf1cca6a53cf9fd7
1658 Author: Josh Durgin <josh.durgin@inktank.com>
1659 Date:   Thu Feb 21 11:15:41 2013 -0800
1660
1661     common: add lockers for RWLocks
1662     
1663     This makes them easier to use, especially instead of existing mutexes.
1664     
1665     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1666     (cherry picked from commit e0f8e5a80d6d22bd4dee79a4996ea7265d11b0c1)
1667
1668 commit d8ac6cbf883fce0f39d661a879ff2462479d5494
1669 Author: Josh Durgin <josh.durgin@inktank.com>
1670 Date:   Thu Feb 21 23:22:59 2013 -0800
1671
1672     objecter: initialize linger op snapid
1673     
1674     Since they are write ops now, it must be CEPH_NOSNAP or the OSD
1675     returns EINVAL.
1676     
1677     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1678     (cherry picked from commit 15bb9ba9fbb4185708399ed6deee070d888ef6d2)
1679
1680 commit 9ea4dac1db46c20cd83c5af5d29d9ce7a5768380
1681 Author: Sage Weil <sage@inktank.com>
1682 Date:   Thu Feb 21 15:44:19 2013 -0800
1683
1684     objecter: separate out linger_read() and linger_mutate()
1685     
1686     A watch is a mutation, while a notify is a read.  The mutations need to
1687     pass in a proper snap context to be fully correct.
1688     
1689     Also, make the WRITE flag implicit so the caller doesn't need to pass it
1690     in.
1691     
1692     Signed-off-by: Sage Weil <sage@inktank.com>
1693     (cherry picked from commit 6c08c7c1c6d354d090eb16df279d4b63ca7a355a)
1694
1695 commit d9636faabfdb2c0a876f0afa092a2ab925cf8983
1696 Author: Sage Weil <sage@inktank.com>
1697 Date:   Thu Feb 21 15:31:08 2013 -0800
1698
1699     osd: make watch OSDOp print sanely
1700     
1701     Signed-off-by: Sage Weil <sage@inktank.com>
1702     (cherry picked from commit de4fa95f03b99a55b5713911c364d7e2a4588679)
1703
1704 commit 959bfe9097a2cfa48e2ab21f11bd32c1349807aa
1705 Author: Sage Weil <sage@inktank.com>
1706 Date:   Thu Feb 21 13:28:47 2013 -0800
1707
1708     osdc/Objecter: unwatch is a mutation, not a read
1709     
1710     This was causing librados to unblock after the ACK on unwatch, which meant
1711     that librbd users raced and tried to delete the image before the unwatch
1712     change was committed..and got EBUSY.  See #3958.
1713     
1714     The watch operation has a similar problem.
1715     
1716     Signed-off-by: Sage Weil <sage@inktank.com>
1717     (cherry picked from commit fea77682a6cf9c7571573bc9791c03373d1d976d)
1718     
1719     Conflicts:
1720     
1721         src/librados/IoCtxImpl.cc
1722
1723 commit b6b4ebed559db8bf74da4f482201948b5abc9225
1724 Author: Sage Weil <sage@inktank.com>
1725 Date:   Thu Feb 21 11:15:58 2013 -0800
1726
1727     osd: an interval can't go readwrite if its acting is empty
1728     
1729     Let's not forget that min_size can be zero.
1730     
1731     Fixes: #4159
1732     Signed-off-by: Sage Weil <sage@inktank.com>
1733     (cherry picked from commit 4277265d99647c9fe950ba627e5d86234cfd70a9)
1734
1735 commit 055d746c3bca0d7067b71ed1ff6d1c1cce42b5ed
1736 Author: Sage Weil <sage@inktank.com>
1737 Date:   Tue Feb 19 08:29:53 2013 -0800
1738
1739     mon: restrict pool size to 1..10
1740     
1741     See: #4159
1742     Signed-off-by: Sage Weil <sage@inktank.com>
1743     (cherry picked from commit 30b8d653751acb4bc4be5ca611f154e19afe910a)
1744
1745 commit c073bd25610ba556f3b30e6c583d1d74a10f09e2
1746 Author: Sage Weil <sage@inktank.com>
1747 Date:   Fri Apr 19 13:05:43 2013 -0700
1748
1749     init-ceph: do not stop start on first failure
1750     
1751     When starting we often loop over many daemon instances.  Currently we stop
1752     on the first error and do not try to start other daemons.
1753     
1754     Instead, try them all, but return a failure if anything did not start.
1755     
1756     Fixes: #2545
1757     Signed-off-by: Sage Weil <sage@inktank.com>
1758     Reviewed-by: Gary Lowell <gary.lowell@inktank.com>
1759     (cherry picked from commit d395aa521e8a4b295ed2b08dd7cfb7d9f995fcf7)
1760     
1761     Conflicts:
1762     
1763         src/init-ceph.in
1764
1765 commit daa6ed2bfe790f83f986f51d0917d6268d3e9d78
1766 Merge: 1d0bf61 9fe57e2
1767 Author: Josh Durgin <josh.durgin@inktank.com>
1768 Date:   Thu Apr 11 13:00:27 2013 -0700
1769
1770     Merge pull request #210 from dalgaaf/wip-da-bobtail-pybind
1771     
1772     Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
1773
1774 commit 9fe57e2bea89243a0080e667f90b7d4fb15ed883
1775 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
1776 Date:   Fri Apr 5 15:55:34 2013 +0200
1777
1778     rados.py: fix create_pool()
1779     
1780     Call rados_pool_create_with_all() only if auid and crush_rule
1781     are set properly. In case only crush_rule is set call
1782     rados_pool_create_with_crush_rule() on librados, not the other
1783     way around.
1784     
1785     Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
1786     (cherry picked from commit 94a1f25e7230a700f06a2699c9c2b99ec1bf7144)
1787
1788 commit 1d0bf61da98bec7318f44b95a49298e13b792b70
1789 Author: Dan Mick <dan.mick@inktank.com>
1790 Date:   Mon Apr 8 13:52:32 2013 -0700
1791
1792     mon: Use _daemon version of argparse functions
1793     
1794     Allow argparse functions to fail if no argument given by using
1795     special versions that avoid the default CLI behavior of "cerr/exit"
1796     
1797     Fixes: #4678
1798     Signed-off-by: Dan Mick <dan.mick@inktank.com>
1799     Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
1800     (cherry picked from commit be801f6c506d9fbfb6c06afe94663abdb0037be5)
1801     
1802     Conflicts:
1803         src/mon/Monitor.cc
1804
1805 commit 3769250acf42a751ee8dfa95207a4ffafd25574a
1806 Author: Dan Mick <dan.mick@inktank.com>
1807 Date:   Mon Apr 8 13:49:22 2013 -0700
1808
1809     ceph_argparse: add _daemon versions of argparse calls
1810     
1811     mon needs to call argparse for a couple of -- options, and the
1812     argparse_witharg routines were attempting to cerr/exit on missing
1813     arguments.  This is appropriate for the CLI usage, but not the daemon
1814     usage.  Add a 'cli' flag that can be set false for the daemon usage
1815     (and cause the parsing routine to return false instead of exit).
1816     
1817     The daemon's parsing code due for a rewrite soon.
1818     
1819     Signed-off-by: Dan Mick <dan.mick@inktank.com>
1820     Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
1821     (cherry picked from commit c76bbc2e6df16d283cac3613628a44937e38bed8)
1822
1823 commit 1f3b4917cc5c4d796a96637912d2ae5ce2877861
1824 Author: Alexandre Oliva <oliva@gnu.org>
1825 Date:   Wed Feb 6 15:27:13 2013 -0200
1826
1827     silence logrotate some more
1828     
1829     I was getting email with logrotate error output from “which invoke-rc.d”
1830     on systems without an invoke-rc.d.  This patch silences it.
1831     
1832     Silence stderr from which when running logrotate
1833     
1834     From: Alexandre Oliva <oliva@gnu.org>
1835     
1836     Signed-off-by: Alexandre Oliva <oliva@gnu.org>
1837     (cherry picked from commit d02340d90c9d30d44c962bea7171db3fe3bfba8e)
1838
1839 commit e6eace2334d04fc9292c96a843304d1748b5bbe7
1840 Merge: 8cb13a1 1507443
1841 Author: Samuel Just <sam.just@inktank.com>
1842 Date:   Fri Mar 29 12:14:22 2013 -0700
1843
1844     Merge remote-tracking branch 'upstream/bobtail-4556' into bobtail
1845     
1846     Reviewed-by: Samuel Just <sam.just@inktank.com>
1847
1848 commit 8cb13a195c592fd2f17889e77d717c1864f97dca
1849 Author: Samuel Just <sam.just@inktank.com>
1850 Date:   Thu Feb 14 14:03:56 2013 -0800
1851
1852     OSD: always activate_map in advance_pgs, only send messages if up
1853     
1854     We should always handle_activate_map() after handle_advance_map() in
1855     order to kick the pg into a valid peering state for processing requests
1856     prior to dropping the lock.
1857     
1858     Additionally, we would prefer to avoid sending irrelevant messages
1859     during boot, so only send if we are up according to the current service
1860     osdmap.
1861     
1862     Fixes: #4572
1863     Backport: bobtail
1864     Signed-off-by: Samuel Just <sam.just@inktank.com>
1865     Reviewed-by: Sage Weil <sage@inktank.com>
1866     (cherry picked from commit 4dfcad44431855ba7d68a1ccb41dc3cb5db6bb50)
1867
1868 commit d89ab0ea6fa8d0961cad82f6a81eccbd3bbd3f55
1869 Author: Samuel Just <sam.just@inktank.com>
1870 Date:   Thu Mar 28 14:09:17 2013 -0700
1871
1872     PG: update PGPool::name in PGPool::update
1873     
1874     Fixes: #4471
1875     Signed-off-by: Samuel Just <sam.just@inktank.com>
1876     Reviewed-by: Sage Weil <sage@inktank.com>
1877     (cherry picked from commit f804892d725cfa25c242bdc577b12ee81dcc0dcc)
1878
1879 commit 750626108616761512271d5a4f10dee82a54e460
1880 Author: Samuel Just <sam.just@inktank.com>
1881 Date:   Tue Mar 26 15:10:37 2013 -0700
1882
1883     ReplicatedPG: send entire stats on OP_BACKFILL_FINISH
1884     
1885     Otherwise, we update the stat.stat structure, but not the
1886     stat.invalid_stats part.  This will result in a recently
1887     split primary propogating the invalid stats but not the
1888     invalid marker.  Sending the whole pg_stat_t structure
1889     also mirrors MOSDSubOp.
1890     
1891     Fixes: #4557
1892     Backport: bobtail
1893     Signed-off-by: Samuel Just <sam.just@inktank.com>
1894     Reviewed-by: Sage Weil <sage@inktank.com>
1895     (cherry picked from commit 76b296f01fd0d337c8fc9f79013883e62146f0c6)
1896
1897 commit 1507443271fda933032ef0877aff1890d4fd5b63
1898 Author: Sage Weil <sage@inktank.com>
1899 Date:   Wed Mar 27 13:19:03 2013 -0700
1900
1901     osd: disallow classes with flags==0
1902     
1903     They must be RD, WR, or something....
1904     
1905     Signed-off-by: Sage Weil <sage@inktank.com>
1906     (cherry picked from commit 89c69016e1dddb9f3ca40fd699e4a995ef1e3eee)
1907
1908 commit 6b6e0cef99e66b46ade35ab262f071982049bc22
1909 Author: Sage Weil <sage@inktank.com>
1910 Date:   Wed Mar 27 12:59:41 2013 -0700
1911
1912     osd: EINVAL when rmw_flags is 0
1913     
1914     A broken client (e.g., v0.56) can send a request that ends up with an
1915     rmw_flags of 0.  Treat this as invalid and return EINVAL.
1916     
1917     Fixes: #4556
1918     Signed-off-by: Sage Weil <sage@inktank.com>
1919     (cherry picked from commit f2dda43c9ed4fda9cfa87362514985ee79e0ae15)
1920
1921 commit 4bdd37495cedb1cf30a5311548492fe3f5db6e92
1922 Author: Sage Weil <sage@inktank.com>
1923 Date:   Wed Mar 27 13:08:38 2013 -0700
1924
1925     osd: fix detection of non-existent class method
1926     
1927     Signed-off-by: Sage Weil <sage@inktank.com>
1928     (cherry picked from commit 50b831e3641c21cd5b145271688189e199f432d1)
1929
1930 commit f28800f8b65e90a3b96429f07197236e6c9bf1a2
1931 Author: Sage Weil <sage@inktank.com>
1932 Date:   Wed Mar 27 13:12:38 2013 -0700
1933
1934     osd: tolerate rmw_flags==0
1935     
1936     We will let OSD return a proper error instead of asserting.
1937     
1938     This is effectively a backport of c313423cfda55a2231e000cd5ff20729310867f8.
1939     
1940     Signed-off-by: Sage Weil <sage@inktank.com>
1941
1942 commit 94321ccdff81d5d6cea1acdb54344c3d930a49eb
1943 Author: Josh Durgin <josh.durgin@inktank.com>
1944 Date:   Thu Feb 21 17:39:19 2013 -0800
1945
1946     test_librbd_fsx: fix image closing
1947     
1948     Always close the image we opened in check_clone(), and check the
1949     return code of the rbd_close() called before cloning.
1950     
1951     Refs: #3958
1952     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1953     (cherry picked from commit 94ae72546507799667197fd941633bb1fd2520c2)
1954
1955 commit 7fbc1ab69267e6be96665b0d4e277dc4a07f9220
1956 Author: Josh Durgin <josh.durgin@inktank.com>
1957 Date:   Wed Mar 13 17:05:42 2013 -0700
1958
1959     rbd: remove fiemap use from import
1960     
1961     On some kernels and filesystems fiemap can be racy and provide
1962     incorrect data even after an fsync. Later we can use SEEK_HOLE and
1963     SEEK_DATA, but for now just detect zero runs like we do with stdin.
1964     
1965     Basically this adapts import from stdin to work in the case of a file
1966     or block device, and gets rid of other cruft in the import that used
1967     fiemap.
1968     
1969     Fixes: #4388
1970     Backport: bobtail
1971     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1972     (cherry picked from commit 3091283895e8ffa3e4bda13399318a6e720d498f)