Commit Graph

50166 Commits

Author SHA1 Message Date
Jason Dillaman
569738701b journal: update JournalMetadata to support new commit handling
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-02-26 11:54:52 -05:00
Jason Dillaman
44d25fd51a journal: track commit position for each object splay offset
It's possible, when delaying appends to the journal, that the
current commit position might be in object set X while future
events for a different offset might be in an object set < X.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-02-26 11:54:52 -05:00
Jason Dillaman
92f24095d7 journal: differentiate corruption vs missing entry errors
librbd should treat the corruption of the journal differently from
missing journal entries.  If entries are missing, it might be the
result of a crash and the journal should just be replayed through
the most recent, consistent entry.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-02-26 11:50:36 -05:00
Sage Weil
39671f1f4d doc: final v9.2.1 release notes
Signed-off-by: Sage Weil <sage@redhat.com>
2016-02-26 10:24:22 -05:00
Sage Weil
8689a61504 Merge pull request #7694 from Abhishekvrshny/wip-infernalis-release-notes
release-notes: draft v9.2.1 release notes
2016-02-26 10:24:20 -05:00
Sage Weil
d3db533a4f Merge pull request #7813 from xiexingguo/xxg-wip-doc
doc: small fixes
2016-02-26 09:54:20 -05:00
xiexingguo
ca50f42359 doc: batch small fixes, including typo, syntax etc.
Signed-off-by: xiexingguo <xie.xingguo@zte.com.cn>
2016-02-26 23:25:02 +08:00
xiexingguo
dc7e027ea5 doc: fix typo
Signed-off-by: xiexingguo <xie.xingguo@zte.com.cn>
2016-02-26 22:39:57 +08:00
Loic Dachary
86e2987fcf Merge pull request #7805 from ErwanAliasr1/evelu-check-btrfs
Fixing BTFS issue at 'make check'

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2016-02-26 11:34:42 +07:00
Haomai Wang
e236ebdc25 Merge pull request #7802 from branch-predictor/bp-increase-async-threads
config: increase default async op threads

Reviewed-by: Haomai Wang <haomai@xsky.com>
2016-02-26 10:45:45 +08:00
Ali Maredia
5f935455ac Merge pull request #7808 from cbodley/wip-cmake-jerasure
cmake: add ErasureCode.cc to jerasure plugins
2016-02-25 15:09:09 -05:00
Casey Bodley
753221e2cf cmake: add ErasureCode.cc to jerasure plugins
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-02-25 14:58:18 -05:00
Casey Bodley
0dd061c3ed Merge pull request #7748 from ceph/wip-cmake-2-22-16
cmake: fix paths to various EC source files
2016-02-25 14:06:16 -05:00
Ali Maredia
83b4aab3a8 cmake: installing _tp libraries into lib
Signed-off-by: Ali Maredia <amaredia@redhat.com>
2016-02-25 14:02:11 -05:00
Ali Maredia
2e4ad9ea7d cmake: Removed _tp libraries from linking
Signed-off-by: Ali Maredia <amaredia@redhat.com>
2016-02-25 13:48:26 -05:00
Erwan Velu
c2e6102955 test/ceph_objectstore_tool: Deleting btrfs subvolumes before exiting
When running the ceph_objectstore_tool test suite, we shall delete the btrfs
subvolumes that have been created before trying deleting the content unless that will generate a permission denied
issue.

Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-02-25 18:14:32 +01:00
Erwan Velu
9ae89269f8 ceph-helpers: Delete remaining subvolumes on destroy_osd()
Before deleting $dir/$id, we have to delete the associated subvolumes unless the
rm will fail.

Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-02-25 16:46:49 +01:00
Jason Dillaman
0c44f20a30 Merge pull request #7793 from tchaikov/wip-fix-dencoder-MirrorImage
cls_rbd: fix the test for ceph-dencoder

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2016-02-25 10:33:19 -05:00
Kefu Chai
a704270287 cls_rbd: fix the test for ceph-dencoder
initialize MirrorImage::state to a certain value, otherwise the
generated test instances would be undetermined, and hence fail
the dencoder tests.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-25 23:07:49 +08:00
Loic Dachary
7131c977f0 Merge pull request #7792 from tchaikov/wip-13505
fix FTBFS introduced by d0af316

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2016-02-25 22:04:26 +07:00
Erwan Velu
cd0389ddb1 ceph-helpers.sh: Deleting forgoten btrfs subvolumes
While running a make check on a btrfs system, many subvolumes are let at the end
of the build. It's pretty common to have several hundreds of those.

