1 commit 408cd61584c72c0d97b774b3d8f95c6b1b06341a
2 Author: Gary Lowell <gary.lowell@inktank.com>
3 Date: Mon Sep 9 12:50:11 2013 -0700
7 commit 17a7342b3b935c06610c58ab92a9a1d086923d32
9 Author: Sage Weil <sage@inktank.com>
10 Date: Sat Sep 7 13:34:45 2013 -0700
12 Merge pull request #574 from dalgaaf/fix/da-dumpling-cherry-picks
14 init-radosgw*: fix status return value if radosgw isn't running
16 Reviewed-by: Sage Weil <sage@inktank.com>
18 commit 10433bbe72dbf8eae8fae836e557a043610eb54e
19 Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
20 Date: Sat Sep 7 11:30:15 2013 +0200
22 init-radosgw*: fix status return value if radosgw isn't running
24 Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
25 (cherry picked from commit b5137baf651eaaa9f67e3864509e437f9d5c3d5a)
27 commit b4252bff79150a95e9d075dd0b5e146ba9bf2ee5
28 Author: Samuel Just <sam.just@inktank.com>
29 Date: Thu Aug 22 11:19:37 2013 -0700
31 FileStore: add config option to disable the wbthrottle
34 Signed-off-by: Samuel Just <sam.just@inktank.com>
35 Reviewed-by: Sage Weil <sage@inktank.com>
36 (cherry picked from commit 3528100a53724e7ae20766344e467bf762a34163)
38 commit 699324e0910e5e07a1ac68df8cf1108e5671ec15
39 Author: Samuel Just <sam.just@inktank.com>
40 Date: Thu Aug 22 11:19:52 2013 -0700
42 WBThrottle: use fdatasync instead of fsync
45 Signed-off-by: Samuel Just <sam.just@inktank.com>
46 Reviewed-by: Sage Weil <sage@inktank.com>
47 (cherry picked from commit d571825080f0bff1ed3666e95e19b78a738ecfe8)
49 commit 074717b4b49ae1a55bc867e5c34d43c51edc84a5
50 Author: Samuel Just <sam.just@inktank.com>
51 Date: Thu Aug 29 15:08:58 2013 -0700
53 PGLog: initialize writeout_from in PGLog constructor
57 Signed-off-by: Samuel Just <sam.just@inktank.com>
58 Introduced: f808c205c503f7d32518c91619f249466f84c4cf
59 Reviewed-by: Sage Weil <sage@inktank.com>
60 (cherry picked from commit 42d65b0a7057696f4b8094f7c686d467c075a64d)
62 commit c22d980cf42e580818dc9f526327518c0ddf8ff5
63 Author: Samuel Just <sam.just@inktank.com>
64 Date: Tue Aug 27 08:49:14 2013 -0700
66 PGLog: maintain writeout_from and trimmed
68 This way, we can avoid omap_rmkeyrange in the common append
73 Signed-off-by: Samuel Just <sam.just@inktank.com>
74 (cherry picked from commit f808c205c503f7d32518c91619f249466f84c4cf)
76 commit 53c7ab4db00ec7034f5aa555231f9ee167f43201
77 Author: Samuel Just <sam.just@inktank.com>
78 Date: Tue Aug 27 07:27:26 2013 -0700
80 PGLog: don't maintain log_keys_debug if the config is disabled
84 Signed-off-by: Samuel Just <sam.just@inktank.com>
85 (cherry picked from commit 1c0d75db1075a58d893d30494a5d7280cb308899)
87 commit 40dc489351383c2e35b91c3d4e76b633309716df
88 Author: Samuel Just <sam.just@inktank.com>
89 Date: Mon Aug 26 23:19:45 2013 -0700
91 PGLog: move the log size check after the early return
93 There really are stl implementations (like the one on my ubuntu 12.04
94 machine) which have a list::size() which is linear in the size of the
95 list. That assert, therefore, is quite expensive!
99 Signed-off-by: Samuel Just <sam.just@inktank.com>
100 (cherry picked from commit fe68b15a3d82349f8941f5b9f70fcbb5d4bc7f97)
102 commit 4261eb5ec105b9c27605360910602dc367fd79f5
103 Author: Sage Weil <sage@inktank.com>
104 Date: Tue Aug 13 17:16:08 2013 -0700
106 rbd.cc: relicense as LGPL2
108 All past authors for rbd.cc have consented to relicensing from GPL to
113 Date: Sat, 27 Jul 2013 01:59:36 +0200
114 From: Sylvain Munaut <s.munaut@whatever-company.com>
115 Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change
117 I hereby consent to the relicensing of any contribution I made to the
118 aforementioned rbd.cc file from GPL to LGPL2.1.
120 (I hope that'll be impressive enough, I did my best :p)
122 btw, tnt@246tNt.com and s.munaut@whatever-company.com are both me.
130 Date: Fri, 26 Jul 2013 17:00:48 -0700
131 From: Yehuda Sadeh <yehuda@inktank.com>
132 Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change
138 Date: Fri, 26 Jul 2013 17:02:24 -0700
139 From: Josh Durgin <josh.durgin@inktank.com>
140 Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change
146 Date: Fri, 26 Jul 2013 18:17:46 -0700
147 From: Stanislav Sedov <stas@freebsd.org>
148 Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change
152 Thanks for taking care of it!
156 Date: Fri, 26 Jul 2013 18:24:15 -0700
157 From: Colin McCabe <cmccabe@alumni.cmu.edu>
166 Date: Sat, 27 Jul 2013 07:08:12 +0200
167 From: Christian Brunner <christian@brunner-muc.de>
168 Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change
176 Date: Sat, 27 Jul 2013 12:17:34 +0300
177 From: Stratos Psomadakis <psomas@grnet.gr>
178 Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change
182 I consent with the GPL -> LGL2.1 re-licensing.
189 Date: Sat, 27 Jul 2013 16:13:13 +0200
190 From: Wido den Hollander <wido@42on.com>
191 Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change
195 You have my permission to re-license the code I wrote for rbd.cc to LGPL2.1
199 Date: Sun, 11 Aug 2013 10:40:32 +0200
200 From: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
205 I agree to switch the license of ceph_argparse.py and rbd.cc from GPL2
214 Date: Tue, 13 Aug 2013 17:15:24 -0700
215 From: Dan Mick <dan.mick@inktank.com>
216 Subject: Re: Ceph rbd.cc GPL -> LGPL2 license change
218 I consent to relicense any contributed code that I wrote under LGPL2.1 license.
222 ...and I consent too. Drop the exception from COPYING and debian/copyright
225 Signed-off-by: Sage Weil <sage@inktank.com>
226 (cherry picked from commit 2206f55761c675b31078dea4e7dd66f2666d7d03)
228 commit 211c5f13131e28b095a1f3b72426128f1db22218
229 Author: Yehuda Sadeh <yehuda@inktank.com>
230 Date: Fri Aug 23 15:39:20 2013 -0700
232 rgw: flush pending data when completing multipart part upload
236 When completing the part upload we need to flush any data that we
237 aggregated and didn't flush yet. With earlier code didn't have to deal
238 with it as for multipart upload we didn't have any pending data.
239 What we do now is we call the regular atomic data completion
240 function that takes care of it.
242 Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
243 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
244 (cherry picked from commit 9a551296e0811f2b65972377b25bb28dbb42f575)
246 commit 1a9651010aab51c9be2edeccd80e9bd11f5177ce
247 Author: Yehuda Sadeh <yehuda@inktank.com>
248 Date: Mon Aug 26 19:46:43 2013 -0700
250 rgw: check object name after rebuilding it in S3 POST
253 Backport: bobtail, cuttlefish, dumpling
255 When posting an object it is possible to provide a key
256 name that refers to the original filename, however we
257 need to verify that in the end we don't end up with an
260 Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
261 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
262 (cherry picked from commit c8ec532fadc0df36e4b265fe20a2ff3e35319744)
264 commit 1bd74a020b93f154b2d4129d512f6334387de7c7
265 Author: Sage Weil <sage@inktank.com>
266 Date: Thu Aug 22 17:46:45 2013 -0700
268 mon/MonClient: release pending outgoing messages on shutdown
270 This fixes a small memory leak when we have messages queued for the mon
271 when we shut down. It is harmless except for the valgrind leak check
272 noise that obscures real leaks.
275 Signed-off-by: Sage Weil <sage@inktank.com>
276 (cherry picked from commit 309569a6d0b7df263654b7f3f15b910a72f2918d)
278 commit 24f2669783e2eb9d9af5ecbe106efed93366ba63
279 Author: Yehuda Sadeh <yehuda@inktank.com>
280 Date: Thu Aug 29 13:06:33 2013 -0700
282 rgw: change watch init ordering, don't distribute if can't
286 Moving back the watch initialization after the zone init,
287 as the zone info holds the control pool name. Since zone
288 init might need to create a new system object (that needs
289 to distribute cache), don't try to distribute cache if
290 watch is not yet initialized.
292 Reviewed-by: Sage Weil <sage@inktank.com>
293 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
294 (cherry picked from commit 1d1f7f18dfbdc46fdb09a96ef973475cd29feef5)
296 commit a708c8ab52e5b1476405a1f817c23b8845fbaab3
297 Author: Sage Weil <sage@inktank.com>
298 Date: Fri Aug 30 09:41:29 2013 -0700
300 ceph-post-file: use mktemp instead of tempfile
302 tempfile is a debian thing, apparently; mktemp is present everywhere.
304 Signed-off-by: Sage Weil <sage@inktank.com>
305 (cherry picked from commit e60d4e09e9f11e3c34a05cd122341e06c7c889bb)
307 commit 625f13ee0d6cca48d61dfd65e00517d092552d1c
308 Author: Sage Weil <sage@inktank.com>
309 Date: Wed Aug 28 09:50:11 2013 -0700
311 mon: discover mon addrs, names during election state too
313 Currently we only detect new mon addrs and names during the probing phase.
314 For non-trivial clusters, this means we can get into a sticky spot when
315 we discover enough peers to form an quorum, but not all of them, and the
316 undiscovered ones are enough to break the mon ranks and prevent an
319 One way to work around this is to continue addr and name discovery during
320 the election. We should also consider making the ranks less sensitive to
321 the undefined addrs; that is a separate change.
325 Signed-off-by: Sage Weil <sage@inktank.com>
326 Tested-by: Bernhard Glomm <bernhard.glomm@ecologic.eu>
327 (cherry picked from commit c24028570015cacf1d9e154ffad80bec06a61e7c)
329 commit 83cfd4386c1fd0fa41aea345704e27f82b524ece
330 Author: Dan Mick <dan.mick@inktank.com>
331 Date: Thu Aug 22 17:30:24 2013 -0700
333 ceph_rest_api.py: create own default for log_file
335 common/config thinks the default log_file for non-daemons should be "".
336 Override that so that the default is
337 /var/log/ceph/{cluster}-{name}.{pid}.log
338 since ceph-rest-api is more of a daemon than a client.
342 Signed-off-by: Dan Mick <dan.mick@inktank.com>
343 (cherry picked from commit 2031f391c3df68e0d9e381a1ef3fe58d8939f0a8)
345 commit 8a1da62d9564a32f7b8963fe298e1ac3ad0ea3d9
346 Author: Sage Weil <sage@inktank.com>
347 Date: Fri Aug 16 17:59:11 2013 -0700
349 ceph-post-file: single command to upload a file to cephdrop
351 Use sftp to upload to a directory that only this user and ceph devs can
354 Distribute an ssh key to connect to the account. This will let us revoke
355 the key in the future if we feel the need. Also distribute a known_hosts
356 file so that users have some confidence that they are connecting to the
357 real ceph drop account and not some third party.
359 Signed-off-by: Sage Weil <sage@inktank.com>
360 Reviewed-by: Dan Mick <dan.mick@inktank.com>
361 (cherry picked from commit d08e05e463f1f7106a1f719d81b849435790a3b9)
363 commit 3f8663477b585dcb528fdd7047c50d9a52d24b95
364 Author: Gary Lowell <glowell@inktank.com>
365 Date: Thu Aug 22 13:29:32 2013 -0700
367 ceph.spec.in: remove trailing paren in previous commit
369 Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
371 commit 23fb908cb3ac969c874ac12755d20ed2f636e1b9
372 Author: Gary Lowell <glowell@inktank.com>
373 Date: Thu Aug 22 11:07:16 2013 -0700
375 ceph.spec.in: Don't invoke debug_package macro on centos.
377 If the redhat-rpm-config package is installed, the debuginfo rpms will
378 be built by default. The build will fail when the package installed
379 and the specfile also invokes the macro.
381 Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
383 commit 11f5853d8178ab60ab948d373c1a1f67324ce3bd
384 Author: Sage Weil <sage@inktank.com>
385 Date: Sat Aug 24 14:04:09 2013 -0700
387 osd: install admin socket commands after signals
389 This lets us tell by the presence of the admin socket commands whether
390 a signal will make us shut down cleanly. See #5924.
392 Signed-off-by: Sage Weil <sage@inktank.com>
393 Reviewed-by: Samuel Just <sam.just@inktank.com>
394 (cherry picked from commit c5b5ce120a8ce9116be52874dbbcc39adec48b5c)
396 commit 39adc0195e6016ce36828885515be1bffbc10ae1
397 Author: Sage Weil <sage@inktank.com>
398 Date: Tue Aug 20 22:39:09 2013 -0700
400 ceph-disk: partprobe after creating journal partition
402 At least one user reports that a partprobe is needed after creating the
403 journal partition. It is not clear why sgdisk is not doing it, but this
404 fixes ceph-disk for them, and should be harmless for other users.
407 Tested-by: lurbs in #ceph
408 Signed-off-by: Sage Weil <sage@inktank.com>
409 (cherry picked from commit 2af59d5e81c5e3e3d7cfc50d9330d7364659c5eb)
410 (cherry picked from commit 3e42df221315679605d68b2875aab6c7eb6b3cc4)
412 commit 6a4fe7b9b068ae990d6404921a46631fe9ebcd31
413 Author: Sage Weil <sage@inktank.com>
414 Date: Tue Aug 20 11:27:23 2013 -0700
416 mon/Paxos: always refresh after any store_state
418 If we store any new state, we need to refresh the services, even if we
419 are still in the midst of Paxos recovery. This is because the
420 subscription path will share any committed state even when paxos is
421 still recovering. This prevents a race like:
423 - we have maps 10..20
424 - we drop out of quorum
425 - we are elected leader, paxos recovery starts
426 - we get one LAST with committed states that trim maps 10..15
427 - we get a subscribe for map 10..20
428 - we crash because 10 is no longer on disk because the PaxosService
429 is out of sync with the on-disk state.
433 Signed-off-by: Sage Weil <sage@inktank.com>
434 Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
435 (cherry picked from commit 981eda9f7787c83dc457f061452685f499e7dd27)
437 commit 13d396e46ed9200e4b9f21db2f0a8efbc5998d82
438 Author: Sage Weil <sage@inktank.com>
439 Date: Tue Aug 20 11:27:09 2013 -0700
441 mon/Paxos: return whether store_state stored anything
443 Signed-off-by: Sage Weil <sage@inktank.com>
444 Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
445 (cherry picked from commit 7e0848d8f88f156a05eef47a9f730b772b64fbf2)
447 commit f248383bacff76203fa94716cfdf6cf766da24a7
448 Author: Sage Weil <sage@inktank.com>
449 Date: Tue Aug 20 11:26:57 2013 -0700
451 mon/Paxos: cleanup: use do_refresh from handle_commit
453 This avoid duplicated code by using the helper created exactly for this
456 Signed-off-by: Sage Weil <sage@inktank.com>
457 Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
458 (cherry picked from commit b9dee2285d9fe8533fa98c940d5af7b0b81f3d33)
460 commit 02608a12d4e7592784148a62a47d568efc24079d
461 Author: Sage Weil <sage@inktank.com>
462 Date: Thu Aug 15 21:48:06 2013 -0700
464 osdc/ObjectCacher: do not merge rx buffers
466 We do not try to merge rx buffers currently. Make that explicit and
467 documented in the code that it is not supported. (Otherwise the
468 last_read_tid values will get lost and read results won't get applied
469 to the cache properly.)
471 Signed-off-by: Sage Weil <sage@inktank.com>
472 (cherry picked from commit 1c50c446152ab0e571ae5508edb4ad7c7614c310)
474 commit 0e2bfe71965eeef29b47e8032637ea820a7ce49c
475 Author: Sage Weil <sage@inktank.com>
476 Date: Thu Aug 15 21:47:18 2013 -0700
478 osdc/ObjectCacher: match reads with their original rx buffers
480 Consider a sequence like:
482 1- start read on 100~200
486 3- start read on 200~200
489 4- get 100~200 read result
491 Currently this makes us crash on
493 osdc/ObjectCacher.cc: 738: FAILED assert(bh->length() <= start+(loff_t)length-opos)
495 when processing the second 200~200 bufferhead (it is too big). The
496 larger issue, though, is that we should not be looking at this data at
497 all; it has been truncated away.
499 Fix this by marking each rx buffer with the read request that is sent to
500 fill it, and only fill it from that read request. Then the first reply
501 will fill the first 100~100 extend but not touch the other extent; the
502 second read will do that.
504 Signed-off-by: Sage Weil <sage@inktank.com>
505 (cherry picked from commit b59f930ae147767eb4c9ff18c3821f6936a83227)
507 commit 6b51c960715971a0351e8203d4896cb0c4138a3f
508 Author: Sage Weil <sage@inktank.com>
509 Date: Thu Aug 22 15:54:48 2013 -0700
511 mon/Paxos: fix another uncommitted value corner case
513 It is possible that we begin the paxos recovery with an uncommitted
514 value for, say, commit 100. During last/collect we discover 100 has been
515 committed already. But also, another node provides an uncommitted value
516 for 101 with the same pn. Currently, we refuse to learn it, because the
517 pn is not strictly > than our current uncommitted pn... even though it is
518 the next last_committed+1 value that we need.
520 There are two possible fixes here:
522 - make this a >= as we can accept newer values from the same pn.
523 - discard our uncommitted value metadata when we commit the value.
528 Signed-off-by: Sage Weil <sage@inktank.com>
529 (cherry picked from commit fe5010380a3a18ca85f39403e8032de1dddbe905)
531 commit b3a280d5af9d06783d2698bd434940de94ab0fda
532 Author: Sage Weil <sage@inktank.com>
533 Date: Fri Aug 23 11:45:35 2013 -0700
535 os: make readdir_r buffers larger
537 PATH_MAX isn't quite big enough.
539 Backport: dumpling, cuttlefish, bobtail
540 Signed-off-by: Sage Weil <sage@inktank.com>
541 (cherry picked from commit 99a2ff7da99f8cf70976f05d4fe7aa28dd7afae5)
543 commit 989a664ef0d1c716cab967f249112f595cf98c43
544 Author: Sage Weil <sage@inktank.com>
545 Date: Fri Aug 23 11:45:08 2013 -0700
547 os: fix readdir_r buffer size
549 The buffer needs to be big or else we're walk all over the stack.
551 Backport: dumpling, cuttlefish, bobtail
552 Signed-off-by: Sage Weil <sage@inktank.com>
553 (cherry picked from commit 2df66d9fa214e90eb5141df4d5755b57e8ba9413)
557 src/os/BtrfsFileStoreBackend.cc
559 commit a4cca31c82bf0e84272e01eb1b3188dfdb5b5615
560 Author: Yehuda Sadeh <yehuda@inktank.com>
561 Date: Thu Aug 22 10:53:12 2013 -0700
563 rgw: fix crash when creating new zone on init
565 Moving the watch/notify init before the zone init,
566 as we might need to send a notification.
568 Reviewed-by: Sage Weil <sage@inktank.com>
569 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
570 (cherry picked from commit 3d55534268de7124d29bd365ea65da8d2f63e501)
572 commit 4cf6996803ef66f2b6083f73593259d45e2740a3
573 Author: Yehuda Sadeh <yehuda@inktank.com>
574 Date: Mon Aug 19 08:40:16 2013 -0700
576 rgw: change cache / watch-notify init sequence
579 We were initializing the watch-notify (through the cache
580 init) before reading the zone info which was much too
581 early, as we didn't have the control pool name yet. Now
582 simplifying init/cleanup a bit, cache doesn't call watch/notify
583 init and cleanup directly, but rather states its need
584 through a virtual callback.
586 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
587 Reviewed-by: Sage Weil <sage@inktank.com>
588 (cherry picked from commit d26ba3ab0374e77847c742dd00cb3bc9301214c2)
590 commit aea6de532b0b843c3a8bb76d10bab8476f0d7c09
591 Author: Alexandre Oliva <oliva@gnu.org>
592 Date: Thu Aug 22 03:40:22 2013 -0300
594 enable mds rejoin with active inodes' old parent xattrs
596 When the parent xattrs of active inodes that the mds attempts to open
597 during rejoin lack pool info (struct_v < 5), this field will be filled
598 in with -1, causing the mds to retry fetching a backtrace with a pool
599 number that matches the expected value, which fails and causes the
600 err==-ENOENT branch to be taken and retry pool 1, which succeeds, but
601 with pool -1, and so keeps on bouncing between the two retry cases
604 This patch arranges for the mds to go along with pool -1 instead of
605 insisting that it be refetched, enabling it to complete recovery
606 instead of eating cpu, network bandwidth and metadata osd's resources
607 like there's no tomorrow, in what AFAICT is an infinite and very busy
610 This is not a new problem: I've had it even before upgrading from
611 Cuttlefish to Dumpling, I'd just never managed to track it down, and
612 force-unmounting the filesystem and then restarting the mds was an
613 easier (if inconvenient) work-around, particularly because it always
614 hit when the filesystem was under active, heavy-ish use (or there
615 wouldn't be much reason for caps recovery ;-)
617 There are two issues not addressed in this patch, however. One is
618 that nothing seems to proactively update the parent xattr when it is
619 found to be outdated, so it remains out of date forever. Not even
620 renaming top-level directories causes the xattrs to be recursively
621 rewritten. AFAICT that's a bug.
623 The other is that inodes that don't have a parent xattr (created by
624 even older versions of ceph) are reported as non-existing in the mds
625 rejoin message, because the absence of the parent xattr is signaled as
626 a missing inode (?failed to reconnect caps for missing inodes?). I
627 suppose this may cause more serious recovery problems.
629 I suppose a global pass over the filesystem tree updating parent
630 xattrs that are out-of-date would be desirable, if we find any parent
631 xattrs still lacking current information; it might make sense to
632 activate it as a background thread from the backtrace decoding
633 function, when it finds a parent xattr that's too out-of-date, or as a
634 separate client (ceph-fsck?).
636 Backport: dumpling, cuttlefish
637 Signed-off-by: Alexandre Oliva <oliva@gnu.org>
638 Reviewed-by: Zheng, Yan <zheng.z.yan@intel.com>
639 (cherry picked from commit 617dc36d477fd83b2d45034fe6311413aa1866df)
641 commit 0738bdf92f5e5eb93add152a4135310ac7ea1c91
642 Author: David Disseldorp <ddiss@suse.de>
643 Date: Mon Jul 29 17:05:44 2013 +0200
645 mds: remove waiting lock before merging with neighbours
647 CephFS currently deadlocks under CTDB's ping_pong POSIX locking test
648 when run concurrently on multiple nodes.
649 The deadlock is caused by failed removal of a waiting_locks entry when
650 the waiting lock is merged with an existing lock, e.g:
652 Initial MDS state (two clients, same file):
653 held_locks -- start: 0, length: 1, client: 4116, pid: 7899, type: 2
654 start: 2, length: 1, client: 4110, pid: 40767, type: 2
655 waiting_locks -- start: 1, length: 1, client: 4116, pid: 7899, type: 2
657 Waiting lock entry 4116@1:1 fires:
658 handle_client_file_setlock: start: 1, length: 1,
659 client: 4116, pid: 7899, type: 2
661 MDS state after lock is obtained:
662 held_locks -- start: 0, length: 2, client: 4116, pid: 7899, type: 2
663 start: 2, length: 1, client: 4110, pid: 40767, type: 2
664 waiting_locks -- start: 1, length: 1, client: 4116, pid: 7899, type: 2
666 Note that the waiting 4116@1:1 lock entry is merged with the existing
667 4116@0:1 held lock to become a 4116@0:2 held lock. However, the now
668 handled 4116@1:1 waiting_locks entry remains.
670 When handling a lock request, the MDS calls adjust_locks() to merge
671 the new lock with available neighbours. If the new lock is merged,
672 then the waiting_locks entry is not located in the subsequent
673 remove_waiting() call because adjust_locks changed the new lock to
674 include the old locks.
675 This fix ensures that the waiting_locks entry is removed prior to
676 modification during merge.
678 Signed-off-by: David Disseldorp <ddiss@suse.de>
679 Reviewed-by: Greg Farnum <greg@inktank.com>
680 (cherry picked from commit 476e4902907dfadb3709ba820453299ececf990b)
682 commit a0ac88272511d670b5c3756dda2d02c93c2e9776
683 Author: Dan Mick <dan.mick@inktank.com>
684 Date: Tue Aug 20 11:10:42 2013 -0700
686 mon/PGMap: OSD byte counts 4x too large (conversion to bytes overzealous)
689 Signed-off-by: Dan Mick <dan.mick@inktank.com>
690 (cherry picked from commit eca53bbf583027397f0d5e050a76498585ecb059)
692 commit 87b19c33ce29e2ca4fc49a2adeb12d3f14ca90a9
693 Author: Alfredo Deza <alfredo.deza@inktank.com>
694 Date: Fri Aug 23 08:56:07 2013 -0400
696 ceph-disk: specify the filetype when mounting
698 Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
699 Reviewed-by: Sage Weil <sage@inktank.com>
700 (cherry picked from commit f040020fb2a7801ebbed23439159755ff8a3edbd)