Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / ceph / doc / changelog / v0.67.6.txt
1 commit c71f8a60cf49fb3d4efb5ea75b2366cd7f167497 (tag: refs/tags/v0.67.6)
2 Author: Alfredo Deza <alfredo.deza@inktank.com>
3 Date:   Thu Feb 13 20:20:42 2014 +0000
4
5     release build 67.6
6     
7     Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
8
9 commit 1c42a6e34bb8e318e001384270cda003add946a7
10 Merge: 3e473d4 c5e12f9
11 Author: Sage Weil <sage@inktank.com>
12 Date:   Thu Feb 13 06:55:37 2014 -0800
13
14     Merge pull request #1232 from ceph/dumpling-7334
15     
16     backport ceph-disk improvements to dumpling
17     
18     http://pulpito.ceph.com/ubuntu-2014-02-12_16:52:33-ceph-deploy-dumpling-7334-testing-basic-plana/
19
20 commit 3e473d4237697872498094b41fed19b414f8d3c4
21 Author: David Zafman <david.zafman@inktank.com>
22 Date:   Fri Sep 27 16:23:09 2013 -0700
23
24     common,os: Remove filestore_xattr_use_omap option
25     
26     Now we operate just like when this was set to true
27     
28     Fixes: #6143
29     
30     Signed-off-by: David Zafman <david.zafman@inktank.com>
31     (cherry picked from commit dc0dfb9e01d593afdd430ca776cf4da2c2240a20)
32
33 commit c5e12f94efc07f0ff174c0f19494ee2e06d88dfa
34 Author: Alfredo Deza <alfredo@deza.pe>
35 Date:   Wed Feb 12 16:43:59 2014 -0500
36
37     add support for absence of PATH
38     
39     Note that this commit is actually bisecting the changes from
40     Loic Dachary that touch ceph-disk only (ad515bf). As that changeset
41     also touches other files it causes conflicts that are not resolvable
42     for backporting it to dumpling.
43     
44     Signed-off-by: Alfredo Deza <alfredo@deza.pe>
45
46 commit c531d75f7e86cee619e44c247298b50c37b81539
47 Author: Sage Weil <sage@inktank.com>
48 Date:   Mon Sep 9 22:27:23 2013 -0700
49
50     ceph-disk: make initial journal files 0 bytes
51     
52     The ceph-osd will resize journal files up and properly fallocate() them
53     so that the blocks are preallocated and (hopefully) contiguous.  We
54     don't need to do it here too, and getting fallocate() to work from
55     python is a pain in the butt.
56     
57     Fixes: #5981
58     Signed-off-by: Sage Weil <sage@inktank.com>
59     (cherry picked from commit a786ad773cd33880075f1deb3691528d1afd03ec)
60
61 commit 836ead3e42491597c192c63d3171021c5daecbc0
62 Author: Alfredo Deza <alfredo@deza.pe>
63 Date:   Mon Feb 10 15:07:55 2014 -0500
64
65     alert the user about error messages from partx
66     
67     Signed-off-by: Alfredo Deza <alfredo@deza.pe>
68     (cherry picked from commit 9bcc42a3e6b08521694b5c0228b2c6ed7b3d312e)
69
70 commit cff3547c60dc6d164f9a95eaa2706633e32756d0
71 Author: Alfredo Deza <alfredo@deza.pe>
72 Date:   Fri Feb 7 11:55:01 2014 -0500
73
74     use partx for red hat or centos instead of partprobe
75     
76     Signed-off-by: Alfredo Deza <alfredo@deza.pe>
77     (cherry picked from commit 42900ff9da9f5adcac239a84ebf4d2e407c29699)
78
79 commit 5ebd7c4520a9805f985cab1a0ba9311e19efa041
80 Author: Josh Durgin <josh.durgin@inktank.com>
81 Date:   Tue Jan 28 17:26:58 2014 -0800
82
83     ceph-disk: run the right executables from udev
84     
85     When run by the udev rules, PATH is not defined. Thus,
86     ceph-disk-activate relies on its which() function to locate the
87     correct executable.  The which() function used os.defpath if none was
88     set, and this worked for anything using it.
89     
90     ad6b4b4b08b6ef7ae8086f2be3a9ef521adaa88c added a new default value to
91     PATH, so only /usr/bin was checked by callers that did not use
92     which(). This resulted in the mount command not being found when
93     ceph-disk-activate was run by udev, and thus osds failing to start
94     after being prepared by ceph-deploy.
95     
96     Make ceph-disk consistently use the existing helpers (command() and
97     command_check_call()) that use which(), so lack of PATH does not
98     matter. Simplify _check_output() to use command(),
99     another wrapper around subprocess.Popen.
100     
101     Fixes: #7258
102     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
103     (cherry picked from commit d7b0c7faafd37e4ae8a1680edfa60c22b419cbd8)
104
105 commit 4a7c4e0a81753dfb811396e7bfa1df72135ee12b
106 Author: Loic Dachary <loic@dachary.org>
107 Date:   Fri Jan 3 16:06:55 2014 +0100
108
109     ceph-disk: implement --sysconfdir as /etc/ceph
110     
111     Replace hardcoded /etc/ceph with the SYSCONFDIR global variable and
112     implement the --sysconfdir option to override the default value.
113     
114     Signed-off-by: Loic Dachary <loic@dachary.org>
115     (cherry picked from commit a71025d33621257b6fd6632516cfed2849ff1637)
116
117 commit c8b9798a69bd1655a7131c7bce8a14c2c74aba0c
118 Author: Loic Dachary <loic@dachary.org>
119 Date:   Fri Jan 3 16:03:09 2014 +0100
120
121     ceph-disk: implement --statedir as /var/lib/ceph
122     
123     Replace hardcoded /var/lib/ceph with the STATEDIR global variable and
124     implement the --statedir option to override the default value.
125     
126     Signed-off-by: Loic Dachary <loic@dachary.org>
127     (cherry picked from commit ca713f48ae7a1fece2869f1a1c97d23ab33fb441)
128
129 commit 79564874be35d4414092fbb80df3214d7f282b1c
130 Author: Loic Dachary <loic@dachary.org>
131 Date:   Wed Jan 1 22:05:03 2014 +0100
132
133     ceph-disk: add copyright notice
134     
135     Signed-off-by: Loic Dachary <loic@dachary.org>
136     (cherry picked from commit 51ee3c04777aaf6b9609dde9bc318b5c66c70787)
137
138 commit c4b66bbdf09a8bb85ed14fbb643f40f87345463b
139 Author: Loic Dachary <loic@dachary.org>
140 Date:   Wed Jan 1 22:11:30 2014 +0100
141
142     ceph-disk: create the data directory if it does not exist
143     
144     Instead of failing if the OSD data directory does not exist, create
145     it. Only do so if the data directory is not enforced to be a device via
146     the use of the --data-dev flag. The directory is not recursively created.
147     
148     Signed-off-by: Loic Dachary <loic@dachary.org>
149     (cherry picked from commit 306b099ab093bfac466d68fe1cb87367bc01e577)
150
151 commit c473c65d4b6235fe20a97bd1d4741c12f86858e8
152 Author: Loic Dachary <loic@dachary.org>
153 Date:   Tue Dec 31 00:03:42 2013 +0100
154
155     ceph-disk: run ceph-osd when --mark-init=none
156     
157     Signed-off-by: Loic Dachary <loic@dachary.org>
158     (cherry picked from commit 0fcc081858fae4febbb6a613a93cfbbcedd5a320)
159
160 commit 6ea59a3a0c38c9629036442aff652489eecce51a
161 Author: Loic Dachary <loic@dachary.org>
162 Date:   Mon Dec 30 23:57:39 2013 +0100
163
164     ceph-disk: implement --mark-init=none
165     
166     It is meant to be used when preparing and activating a directory that is
167     not to be used with init. No file is created to identify the init
168     system, no symbolic link is made to the directory in /var/lib/ceph
169     and the init scripts are not called.
170     
171     Signed-off-by: Loic Dachary <loic@dachary.org>
172     (cherry picked from commit e773b68f4c89ac56b425c710d7dcdc3d74a92926)
173
174 commit 3aae5b764c5698c665a708a3f6f2243dfee1a28d
175 Author: Loic Dachary <loic@dachary.org>
176 Date:   Wed Jan 1 22:07:57 2014 +0100
177
178     ceph-disk: fsid is a known configuration option
179     
180     Use get_conf_with_default instead of get_conf because fsid is a known
181     ceph configuration option. It allows overriding via CEPH_ARGS which is
182     convenient for testing. Only options that are not found in config_opts.h
183     are fetch via get_conf.
184     
185     Signed-off-by: Loic Dachary <loic@dachary.org>
186     (cherry picked from commit b65eb377f5e93ea85644e4c0939365fd7ac36072)
187
188 commit a33ad6d150206232806ee466f301e41f15c631e9
189 Author: Loic Dachary <loic@dachary.org>
190 Date:   Wed Jan 1 22:06:29 2014 +0100
191
192     ceph-disk: use CalledProcessError.returncode
193     
194     CalledProcessError has no errno data member
195     
196     Signed-off-by: Loic Dachary <loic@dachary.org>
197     (cherry picked from commit 97f516a1ddfb2d014e1f7e762c4155e4b9bcb90b)
198
199 commit 6ae96d3ce757b05daeb7c1437778149b07248d47
200 Author: Loic Dachary <loic@dachary.org>
201 Date:   Wed Jan 1 22:13:15 2014 +0100
202
203     ceph-disk: display the command output on OSD creation failure
204     
205     The string form of a CalledProcessError instance does not include the
206     output datamember. Add it to the Error exception for debug purposes.
207     
208     Signed-off-by: Loic Dachary <loic@dachary.org>
209     (cherry picked from commit d09af0fa50f322c9e59765f3badd497f5ca184d4)
210
211 commit deefb3a05788b308631812c652e9eccaeb999d7f
212 Author: Loic Dachary <loic@dachary.org>
213 Date:   Mon Dec 30 23:07:27 2013 +0100
214
215     ceph-disk: which() uses PATH first
216     
217     Instead of relying on a hardcoded set of if paths. Although this has the
218     potential of changing the location of the binary being used by ceph-disk
219     on an existing installation, it is currently only used for sgdisk. It
220     could be disruptive for someone using a modified version of sgdisk but
221     the odds of this happening are very low.
222     
223     Signed-off-by: Loic Dachary <loic@dachary.org>
224     (cherry picked from commit 2b935bbf60bafb6dd488c0eb30f156fce1b9d197)
225
226 commit 06bbea187293ac52aefbcf4e98c162bb3286341d
227 Author: Loic Dachary <loic@dachary.org>
228 Date:   Mon Dec 30 22:48:46 2013 +0100
229
230     ceph-disk: add --prepend-to-path to control execution
231     
232     /usr/bin is hardcoded in front of some ceph programs which makes it
233     impossible to control where they are located via the PATH.
234     
235     The hardcoded path cannot be removed altogether because it will most
236     likely lead to unexpected and difficult to diagnose problems for
237     existing installations where the PATH finds the program elsewhere.
238     
239     The --prepend-to-path flag is added and defaults to /usr/bin : it prepends
240     to the PATH environment variable. The hardcoded path is removed
241     and the PATH will be used: since /usr/bin is searched first, the
242     legacy behavior will not change.
243     
244     Signed-off-by: Loic Dachary <loic@dachary.org>
245     (cherry picked from commit ad6b4b4b08b6ef7ae8086f2be3a9ef521adaa88c)
246
247 commit ccf182241dc04c79e2377b6ba2f060dbfe6dddae
248 Author: Loic Dachary <loic@dachary.org>
249 Date:   Mon Dec 30 17:15:29 2013 +0100
250
251     ceph-disk: make exception handling terse in main_activate_journal
252     
253     Signed-off-by: Loic Dachary <loic@dachary.org>
254     (cherry picked from commit 908348b8047e8577ecf9133f2683f91423694416)
255
256 commit d60e952f3c00d0e551b04c0d6486b11d9761be35
257 Author: Loic Dachary <loic@dachary.org>
258 Date:   Mon Dec 30 17:13:47 2013 +0100
259
260     ceph-disk: do not hide main_activate() exceptions
261     
262     Signed-off-by: Loic Dachary <loic@dachary.org>
263     (cherry picked from commit 55ca7bb2da73f1be1293710a635cfea42abd7682)
264
265 commit 827edb93e3971fc7549fe831894776c6bf163346
266 Author: Loic Dachary <loic@dachary.org>
267 Date:   Mon Dec 30 17:11:30 2013 +0100
268
269     ceph-disk: fix activate() indent
270     
271     Signed-off-by: Loic Dachary <loic@dachary.org>
272     (cherry picked from commit 324804a81c37ff89f2488e2ba106033c0e6e119e)
273
274 commit 27988cf9ffedf3289099e51f1e7c3f5b8d79d667
275 Author: Loic Dachary <loic@dachary.org>
276 Date:   Mon Dec 30 17:09:35 2013 +0100
277
278     ceph-disk: remove noop try:
279     
280     Signed-off-by: Loic Dachary <loic@dachary.org>
281     (cherry picked from commit de0050596b5f56863c3486c1cd5e7ffea62e3d00)
282
283 commit 75bdb5430d9403bed8bd2ccd6a9c5a30d63a189e
284 Author: Loic Dachary <loic@dachary.org>
285 Date:   Mon Dec 30 16:57:36 2013 +0100
286
287     ceph-disk: fix Error() messages formatting
288     
289     Mainly using % instead of ,
290     
291     Signed-off-by: Loic Dachary <loic@dachary.org>
292     (cherry picked from commit b82ccfbfa786cd5436b48ec38276c5a48028ce1d)
293
294 commit 5df1eaa55bc7ebe68473831d06cf9819fa39baa6
295 Author: Loic Dachary <loic@dachary.org>
296 Date:   Mon Dec 30 12:26:20 2013 +0100
297
298     ceph-disk: prepare --data-dir must not override files
299     
300     ceph-disk does nothing when given a device that is already prepared. If
301     given a directory that already contains a successfully prepared OSD, it
302     will however override it.
303     
304     Instead of overriding the files in the osd data directory, return
305     immediately if the magic file exists. Make it so the magic file is
306     created last to accurately reflect the success of the OSD preparation.
307     
308     Signed-off-by: Loic Dachary <loic@dachary.org>
309     (cherry picked from commit 7dfe550ce18623cde4ae43a2416e31ef81381ab9)
310
311 commit 2e8496a6e0b74ff351bc2a4f138ddc665d8c30ca
312 Author: Loic Dachary <loic@dachary.org>
313 Date:   Sun Dec 15 15:34:17 2013 +0100
314
315     ceph-disk: zap needs at least one device
316     
317     If given no argument, ceph-disk zap should display the usage instead of
318     silently doing nothing. Silence can be confused with "I zapped all the
319     disks".
320     
321     http://tracker.ceph.com/issues/6981 fixes #6981
322     
323     Signed-off-by: Loic Dachary <loic@dachary.org>
324     (cherry picked from commit 07888ef3fd4440332c8287d0faa9f23a32cf141c)
325
326 commit 0fe2ac47a82d3caa9dca2a9009b68a14b577e35c
327 Author: Alfredo Deza <alfredo@deza.pe>
328 Date:   Fri Dec 13 12:06:25 2013 -0500
329
330     use the new get_command helper in check_call
331     
332     Signed-off-by: Alfredo Deza <alfredo@deza.pe>
333     (cherry picked from commit 897dfc113fe3b86f3dda53172933bfd4f8089869)
334
335 commit 8fc9f1b791248f08a311d619addc4465cac298f9
336 Author: Alfredo Deza <alfredo@deza.pe>
337 Date:   Thu Dec 12 11:16:38 2013 -0500
338
339     use the absolute path for executables if found
340     
341     Signed-off-by: Alfredo Deza <alfredo@deza.pe>
342     (cherry picked from commit a9334a1c8c6681305e76b361377864d0dd1e3d34)
343
344 commit a2de2f718c9e341c0b6ec2ebffdf03d0f9da0fbd
345 Author: Alfredo Deza <alfredo@deza.pe>
346 Date:   Thu Dec 12 10:26:05 2013 -0500
347
348     remove trailing semicolon
349     
350     Signed-off-by: Alfredo Deza <alfredo@deza.pe>
351     (cherry picked from commit 43561f791607f5fd6f03d5421e1f30a29fb4194e)
352
353 commit 2cd22b5d39760ac4b5baad0b05c676b833ae9213
354 Author: Alfredo Deza <alfredo@deza.pe>
355 Date:   Wed Dec 11 15:41:45 2013 -0500
356
357     replace sgdisk subprocess calls with a helper
358     
359     Signed-off-by: Alfredo Deza <alfredo@deza.pe>
360     (cherry picked from commit e19e38012bc4579054f63865e682c8c3a7829c7b)
361
362 commit e8cc27cc8eb981c71b8cafb58964317687ca5787
363 Author: Jonathan Davies <jonathan.davies@canonical.com>
364 Date:   Tue Dec 3 21:26:43 2013 +0000
365
366     Call --mbrtogpt on journal run of sgdisk should the drive require a GPT table.
367     
368     Signed-off-by: Jonathan Davies <jonathan.davies@canonical.com>
369     Reviewed-by: Sage Weil <sage@inktank.com>
370     Reviewed-by: Loic Dachary <loic@dachary.org>
371     (cherry picked from commit 35011e0b01d65e4c001876882d597451f2028345)
372
373 commit 3942a93fae3331b2d08f93181eb2c9cf90b50440
374 Author: Loic Dachary <loic@dachary.org>
375 Date:   Thu Nov 21 13:21:22 2013 +0100
376
377     ceph-disk: blacklist /dev/fd0
378     
379     blkid -s TYPE /dev/fd0 has been verified to hang forever on a
380     H8DMR-82 supermicro motherboard running
381     
382     3.8.0-33-generic #48~precise1-Ubuntu SMP Thu Oct 24 16:28:06 UTC 2013
383     x86_64
384     
385     It is unlikely that ceph will ever be used on floppy disks, they
386     can be blacklisted.
387     
388     http://tracker.ceph.com/issues/6827 fixes: #6827
389     
390     Signed-off-by: Loic Dachary <loic@dachary.org>
391     (cherry picked from commit 65701978715237ff5a4c68573c0696fd9d438e4f)
392
393 commit ccc6b0c5e6d47eefef5cf1fa17bf69c47c9459c4
394 Author: git-harry <git-harry@live.co.uk>
395 Date:   Thu Oct 3 10:32:50 2013 +0100
396
397     Make fsid comparison case-insensitive
398     
399     get_fsid and find_cluster_by_uuid are modified so ceph-disk activate and
400     ceph-disk activate-all will work if the fsid uses uppercase characters.
401     
402     Signed-off-by: Harry Harrington <git-harry@live.co.uk>
403     (cherry picked from commit 22f8325dbfce7ef2e97bf015c0f8bba53e75dfe9)
404
405 commit 367cf1bbf86233eb20ff2304e7d6caab77b84fcc
406 Author: Josh Durgin <josh.durgin@inktank.com>
407 Date:   Tue Feb 11 10:14:36 2014 -0800
408
409     librbd: remove limit on number of objects in the cache
410     
411     The number of objects is not a significant indicated of when data
412     should be written out for rbd. Use the highest possible value for
413     number of objects and just rely on the dirty data limits to trigger
414     flushing. When the number of objects is low, and many start being
415     flushed before they accumulate many requests, it hurts average request
416     size and performance for many concurrent sequential writes.
417     
418     Fixes: #7385
419     Backport: emperor, dumpling
420     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
421     (cherry picked from commit 0559d31db29ea83bdb6cec72b830d16b44e3cd35)
422
423 commit 4856fc2950442fafc208c967af5131f7874f5441
424 Author: Josh Durgin <josh.durgin@inktank.com>
425 Date:   Tue Feb 11 11:53:00 2014 -0800
426
427     ObjectCacher: use uint64_t for target and max values
428     
429     All the options are uint64_t, but the ObjectCacher was converting them
430     to int64_t. There's never any reason for these to be negative, so
431     change the type.
432     
433     Adjust a few conditionals so that they only convert known-positive
434     signed values to uint64_t before comparing with the target and max
435     values. Leave the actual stats accounting as loff_t for now, since
436     bugs in accounting will have bad effects if negative values wrap
437     around.
438     
439     Backport: emperor, dumpling
440     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
441     (cherry picked from commit db034acf546a72739ff6543241543f3bd651f3ae)
442
443 commit a572aafe178dfa3ab4d82aa5c7f4a72a63590ccf
444 Author: Josh Durgin <josh.durgin@inktank.com>
445 Date:   Tue Feb 11 10:35:14 2014 -0800
446
447     ObjectCacher: remove max_bytes and max_ob arguments to trim()
448     
449     These are never passed, so replace them with the defaults.
450     
451     Backport: emperor, dumpling
452     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
453     (cherry picked from commit bf8cf2d6d21a204a099347f3dcd5b48100b8c445)
454
455 commit 4889234f80dbd95e5b2012ff9bfc2d87960034e2
456 Merge: 6af657b 30a604d
457 Author: Sage Weil <sage@inktank.com>
458 Date:   Tue Feb 11 08:32:37 2014 -0800
459
460     Merge pull request #1210 from dachary/dumpling
461     
462     common: admin socket fallback to json-pretty format (dumpling)
463     
464     Reviewed-by: Sage Weil <sage@inktank.com>
465
466 commit 30a604d2d6a5de7bcbfa0136e9a766cb34f96c0a
467 Author: Loic Dachary <loic@dachary.org>
468 Date:   Mon Feb 10 23:42:38 2014 +0100
469
470     common: admin socket fallback to json-pretty format
471     
472     If the format argument to a command sent to the admin socket is not
473     among the supported formats ( json, json-pretty, xml, xml-pretty ) the
474     new_formatter function will return null and the AdminSocketHook::call
475     function must fall back to a sensible default.
476     
477     The CephContextHook::call and HelpHook::call failed to do that and a
478     malformed format argument would cause the mon to crash. A check is added
479     to each of them and fallback to json-pretty if the format is not
480     recognized.
481     
482     To further protect AdminSocketHook::call implementations from similar
483     problems the format argument is checked immediately after accepting the
484     command in AdminSocket::do_accept and replaced with json-pretty if it is
485     not known.
486     
487     A test case is added for both CephContextHook::call and HelpHook::call
488     to demonstrate the problem exists and is fixed by the patch.
489     
490     Three other instances of unsafe calls to new_formatter were found and
491     a fallback to json-pretty was added. All other calls have been audited
492     and appear to be safe.
493     
494     http://tracker.ceph.com/issues/7378 fixes #7378
495     
496     Signed-off-by: Loic Dachary <loic@dachary.org>
497     (cherry picked from commit 165e76d4d03ffcc490fd3c2ba60fb37372990d0a)
498
499 commit 6af657bd4cf87f6f7afe84257941e7e2366183d9
500 Author: Josh Durgin <josh.durgin@inktank.com>
501 Date:   Wed Feb 5 17:26:02 2014 -0800
502
503     qa: add script for testing rados client timeout options
504     
505     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
506     (cherry picked from commit 9e62beb80b6c92a97ec36c0db5ea39e417661b35)
507
508 commit 21a0b67440eaa07fa051d26321a88654ee9e8ae7
509 Author: Josh Durgin <josh.durgin@inktank.com>
510 Date:   Wed Feb 5 17:25:24 2014 -0800
511
512     rados: check return values for commands that can now fail
513     
514     A few places were not checking the return values of commands, since
515     they could not fail before timeouts were added.
516     
517     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
518     (cherry picked from commit 79c1874346ff55e2dc74ef860db16ce70242fd00)
519
520 commit 2c42dd26b49d01922bd3df3ba26af70da0387a99
521 Author: Josh Durgin <josh.durgin@inktank.com>
522 Date:   Wed Feb 5 17:24:16 2014 -0800
523
524     librados: check and return on error so timeouts work
525     
526     Some functions could not previously return errors, but they had an
527     int return value, which can now receive ETIMEDOUT.
528     
529     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
530     (cherry picked from commit 8e9459e897b1bc2f97d52ee07701fd22069efcf3)
531
532 commit 28fe564cc298b96c063e6cca44304046a86942cd
533 Author: Josh Durgin <josh.durgin@inktank.com>
534 Date:   Wed Feb 5 17:22:14 2014 -0800
535
536     msg/Pipe: add option to restrict delay injection to specific msg type
537     
538     This makes it possible to test timeouts reliably by delaying certain
539     messages effectively forever, but still being able to e.g. connect and
540     authenticate to the monitors.
541     
542     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
543     (cherry picked from commit d389e617c1019e44848330bf9570138ac7b0e5d4)
544
545 commit 1d2ea9efb844cb902d282c3a752acc45fefeb04c
546 Author: Josh Durgin <josh.durgin@inktank.com>
547 Date:   Mon Feb 3 18:30:00 2014 -0800
548
549     MonClient: add a timeout on commands for librados
550     
551     Just use the conf option directly, since librados is the only caller.
552     
553     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
554     (cherry picked from commit 671a76d64bc50e4f15f4c2804d99887e22dcdb69)
555
556 commit 30dafacd0b54bb98b01284851e0d5abf76324e95
557 Author: Josh Durgin <josh.durgin@inktank.com>
558 Date:   Mon Feb 3 17:59:21 2014 -0800
559
560     Objecter: implement mon and osd operation timeouts
561     
562     This captures almost all operations from librados other than mon_commands().
563     
564     Get the values for the timeouts from the Objecter constructor, so only
565     librados uses them.
566     
567     Add C_Cancel_*_Op, finish_*_op(), and *_op_cancel() for each type of
568     operation, to mirror those for Op. Create a callback and schedule it
569     in the existing timer thread if the timeouts are specified.
570     
571     Fixes: #6507
572     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
573     (cherry picked from commit 3e1f7bbb4217d322f4e0ece16e676cd30ee42a20)
574     
575     Conflicts:
576         src/osd/OSD.cc
577         src/osd/ReplicatedPG.cc
578         src/osdc/Objecter.cc
579         src/osdc/Objecter.h
580
581 commit 2aa0d7589283fe5879a966601fbfe690816cc4a1
582 Author: Josh Durgin <josh.durgin@inktank.com>
583 Date:   Mon Feb 3 12:53:15 2014 -0800
584
585     librados: add timeout to wait_for_osdmap()
586     
587     This is used by several pool operations independent of the objecter,
588     including rados_ioctx_create() to look up the pool id in the first
589     osdmap.
590     
591     Unfortunately we can't just rely on WaitInterval returning ETIMEDOUT,
592     since it may also get interrupted by a signal, so we can't avoid
593     keeping track of time explicitly here.
594     
595     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
596     (cherry picked from commit 1829d2c9fd13f2cbae4e192c9feb553047dad42c)
597     
598     Conflicts:
599         src/librados/RadosClient.cc
600
601 commit 55d254d5ea113d8be29afe18dc9940f14d93ebb4
602 Author: Josh Durgin <josh.durgin@inktank.com>
603 Date:   Mon Feb 3 12:09:34 2014 -0800
604
605     conf: add options for librados timeouts
606     
607     These will be implemented in subsequent patches.
608     
609     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
610     (cherry picked from commit 0dcceff1378d85ca6d81d102d201890b8a71af6b)
611
612 commit ccd9b5eb9bcfe2360e874b306d4decd8815ecf46
613 Author: Sage Weil <sage@inktank.com>
614 Date:   Sun Feb 9 20:53:00 2014 -0800
615
616     test_striper: fix warning
617     
618     Signed-off-by: Sage Weil <sage@inktank.com>
619
620 commit bb44c0d5e06c2b699c81a76373a0edde1bf90445
621 Author: Sage Weil <sage@inktank.com>
622 Date:   Sat Feb 8 12:21:26 2014 -0800
623
624     crushtool: add cli test for off-by-one tries vs retries bug
625     
626     See bug #7370.  This passes on dumpling and breaks prior to the #7370 fix.
627     
628     Backport: emperor, dumpling
629     Signed-off-by: Sage Weil <sage@inktank.com>
630     (cherry picked from commit ed32c4002fb5cb1dd546331651eaf7de1a017471)
631
632 commit c301ec689caac5bbcd21e02226045d3454cc82fd
633 Author: Sage Weil <sage@inktank.com>
634 Date:   Mon Feb 3 08:54:14 2014 -0800
635
636     client: use 64-bit value in sync read eof logic
637     
638     The file size can jump to a value that is very much larger than our current
639     position (for example, it could be a disk image file that gets a sparse
640     write at a large offset).  Use a 64-bit value so that 'some' doesn't
641     overflow.
642     
643     Signed-off-by: Sage Weil <sage@inktank.com>
644     Reviewed-by: John Spray <john.spray@inktank.com>
645     (cherry picked from commit 7ff2b541c24d1c81c3bcfbcb347694c2097993d7)
646
647 commit 183deb899bc6b1b7b2a1ec639425e45786e56b01
648 Author: Sage Weil <sage@inktank.com>
649 Date:   Sat Jan 4 22:39:35 2014 -0800
650
651     osd: do not send peering messages during init
652     
653     Do not send any peering messages while we are still working our way
654     through init().
655     
656     Fixes: #7093
657     Signed-off-by: Sage Weil <sage@inktank.com>
658     (cherry picked from commit 35da8f9d80e0c6c33fb6c6e00f0bf38f1eb87d0e)
659     Signed-off-by: Greg Farnum <greg@inktank.com>
660
661 commit 3a1fb17401897b0717cf1d264c6e6fdf99fc703f
662 Author: Sage Weil <sage@inktank.com>
663 Date:   Tue Jan 28 18:46:37 2014 -0800
664
665     OSDMap: fix deepish_copy_from
666     
667     Start with a shallow copy!
668     
669     Signed-off-by: Sage Weil <sage@inktank.com>
670     (cherry picked from commit d0f13f54146694a197535795da15b8832ef4b56f)
671     
672     Conflicts:
673     
674         src/osd/OSDMap.h
675
676 commit f01bd8a94adc4ce8e7131f74282de5b434a7316a
677 Author: Yehuda Sadeh <yehuda@inktank.com>
678 Date:   Thu Jan 23 13:48:28 2014 -0800
679
680     rgw: fix listing of multipart upload parts
681     
682     Fixes: #7169
683     
684     There are two issues here. One is that we may return more entries than
685     we should (as specified by max_parts). Second issue is that the
686     NextPartNumberMarker is set incorrectly. Both of these issues mainly
687     affect uploads with > 1000 parts, although can be triggered with less
688     than that.
689     
690     Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
691
692 commit 6b657992d2397e399eacf554357ed807fda399fa
693 Author: Yehuda Sadeh <yehuda@inktank.com>
694 Date:   Thu Nov 21 06:52:48 2013 -0800
695
696     rgw: initialize RGWUserAdminOpState::system_specified
697     
698     Fixes: #6829
699     Backport: dumpling, emperor
700     We didn't init this member variable, which might cause that when
701     modifying user info that has this flag set the 'system' flag might
702     inadvertently reset.
703     
704     Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
705     (cherry picked from commit 561e7b0b287e65e90b80699e45a52ae44e94684f)
706
707 commit 585e0e7eec1bbee60fe352166b593d53476003f8
708 Author: Robin H. Johnson <robbat2@gentoo.org>
709 Date:   Sun Dec 15 12:26:19 2013 -0800
710
711     rgw: Fix CORS allow-headers validation
712     
713     This fix is needed because Ceph presently validates CORS headers in a
714     case-sensitive manner. Keeps a local cache of lowercased allowed headers
715     to avoid converting the allowed headers to lowercase each time.
716     
717     CORS 6.2.6: If any of the header field-names is not a ASCII
718     case-insensitive match for any of the values in list of headers do not
719     set any additional headers and terminate this set of steps.
720     
721     Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
722     Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
723     (cherry picked from commit 31b60bfd9347a386ff12b4e4f1812d664bcfff01)
724
725 commit da2267a87e37afa28385e915a566de26fd784b70
726 Author: Robin H. Johnson <robbat2@gentoo.org>
727 Date:   Sun Dec 15 11:40:31 2013 -0800
728
729     rgw: Clarify naming of case-change functions
730     
731     It is not clear that the lowercase_http_attr & uppercase_http_attr
732     functions replace dashes with underscores. Rename them to match the
733     pattern established by the camelcase_dash_http_attr function in
734     preperation for more case-change functions as needed by later fixes.
735     
736     Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
737     Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
738     (cherry picked from commit 6a7edab2673423c53c6a422a10cb65fe07f9b235)
739
740 commit fdea76ef6f7d7c4ee89c30d430f5495072023957
741 Author: Robin H. Johnson <robbat2@gentoo.org>
742 Date:   Sun Dec 15 11:27:49 2013 -0800
743
744     rgw: Look at correct header about headers for CORS
745     
746     The CORS standard dictates that preflight requests are made with the
747     Access-Control-Request-Headers header containing the headers of the
748     author request. The Access-Control-Allow-Headers header is sent in the
749     response.
750     
751     The present code looks for Access-Control-Allow-Headers in request, so
752     fix it to look at Access-Control-Request-Headers instead.
753     
754     Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
755     Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
756     (cherry picked from commit 2abacd9678ae04cefac457882ba718a454948915)
757
758 commit a5739e3903f8c30c8168199413818922b4a29bad
759 Author: Yehuda Sadeh <yehuda@inktank.com>
760 Date:   Fri Dec 6 11:07:09 2013 -0800
761
762     rgw: fix reading bucket policy in RGWBucket::get_policy()
763     
764     Fixes: 6940
765     Backport: dumpling, emperor
766     
767     We changed the way we keep the bucket policy, and we shouldn't try to
768     access the bucket object directly. This had changed when we added the
769     bucket instance object around dumpling.
770     
771     Reported-by: Gao, Wei M <wei.m.gao@intel.com>
772     Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
773     (cherry picked from commit 7a9a088d82d04f6105d72f6347673724ac16c9f8)
774
775 commit ba792cdc8d0c006e260e6a02a33ca1491b35901c
776 Author: Yehuda Sadeh <yehuda@inktank.com>
777 Date:   Thu Jan 16 11:45:27 2014 -0800
778
779     rgw: handle racing object puts when object doesn't exist
780     
781     If the object didn't exist before and now we have multiple puts coming
782     in concurrently, we need to make sure that we behave correctly. Only one
783     needs to win, the other one can fail silently. We do that by setting
784     exclusive flag on the object creation and handling the error correctly.
785     Note that we still want to return -EEXIST in some cases (when the
786     exclusive flag is passed to put_obj_meta(), e.g., on bucket creation).
787     
788     Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
789     (cherry picked from commit 86c15480fc3e33b9a3b84d0af68d8398fc732bae)
790
791 commit 1e2984ac4a4ed0508e1b5efc8b69ae4da0cac824
792 Author: Yehuda Sadeh <yehuda@inktank.com>
793 Date:   Thu Jan 16 11:33:49 2014 -0800
794
795     rgw: don't return -ENOENT in put_obj_meta()
796     
797     Fixes: #7168
798     
799     An object put may race with the same object's delete. In this case just
800     ignore the error, same behavior as if object was created and then
801     removed.
802     
803     Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
804     (cherry picked from commit 5c24a7ea905587fd4077e3b0cfc0f5ad2b178c29)
805
806 commit 5f1eea2ccf1ee4296530fc754bfd5dfc1571cd62
807 Author: Robin H. Johnson <robbat2@gentoo.org>
808 Date:   Sat Jan 18 18:01:20 2014 -0800
809
810     rgw: Use correct secret key for POST authn
811     
812     The POST authentication by signature validation looked up a user based
813     on the access key, then used the first secret key for the user. If the
814     access key used was not the first access key, then the expected
815     signature would be wrong, and the POST would be rejected.
816     
817     Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
818     (cherry picked from commit 586ad1f69e6260ef298805647911b3b49f8be7cf)
819
820 commit 14e933eb2e8adf3e7df2aef823d863c593067928
821 Author: Joao Eduardo Luis <joao.luis@inktank.com>
822 Date:   Tue Jan 28 15:54:33 2014 +0000
823
824     osd: OSDMonitor: ignore pgtemps from removed pool
825     
826     There's a window in-between receiving an MOSDPGTemp message from an OSD
827     and actually handling it that may lead to the pool the pg temps refer to
828     no longer existing. This may happen if the MOSDPGTemp message is queued
829     pending dispatching due to an on-going proposal (maybe even the pool
830     removal).
831     
832     This patch fixes such behavior in two steps:
833     
834     1. Check if the pool exists in the osdmap upon preprocessing
835      - if pool does not exist in the osdmap, then the pool must have been
836        removed prior to handling the message, but after the osd sent it.
837      - safe to ignore the pg update
838     2. If all pg updates in the message have been ignored, ignore the whole
839        message.  Otherwise, let prepare handle the rest.
840     
841     3. Recheck if pool exists in the osdmap upon prepare
842      - We may have ignored this pg back in preprocess, but other pgs in the
843        message may have led the message to be passed on to prepare; ignore
844        pg update once more.
845     4. Check if pool is pending removal and ignore pg update if so.
846     
847     We delegate checking the pending value to prepare_pgtemp() because in this
848     case we should only ignore the update IFF the pending value is in fact
849     committed.  Otherwise we should retry the message.  prepare_pgtemp() is
850     the appropriate place to do so.
851     
852     Fixes: 7116
853     
854     Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
855     (cherry picked from commit f513f66f48383a07c70ca18a4dba6c2449ea9860)
856
857 commit 3672fc49bea5efcef2069673c88fd8e526eeb7e5
858 Author: Sage Weil <sage@inktank.com>
859 Date:   Tue Jan 28 11:00:34 2014 -0800
860
861     OSDMonitor: use deepish_copy_from for remove_down_pg_temp
862     
863     This is a backport of 368852f6c0a884b8fdc80a5cd6f9ab72e814d412.
864     
865     Make a deep copy of the OSDMap to avoid clobbering the in-memory copy with
866     the call to apply_incremental.
867     
868     Fixes: #7060
869     Signed-off-by: Sage Weil <sage@inktank.com>
870
871 commit e6fef68ee51a2e3be6537086246ce860819788eb
872 Author: Sage Weil <sage@inktank.com>
873 Date:   Fri Jan 24 11:03:26 2014 -0800
874
875     OSDMap: deepish_copy_from()
876     
877     Make a deep(ish) copy of another OSDMap.  Unfortunatley we can't make the
878     compiler-generated copy operator/constructors private until c++11.  :(
879     
880     Signed-off-by: Sage Weil <sage@inktank.com>
881     (cherry picked from commit bd54b9841b9255406e56cdc7269bddb419453304)
882
883 commit 2528186c0dd327607b1e76a51581df72aeea52f2
884 Author: Sage Weil <sage@inktank.com>
885 Date:   Tue Jan 28 10:26:12 2014 -0800
886
887     buffer: make 0-length splice() a no-op
888     
889     This was causing a problem in the Striper, but fixing it here will avoid
890     corner cases all over the tree.  Note that we have to bail out before
891     the end-of-buffer check to avoid hitting that check when the bufferlist is
892     also empty.
893     
894     Signed-off-by: Sage Weil <sage@inktank.com>
895     Reviewed-by: Greg Farnum <greg@inktank.com>
896     (cherry picked from commit ff5abfbdae07ae8a56fa83ebaa92000896f793c2)
897
898 commit fe9539e118a830aa71bc5846ad2693543213fc59
899 Author: Sage Weil <sage@inktank.com>
900 Date:   Tue Jan 28 10:09:17 2014 -0800
901
902     osdc/Striper: test zero-length add_partial_result
903     
904     If we add a partial result that is 0-length, we used to hit an assert in
905     buffer::list::splice().  Add a unit test to verify the fix.
906     
907     Signed-off-by: Sage Weil <sage@inktank.com>
908     Reviewed-by: Greg Farnum <greg@inktank.com>
909     (cherry picked from commit 28c7388d320a47657c2e12c46907f1bf40672b08)
910
911 commit 9801718e6e7a335d1aeffb7f3d958b012d8dd79c
912 Author: Derek Yarnell <derek@umiacs.umd.edu>
913 Date:   Mon Jan 27 12:27:51 2014 -0700
914
915     packaging: apply udev hack rule to RHEL
916     
917     In the RPM spec file there is a test to deploy the uuid hack udev rules
918     for older udev operating systems. This includes CentOS and RHEL, but the
919     check currently only is for CentOS, causing RHEL clients to get a bogus
920     osd rules file.
921     
922     Adjust the conditional to apply to RHEL as well as CentOS. (The %{rhel}
923     macro is defined in both platforms' redhat-rpm-config package.)
924     
925     Fixes http://tracker.ceph.com/issues/7245
926     
927     Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
928     (cherry picked from commit 64a0b4fa563795bc22753940aa3a4a2946113109)
929
930 commit 5817078ba9b2aa38f39e1f62d8d08e943646c0bb
931 Merge: 9fa8d2d abf6441
932 Author: Sage Weil <sage@inktank.com>
933 Date:   Thu Jan 23 07:12:37 2014 -0800
934
935     Merge pull request #1129 from ceph/wip-dumpling-backport-6620
936     
937     mds: MDSMap: adjust buffer size for uint64 values with more than 5 chars
938
939 commit abf64417bbc63b006c53a07262a5774d0d40550e
940 Author: Joao Eduardo Luis <jecluis@gmail.com>
941 Date:   Thu Jan 23 11:36:16 2014 +0000
942
943     mds: MDSMap: adjust buffer size for uint64 values with more than 5 chars
944     
945     Fixes: #6620
946     
947     Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
948     (cherry picked from commit 0e8182edd850f061421777988974efbaa3575b9f)
949
950 commit 9fa8d2d1bd4a8cf56fdebae484bee35c3930fb62
951 Author: Sage Weil <sage@inktank.com>
952 Date:   Tue Jan 21 11:29:56 2014 -0800
953
954     mon/MDSMonitor: do not generate mdsmaps from already-laggy mds
955     
956     There is one path where a mds that is not sending its beacon (e.g.,
957     because it is not running at all) will lead to proposal of new mdsmaps.
958     Fix it.
959     
960     Backport: emperor, dumpling
961     Signed-off-by: Sage Weil <sage@inktank.com>
962     (cherry picked from commit 584c2dd6bea3fe1a3c7f306874c054ce0cf0d2b5)
963
964 commit a2e34b8d322e571600d6c0a3ff363f9910196f28
965 Author: John Spray <john.spray@inktank.com>
966 Date:   Mon Jan 20 11:08:27 2014 +0000
967
968     Fix #7187: Include all summary items in JSON health output
969     
970     Signed-off-by: John Spray <john.spray@inktank.com>
971     (cherry picked from commit fdf3b5520d150f14d90bdfc569b70c07b0579b38)
972
973 commit ee9fc590a556354b54a174a4790c4142949d7409
974 Author: Yehuda Sadeh <yehuda@inktank.com>
975 Date:   Mon Jan 6 18:32:42 2014 -0800
976
977     rgw: convert bucket info if needed
978     
979     Fixes: #7110
980     In dumpling, the bucket info was separated into bucket entry point and
981     bucket instance objects. When setting bucket attrs we only ended up
982     updating the bucket instance object. However, pre-dumpling buckets still
983     keep everything at the entry-point object, so acl changes didn't affect
984     anything (because we never updated the entry point). This change just
985     converts the bucket info into the new format.
986     
987     Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
988     (cherry picked from commit a5f8cc7ec9ec8bef4fbc656066b4d3a08e5b215b)
989
990 commit 69a99e6edd67aadaea77fb5ebcf46190dbfcdbc6
991 Author: Sage Weil <sage@inktank.com>
992 Date:   Sat Jan 4 22:40:43 2014 -0800
993
994     osd: ignore OSDMap messages while we are initializing
995     
996     The mon may occasionally send OSDMap messages to random OSDs, but is not
997     very descriminating in that we may not have authenticated yet.  Ignore any
998     messages if that is the case; we will reqeust whatever we need during the
999     BOOTING state.
1000     
1001     Fixes: #7093
1002     Signed-off-by: Sage Weil <sage@inktank.com>
1003     (cherry picked from commit f68de9f352d53e431b1108774e4a23adb003fe3f)
1004
1005 commit 1545ddbd3b6dfac897d483bd58a4335d68b9b62a
1006 Author: Sage Weil <sage@inktank.com>
1007 Date:   Sat Jan 4 22:43:26 2014 -0800
1008
1009     mon: only send messages to current OSDs
1010     
1011     When choosing a random OSD to send a message to, verify not only that
1012     the OSD id is up but that the session is for the same instance of that OSD
1013     by checking that the address matches.
1014     
1015     Fixes: #7093
1016     Backport: emperor, dumpling
1017     Signed-off-by: Sage Weil <sage@inktank.com>
1018     (cherry picked from commit 98ed9ac5fed6eddf68f163086df72faabd9edcde)
1019
1020 commit 4d88dd10bfab4e5fb45632245be5f79eeba73a30
1021 Author: Sage Weil <sage@inktank.com>
1022 Date:   Mon Aug 26 13:58:47 2013 -0700
1023
1024     osd: discriminate based on connection messenger, not peer type
1025     
1026     Replace ->get_source().is_osd() checks and instead see if it is the
1027     cluster_messenger so that we do not confuse ourselves when we get
1028     legit requests from other OSDs on our public interface.
1029     
1030     NOTE: backporting this because a mixed cluster may send OSD requests
1031     via the client interface, even though dumpling doesn't do this.
1032     
1033     Signed-off-by: Sage Weil <sage@inktank.com>
1034     (cherry picked from commit a6b04c5d8ba043727a2e39a62e9d4126485bcfeb)
1035     
1036     Conflicts:
1037     
1038         src/osd/OSD.cc
1039
1040 commit 2354b957b7924af3e81f559d5c975262848c3bf6
1041 Author: Loic Dachary <loic@dachary.org>
1042 Date:   Sun Dec 15 22:59:51 2013 +0100
1043
1044     qa: test for error when ceph osd rm is EBUSY
1045     
1046     http://tracker.ceph.com/issues/6824 fixes #6824
1047     
1048     Signed-off-by: Loic Dachary <loic@dachary.org>
1049     (cherry picked from commit 31507c90f0161c4569a2cc634c0b5f671179440a)
1050
1051 commit 10ad2e01f832ca9293a1bda1c82f7d318e8c3589
1052 Author: Loic Dachary <loic@dachary.org>
1053 Date:   Sun Dec 15 16:27:02 2013 +0100
1054
1055     mon: set ceph osd (down|out|in|rm) error code on failure
1056     
1057     Instead of always returning true, the error code is set if at least one
1058     operation fails.
1059     
1060     EINVAL if the OSD id is invalid (osd.foobar for instance).
1061     EBUSY if trying to remove and OSD that is up.
1062     
1063     When used with the ceph command line, it looks like this:
1064     
1065         ceph -c ceph.conf osd rm osd.0
1066         Error EBUSY: osd.0 is still up; must be down before removal.
1067         kill PID_OF_osd.0
1068         ceph -c ceph.conf osd down osd.0
1069         marked down osd.0.
1070         ceph -c ceph.conf osd rm osd.0 osd.1
1071         Error EBUSY: removed osd.0, osd.1 is still up; must be down before removal.
1072     
1073     http://tracker.ceph.com/issues/6824 fixes #6824
1074     
1075     Signed-off-by: Loic Dachary <loic@dachary.org>
1076     (cherry picked from commit 15b8616b13a327701c5d48c6cb7aeab8fcc4cafc)
1077
1078 commit db82bfec50349783c3bb708c65cf89bceff7b2ca
1079 Author: Joao Eduardo Luis <joao.luis@inktank.com>
1080 Date:   Tue Oct 29 20:30:37 2013 +0000
1081
1082     mon: OSDMonitor: fix some annoying whitespace
1083     
1084     Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
1085     (cherry picked from commit 42c4137cbfacad5654f02c6608cc0e81b45c06be)
1086
1087 commit 1abb16988727a21dff61edca48bfcb05c60d26f2
1088 Author: Josh Durgin <josh.durgin@inktank.com>
1089 Date:   Thu Dec 26 17:38:52 2013 -0800
1090
1091     librbd: call user completion after incrementing perfcounters
1092     
1093     The perfcounters (and the ictx) are only valid while the image is
1094     still open.  If the librbd user gets the callback for its last I/O,
1095     then closes the image, the ictx and its perfcounters will be
1096     invalid. If the AioCompletion object is has not run the rest of its
1097     complete() method yet, it will access these now-invalid addresses,
1098     possibly leading to a crash.
1099     
1100     The AioCompletion object is independent of the ictx and does not
1101     access it again after incrementing perfcounters, so avoid this race by
1102     calling the user's callback after this step. The AioCompletion object
1103     will be cleaned up by the rest of complete_request(), independent of
1104     the ImageCtx.
1105     
1106     Fixes: #5426
1107     Backport: dumpling, emperor
1108     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1109     (cherry picked from commit 4cea7895da7331b84d8c6079851fdc0ff2f4afb1)
1110
1111 commit 4dae50d8a0ffe3f3491eae62950fe46229aaa0e6
1112 Author: Josh Durgin <josh.durgin@inktank.com>
1113 Date:   Fri Dec 6 16:03:20 2013 -0800
1114
1115     objecter: don't take extra throttle budget for resent ops
1116     
1117     These ops have already taken their budget in the original op_submit().
1118     It will be returned via put_op_budget() when they complete.
1119     If there were many localized reads of missing objects from replicas,
1120     or cache pool redirects, this would cause the objecter to use up all
1121     of its op throttle budget and hang.
1122     
1123     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1124     (cherry picked from commit 8d0180b1b7b48662daef199931efc7f2a6a1c431)
1125     
1126     Conflicts:
1127     
1128         src/osdc/Objecter.cc
1129
1130 commit 4944618fe74e1875e37a5de9a5bfe3922f906942
1131 Author: Josh Durgin <josh.durgin@inktank.com>
1132 Date:   Thu Dec 5 17:44:37 2013 -0800
1133
1134     rbd: check write return code during bench-write
1135     
1136     This is allows rbd-bench to detect http://tracker.ceph.com/issues/6938
1137     when combined with rapidly changing the mon osd full ratio.
1138     
1139     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1140     (cherry picked from commit 3caf3effcb113f843b54e06099099909eb335453)
1141
1142 commit 3a7a0353d7c8521a2c3c25778801d45f0ca10957
1143 Author: Josh Durgin <josh.durgin@inktank.com>
1144 Date:   Thu Dec 5 17:36:33 2013 -0800
1145
1146     objecter: resend all writes after osdmap loses the full flag
1147     
1148     Now that the osd does not respond if it gets a map with the full flag
1149     set first, clients need to resend all writes.
1150     
1151     Clients talking to old osds are still subject to the race condition,
1152     so both sides must be upgraded to avoid it.
1153     
1154     Refs: #6938
1155     Backport: dumpling, emperor
1156     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1157     (cherry picked from commit e32874fc5aa6f59494766b7bbeb2b6ec3d8f190e)
1158     
1159     Conflicts:
1160     
1161         src/osdc/Objecter.h
1162
1163 commit f4d0fc8afac1bcbea76f46744397a8462025f373
1164 Author: Josh Durgin <josh.durgin@inktank.com>
1165 Date:   Thu Dec 5 17:34:38 2013 -0800
1166
1167     osd: drop writes when full instead of returning an error
1168     
1169     There's a race between the client and osd with a newly marked full
1170     osdmap.  If the client gets the new map first, it blocks writes and
1171     everything works as expected, with no errors from the osd.
1172     
1173     If the osd gets the map first, however, it will respond to any writes
1174     with -ENOSPC. Clients will pass this up the stack, and not retry these
1175     writes later.  -ENOSPC isn't handled well by all clients. RBD, for
1176     example, may pass it on to qemu or kernel rbd which will both
1177     interpret it as EIO.  Filesystems on top of rbd will not behave well
1178     when they receive EIOs like this, especially if the cluster oscillates
1179     between full and not full, so some writes succeed.
1180     
1181     To fix this, never return ENOSPC from the osd because of a map marked
1182     full, and rely on the client to retry all writes when the map is no
1183     longer marked full.
1184     
1185     Old clients talking to osds with this fix will hang instead of
1186     propagating an error, but only if they run into this race
1187     condition. ceph-fuse and rbd with caching enabled are not affected,
1188     since the ObjectCacher will retry writes that return errors.
1189     
1190     Refs: #6938
1191     Backport: dumpling, emperor
1192     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1193     (cherry picked from commit 4111729dda7437c23f59e7100b3c4a9ec4101dd0)
1194
1195 commit 2b109803b9434d2d495e65d6a045838ee3ebf169
1196 Author: Yehuda Sadeh <yehuda@inktank.com>
1197 Date:   Wed Nov 6 16:55:52 2013 -0800
1198
1199     objecter: clean pause / unpause logic
1200     
1201     op->paused holds now whether operation should be paused or not, and it's
1202     being updated when scanning requests. No need to do a second scan.
1203     
1204     Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
1205     (cherry picked from commit 5fe3dc647bf936df8e1eb2892b53f44f68f19821)
1206
1207 commit 7b229fca346b7ab60131b229591d35f63f64a6ad
1208 Author: Yehuda Sadeh <yehuda@inktank.com>
1209 Date:   Wed Nov 6 16:15:47 2013 -0800
1210
1211     objecter: set op->paused in recalc_op_target(), resend in not paused
1212     
1213     When going through scan_requests() in handle_osd_map() we need to make
1214     sure that if an op should not be paused anymore then set it on the op
1215     itself, and return NEED_RESEND. Otherwise we're going to miss reset of
1216     the full flag.
1217     Also in handle_osd_map(), make sure that op shouldn't be paused before
1218     sending it. There's a lot of cleanup around that area that we should
1219     probably be doing, make the code much more tight.
1220     
1221     Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
1222     (cherry picked from commit 98ab7d64a191371fa39d840c5f8e91cbaaa1d7b7)
1223
1224 commit a3fdfd77c953a8f9ace4991630599e60f56abc4a
1225 Author: Josh Durgin <josh.durgin@inktank.com>
1226 Date:   Wed Nov 6 10:46:37 2013 +0800
1227
1228     objecter: don't resend paused ops
1229     
1230     Paused ops are meant to block on the client side until a new map that
1231     unpauses them is recieved. If we send paused writes when the FULL flag
1232     is set, we'll get -ENOSPC from the osds, which is not what Objecter
1233     users expect. This may cause rbd without caching to produce an I/O
1234     error instead of waiting for the cluster to have capacity.
1235     
1236     Fixes: #6725
1237     Backport: dumpling
1238     Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
1239     (cherry picked from commit c5c399d327cfc0d232d9ec7d49ababa914d0b21a)
1240
1241 commit 78037886ae6ae278d8fb2db52d7767b8612313fe
1242 Merge: a60ac91 4e47a00
1243 Author: Sage Weil <sage@inktank.com>
1244 Date:   Sun Dec 29 21:10:30 2013 -0800
1245
1246     Merge pull request #808 from ceph/wip-6152-dumpling
1247     
1248     rgw: Fix S3 auth when using response-* query string params
1249
1250 commit 4e47a003bb3adcee690067d4037c248a93023c20
1251 Author: Sylvain Munaut <s.munaut@whatever-company.com>
1252 Date:   Thu Aug 29 16:17:30 2013 +0200
1253
1254     rgw: Fix S3 auth when using response-* query string params
1255     
1256     Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
1257     Signed-off-by: Sylvain Munaut <s.munaut@whatever-company.com>
1258     (cherry picked from commit 7a7361d7e798d94796d4985e2e4b35af22463ae2)