btrfs is pretty sensible to the path when requesting a subvolume removal.
The current code was misleading the path and didn't deleted the remaining
volumes.

This patch list the current subvolumes, filter thoses created by the
test process and ajust the path because brtfs reports
  erwan/chroot/ceph/src/testdir/test-7202/dev/osd1/snap_439
while regarding the current working directory we want to delete :
  testdir/test-7202/dev/osd1/snap_439

Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-02-25 15:33:10 +01:00
Piotr Dałek
ba70bdb303 config: increase default async op threads
Default value of two async threads is enough for light workloads,
but is insufficient for heavy ones, reducing maximum throughput on
slower CPUs that have plenty of logical cores. Three async threads
give noticeable perf jump without any noticeable downsides.

Signed-off-by: Piotr Dałek <piotr.dalek@ts.fujitsu.com>
2016-02-25 15:12:52 +01:00
Loic Dachary
61ab9e8e70 Merge pull request #7731 from SUSE/wip-shebang
ceph_detect_init/__init__.py: remove shebang

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2016-02-25 21:03:21 +07:00
Kefu Chai
557c3bfe0d osd: always cleanup the scrub results
the destructor of Scrub::Store asserts that `this->results` should
always be empty when it is free'd. before this change, if we are
repairing, the results is not flushed or cleaned up, this crashes
osd daemon when a new PG internval comes. also we should not keep
the results around even we don't want to populate them to the omap
if we are repairing, it's just a waste.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-25 21:47:30 +08:00
Kefu Chai
b0b402193d pybind: fix the FTBFS introduced by d0af316
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-25 21:47:30 +08:00
Kefu Chai
67aa66ee9c Merge pull request #7734 from dachary/wip-14834-pidfile-test
tests: test_pidfile.sh lingering processes

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-02-25 16:19:08 +08:00
Kefu Chai
ac7d11ad73 librados: add missing tracpoint for scrub APIs
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-24 22:39:57 -08:00
Loic Dachary
c1e1c8d18e tests: test_pidfile.sh lingering processes
For the mon, using ps aux to find the process will only show part of the
command line and the $RUNID may be missing. For the OSD, the $RUNID is
passed using an environment variable and will not show at all.

There is no need to test both ceph-osd and ceph-mon since they both end
up in the same code path, pidfile_write. Add a log line that only shows
when the --pid-file is empty and grep for it in the simplest possible
way.

The TEST_pidfile test failed to kill a process because there was
no pidfile with its pid. This is fixed by backuping the pidfile before
it is modified.

http://tracker.ceph.com/issues/14834 Fixes: #14834

Signed-off-by: Loic Dachary <loic@dachary.org>
2016-02-25 12:24:00 +07:00
Kefu Chai
ce1169d245 Merge pull request #6898 from tchaikov/wip-13505
add scrub persist/query API

Reviewed-by: Samuel Just <sjust@redhat.com>
2016-02-25 12:48:14 +08:00
Kefu Chai
e2374c43c9 rados: add "list-inconsistent-snapset" cmd
to list inconsistent snapsets of a given PG, this command exposes
get_inconsistent_snapsets() rados API to user.

