Commit Graph

31952 Commits

Author SHA1 Message Date
Haomai Wang
62c1631f1d Remove eio inject codes in KeyValueStore
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:05:01 +08:00
Haomai Wang
8c4d865900 Add config tracker to KeyValueStore
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:05:01 +08:00
Haomai Wang
697411c8e0 Add backend check option to KeyValueStore
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:05:01 +08:00
Haomai Wang
9543664b87 Remove filestore_inject_stall
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:05:01 +08:00
Haomai Wang
dcfe098cbe Remove m_eio in KeyValueStore
KeyValueStore use kv backend to detect errors and nearly can't know the actual
reason for error.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:05:01 +08:00
Haomai Wang
4b3bf3e225 Make SequencePosition sync by each transaction
Each object modify will increase SequencePosition and sync it to disk

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:05:01 +08:00
Haomai Wang
ec8a419344 Implement collection_rename interface in KeyValueStore
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:05:00 +08:00
Haomai Wang
6314350f16 Remove unnecessary "check_coll" check
The goal of "check_coll" is aimed to ensure the collection is exists. But
the create and delete of collection already ensured by OSD, just remove check.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:05:00 +08:00
Haomai Wang
88bec06531 Optimize write call add enhance error detect
A single write call may need several keys in the backend kv store. Let get these
keys one time.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:05:00 +08:00
Haomai Wang
2a363d6737 Unify object level lock in GenericObjectMap
Before we copy lock implementation from DBObjectMap which provide with two locks
for header. Here just unify it to make ease.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:05:00 +08:00
Haomai Wang
a9fa341ee2 Fix incorrect read and truncate
If the first chunk of object is not read entirely, the current implementation
will contain it entirely which make wrong.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:05:00 +08:00
Haomai Wang
9ed295818b Return 0 when the offset of read exceed the length of object
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:05:00 +08:00
Haomai Wang
3e6a1fc6e8 Add read/write operation to store_test.cc
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:05:00 +08:00
Haomai Wang
4e7f1de943 Adjust some interfaces to optimize caller codes
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:04:59 +08:00
Haomai Wang
024a12042e Use rename operation to make colection_move atomic
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:04:59 +08:00
Haomai Wang
d7be540488 Add get_*_with_header to StripObjectHeader
In some situations, we need to ensure header is held and try to read, so read
interfaces need to accept header argument to allow.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:04:59 +08:00
Haomai Wang
c9fdceeef1 Add test for omap interface
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:04:59 +08:00
Haomai Wang
2b9e893a31 Move perf counter and add op queue reserve throttle
The perf counter of FileStore can shared with other ObjectStore backend, so move
it to ObjectStore and adjust position to let other KeyValueStore refer to.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:04:59 +08:00
Haomai Wang
5eb75927ed Fix deadlock caused by hold collection obj
Collection is a special object in KeyValueStore, if exists collection modify,
this object will be hold. When exists check collection, it will be dead lock to
try to access this object.

Now lookup transaction cache first to ensure no collection object exists
already.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-02-22 21:04:59 +08:00
David Zafman
a715c7f23f Merge branch 'wip-6685-firefly' into firefly
Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-02-21 19:28:37 -08:00
Josh Durgin
f214c3eca4 Merge pull request #1293 from jwriteclub/doc-update-ceph-osd-note
Added a note that the ceph-osd command requires the cluster option.

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-02-21 18:30:29 -08:00
Christopher O'Connell
c278269535 Added a note that the ceph-osd command requires the cluster option.
Signed-off-by: Christopher O'Connell <jwriteclub@gmail.com>
2014-02-21 18:26:58 -08:00
Josh Durgin
0da25e6746 librados: implement ObjectIterator copying and assignment
Copied iterators should be independent of each other, and not
rely on the same underlying ListContext or ObjListCtx.

Add some tests for this to make sure they work in various
circumstances.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2014-02-21 18:22:54 -08:00
Josh Durgin
72820a8467 Merge remote-tracking branch 'origin/wip-da-SCA-20140218' into firefly
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-02-21 17:40:30 -08:00
Christopher O'Connell
d9bedb9ebe Added evaluation of cluster and fixed evaluation when setting initial weight on start in verbose mode
Signed-off-by: Christopher O'Connell <jwriteclub@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-02-21 17:32:47 -08:00
Josh Durgin
8a0017ac2b librados: don't destroy ObjListCtx when iterator reaches the end
There's no need to destroy it when we've used it once. It'll get destroyed
by the destructor anyway. Now that there's a seek method, we might want seek
and iterate again anyway, which is not possible if the ObjListCtx is gone.

