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