Fixes: #13505
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-25 12:41:55 +08:00
Kefu Chai
8018eab344 rados: add "list-inconsistent-obj" cmd
to list inconsistent objects of a given PG, this command exposes
get_inconsistent_objects() rados API to user.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-25 12:41:55 +08:00
Kefu Chai
c9b593d2d7 librados: add get_inconsistent_snapsets() API
Fixes: #13505
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-25 12:41:55 +08:00
Kefu Chai
dfc2f4823b librados: add get_inconsistent_objects() API
Fixes: #13505
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-25 12:41:55 +08:00
Kefu Chai
3dea4f1f5c osd: add CEPH_OSD_OP_SCRUBLS pg op
it is a new pg op which returns the encoded objects stored when
scrubbing.

Fixes: #13505
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-25 12:41:55 +08:00
Kefu Chai
2009ed274d osd: persist inconsistent snapsets using omap
the inconsistent snapsets are identified in ReplicatedPG::_scrub()
after we compared the authorized objects with their replica/shards.
these inconsistent information are stored in the omap of objects
with prefix "SCRUB_SS_".

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-25 12:41:55 +08:00
Kefu Chai
c828c398b1 librados: add inconsistent_snapset_t type
for presenting the inconsistent snapsets found in scrub

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-25 12:41:55 +08:00
Samuel Just
8ed62772bd osd/: clear scrub store safetly
Signed-off-by: Samuel Just <sjust@redhat.com>
2016-02-25 12:41:55 +08:00
Kefu Chai
fb956b742c osd: persist inconsistent objs using omap
persist inconsistent objects found when comparing the ScrubMaps
collected from replica/shards. the discrepancies between the auth
copy and the replica are identified as inconsistencies. and hence
encoded into the omap of an object of the temp coll of the PG in
question.
scrub_types.{h,cpp} are introduced to hide the details of how we
persist the scrub types from the librados client.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-25 12:41:55 +08:00
Kefu Chai
f236b7d736 osd: more constness to spg_t
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-25 12:40:17 +08:00
Kefu Chai
b43d480938 librados: add inconsistent_obj_t types
which present the inconsistent objects found in scrub

Fixes: #13505
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-25 12:40:17 +08:00
Kefu Chai
4c3270692e rados: add "list-inconsistent-pg" command
to list inconsistent PGs of a given pool. this command exposes
the underlying get_inconsistent_pgs() API to user.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-25 12:40:17 +08:00
Kefu Chai
d0af316cf2 pybind: add Rados.get_inconsistent_pgs method
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-25 12:40:17 +08:00
Kefu Chai
cb4efbd72f librados: add get_inconsistent_pgs() to librados
to list the inconsistent PGs of given pool, it's a wrapper
around the "ceph pg ls" command.

Fixes: #13505
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-25 12:40:17 +08:00
Kefu Chai
50bbf7f92e tools/rados: support more --format options
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-02-25 12:40:17 +08:00
Yehuda Sadeh
1c4ccfe3c4 Merge pull request #7597 from rzarzynski/wip-rgw-keystone-proper-fail
rgw: improve error handling in S3/Keystone integration

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2016-02-24 14:40:02 -08:00
Sage Weil
f053e3e7f0 Merge pull request #7051 from wonzhq/scrub-cmp-map
osd: avoid FORCE updating digest been overwritten by MAYBE when comparing scrub map

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-02-24 11:35:38 -08:00
Sage Weil
48d007f659 Merge pull request #7617 from liewegas/wip-14745
osd: fix forced prmootion for CALL ops

Reviewed-by: Sage Weil <sage@redhat.com>
2016-02-24 10:45:59 -08:00
Sage Weil
e67b70e7fa Merge pull request #7286 from ktdreyer/wip-10587-init-ceph-disk
init-ceph.in: skip ceph-disk if it is not present

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-02-24 10:42:37 -08:00
Sage Weil
ccfbca425a Merge pull request #7599 from ifed01/wip-14707
log: fix stack overflow when flushing large log lines

Reviewed-by: Sage Weil <sage@redhat.com>
2016-02-24 10:42:04 -08:00
Sage Weil
c10f62874a Merge pull request #7643 from jazeltq/add_count_github
osd: filejournal: report journal entry count

Reviewed-by: Sage Weil <sage@redhat.com>
2016-02-24 10:41:17 -08:00