mirror of
https://github.com/ceph/ceph
synced 2024-12-25 04:43:17 +00:00
6f8c1e9cf4
Signed-off-by: Sage Weil <sage@inktank.com>
1973 lines
70 KiB
Plaintext
1973 lines
70 KiB
Plaintext
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)
|