Change get_next() to check the underlying ObjListCtx for the end of iteration
instead of deleting ObjListCtx, and modify the equality operator to count
the end marker (with ctx == NULL) as equal to having a ObjListCtx at the
end of its list.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2014-02-21 16:06:28 -08:00
Josh Durgin
d8a7befbc1 librados: remove extra advance from objects_begin(position)
ObjectIterator::seek() already calls get_next() to update the
iterator's state. Calling it again goes one past where it should be.

When the iterator reached the end of the list, it deleted the ListCtx,
causing a segfault on further accesses.

Fixes: #7491
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2014-02-21 16:06:28 -08:00
Josh Durgin
7ae055666c Merge pull request #1286 from ceph/wip-corpus
ceph-object-corpus: prune some old releases

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-02-21 15:57:29 -08:00
David Zafman
a9677e136e Revert "ReplicatedPG::recover_backfill: adjust last_backfill to HEAD if snapdir"
This reverts commit 545135f3e1.

Conflicts:

	src/osd/ReplicatedPG.cc
2014-02-21 15:19:40 -08:00
Josh Durgin
78b65ace4d Merge remote-tracking branch 'origin/port/updates' into firefly
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-02-21 14:46:27 -08:00
Sage Weil
bd59db2101 ceph-object-corpus: prune some old releases
We do not need to test these old object encodings as they are covered by
later object collections.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-21 13:57:24 -08:00
Josh Durgin
68f6266089 Merge remote-tracking branch 'origin/wip-6936' into firefly
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-02-21 13:10:47 -08:00
Josh Durgin
8ebc2a266f Merge remote-tracking branch 'origin/wip-7099' into firefly
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-02-21 13:09:52 -08:00
Josh Durgin
731d483bcf Merge remote-tracking branch 'origin/wip-6830' into firefly
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-02-21 13:08:21 -08:00
Josh Durgin
a19b460ade Merge remote-tracking branch 'origin/wip-6951' into firefly
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-02-21 13:07:34 -08:00
Josh Durgin
0aac04a2d0 Merge remote-tracking branch 'origin/wip-7064' into firefly
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-02-21 13:06:37 -08:00
Josh Durgin
d509e53daa Merge remote-tracking branch 'origin/wip-7271' into firefly
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-02-21 13:05:49 -08:00
Noah Watkins
76046cf351 dencoder: check for radosgw build option
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2014-02-21 13:00:29 -08:00
Noah Watkins
5373ee24ba osd: use ceph scoped shared_ptr
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2014-02-21 13:00:09 -08:00
Samuel Just
6c20728658 Merge remote-tracking branch 'upstream/next' 2014-02-20 17:04:14 -08:00
Samuel Just
2bcddce8b2 Merge remote-tracking branch 'upstream/wip-copyget' into next
Fixes: #7471
Reviewed-by: Greg Farnum <greg@inktank.com>
2014-02-20 17:02:30 -08:00
Samuel Just
c6e6ced1de PG::build_might_have_unfound: skip CRUSH_ITEM_NONE
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-02-20 16:00:52 -08:00
Samuel Just
1f30d1ab9d ECBackend: deal with temp collection details in handle_sub_write
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-02-20 15:01:14 -08:00
Samuel Just
c703a89d0c ReplicatedPG::on_global_recover: requeue degraded, then unreadable
We need to requeue in reverse order since we are requeueing at the
front.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-02-20 13:22:51 -08:00
Yehuda Sadeh
caf2edfc43 rgw: minor cleanup
Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2014-02-20 09:19:13 -08:00
Mouad Benchchaoui
5fb90a2f6d Fix generate keystone token from credentials
Request to v2.0/tokens must be a POST request and the request
should specify JSON in the content-type header and fix request
body JSON generation to have the right JSON format.

Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
Signed-off-by: Mouad Benchchaoui <m.benchchaoui@x-ion.de>
2014-02-20 08:59:48 -08:00
Ken Dreyer
c5c7f6c8e8 Merge branch 'next'
Conflicts:
	src/test/admin_socket.cc

Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
2014-02-20 03:06:00 +00:00
Samuel Just
ebd4397234 RadosModel: copyfrom should result in a dirty object
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-02-19 18:41:19 -08:00
Samuel Just
68184d4574 PG: fix scrub feature check
acting[0] isn't necessarily the primary.  Start at
0 and explicitely skip the primary.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-02-19 18:22:36 -08:00
Samuel Just
67d1f364e4 ReplicatedPG: assert no omap for ec pool in _write_copy_chunk and skip
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-02-19 17:31:37 -08:00