summaryrefslogtreecommitdiffstats
path: root/doc/changelog/v0.56.5.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/changelog/v0.56.5.txt')
-rw-r--r--doc/changelog/v0.56.5.txt1972
1 files changed, 1972 insertions, 0 deletions
diff --git a/doc/changelog/v0.56.5.txt b/doc/changelog/v0.56.5.txt
new file mode 100644
index 00000000..0e9ce5ed
--- /dev/null
+++ b/doc/changelog/v0.56.5.txt
@@ -0,0 +1,1972 @@
+commit df884bb7b59e5796c996ab806f5ec8b8322e292f
+Author: Gary Lowell <gary.lowell@inktank.com>
+Date: Thu May 2 18:08:06 2013 -0700
+
+ v0.56.5
+
+commit b38cbabb2a38e4476de1135c33c25c673d62cd67
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Thu Apr 4 18:23:40 2013 +0200
+
+ ceph.spec.in: fix udev rules.d files handling
+
+ Move 50-rbd.rules into the ceph base package since the related
+ ceph-rbdnamer binary is part of this package. Use correct install
+ pattern.
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+
+commit d0678a062a1baf738ce96114114d99495be19478
+Author: Sage Weil <sage@inktank.com>
+Date: Mon Apr 29 17:01:55 2013 -0700
+
+ debian: only start/stop upstart jobs if upstart is present
+
+ This avoids errors on non-upstart distros (like wheezy).
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 030bf8aaa15837f898e453161eeaf1d52fc5779d)
+
+ Conflicts:
+ debian/ceph-mds.postinst
+
+commit 209ce34a420cc5cdbe7219393f2f150ac28f612c
+Author: Sage Weil <sage@inktank.com>
+Date: Mon Mar 11 17:09:37 2013 -0700
+
+ debian: stop ceph-mds before uninstalling ceph-mds
+
+ Fixes: #4384
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 9eb0d91b867ab980135d7c6ff6347d69d0a8a794)
+
+commit 0c91becfa6cc5f05c5b2eaa89299dbf1aa202344
+Author: Dan Mick <dan.mick@inktank.com>
+Date: Thu Apr 25 15:53:51 2013 -0700
+
+ Makefile.am: Add -lpthread to fix build on newer ld in Raring Ringtail
+
+ Signed-off-by: Dan Mick <dan.mick@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 98f532e8000af281fa03b24da9ad2fda81755270)
+
+ Conflicts:
+ src/Makefile.am
+
+commit 15e6544f0892e8472f436149d15fc30257496c0b
+Merge: fdc0534 418cff5
+Author: Sage Weil <sage@inktank.com>
+Date: Wed May 1 12:57:43 2013 -0700
+
+ Merge remote-tracking branch 'gh/bobtail-deploy' into bobtail-next
+
+commit fdc05346177a60f064fe351ca81c6078cd065179
+Author: Sage Weil <sage@inktank.com>
+Date: Thu Apr 25 11:13:33 2013 -0700
+
+ init-ceph: use remote config when starting daemons on remote nodes (-a)
+
+ If you use -a to start a remote daemon, assume the remote config is present
+ instead of pushing the local config. This makes more sense and simplifies
+ things.
+
+ Note that this means that -a in concert with -c foo means that foo must
+ also be present on the remote node in the same path. That, however, is a
+ use case that I don't particularly care about right now. :)
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ Reviewed-by: Dan Mick <dan.mick@inktank.com>
+ (cherry picked from commit cd7e52cc76878eed0f084f7b9a6cf7c792b716c6)
+
+commit 55c87e821b6acc1cd46056ca27c6e7f7030466e7
+Author: Samuel Just <sam.just@inktank.com>
+Date: Wed Apr 24 12:20:17 2013 -0700
+
+ PG: call check_recovery_sources in remove_down_peer_info
+
+ If we transition out of peering due to affected
+ prior set, we won't trigger start_peering_interval
+ and check_recovery_sources won't get called. This
+ will leave an entry in missing_loc_sources without
+ a matching missing set. We always want to
+ check_recovery_sources with remove_down_peer_info.
+
+ Fixes: 4805
+ Backport: bobtail
+ Signed-off-by: Samuel Just <sam.just@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 81a6165c13c533e9c1c6684ab7beac09d52ca6b5)
+
+commit a28c2f55bfc768a502fbc8ec35265e7f1a53e044
+Author: Samuel Just <sam.just@inktank.com>
+Date: Thu Apr 25 14:08:57 2013 -0700
+
+ PG: clear want_acting when we leave Primary
+
+ This is somewhat annoying actually. Intuitively we want to
+ clear_primary_state when we leave primary, but when we restart
+ peering due to a change in prior set status, we can't afford
+ to forget most of our peering state. want_acting, on the
+ other hand, should never persist across peering attempts.
+ In fact, in the future, want_acting should be pulled into
+ the Primary state structure.
+
+ Fixes: #3904
+ Signed-off-by: Samuel Just <sam.just@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ Reviewed-by: David Zafman <david.zafman@inktank.com>
+ (cherry picked from commit a5cade1fe7338602fb2bbfa867433d825f337c87)
+
+commit 849ed5982d4547dd651313919fb090944f568214
+Author: Greg Farnum <greg@inktank.com>
+Date: Tue Apr 30 18:12:10 2013 -0700
+
+ mon: communicate the quorum_features properly when declaring victory.
+
+ Fixes #4747.
+
+ Signed-off-by: Greg Farnum <greg@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit fe68afe9d10bc5d49a05a8bafa644d57783447cf)
+
+commit ea9c76b8f457d44e63551d47b6dd30bd16a56468
+Author: Greg Farnum <greg@inktank.com>
+Date: Tue Apr 30 11:01:54 2013 -0700
+
+ elector: trigger a mon reset whenever we bump the epoch
+
+ We need to call reset during every election cycle; luckily we
+ can call it more than once. bump_epoch is (by definition!) only called
+ once per cycle, and it's called at the beginning, so we put it there.
+
+ Fixes #4858.
+
+ Signed-off-by: Greg Farnum <greg@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 6ae9bbb5d03cb5695a4ebb7a3c20f729de1bd67a)
+
+ Conflicts:
+
+ src/mon/Elector.cc
+
+commit 418cff585bf6fc292d260a464369d82f7cdb3b79
+Author: Alexandre Marangone <alexandre.marangone@inktank.com>
+Date: Fri Apr 19 15:09:28 2013 -0700
+
+ Fix journal partition creation
+
+ With OSD sharing data and journal, the previous code created the
+ journal partiton from the end of the device. A uint32_t is
+ used in sgdisk to get the last sector, with large HD, uint32_t
+ is too small.
+ The journal partition will be created backwards from the
+ a sector in the midlle of the disk leaving space before
+ and after it. The data partition will use whichever of
+ these spaces is greater. The remaining will not be used.
+
+ This patch creates the journal partition from the start as a workaround.
+
+ Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
+ (cherry picked from commit 56619ab91732bd2eacbef388311954f4e0230a30)
+
+commit 1a6b87ea48c3bcd3904d888a2ad1e5774aa2de8e
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Apr 26 15:37:21 2013 -0700
+
+ ceph.spec.in: put ceph-disk-* et al in correct sbindir
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+
+commit 86337936059d6b17c887e82f79167324eafa083c
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Apr 26 15:29:12 2013 -0700
+
+ debian: fix ceph.install
+
+ This got out of sync somewhere in cherry-picking all of these patches.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+
+commit 0b42b1edb306a9763bcd02bd962bd284f6b7b3a3
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Thu Apr 4 15:54:31 2013 +0200
+
+ Makefile.am: install ceph-* python scripts to /usr/bin directly
+
+ Install ceph-* scripts directly to $(prefix)$(sbindir) (which
+ normaly would be /usr/sbin) instead of moving it around after
+ installation in SPEC file or debian files.
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 4d16f38f48e276497190c8bc03abc55c40e18eed)
+
+commit c71fb8d5b39667fc2c9f7e898ced53059d3f1eec
+Author: Gary Lowell <glowell@inktank.com>
+Date: Tue Apr 2 12:11:10 2013 -0700
+
+ ceph-disk: CalledProcessError has no output keyword on 2.6
+
+ Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
+ (cherry picked from commit a793853850ee135de14b9237f7023cadcdb8575c)
+
+commit 1b86b1c7618b1ab93e25e1abf79bbe0a992c8526
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Tue Apr 2 17:54:53 2013 +0200
+
+ ceph-disk: fix some (local) variable names
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit c4eb7e6ddd593cd45ab8343da01355be7382723e)
+
+commit ee452ebe6ff37087714c085dacd1ca2bcf66bd49
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Tue Apr 2 17:36:37 2013 +0200
+
+ ceph-disk: fix naming of local variable in is_mounted()
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 3dd8b461219e64bb0f7a210dba5a9ab7c644f014)
+
+commit 0e47d312dcec2deb26a960e6097708d8742d85cb
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Tue Apr 2 17:33:08 2013 +0200
+
+ ceph-disk: merge twice defined function is_mounted(dev)
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit eaf31bf9f90ba9709a57a6870dbafa21142dae2c)
+
+commit 7326ea6397160607d78914444f7f0598a6ba346f
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Tue Apr 2 17:26:12 2013 +0200
+
+ ceph-disk: define exception type
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 4c6d6442a89adc5b56e99cb4d2ed572f2ad192c9)
+
+commit 14a348dc8ea9c012b6843825fd7beb5896a6d92e
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Tue Apr 2 17:17:38 2013 +0200
+
+ ceph-disk: fix Redefining name 'uuid' from outer scope
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 058eb923c5b7dab611901fdd1724ce2a7c180827)
+
+commit 9419dca69292146ea1fd216a1ad08b2e07bdc1a0
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Tue Apr 2 17:14:23 2013 +0200
+
+ ceph-disk: add missing space after comma
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 0080d1df7c7950e051840a543fc4bdabe6cc53e5)
+
+commit 7406981aa5515a3be8af0b9a0abef83a40c432b2
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Mar 29 17:30:28 2013 -0700
+
+ ceph-disk list: say 'unknown cluster $UUID' when cluster is unknown
+
+ This makes it clearer that an old osd is in fact old.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit e9b3f2e6e93426d631d4f8101fb431a523b0d88a)
+
+commit 0182973b66d449552d17248e27cd12c470137ea9
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Mar 29 13:59:04 2013 -0700
+
+ ceph-disk: handle missing journal_uuid field gracefully
+
+ Only lower if we know it's not None.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 562e1716bd4b5372716e502a5e4dd872d381bfb7)
+
+commit 24d729c591430349b033992f87141e596dcd6bff
+Author: Sage Weil <sage@inktank.com>
+Date: Thu Mar 28 20:49:24 2013 -0700
+
+ ceph-disk: implement 'list'
+
+ This is based on Sandon's initial patch, but much-modified.
+
+ Mounts ceph data volumes temporarily to see what is inside. Attempts to
+ associated journals with osds.
+
+ Resolves: #3120
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ Reviewed-by: Dan Mick <dan.mick@inktank.com>
+ (cherry picked from commit 6a65b9131c444041d16b880c6a7f332776063a78)
+
+commit bf3f8702c580c6b9647878837355688a2a4f954c
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Mar 27 18:44:32 2013 -0700
+
+ ceph-disk: reimplement list_all_partitions
+
+ Use /dev/disk/by-id to list disks and their partitions. This is more
+ accurate and correct than the previous (as-yet unused) implementation.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit d3e49047ff405573aa41f45864cf315be23f5c50)
+
+commit 9da81e4e798b8e5593f3a7eda6dfa8586307121f
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Mar 27 18:43:59 2013 -0700
+
+ ceph-disk: reimplement is_partition
+
+ Previously we were assuming any device that ended in a digit was a
+ partition, but this is not at all correct (e.g., /dev/sr0, /dev/rbd1).
+ Instead, look in /dev/disk/by-id and see if there is a symlink that ends in
+ -partNN that links to our device.
+
+ There is probably still a better way...
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 20d594a889d62110ad03b761d8703f79f8eea6ad)
+
+commit 0c8efc0664f068a1952fe54b8034d005cf3f9ce8
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Mar 27 12:45:29 2013 -0700
+
+ ceph-disk: conditionally remove mount path
+
+ umount removes it on success; only remove it here if it is still there.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 4362934a94c5a6f7521f06aa1255e111094e1d88)
+
+commit 153994cdcf9bc4a9719849d951bec5f4983340b5
+Author: Sage Weil <sage@inktank.com>
+Date: Tue Mar 26 17:04:14 2013 -0700
+
+ ceph-disk: ignore udevadm settle return code
+
+ If we time out, just continue and let the next step fail.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 2ae297ccb812c00204ec0c4dc614821c506062b9)
+
+commit d714049d530dc9611cf5f2fcb9b272c355dbe9f1
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Mon Mar 25 17:45:32 2013 +0100
+
+ ceph-disk: rename some local variabels in list_*partitions
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit b7d7e6894c550a7afa8dfb5bfa2bc54b5d331178)
+
+commit ecb34b81b843adaf9455503eb3ecc69ea94652a3
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Mon Mar 25 16:24:00 2013 +0100
+
+ ceph-disk: fix naming of a local variable in find_cluster_by_uuid
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 0b5fcfffe6d2f69bd4318cc93ef73195d948b9c5)
+
+commit 63eb85072f6a61552725bd04dfb261e5cd52a60a
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Mon Mar 25 16:18:17 2013 +0100
+
+ ceph-disk: rename some constants to upper case variable names
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 8a999ded088e688fd3f4a7c27127b7c06f0b2f66)
+
+commit d26a03422a37f16d609de12f8973f3c32ffedae0
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Mon Mar 25 16:15:29 2013 +0100
+
+ ceph-disk: add some more docstrings
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 86e55f5448c4b5b46b74d2d89b01d1e64b1ea826)
+
+commit bd8bb984806a1dbc3514c3a2a8980a03cfb2bc23
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Mon Mar 25 14:36:41 2013 +0100
+
+ ceph-disk: print subprocess.CalledProcessError on error
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 543327b1f2a9efe8083bb196433c4bcf83883269)
+
+commit 970348fc46a7e100731ffdc63d20f343dcb1b787
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Mon Mar 25 13:55:56 2013 +0100
+
+ ceph-disk: fix indention
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 2d26bcc07162a5176cdbc1748b829e3f39653697)
+
+commit 0113e5335e1552294bbf075cfff85c204b164e95
+Author: Gary Lowell <glowell@inktank.com>
+Date: Tue Mar 26 11:31:16 2013 -0700
+
+ ceph-disk: udevadm settle before partprobe
+
+ After changing the partition table, allow the udev event to be
+ processed before calling partprobe. This helps prevent partprobe
+ from getting a resource busy error on some platforms.
+
+ Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
+ (cherry picked from commit 9eda8e5d5abf0743a2ad484806cfb2018243515f)
+
+commit 02d48351f73330917185d8980f8ad123b99138b5
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Mar 22 10:09:55 2013 -0700
+
+ ceph-disk: re-add python 2.7 dependency comment
+
+ FIXME!
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 6d63752c8fde91cdab306d1ca689690b269fe977)
+
+commit e92baf5081a43ff3290eb934612a11fbed946469
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Wed Mar 20 14:36:58 2013 +0100
+
+ ceph-disk: cast output of subprocess.Popen() to str()
+
+ Cast output of subprocess.Popen() to str() to be able to use
+ str.split() and str.splitlines() without warnings from pylint.
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 87691dc46edfba11c370592dbb533772190be4b2)
+
+commit 1ffc89af1954643426708987a09291463bd7525b
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Wed Mar 20 14:02:28 2013 +0100
+
+ ceph-disk: fix adjust_symlink() replace 'journal' with 'target'
+
+ Replace 'journal' variable with 'target' since journal doesn't
+ exist in this function.
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 3575feb7d2e5f4e35c5df193a1f8c9f08f88fcf4)
+
+commit 690ab6b3e284e9beed74b3e77612e804464e467d
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Wed Mar 20 14:01:02 2013 +0100
+
+ ceph-disk: fix adjust_symlink() replace 'canonical' with 'path'
+
+ Replace 'canonical' variable with 'path' since canonical doesn't
+ exist in this function.
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit a27cb85b21610b4a9f8eb24f8f6cd04902349728)
+
+commit 329f279cd108c837e434ee3aae6c8ad502ba802f
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Wed Mar 20 13:56:23 2013 +0100
+
+ ceph-disk: there is no os.path.lstat use os.lstat
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 6d3247b5c02c39a66666a5833106dbc23044e436)
+
+commit ffe024b8b5024cdac256bacb9df433b69385cc0a
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Wed Mar 20 13:30:21 2013 +0100
+
+ ceph-disk: remove unused variable key from prepare_journal_dev()
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 97b4f8d66bef2328fa53f9e508eb38f8b8d49632)
+
+commit 9464284f3ac9737345c595847e165db48adc0a70
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Wed Mar 20 13:27:27 2013 +0100
+
+ ceph-disk: fix except to catch OSError
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 9daf6cfce2d57509d896eae28bb97146a682a306)
+
+commit 01152115f7bf4a307296c9126174ce09bb0ce22d
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Wed Mar 20 13:15:36 2013 +0100
+
+ ceph-disk: add missing space after >> operator
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 0ada43f79d2b1f9f84367e558c6d1a3e90e5c9b2)
+
+commit b9f86d96f5dd6ca18eb39882caf69e76369b5e0b
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Wed Mar 20 12:33:09 2013 +0100
+
+ fix: Redefining name 'uuid' from outer scope (line 14)
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit d3c60dc8cad1db1d5df1c740bc805aaf9ba606ba)
+
+commit 6fa6cd85b55935739e16b8ba537f7848dbb0218f
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Wed Mar 20 12:17:45 2013 +0100
+
+ ceph-disk: remove unused variables from list_partitions()
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 6a8120d4b0c4cfa851d473532eb2366534f8653d)
+
+commit 0b4e85fe23e8aa24e8aef8548df2b508bda24752
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Wed Mar 20 12:10:22 2013 +0100
+
+ ceph-disk: fix /dev/dm-[0-9] handling list_all_partitions()
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 3af7a1ac5bf24bf832d7180002281d6b5853e85a)
+
+commit 3ec61f85f6a8a8af8a2b921f94e77a77be77a1d7
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Tue Mar 19 22:07:36 2013 +0100
+
+ ceph-disk: rename local variable shadowing builtin
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 9bcf5b64f45ab6c4bdedf820ed111319b2dbd778)
+
+commit bd1036dd83fa2ee4807047fb9c2b414ccc9375eb
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Tue Mar 19 22:05:23 2013 +0100
+
+ ceph-disk: remove twice defined identical function unmount
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 4adf088107586be7b356d1e963570cdab232809e)
+
+commit 8dd8cbac6f88fcb9d2c6838b9f961c70cccb9288
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Tue Mar 19 22:02:49 2013 +0100
+
+ ceph-disk: remove twice defined function mount
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit ea26ea0d81a23aa76076ad5441c3b1aadfba3b44)
+
+commit 0da87db1c0e4b44b69c19b718d89e7a621979009
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Tue Mar 19 21:58:22 2013 +0100
+
+ ceph-disk: remove double defined function get_conf
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit c57daa3c6e03e8974e133d3a2d9bc3d6f06f4faf)
+
+commit 9c46dfb2512d3b55345faed1bebb9204ba07d030
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Tue Mar 19 21:51:54 2013 +0100
+
+ ceph-disk: rename local variable shadowing builtin
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 57dde5c8b18ff4ccd53a30bb94119c0ffceb52b7)
+
+commit b807d8ba0a0c23c7dab6893bc5297e07c0fd902f
+Author: Sage Weil <sage@inktank.com>
+Date: Mon Mar 18 14:55:24 2013 -0700
+
+ ceph-disk: install and package
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit c2602d749023b24ac22d8cfce6e04889078f14d8)
+
+ Conflicts:
+
+ debian/ceph.install
+
+commit 8901e02db05837b12d5e1d0ec6f14f909cc03315
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Mar 15 16:50:05 2013 -0700
+
+ ceph-disk: simplify command dispatch
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit f287c6f90af0dfdd41358846b069aa3c54b600b3)
+
+commit 3cbc0d0c92ad19d5022c94d9d1ac00aff4eb9b2d
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Mar 15 16:40:32 2013 -0700
+
+ ceph-disk: consolidate exceptions
+
+ Use a single exception type, and catch it at the top level.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit a019753bd3897ee0f5d9c3563c653c5457d5e67d)
+
+commit b4176bafa2b0721664332a1bb8b73da54151f685
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Mar 15 16:36:45 2013 -0700
+
+ ceph-disk: consolidate ceph-disk-* into a single binary
+
+ ceph-disk prepare ...
+ ceph-disk activate ...
+ ceph-disk ...
+
+ This let's us share code (we were already duplicating a bunch of stuff!)
+ and to add new commands easily.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 20e4ba5cebb7b4989d1745932f7a412c28504ee1)
+
+commit 455cb32543df8036a605dc7b6c194e58b10bc4ec
+Author: Sage Weil <sage@inktank.com>
+Date: Mon Mar 18 21:13:34 2013 -0700
+
+ ceph-disk-prepare: 'mkfs -t' instead of 'mkfs --type='
+
+ Older mkfs (el6) doesn't like --type=.
+
+ Fixes: #4495
+ Reported-by: Alexandre Maragone <alexandre.maragone@inktank.com>
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit d47759429a6e2fdd392265e90b67046302c97644)
+
+commit 19a2cf58504a3305ac9afe3d6642cf68e1b0f6c1
+Author: Sage Weil <sage@inktank.com>
+Date: Thu Mar 14 21:05:07 2013 -0700
+
+ ceph-disk-activate: identify cluster .conf by fsid
+
+ Determine what cluster the disk belongs to by checking the fsid defined
+ in /etc/ceph/*.conf. Previously we hard-coded 'ceph'.
+
+ Note that this has the nice side-effect that if we have a disk with a
+ bad/different fsid, we now fail to activate it. Previously, we would
+ mount and start ceph-osd, but the daemon would fail to authenticate
+ because it was part of the wrong cluster.
+
+ Fixes: #3253
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 80af5fb887f30792c342ac16da9ed95d7e89e491)
+
+commit 568485bea8ae9f0f36571de259c7254fa4227b15
+Author: Sage Weil <sage@inktank.com>
+Date: Thu Mar 14 16:18:26 2013 -0700
+
+ ceph-disk-activate: abort if target position is already mounted
+
+ If the target position is already a mount point, fail to move our mount
+ over to it. This usually indicates that a different osd.N from a
+ different cluster instances is in that position.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 7370b5564606474f11b9ac5afb7cc60e0ac36ed1)
+
+commit a6ecf9288af248656bc712c1a4de910ff107a9a2
+Author: Sage Weil <sage@inktank.com>
+Date: Thu Mar 14 12:05:52 2013 -0700
+
+ Revert "ceph-disk-activate: rely on default/configured keyring path"
+
+ This reverts commit 936b8f20af1d390976097c427b6e92da4b39b218.
+
+ This is necessary because we mount the osd in a temporary location.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit b6102c0945a0d68b7c5ff7f2254a1a994788ca0f)
+
+commit 7c1edc0c927a27c07b6f1611c2cf9c48f2dc95f6
+Author: Sage Weil <sage@inktank.com>
+Date: Thu Mar 14 12:04:44 2013 -0700
+
+ Revert "ceph-disk-activate: don't override default or configured osd journal path"
+
+ This reverts commit 813e9fe2b4291a1c1922ef78f031daa9b78fe53b.
+
+ We run --mkfs with the osd disk mounted in a temporary location, so it is
+ necessary to explicitly pass in these paths.
+
+ If we want to support journals in a different location, we need to make
+ ceph-disk-prepare update the journal symlink accordingly.. not control it via
+ the config option.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 3e628eee770508e750f64ea50179bbce52e7b8e0)
+
+commit 739b013cfa4b84d36750b80ce44579498e7ea4f4
+Author: Sage Weil <sage@inktank.com>
+Date: Mon Mar 11 21:15:11 2013 -0700
+
+ ceph-disk-activate: rely on default/configured keyring path
+
+ No reason to override the default or configured value here.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 936b8f20af1d390976097c427b6e92da4b39b218)
+
+commit 897413f90c0e802c6824c0ee8d06bdae33979293
+Author: Sage Weil <sage@inktank.com>
+Date: Mon Mar 11 21:14:53 2013 -0700
+
+ ceph-disk-activate: don't override default or configured osd journal path
+
+ There is no reason not to rely on the default or obey any configured
+ value here.
+
+ Fixes: #4031
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 813e9fe2b4291a1c1922ef78f031daa9b78fe53b)
+
+commit 35eac085182e569b17c287c86e1415880909be22
+Author: Sage Weil <sage@inktank.com>
+Date: Tue Mar 5 13:08:26 2013 -0800
+
+ ceph-disk-prepare: move in-use checks to the top, before zap
+
+ Move the in-use checks to the very top, before we (say) zap!
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 32407c994f309cd788bf13fe9af27e17a422309a)
+
+commit 5ad4120a4825d6615778a005cff990afccf30691
+Author: Sage Weil <sage@inktank.com>
+Date: Mon Mar 4 20:57:52 2013 -0800
+
+ ceph-disk-prepare: verify device is not in use by device-mapper
+
+ Be nice and tell the user which devices/mappings are consuming the device,
+ too.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit a6196de9e2f3ca9d67691f79d44e9a9f669443e9)
+
+commit e4a520029196cc76f1ec45695554ca6330bf14aa
+Author: Sage Weil <sage@inktank.com>
+Date: Mon Mar 4 16:38:57 2013 -0800
+
+ ceph-disk-prepare: verify device is not mounted before using
+
+ Make sure the data and/or journal device(s) are not in use (mounted)
+ before using them. Make room for additional "in-use" checks in the future.
+
+ Closes: #3256
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 3bd0ac0ab011c4cdf0121f0d9732938d085fb8bf)
+
+commit d05b439142a24d28f35c6a09a8ab7c9eed503cd5
+Author: Sage Weil <sage@inktank.com>
+Date: Mon Mar 4 16:29:57 2013 -0800
+
+ ceph-disk-prepare: clean up stupid check for a digit
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit f03f62697f170d42b4b62c53d2860ff2f24a2d73)
+
+commit ea07b0e1047a4ac1b4dde88c795709190bd048be
+Author: Sage Weil <sage@inktank.com>
+Date: Mon Mar 4 16:08:15 2013 -0800
+
+ ceph-disk-prepare: use os.path.realpath()
+
+ My janky symlink resolution is broken in various ways.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 59505546e52a175435881b431bd349d532ae627e)
+
+commit 8f7e3e7dbbb9cab869366927c1687c38c012a1ef
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Thu Feb 28 14:16:26 2013 +0100
+
+ ceph.spec.in: add new Requires from ceph-disk-prepare
+
+ Added new Requires from ceph-disk-prepare: cryptsetup, gptfdisk,
+ parted and util-linux.
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 5c3f5c5b69a9edc99138d4f1ddb016689303dc28)
+
+ Conflicts:
+
+ ceph.spec.in
+
+commit 3441acf3749dbd99f1e00e5306e8180647085d2a
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Feb 27 13:31:12 2013 -0800
+
+ debian: require cryptsetup-bin
+
+ This is needed for ceph-disk-prepare's dmcrypt support.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit cfcaceac44d6b7b7c55e81d0bfb05f4893f3b1d0)
+
+ Conflicts:
+
+ debian/control
+
+commit abdac6fddd25bc71f59c1097246cfa32b33b0f5f
+Author: Alexandre Marangone <alexandre.marangone@inktank.com>
+Date: Mon Apr 15 15:57:00 2013 -0700
+
+ Fix: use absolute path with udev
+
+ Avoids the following: udevd[61613]: failed to execute '/lib/udev/bash'
+ 'bash -c 'while [ ! -e /dev/mapper/....
+
+ Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
+ (cherry picked from commit 785b25f53dc7f8035eeba2aae8a196e3b102d930)
+
+commit d1775daf68d9aa887116a357cbcaf7c44e091cce
+Author: Sage Weil <sage@inktank.com>
+Date: Sat Feb 16 20:55:03 2013 -0800
+
+ ceph-disk-prepare: -f for mkfs.xfs only
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit fecc3c3abf1176f4c7938e161559ea2db59f1cff)
+
+commit 405e0ea1c692b1d62f948734e07c4f919b90d4e0
+Author: Sage Weil <sage@inktank.com>
+Date: Sat Feb 16 16:49:50 2013 -0800
+
+ debian: fix start of ceph-all
+
+ Tolerate failure, and do ceph-all, not ceph-osd-all.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit aff0bb6fdc8ca358f7ac1e941bb9cfecbefb4bb6)
+
+commit 632be442261cabd56da0dc897b8a47a8e5493dce
+Author: Alexandre Marangone <alexandre.marangone@inktank.com>
+Date: Fri Feb 15 12:24:01 2013 -0800
+
+ ceph-disk-prepare: always force mkfs.xfs
+
+ Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
+ (cherry picked from commit d950d83250db3a179c4b629fd32cd7bc8149997e)
+
+commit 28d1193836edee622763e308aad69c7bfe7a4971
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Feb 13 18:22:45 2013 -0800
+
+ udev: trigger on dmcrypted osd partitions
+
+ Automatically map encrypted journal partitions.
+
+ For encrypted OSD partitions, map them, wait for the mapped device to
+ appear, and then ceph-disk-activate.
+
+ This is much simpler than doing the work in ceph-disk-activate.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit e090a92a20f4161f473d16bc966f7d6aacac75ee)
+
+commit 5c5021b43ab70a08d791020262f76879dc77effb
+Author: Sage Weil <sage@inktank.com>
+Date: Tue Feb 12 21:35:56 2013 -0800
+
+ ceph-disk-prepare: add initial support for dm-crypt
+
+ Keep keys in /etc/ceph/dmcrypt-keys.
+
+ Identify partition instances by the partition UUID. Identify encrypted
+ partitions by a parallel set of type UUIDs.
+
+ Signed-off-by: Alexandre Marangone <alexandre.maragone@inktank.com>
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit c6ac0ddf91915ba2aeae46d21367f017e18e82cd)
+
+commit d7084037d7a2395acfe8181f94963c1337c0f95b
+Author: Alexandre Marangone <alexandre.marangone@inktank.com>
+Date: Fri Feb 15 12:22:33 2013 -0800
+
+ ceph-disk-activate: pull mount options from ceph.conf
+
+ Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
+ (cherry picked from commit e7040f55f01db3de7d5cebfc79de50c8b6ad5d45)
+
+commit 34fba357ca8b662c7b943d426ed37875c173003f
+Author: Sage Weil <sage@inktank.com>
+Date: Thu Feb 14 17:05:32 2013 -0800
+
+ ceph-disk-activate: use full paths for everything
+
+ We are run from udev, which doesn't get a decent PATH.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit b1c0fccba42dd184a2891ee873c0d6d8f8c79d14)
+
+commit caad18745cd8553a012d9e7f92e59d5b4450dcf2
+Author: Sage Weil <sage@inktank.com>
+Date: Thu Feb 14 17:04:55 2013 -0800
+
+ ceph-disk-prepare: do partprobe after setting final partition type
+
+ This is necessary to kick udev into processing the updated partition and
+ running its rules.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 95835de9f80712eb26652ac6b66ba9c5eeb093d6)
+
+commit e1624e4626b4e67909f3bb83920c99ad323ed083
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Feb 13 21:47:30 2013 -0800
+
+ debian: start/stop ceph-all event on install/uninstall
+
+ This helps us avoid the confusing situation with upstart where an individual
+ daemon job is running (like ceph-osd id=2) but the container jobs ceph-osd-all
+ and ceph-all are not.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit b7b9af5c0d531dcee7ce9b10043a29b0a1b31f47)
+
+commit 656305f65eb33d68b95f4d29f37b031cf6cf889a
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Feb 13 21:37:08 2013 -0800
+
+ ceph-disk-activate: catch daemon start errors
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 690ae05309db118fb3fe390a48df33355fd068a0)
+
+commit 8b771bf929c4a9ab3fd4eb6f40b9222a463fd1a4
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Feb 13 17:30:19 2013 -0800
+
+ udev: trigger ceph-disk-activate directly from udev
+
+ There is no need to depend on upstart for this.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 5bd85ee5aa31bfd1f4f0e434f08c2a19414358ef)
+
+ Conflicts:
+
+ ceph.spec.in
+
+commit ffb0613efaa9cf919992640322785eedf95ca25f
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Feb 13 16:02:10 2013 -0800
+
+ ceph-disk-activate: auto detect init system
+
+ Look for an option 'init' in ceph.conf. Otherwise, check if we're ubuntu.
+ If so, use upstart. Otherwise, use sysvinit.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit d1904b2a848af3c02d2065ac2a42abe0e2699d0f)
+
+commit 74b562703c422890c67b2a88d7b18242f64949dc
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Feb 13 15:49:42 2013 -0800
+
+ ceph-disk-activate: specify full path for blkid, initctl, service
+
+ /sbin apparently isn't in the path when udev runs us.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit f06b45e66315310abb0720e021da377186455048)
+
+commit 9ea32e5f066bee75923212d8009fb37a365ef32e
+Author: Sage Weil <sage@inktank.com>
+Date: Sat Jan 26 19:18:23 2013 -0800
+
+ upstart: ceph-hotplug -> ceph-osd-activate
+
+ This is a more meaningful name.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit e011ad128e7f302cb6955d9a7171ac0ec8890ddf)
+
+commit 494533a55010a59a52f6dcbe64f76e677a7dfe8e
+Author: Sage Weil <sage@inktank.com>
+Date: Sat Jan 26 19:14:22 2013 -0800
+
+ upstart/ceph-hotplug: tell activate to start via upstart
+
+ This will mark the OSD data dir as upstart-managed.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 792e45c63dd7a9622fddd6e15ee4c075f995ea56)
+
+commit 5e0892fd8cbc2571d94cffc0b64daaa4ec6c38f8
+Author: Sage Weil <sage@inktank.com>
+Date: Sat Jan 26 19:08:22 2013 -0800
+
+ ceph-disk-prepare: refactor to support DIR, DISK, or PARTITION for data or journal
+
+ Lots of code reorganization collapsed into a single commit here.
+
+ - detect whether the user gave us a directory, disk, or partition, and Do The
+ Right Thing
+ - allow them to force that the input was of type X, for the careful/paranoid.
+ - make --zap-disk an option -- no longer the default
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit b2ff6e8c9d96dee2c063b126de7030a5c2ae0d02)
+
+commit aa428017e4aad9872a54cd87036ef2bb528aac7b
+Author: Sage Weil <sage@inktank.com>
+Date: Sat Jan 26 20:33:16 2013 -0800
+
+ ceph-disk-activate: detect whether PATH is mount or dir
+
+ remove in-the-way symlinks in /var/lib/ceph/osd
+
+ This is simpler. Just detect what the path is and Do The Right Thing.
+
+ Closes #3341 (which wanted to make --mount the default)
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 191d5f7535f8d96d493e1b35b43a421c67c168ea)
+
+commit e6d5aa053dbaaf07c94e35406c23f4ca009fe2da
+Author: Sage Weil <sage@inktank.com>
+Date: Sat Jan 26 20:32:47 2013 -0800
+
+ ceph-disk-activate: add --mark-init INITSYSTEM option
+
+ Do not assume we will manage via upstart; let that be passed down via the
+ command line.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit fd4a921085a861e4aa428376219bb39055731f2b)
+
+commit fa23919eae363291b4807afe3fadd34f94e9ddcb
+Author: Sage Weil <sage@inktank.com>
+Date: Sat Jan 26 14:44:26 2013 -0800
+
+ ceph-disk-activate: factor mounting out of activate
+
+ The activate stuff is generic for any OSD, regardless of whether we want
+ to mount it or not. Pull that part out.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 07655288281c9c6f691f87352dc26b7c11ae07e8)
+
+commit 181ebdee0addfe3d13c13342def94ecf9415d6d5
+Author: Sage Weil <sage@inktank.com>
+Date: Tue Feb 12 18:17:55 2013 -0800
+
+ debian: put ceph-mds upstart conf in ceph-mds package
+
+ Fixes: #3157
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 23ad3a46a0099e263f43e0f0c1df1d21cfe58b3f)
+
+commit 919b0aedf7286e85e6ddc23f99f80f29e1d35db6
+Author: Sage Weil <sage@inktank.com>
+Date: Tue Feb 12 17:02:52 2013 -0800
+
+ debian: include /var/lib/ceph/bootstrap-mds in package
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit e80675a0f333c04452d4822fd0eb3c6e92eda3df)
+
+commit f97f49b1e7ca8555c945b93fbc8241f5fa620dd8
+Author: Sage Weil <sage@inktank.com>
+Date: Tue Feb 12 16:26:14 2013 -0800
+
+ ceph-create-keys: create mds bootstrap key
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 809143f16c70483ba5bb429dea812d31b67f2b49)
+
+commit f43c339d67b78e6afc3737d26cea4bc05dcea900
+Author: Sage Weil <sage@inktank.com>
+Date: Sat Jan 26 14:45:43 2013 -0800
+
+ upstart/ceph-hotplug: drop -- in ceph-disk-activate args
+
+ We would like to transition to
+
+ ceph-disk-activate --mount DEV
+
+ and away from a generic multi-definition PATH argument.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 4698b6a1035dee8509ce2d4dab7b34a16b78f7cd)
+
+commit 39df4c81f2166b7e9ac89c591b268b60de4042e6
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Jan 25 22:53:23 2013 -0800
+
+ init-ceph: iterate/locate local sysvinit-tagged directories
+
+ Search /var/lib/ceph/$type/ceph-$id and start/stop those daemons if
+ present and tagged with the sysvinit file.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit c8f528a4070dd3aa0b25c435c6234032aee39b21)
+
+commit 05efb7ab5b289472a1af05d6aa100a7385be304e
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Jan 25 22:52:03 2013 -0800
+
+ init-ceph: consider sysvinit-tagged dirs as local
+
+ If there is a 'sysvinit' file in the daemon directory in the default
+ location (/var/lib/ceph/$type/ceph-$id), consider it sysvinit-managed.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit b8aa4769a62e0d88174678cbefd89d9ee2baceea)
+
+commit 8c4c53abf84d30ff4a605225a22575f56d946971
+Author: Sage Weil <sage@inktank.com>
+Date: Mon Feb 11 17:39:03 2013 -0800
+
+ ceph-disk-prepare: align mkfs, mount config options with mkcephfs
+
+ 'osd mkfs ...', not 'osd fs mkfs ...'. Sigh. Support both.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit af2372ca4a702da70275edd1b1357fcff51e6ae2)
+
+commit a8e7e9df61a7229d9e2b4b4dedc68b5c1bf15c38
+Author: Sage Weil <sage@inktank.com>
+Date: Tue Apr 23 10:00:38 2013 -0700
+
+ init-ceph: fix (and simplify) pushing ceph.conf to remote unique name
+
+ The old code would only do the push once per remote node (due to the
+ list in $pushed_to) but would reset $unique on each attempt. This would
+ break if a remote host was processed twice.
+
+ Fix by just skipping the $pushed_to optimization entirely.
+
+ Fixes: #4794
+ Reported-by: Andreas Friedrich <andreas.friedrich@ts.fujitsu.com>
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit ccbc4dbc6edf09626459ca52a53a72682f541e86)
+
+commit 9374baccb8a71e1fe5ea2e614feac93e865dd027
+Merge: b6b4ebe aa37726
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Tue Apr 23 12:04:45 2013 -0700
+
+ Merge pull request #238 from ceph/wip-bobtail-rbd-backports-req-order
+
+ Reviewed-by: Sage Weil <sage.weil@inktank.com>
+
+commit aa37726b8d43d08b495d55dc2aef93854e9539c5
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Tue Apr 23 09:18:30 2013 -0700
+
+ rbd: only set STRIPINGV2 feature when needed
+
+ Only set the STRIPINGV2 feature if the striping parameters are non-default.
+ Specifically, fix the case where the passed-in size and count are == 0.
+
+ Fixes: #4710
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 5926ffa576e9477324ca00eaec731a224195e7db)
+
+ Conflicts:
+
+ src/rbd.cc
+
+commit 0e2266dba912cde2c4a86ba7055c8bec3a5bc1a5
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Apr 10 14:16:56 2013 -0700
+
+ LibrbdWriteback: complete writes strictly in order
+
+ RADOS returns writes to the same object in the same order. The
+ ObjectCacher relies on this assumption to make sure previous writes
+ are complete and maintain consistency. Reads, however, may be
+ reordered with respect to each other. When writing to an rbd clone,
+ reads to the parent must be performed when the object does not exist
+ in the child yet. These reads may be reordered, resulting in the
+ original writes being reordered. This breaks the assmuptions of the
+ ObjectCacher, causing an assert to fail.
+
+ To fix this, keep a per-object queue of outstanding writes to an
+ object in the LibrbdWriteback handler, and finish them in the order in
+ which they were sent.
+
+ Fixes: #4531
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 06d05e5ed7e09fa873cc05021d16f21317a1f8ef)
+
+commit 7a11c2505a8b74babee90cca945c2a068a656ec1
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Apr 10 12:22:02 2013 -0700
+
+ LibrbdWriteback: removed unused and undefined method
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 909dfb7d183f54f7583a70c05550bec07856d4e4)
+
+commit 884438febaf12dc380d4a1a3c3c8d3cbefd32399
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Apr 10 12:06:36 2013 -0700
+
+ LibrbdWriteback: use a tid_t for tids
+
+ An int could be much smaller, leading to overflow and bad behavior.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 9d19961539b2d50d0c9edee1e3d5ac6912a37f24)
+
+commit 124f81cc5fa5a3ac9e7777ad49dd42d864fd7f68
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Apr 10 12:03:04 2013 -0700
+
+ WritebackHandler: make read return nothing
+
+ The tid returned by reads is ignored, and would make tracking writes
+ internally more difficult by using the same id-space as them. Make read
+ void and update all implementations.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 870f9cd421ca7b0094f9f89e13b1898a8302c494)
+
+commit 13ba07a0f3af479861c0e83e3e6441fef1bc8a99
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Mon Apr 1 14:51:46 2013 -0700
+
+ ObjectCacher: deduplicate final part of flush_set()
+
+ Both versions of flush_set() did the same thing. Move it into a
+ helper called from both.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit f5b81d8d167d1aa7f82a5776bbb1f319063ab809)
+
+commit 7bc8df1f3e3b60b59672a082eba374729a6866b8
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Apr 10 11:35:46 2013 -0700
+
+ test_stress_watch: remove bogus asserts
+
+ There's no reason to check the duration of a watch. The notify will
+ timeout after 30s on the OSD, but there's no guarantee the client will
+ see that in any bounded time. This test is really meant as a stress
+ test of the OSDs anyway, not of the clients, so just remove asserts
+ about operation duration.
+
+ Fixes: #4591
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ Reviewed-by: Sam Just <sam.just@inktank.com>
+ (cherry picked from commit 4b656730ffff21132f358c2b9a63504dfbf0998d)
+
+commit 4a1c27c0e6e2e70be2b58e01872e321352c8e484
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Mon Apr 1 11:09:52 2013 -0700
+
+ librados: don't use lockdep for AioCompletionImpl
+
+ This is a quick workaround for the next branch. A more complete fix
+ will be done for the master branch. This does not affect correctness,
+ just what qa runs with lockdep enabled do.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ Reviewed-by: Sage Weil <sage.weil@inktank.com>
+ (cherry picked from commit 267ce0d90b8f3afaaddfdc0556c9bafbf4628426)
+
+commit d36c5b5bd30a9d7e60403a09cedaea28bdc29e99
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Fri Mar 29 12:46:27 2013 -0700
+
+ librados: move snapc creation to caller for aio_operate
+
+ The common case already has a snapshot context, so avoid duplicating
+ it (copying a potentially large vector) in IoCtxImpl::aio_operate().
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 4c4d5591bdb048cd9ffa25b529c6127356e7f9a7)
+
+commit 31a45e8e23ebf9815ce5a4e0c89ddbf384702aad
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Thu Mar 21 16:04:10 2013 -0700
+
+ librbd: add an async flush
+
+ At this point it's a simple wrapper around the ObjectCacher or
+ librados.
+
+ This is needed for QEMU so that its main thread can continue while a
+ flush is occurring. Since this will be backported, don't update the
+ librbd version yet, just add a #define that QEMU and others can use to
+ detect the presence of aio_flush().
+
+ Refs: #3737
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 302b93c478b3f4bc2c82bfb08329e3c98389dd97)
+
+commit f2e490cb5b1f322e637d787e788733ac4b2496f4
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Mar 27 15:42:10 2013 -0700
+
+ librbd: use the same IoCtx for each request
+
+ Before we were duplicating the IoCtx for each new request since they
+ could have a different snapshot context or read from a different
+ snapshot id. Since librados now supports setting these explicitly
+ for a given request, do that instead.
+
+ Since librados tracks outstanding requests on a per-IoCtx basis, this
+ also fixes a bug that causes flush() without caching to ignore
+ all the outstanding requests, since they were to separate,
+ duplicate IoCtxs.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 860493e7ff0d87d02069b243fc1c8326ce0721f9)
+
+commit cbb37fb5470f22949a4dbb747f428943cce4aca7
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Mar 27 15:37:27 2013 -0700
+
+ librbd: add an is_complete() method to AioCompletions
+
+ Mainly this is useful for testing, like flushing and checking that
+ all pending writes are complete after the flush finishes.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 2ae32068dee22a0ca0698e230ead98f2eeeff3e6)
+
+commit f9bcffa2482220202e68d6bac70216d44ee5046b
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Mar 27 15:32:29 2013 -0700
+
+ librados: add versions of a couple functions taking explicit snap args
+
+ Usually the snapid to read from or the snapcontext to send with a write
+ are determined implicitly by the IoCtx the operations are done on.
+
+ This makes it difficult to have multiple ops in flight to the same
+ IoCtx using different snapcontexts or reading from different snapshots,
+ particularly when more than one operation may be needed past the initial
+ scheduling.
+
+ Add versions of aio_read, aio_sparse_read, and aio_operate
+ that don't depend on the snap id or snapcontext stored in the IoCtx,
+ but get them from the caller. Specifying this information for each
+ operation can be a more useful interface in general, but for now just
+ add it for the methods used by librbd.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit f06debef6c293750539501ec4e6103e5ae078392)
+
+commit fb95b800a4cc431a8bd98692fffbfc150f6f8d67
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Mar 27 14:48:31 2013 -0700
+
+ librados: add async flush interface
+
+ Sometimes you don't want flush to block, and can't modify
+ already scheduled aio_writes. This will be useful for a
+ librbd async flush interface.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 7cc0940f89070dadab5b9102b1e78362f762f402)
+
+ Conflicts:
+
+ src/include/rados/librados.h
+ src/include/rados/librados.hpp
+
+commit 3a61d17b6729b73d0bf2df106f54dafb603af646
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Thu Mar 28 10:34:37 2013 -0700
+
+ ObjectCacher: remove unneeded var from flush_set()
+
+ The gather will only have subs if there is something to flush. Remove
+ the safe variable, which indicates the same thing, and convert the
+ conditionals that used it to an else branch. Movinig gather.activate()
+ inside the has_subs() check has no effect since activate() does
+ nothing when there are no subs.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 553aaac8a19e2359acf6d9d2e1bb4ef0bdba7801)
+
+commit ee7bf281005cce671e467ca9b9eff0ba7eb9899e
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Fri Mar 22 12:17:43 2013 -0700
+
+ ObjectCacher: remove NULL checks in flush_set()
+
+ Callers will always pass a callback, so assert this and remove the
+ checks for it being NULL.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 41568b904de6d155e5ee87c68e9c31cbb69508e5)
+
+commit d86f9b1dd370563170ab875c6a7de511f05acbf7
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Fri Mar 22 12:13:36 2013 -0700
+
+ ObjectCacher: always complete flush_set() callback
+
+ This removes the last remnants of
+ b5e9995f59d363ba00d9cac413d9b754ee44e370. If there's nothing to flush,
+ immediately call the callback instead of deleting it. Callers were
+ assuming they were responsible for completing the callback whenever
+ flush_set() returned true, and always called complete(0) in this
+ case. Simplify the interface and just do this in flush_set(), so that
+ it always calls the callback.
+
+ Since C_GatherBuilder deletes its finisher if there are no subs,
+ only set its finisher when subs are present. This way we can still
+ call ->complete() for the callback.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 92db06c05dc2cad8ed31648cb08866781aee2855)
+
+ Conflicts:
+
+ src/client/Client.cc
+
+commit 00dfb3f06fb6c2581a3f71126adcde0126e5e207
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Tue Jan 29 14:22:15 2013 -0800
+
+ ObjectCacher: fix flush_set when no flushing is needed
+
+ C_GatherBuilder takes ownership of the Context we pass it. Deleting it
+ in flush_set after constructing the C_GatherBuilder results in a
+ double delete.
+
+ Fixes: #3946
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ Reviewed-by: Sam Lang <sam.lang@inktank.com>
+ (cherry picked from commit 3bc21143552b35698c9916c67494336de8964d2a)
+
+commit 0f2e5d36e4dcd073174715c310fa22a835ca1259
+Author: Sam Lang <sam.lang@inktank.com>
+Date: Fri Jan 18 14:59:12 2013 -0600
+
+ objectcacher: Remove commit_set, use flush_set
+
+ commit_set() and flush_set() are identical in functionality,
+ so use flush_set everywhere and remove commit_set from
+ the code.
+
+ Also fixes a bug in flush_set where the finisher context was
+ getting freed twice if no objects needed to be flushed.
+
+ Signed-off-by: Sam Lang <sam.lang@inktank.com>
+ (cherry picked from commit 72147fd3a1da8ecbcb31ddf6b66a158d71933909)
+
+commit 3b0c565dceb41dcaf53965321ef420641bcb699b
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Mar 13 09:42:43 2013 -0700
+
+ librbd: make aio_writes to the cache always non-blocking by default
+
+ When the ObjectCacher's writex blocks, it affects the thread requesting
+ the aio, which can cause starvation for other I/O when used by QEMU.
+
+ Preserve the old behavior via a config option in case this has any
+ bad side-effects, like too much memory usage under heavy write loads.
+
+ Fixes: #4091
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 03ac01fa6a94fa7a66ede057e9267e0a562c3cdb)
+
+commit e237dfc742bba76664861a8868c502946fe53548
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Mar 13 09:37:21 2013 -0700
+
+ ObjectCacher: optionally make writex always non-blocking
+
+ Add a callback argument to writex, and a finisher to run the
+ callbacks. Move the check for dirty+tx > max_dirty into a helper that
+ can be called from a wrapper around the callbacks from writex, or from
+ the current place in _wait_for_write().
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit c21250406eced8e5c467f492a2148c57978634f4)
+
+commit 7bc1596b90d2d5853659cb3ffbe9653b633345f4
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Mar 27 17:30:42 2013 -0700
+
+ librbd: flush cache when set_snap() is called
+
+ If there are writes pending, they should be sent while the image
+ is still writeable. If the image becomes read-only, flushing the
+ cache will just mark everything dirty again due to -EROFS.
+
+ Fixes: #4525
+ Backport: bobtail
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 613b7085bb48cde1e464b7a97c00b8751e0e917f)
+
+commit 9facdcac7bb8ab92f1ab486eaabee681e6b6519d
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Fri Mar 15 17:28:13 2013 -0700
+
+ librbd: optionally wait for a flush before enabling writeback
+
+ Older guests may not send flushes properly (i.e. never), so if this is
+ enabled, rbd_cache=true is safe for them transparently.
+
+ Disable by default, since it will unnecessarily slow down newer guest
+ boot, and prevent writeback caching for things that don't need to send
+ flushes, like the command line tool.
+
+ Refs: #3817
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 1597b3e3a1d776b56e05c57d7c3de396f4f2b5b2)
+
+commit 1c44b66fb371a5864860c067bb5f59374f43005d
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Fri Mar 8 18:57:24 2013 -0800
+
+ librbd: invalidate cache when flattening
+
+ The cache stores which objects don't exist. Flatten bypasses the cache
+ when doing its copyups, so when it is done the -ENOENT from the cache
+ is treated as zeroes instead of 'need to read from parent'.
+
+ Clients that have the image open need to forgot about the cached
+ non-existent objects as well. Do this during ictx_refresh, while the
+ parent_lock is held exclusively so no new reads from the parent can
+ happen until the updated parent metadata is visible, so no new reads
+ from the parent will occur.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 46e8fc00b2dc8eb17d8777b6ef5ad1cfcc389cea)
+
+commit d9ca1b00a4dacb4715a69a276a644d645d0d5bc1
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Fri Mar 8 17:53:31 2013 -0800
+
+ ObjectCacher: add a method to clear -ENOENT caching
+
+ Clear the exists and complete flags for any objects that have exists
+ set to false, and force any in-flight reads to retry if they get
+ -ENOENT instead of generating zeros.
+
+ This is useful for getting the cache into a consistent state for rbd
+ after an image has been flattened, since many objects which previously
+ did not exist and went up to the parent to retrieve data may now exist
+ in the child.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit f2a23dc0b092c5ac081893e8f28c6d4bcabd0c2e)
+
+commit 1e51be05b7909a676ae499ca84e4cce94bb50da4
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Fri Mar 8 17:49:27 2013 -0800
+
+ ObjectCacher: keep track of outstanding reads on an object
+
+ Reads always use C_ReadFinish as a callback (and they are the only
+ user of this callback). Keep an xlist of these for each object, so
+ they can remove themselves as they finish. To prevent racing requests
+ and with discard removing objects from the cache, clear the xlist in
+ the object destructor, so if the Object is still valid the set_item
+ will still be on the list.
+
+ Make the ObjectCacher constructor take an Object* instead of the pool
+ and object id, which are derived from the Object* anyway.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit f6f876fe51e40570596c25ac84ba3689f72776c2)
+
+commit f2bcf241257500f5784b216b7a377ddec4669531
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Mon Feb 25 16:09:26 2013 -0800
+
+ test_rbd: move flatten tests back into TestClone
+
+ They need the same setup, and it's easy enough to run specific
+ subtests. Making them a separate subclass accidentally duplicated
+ tests from TestClone.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 9c693d7e8312026f6d8d9586381b026ada35d808)
+
+commit cd989681823a2b8521c789f5d4fea5525ac53911
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Tue Feb 26 13:20:08 2013 -0800
+
+ librbd: fix rollback size
+
+ The duplicate calls to get_image_size() and get_snap_size() replaced
+ by 5806226cf0743bb44eaf7bc815897c6846d43233 uncovered this. The first
+ call was using the currently set snap_id instead of the snapshot being
+ rolled back to.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit d6c126e2131fefab6df676f2b9d0addf78f7a488)
+
+commit 796066b7a8324b12a660d9b80b927e643db7529e
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Mon Feb 25 12:05:16 2013 -0800
+
+ Merge branch 'wip-4249' into wip-4249-master
+
+ Make snap_rollback() only take a read lock on snap_lock, since
+ it does not modify snapshot-related fields.
+ Conflicts:
+ src/librbd/internal.cc
+ (cherry picked from commit db5fc2270f91aae220fc3c97b0c62e92e263527b)
+
+commit 34e9030e50fe15a320cbfbc9854c86deb3a9c57c
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Thu Feb 21 11:26:45 2013 -0800
+
+ librbd: make sure racing flattens don't crash
+
+ The only way for a parent to disappear is a racing flatten completing,
+ or possibly in the future the image being forcibly removed. In either
+ case, continuing to flatten makes no sense, so stop early.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit a1ae8562877d1b902918e866a1699214090c40bd)
+
+commit 6e6636d50840e97022c8e4a1072f42fee15050a9
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Thu Feb 21 11:17:18 2013 -0800
+
+ librbd: use rwlocks instead of mutexes for several fields
+
+ Image metadata like snapshots, size, and parent is frequently read,
+ but rarely updated. During flatten, we were depending on the parent
+ lock to prevent the parent ImageCtx from disappearing out from under
+ us while we read from it. The copy-up path also needed the parent lock
+ to be able to read from the parent image, which lead to a deadlock.
+
+ Convert parent_lock, snap_lock, and md_lock to RWLocks, and change
+ their use to read instead of exclusive locks where appropriate. The
+ main place exclusive locks are needed is in ictx_refresh, so this is
+ pretty simple. This fixes the deadlock, since parent_lock is only
+ needed for read access in both flatten and the copy-up operation.
+
+ cache_lock and refresh_lock are only really used for exclusive access,
+ so leave them as regular mutexes.
+
+ One downside to this is that there's no way to assert is_locked()
+ for RWLocks, so we'll have to be very careful about changing code
+ in the future.
+
+ Fixes: #3665
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 995ff0e3eaa560b242da8c019a2e11e735e854f7)
+
+commit 9b292199ef63822462c67cb6cf1cca6a53cf9fd7
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Thu Feb 21 11:15:41 2013 -0800
+
+ common: add lockers for RWLocks
+
+ This makes them easier to use, especially instead of existing mutexes.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit e0f8e5a80d6d22bd4dee79a4996ea7265d11b0c1)
+
+commit d8ac6cbf883fce0f39d661a879ff2462479d5494
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Thu Feb 21 23:22:59 2013 -0800
+
+ objecter: initialize linger op snapid
+
+ Since they are write ops now, it must be CEPH_NOSNAP or the OSD
+ returns EINVAL.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 15bb9ba9fbb4185708399ed6deee070d888ef6d2)
+
+commit 9ea4dac1db46c20cd83c5af5d29d9ce7a5768380
+Author: Sage Weil <sage@inktank.com>
+Date: Thu Feb 21 15:44:19 2013 -0800
+
+ objecter: separate out linger_read() and linger_mutate()
+
+ A watch is a mutation, while a notify is a read. The mutations need to
+ pass in a proper snap context to be fully correct.
+
+ Also, make the WRITE flag implicit so the caller doesn't need to pass it
+ in.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 6c08c7c1c6d354d090eb16df279d4b63ca7a355a)
+
+commit d9636faabfdb2c0a876f0afa092a2ab925cf8983
+Author: Sage Weil <sage@inktank.com>
+Date: Thu Feb 21 15:31:08 2013 -0800
+
+ osd: make watch OSDOp print sanely
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit de4fa95f03b99a55b5713911c364d7e2a4588679)
+
+commit 959bfe9097a2cfa48e2ab21f11bd32c1349807aa
+Author: Sage Weil <sage@inktank.com>
+Date: Thu Feb 21 13:28:47 2013 -0800
+
+ osdc/Objecter: unwatch is a mutation, not a read
+
+ This was causing librados to unblock after the ACK on unwatch, which meant
+ that librbd users raced and tried to delete the image before the unwatch
+ change was committed..and got EBUSY. See #3958.
+
+ The watch operation has a similar problem.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit fea77682a6cf9c7571573bc9791c03373d1d976d)
+
+ Conflicts:
+
+ src/librados/IoCtxImpl.cc
+
+commit b6b4ebed559db8bf74da4f482201948b5abc9225
+Author: Sage Weil <sage@inktank.com>
+Date: Thu Feb 21 11:15:58 2013 -0800
+
+ osd: an interval can't go readwrite if its acting is empty
+
+ Let's not forget that min_size can be zero.
+
+ Fixes: #4159
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 4277265d99647c9fe950ba627e5d86234cfd70a9)
+
+commit 055d746c3bca0d7067b71ed1ff6d1c1cce42b5ed
+Author: Sage Weil <sage@inktank.com>
+Date: Tue Feb 19 08:29:53 2013 -0800
+
+ mon: restrict pool size to 1..10
+
+ See: #4159
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 30b8d653751acb4bc4be5ca611f154e19afe910a)
+
+commit c073bd25610ba556f3b30e6c583d1d74a10f09e2
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Apr 19 13:05:43 2013 -0700
+
+ init-ceph: do not stop start on first failure
+
+ When starting we often loop over many daemon instances. Currently we stop
+ on the first error and do not try to start other daemons.
+
+ Instead, try them all, but return a failure if anything did not start.
+
+ Fixes: #2545
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ Reviewed-by: Gary Lowell <gary.lowell@inktank.com>
+ (cherry picked from commit d395aa521e8a4b295ed2b08dd7cfb7d9f995fcf7)
+
+ Conflicts:
+
+ src/init-ceph.in
+
+commit daa6ed2bfe790f83f986f51d0917d6268d3e9d78
+Merge: 1d0bf61 9fe57e2
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Thu Apr 11 13:00:27 2013 -0700
+
+ Merge pull request #210 from dalgaaf/wip-da-bobtail-pybind
+
+ Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
+
+commit 9fe57e2bea89243a0080e667f90b7d4fb15ed883
+Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+Date: Fri Apr 5 15:55:34 2013 +0200
+
+ rados.py: fix create_pool()
+
+ Call rados_pool_create_with_all() only if auid and crush_rule
+ are set properly. In case only crush_rule is set call
+ rados_pool_create_with_crush_rule() on librados, not the other
+ way around.
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+ (cherry picked from commit 94a1f25e7230a700f06a2699c9c2b99ec1bf7144)
+
+commit 1d0bf61da98bec7318f44b95a49298e13b792b70
+Author: Dan Mick <dan.mick@inktank.com>
+Date: Mon Apr 8 13:52:32 2013 -0700
+
+ mon: Use _daemon version of argparse functions
+
+ Allow argparse functions to fail if no argument given by using
+ special versions that avoid the default CLI behavior of "cerr/exit"
+
+ Fixes: #4678
+ Signed-off-by: Dan Mick <dan.mick@inktank.com>
+ Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
+ (cherry picked from commit be801f6c506d9fbfb6c06afe94663abdb0037be5)
+
+ Conflicts:
+ src/mon/Monitor.cc
+
+commit 3769250acf42a751ee8dfa95207a4ffafd25574a
+Author: Dan Mick <dan.mick@inktank.com>
+Date: Mon Apr 8 13:49:22 2013 -0700
+
+ ceph_argparse: add _daemon versions of argparse calls
+
+ mon needs to call argparse for a couple of -- options, and the
+ argparse_witharg routines were attempting to cerr/exit on missing
+ arguments. This is appropriate for the CLI usage, but not the daemon
+ usage. Add a 'cli' flag that can be set false for the daemon usage
+ (and cause the parsing routine to return false instead of exit).
+
+ The daemon's parsing code due for a rewrite soon.
+
+ Signed-off-by: Dan Mick <dan.mick@inktank.com>
+ Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
+ (cherry picked from commit c76bbc2e6df16d283cac3613628a44937e38bed8)
+
+commit 1f3b4917cc5c4d796a96637912d2ae5ce2877861
+Author: Alexandre Oliva <oliva@gnu.org>
+Date: Wed Feb 6 15:27:13 2013 -0200
+
+ silence logrotate some more
+
+ I was getting email with logrotate error output from “which invoke-rc.d”
+ on systems without an invoke-rc.d. This patch silences it.
+
+ Silence stderr from which when running logrotate
+
+ From: Alexandre Oliva <oliva@gnu.org>
+
+ Signed-off-by: Alexandre Oliva <oliva@gnu.org>
+ (cherry picked from commit d02340d90c9d30d44c962bea7171db3fe3bfba8e)
+
+commit e6eace2334d04fc9292c96a843304d1748b5bbe7
+Merge: 8cb13a1 1507443
+Author: Samuel Just <sam.just@inktank.com>
+Date: Fri Mar 29 12:14:22 2013 -0700
+
+ Merge remote-tracking branch 'upstream/bobtail-4556' into bobtail
+
+ Reviewed-by: Samuel Just <sam.just@inktank.com>
+
+commit 8cb13a195c592fd2f17889e77d717c1864f97dca
+Author: Samuel Just <sam.just@inktank.com>
+Date: Thu Feb 14 14:03:56 2013 -0800
+
+ OSD: always activate_map in advance_pgs, only send messages if up
+
+ We should always handle_activate_map() after handle_advance_map() in
+ order to kick the pg into a valid peering state for processing requests
+ prior to dropping the lock.
+
+ Additionally, we would prefer to avoid sending irrelevant messages
+ during boot, so only send if we are up according to the current service
+ osdmap.
+
+ Fixes: #4572
+ Backport: bobtail
+ Signed-off-by: Samuel Just <sam.just@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 4dfcad44431855ba7d68a1ccb41dc3cb5db6bb50)
+
+commit d89ab0ea6fa8d0961cad82f6a81eccbd3bbd3f55
+Author: Samuel Just <sam.just@inktank.com>
+Date: Thu Mar 28 14:09:17 2013 -0700
+
+ PG: update PGPool::name in PGPool::update
+
+ Fixes: #4471
+ Signed-off-by: Samuel Just <sam.just@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit f804892d725cfa25c242bdc577b12ee81dcc0dcc)
+
+commit 750626108616761512271d5a4f10dee82a54e460
+Author: Samuel Just <sam.just@inktank.com>
+Date: Tue Mar 26 15:10:37 2013 -0700
+
+ ReplicatedPG: send entire stats on OP_BACKFILL_FINISH
+
+ Otherwise, we update the stat.stat structure, but not the
+ stat.invalid_stats part. This will result in a recently
+ split primary propogating the invalid stats but not the
+ invalid marker. Sending the whole pg_stat_t structure
+ also mirrors MOSDSubOp.
+
+ Fixes: #4557
+ Backport: bobtail
+ Signed-off-by: Samuel Just <sam.just@inktank.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 76b296f01fd0d337c8fc9f79013883e62146f0c6)
+
+commit 1507443271fda933032ef0877aff1890d4fd5b63
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Mar 27 13:19:03 2013 -0700
+
+ osd: disallow classes with flags==0
+
+ They must be RD, WR, or something....
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 89c69016e1dddb9f3ca40fd699e4a995ef1e3eee)
+
+commit 6b6e0cef99e66b46ade35ab262f071982049bc22
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Mar 27 12:59:41 2013 -0700
+
+ osd: EINVAL when rmw_flags is 0
+
+ A broken client (e.g., v0.56) can send a request that ends up with an
+ rmw_flags of 0. Treat this as invalid and return EINVAL.
+
+ Fixes: #4556
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit f2dda43c9ed4fda9cfa87362514985ee79e0ae15)
+
+commit 4bdd37495cedb1cf30a5311548492fe3f5db6e92
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Mar 27 13:08:38 2013 -0700
+
+ osd: fix detection of non-existent class method
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 50b831e3641c21cd5b145271688189e199f432d1)
+
+commit f28800f8b65e90a3b96429f07197236e6c9bf1a2
+Author: Sage Weil <sage@inktank.com>
+Date: Wed Mar 27 13:12:38 2013 -0700
+
+ osd: tolerate rmw_flags==0
+
+ We will let OSD return a proper error instead of asserting.
+
+ This is effectively a backport of c313423cfda55a2231e000cd5ff20729310867f8.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+
+commit 94321ccdff81d5d6cea1acdb54344c3d930a49eb
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Thu Feb 21 17:39:19 2013 -0800
+
+ test_librbd_fsx: fix image closing
+
+ Always close the image we opened in check_clone(), and check the
+ return code of the rbd_close() called before cloning.
+
+ Refs: #3958
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 94ae72546507799667197fd941633bb1fd2520c2)
+
+commit 7fbc1ab69267e6be96665b0d4e277dc4a07f9220
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Mar 13 17:05:42 2013 -0700
+
+ rbd: remove fiemap use from import
+
+ On some kernels and filesystems fiemap can be racy and provide
+ incorrect data even after an fsync. Later we can use SEEK_HOLE and
+ SEEK_DATA, but for now just detect zero runs like we do with stdin.
+
+ Basically this adapts import from stdin to work in the case of a file
+ or block device, and gets rid of other cruft in the import that used
+ fiemap.
+
+ Fixes: #4388
+ Backport: bobtail
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 3091283895e8ffa3e4bda13399318a6e720d498f)