1 commit 14f23ab86b0058a8651895b3dc972a29459f3a33
2 Author: Gary Lowell <gary.lowell@inktank.com>
3 Date: Tue Aug 27 10:44:32 2013 -0700
7 commit 8551be345c86837e0893fdf6c9c5b0af523f50f8
8 Author: Josh Durgin <josh.durgin@inktank.com>
9 Date: Wed Aug 21 14:28:49 2013 -0700
11 objecter: resend unfinished lingers when osdmap is no longer paused
13 Plain Ops that haven't finished yet need to be resent if the osdmap
14 transitions from full or paused to unpaused. If these Ops are
15 triggered by LingerOps, they will be cancelled instead (since
16 should_resend = false), but the LingerOps that triggered them will not
19 Fix this by checking the registered flag for all linger ops, and
20 resending any of them that aren't paused anymore.
23 Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
24 Reviewed-by: Sage Weil <sage.weil@inktank.com>
25 (cherry picked from commit 38a0ca66a79af4b541e6322467ae3a8a4483cc72)
27 commit 1670a73b56e0b407b65334d8f03d3ebb9558ac8b
28 Author: Sage Weil <sage@inktank.com>
29 Date: Tue Aug 13 12:52:41 2013 -0700
31 librados: fix async aio completion wakeup
33 For aio flush, we register a wait on the most recent write. The write
34 completion code, however, was *only* waking the waiter if they were waiting
35 on that write, without regard to previous writes (completed or not).
36 For example, we might have 6 and 7 outstanding and wait on 7. If they
37 finish in order all is well, but if 7 finishes first we do the flush
38 completion early. Similarly, if we
48 Fix by doing any completions that are prior to the oldest pending write in
49 the aio write completion handler.
53 Signed-off-by: Sage Weil <sage@inktank.com>
54 Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
55 Tested-by: Oliver Francke <Oliver.Francke@filoo.de>
56 (cherry picked from commit 16ed0b9af8bc08c7dabead1c1a7c1a22b1fb02fb)
58 commit 6cf05375abea26d2645e3301c9082c64ddf31a55
59 Author: Josh Durgin <josh.durgin@inktank.com>
60 Date: Mon Aug 12 19:17:09 2013 -0700
62 librados: fix locking for AioCompletionImpl refcounting
64 Add an already-locked helper so that C_Aio{Safe,Complete} can
65 increment the reference count when their caller holds the
66 lock. C_AioCompleteAndSafe's caller is not holding the lock, so call
67 regular get() to ensure no racing updates can occur.
69 This eliminates all direct manipulations of AioCompletionImpl->ref,
70 and makes the necessary locking clear.
72 The only place C_AioCompleteAndSafe is used is in handling
73 aio_flush_async(). This could cause a missing completion.
76 Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
77 Reviewed-by: Sage Weil <sage@inktank.com>
78 Tested-by: Oliver Francke <Oliver.Francke@filoo.de>
79 (cherry picked from commit 7a52e2ff5025754f3040eff3fc52d4893cafc389)
81 commit 6a37a62b6f794026b82b88630519ec2cde4f20d6
82 Author: Yehuda Sadeh <yehuda@inktank.com>
83 Date: Mon Aug 12 10:05:44 2013 -0700
88 Backport: bobtail, cuttlefish
90 Fix a bad check, where we compare the wrong field. Instead of
91 comparing the ret code to 0, we compare the string value to 0
92 which generates implicit casting, hence the crash.
94 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
95 Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
96 (cherry picked from commit f9f1c48ad799da2b4be0077bf9d61ae116da33d7)
99 src/rgw/rgw_rest_s3.cc
101 commit 586c68f544c95f9e379df7e4d2705a3090baca49
102 Author: Sage Weil <sage@inktank.com>
103 Date: Sun Jun 2 21:21:09 2013 -0700
105 ceph-fuse: create finisher threads after fork()
107 The ObjectCacher and MonClient classes both instantiate Finisher
108 threads. We need to make sure they are created *after* the fork(2)
109 or else the process will fail to join() them on shutdown, and the
110 threads will not exist while fuse is doing useful work.
112 Put CephFuse on the heap and move all this initalization into the child
113 block, and make sure errors are passed back to the parent.
115 Fix-proposed-by: Alexandre Marangone <alexandre.maragone@inktank.com>
116 Signed-off-by: Sage Weil <sage@inktank.com>
118 commit c1198d680587928b390bb82c87442384331afd40
119 Author: Sage Weil <sage@inktank.com>
120 Date: Fri Jun 21 16:22:08 2013 -0700
122 debian: update postinst, prerm hooks
124 This syncs up the hooks with the latest master versions. In particular,
125 do not blindly stop/restart daemons on package upgrade!
128 Signed-off-by: Sage Weil <sage@inktank.com>
130 commit de8900dcd079207852b6ce0b51473037be9ae956
131 Author: Sage Weil <sage@inktank.com>
132 Date: Tue Jun 18 21:33:09 2013 -0700
134 os/FileStore: use fdatasync(2) instead of sync_file_range(2)
136 This fixes data corruption on XFS. Backported from
137 ffade3c85dfffa13a16edd9630a52d99eb8a413d.
140 Signed-off-by: Sage Weil <sage@inktank.com>
141 Reviewed-by: Samuel Just <sam.just@inktank.com>
143 commit cbbad5b5d917fe74d6cbc50a259f9dbaeda54ca8
144 Author: Sage Weil <sage@inktank.com>
145 Date: Mon Jun 17 20:06:59 2013 -0700
149 Signed-off-by: Sage Weil <sage@inktank.com>
151 commit fcd65139135d907098a47427d8503ac6d6042f81
152 Author: Yehuda Sadeh <yehuda@inktank.com>
153 Date: Fri Jun 14 14:53:54 2013 -0700
155 rgw: escape prefix correctly when listing objects
158 When listing objects prefix needs to be escaped correctly (the
159 same as with the marker). Otherwise listing objects with prefix
160 that starts with underscore doesn't work.
161 Backport: bobtail, cuttlefish
163 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
164 Reviewed-by: Greg Farnum <greg@inktank.com>
166 commit a8f9d57a15ad7a69d53aa8fc6090fd1b394b616a
167 Author: Yehuda Sadeh <yehuda@inktank.com>
168 Date: Sun Mar 31 00:02:15 2013 -0700
170 rgw: translate object marker to raw format
173 Object marker should be treated as an object, so that name is formatted
174 correctly when getting the raw oid.
176 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
177 (cherry picked from commit b083dece36a050ec15ac41a275aeef0ece1ac009)
179 commit e1d41901cde97a77fc1fda2d7f6e78a7cea61c5c
180 Author: tamil <tamil.muthamizhan@inktank.com>
181 Date: Thu Jun 13 13:50:56 2013 -0700
185 Signed-off-by: tamil <tamil.muthamizhan@inktank.com>
187 commit 32b2f11366418f9a0cc0659be22cf15fbafbe3b1
188 Author: Sage Weil <sage@inktank.com>
189 Date: Thu Jun 6 16:35:54 2013 -0700
191 osd: do not include logbl in scrub map
193 This is a potentially use object/file, usually prefixed by a zeroed region
194 on disk, that is not used by scrub at all. It dates back to
195 f51348dc8bdd5071b7baaf3f0e4d2e0496618f08 (2008) and the original version of
198 This *might* fix #4179. It is not a leak per se, but I observed 1GB
199 scrub messages going over the write. Maybe the allocations are causing
200 fragmentation, or the sub_op queues are growing.
202 Signed-off-by: Sage Weil <sage@inktank.com>
203 Reviewed-by: Samuel Just <sam.just@inktank.com>
204 (cherry picked from commit 0b036ecddbfd82e651666326d6f16b3c000ade18)
206 commit 5047a4ff16f556ec25b6624fe8f1a07e3ec5f864
207 Author: Yehuda Sadeh <yehuda@inktank.com>
208 Date: Thu Jun 6 21:53:00 2013 -0700
210 rgw: handle deep uri resources
212 In case of deep uri resources (ones created beyond a single level
213 of hierarchy, e.g. auth/v1.0) we want to create a new empty
214 handlers for the path if no handlers exists. E.g., for
215 auth/v1.0 we need to have a handler for 'auth', otherwise
216 the default S3 handler will be used, which we don't want.
218 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
219 Reviewed-by: Greg Farnum <greg@inktank.com>
220 (cherry picked from commit ad3934e335399f7844e45fcfd17f7802800d2cb3)
222 commit 3ea45533c18174cb49af52024dae27533971fa01
223 Author: Yehuda Sadeh <yehuda@inktank.com>
224 Date: Thu Jun 6 21:47:21 2013 -0700
226 rgw: fix get_resource_mgr() to correctly identify resource
229 The original test was not comparing the correct string, ended up
230 with the effect of just checking the substring of the uri to match
233 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
234 Reviewed-by: Greg Farnum <greg@inktank.com>
235 (cherry picked from commit 8d55b87f95d59dbfcfd0799c4601ca37ebb025f5)
237 commit 4ee638cc3b1d74e678a3f78b3a57baf57a5d407c
238 Author: Samuel Just <sam.just@inktank.com>
239 Date: Mon Apr 15 16:33:48 2013 -0700
241 PG: don't write out pg map epoch every handle_activate_map
243 We don't actually need to write out the pg map epoch on every
244 activate_map as long as:
245 a) the osd does not trim past the oldest pg map persisted
246 b) the pg does update the persisted map epoch from time
249 To that end, we now keep a reference to the last map persisted.
250 The OSD already does not trim past the oldest live OSDMapRef.
251 Second, handle_activate_map will trim if the difference between
252 the current map and the last_persisted_map is large enough.
255 Signed-off-by: Samuel Just <sam.just@inktank.com>
256 Reviewed-by: Greg Farnum <greg@inktank.com>
258 commit 8c6a912ae46c4d3aeb7c1000d221f67e158ec5c8
259 Author: Yehuda Sadeh <yehuda@inktank.com>
260 Date: Thu May 30 12:58:11 2013 -0700
262 rgw: only append prefetched data if reading from head
265 Backport: bobtail, cuttlefish
266 If the head object wrongfully contains data, but according to the
267 manifest we don't read from the head, we shouldn't copy the prefetched
268 data. Also fix the length calculation for that data.
270 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
271 Reviewed-by: Greg Farnum <greg@inktank.com>
272 (cherry picked from commit c5fc52ae0fc851444226abd54a202af227d7cf17)
274 commit f42e84ee3148dcc59a05c8a12ce39996eb854e26
275 Author: Yehuda Sadeh <yehuda@inktank.com>
276 Date: Thu May 30 09:34:21 2013 -0700
278 rgw: don't copy object idtag when copying object
281 When copying object we ended up also copying the original
282 object idtag which overrode the newly generated one. When
283 refcount put is called with the wrong idtag the count
286 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
287 Reviewed-by: Greg Farnum <greg@inktank.com>
288 (cherry picked from commit b1312f94edc016e604f1d05ccfe2c788677f51d1)
290 commit d86b9a852b57553448709c2b978ac3a8637cd63f
291 Author: Sage Weil <sage@inktank.com>
292 Date: Wed May 29 16:50:04 2013 -0700
294 osd: initialize new_state field when we use it
296 If we use operator[] on a new int field its value is undefined; avoid
297 reading it or using |= et al until we initialize it.
300 Backport: cuttlefish, bobtail
301 Signed-off-by: Sage Weil <sage@inktank.com>
302 Reviewed-by: David Zafman <david.zafman@inktank.com>
303 (cherry picked from commit 50ac8917f175d1b107c18ecb025af1a7b103d634)
305 commit fca54bfbb35f0c200fac52963cd2d1780467f59a
306 Author: Samuel Just <sam.just@inktank.com>
307 Date: Tue May 28 11:10:05 2013 -0700
309 HashIndex: sync top directory during start_split,merge,col_split
311 Otherwise, the links might be ordered after the in progress
312 operation tag write. We need the in progress operation tag to
313 correctly recover from an interrupted merge, split, or col_split.
316 Backport: cuttlefish, bobtail
317 Signed-off-by: Samuel Just <sam.just@inktank.com>
318 Reviewed-by: Sage Weil <sage@inktank.com>
319 (cherry picked from commit 5bca9c38ef5187c7a97916970a7fa73b342755ac)
321 commit ac6c77830ad9182c7345f10943ea4f537c1629b0
322 Merge: 3984b98 0b50d07
323 Author: Samuel Just <sam.just@inktank.com>
324 Date: Thu May 23 19:29:06 2013 -0700
326 Merge remote-tracking branch 'upstream/wip_scrub_tphandle_bobtail' into bobtail
329 Reviewed-by: Sage Weil <sage@inktank.com>
331 commit 0b50d073fab11f64682e20fec7bb71d4e931bd3c
332 Author: Samuel Just <sam.just@inktank.com>
333 Date: Thu May 23 17:40:44 2013 -0700
335 PG: ping tphandle during omap loop as well
337 Signed-off-by: Samuel Just <sam.just@inktank.com>
339 commit 5979a26d521918d74fc3b62b75c9fb6afe109933
340 Author: Samuel Just <sam.just@inktank.com>
341 Date: Thu May 23 15:24:39 2013 -0700
343 PG: reset timeout in _scan_list for each object, read chunk
345 Signed-off-by: Samuel Just <sam.just@inktank.com>
347 commit bde6b58baf5e78550980ee5076bbc2d72a52c0fc
348 Author: Samuel Just <sam.just@inktank.com>
349 Date: Thu May 23 15:23:05 2013 -0700
351 OSD,PG: pass tphandle down to _scan_list
353 Signed-off-by: Samuel Just <sam.just@inktank.com>
355 commit 3984b98804bf18711a7a4fc3940143ab599ad5b5
356 Author: Yehuda Sadeh <yehuda@inktank.com>
357 Date: Wed May 22 21:34:52 2013 -0700
359 rgw: iterate usage entries from correct entry
362 When iterating through usage entries, and when user id was
363 provided, we started at the user's first entry and not from
364 the entry indexed by the request start time.
365 This commit fixes the issue.
369 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
370 Reviewed-by: Greg Farnum <greg@inktank.com>
371 (cherry picked from commit 8b3a04dec8be13559716667d4b16cde9e9543feb)
373 commit 3d7f8f840fb9fd975089af32c85093eeb1eac338
374 Author: Sage Weil <sage@inktank.com>
375 Date: Wed May 22 12:45:27 2013 -0700
377 mon: be a bit more verbose about osd mark down events
379 Put these in the cluster log; they are interesting.
381 This is a backport of 87767fb1fb9a52d11b11f0b641cebbd9998f089e.
383 Signed-off-by: Sage Weil <sage@inktank.com>
385 commit f21a7f7bf3db61bd533e777297bff1346112a0db
386 Author: Yehuda Sadeh <yehuda@inktank.com>
387 Date: Fri May 3 12:57:00 2013 -0700
389 rgw: protect ops log socket formatter
392 Ops log (through the unix domain socket) uses a formatter, which wasn't
395 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
396 (cherry picked from commit d48f1edb07a4d8727ac956f70e663c1b4e33e1dd)
398 commit 49c04c623466df45003ed2a18445c354c424a078
399 Author: Josh Durgin <josh.durgin@inktank.com>
400 Date: Thu May 16 15:28:40 2013 -0700
402 librbd: make image creation defaults configurable
404 Programs using older versions of the image creation functions can't
405 set newer parameters like image format and fancier striping.
407 Setting these options lets them use all the new functionality without
408 being patched and recompiled to use e.g. rbd_create3().
409 This is particularly useful for things like qemu-img, which does not
410 know how to create format 2 images yet.
413 backport: cuttlefish, bobtail
414 Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
415 (cherry picked from commit aacc9adc4e9ca90bbe73ac153cc754a3a5b2c0a1)
417 commit 4d7058fe2254f335969f05bef649b1a27d470aa4
418 Author: Josh Durgin <josh.durgin@inktank.com>
419 Date: Thu May 16 15:21:24 2013 -0700
421 rbd.py: fix stripe_unit() and stripe_count()
423 These matched older versions of the functions, but would segfault
424 using the current versions.
426 backport: cuttlefish, bobtail
427 Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
428 (cherry picked from commit 53ee6f965e8f06c7256848210ad3c4f89d0cb5a0)
430 commit 82a16c32a37dc46e3019cedc2a5407ae34f806e2
431 Author: Josh Durgin <josh.durgin@inktank.com>
432 Date: Thu May 16 15:19:46 2013 -0700
434 cls_rbd: make sure stripe_unit is not larger than object size
436 Test a few other cases too.
438 backport: cuttlefish, bobtail
439 Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
440 (cherry picked from commit 810306a2a76eec1c232fd28ec9c351e827fa3031)
442 commit e0de00897468a434e94790a86fc812b77a59614c
443 Author: Sage Weil <sage@inktank.com>
444 Date: Fri May 10 22:14:05 2013 -0700
446 mon: fix validatation of mds ids in mon commands
449 Signed-off-by: Sage Weil <sage@inktank.com>
450 (cherry picked from commit 5c305d63043762027323052b4bb3ae3063665c6f)
454 src/mon/MDSMonitor.cc