Commit Graph

31749 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
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
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
Samuel Just
4441792710 ECBackend: handle short reads
async reads may have a length past the end of the object.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-02-19 17:31:37 -08:00
Samuel Just
715cbd3105 ReplicatedPG: ensure that ec appends are aligned
When not writing out the last chunk, _write_copy_chunk
will trim the chunk to a stripe boundary for ec pools
and adjust cursor.data_offset to compensate.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-02-19 17:31:37 -08:00
Samuel Just
78d9c0072b ReplicatedPG::fill_in_copy_get, use getattr_maybe_cache
Also, add user_only flag to getattr_maybe_cache and cleanup
the other user.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-02-19 17:31:36 -08:00
Samuel Just
c337f63806 ReplicatedPG: fix stat uses to use the correct shard
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-02-19 17:31:36 -08:00
Samuel Just
aa110af991 OSDMap::_apply_primary_affinity: skip CRUSH_ITEM_NONE in non-default check
Fixes: #7482
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
2014-02-19 17:30:32 -08:00
Sage Weil
b3bb9efea3 doc/release-notes: v0.77
Also pending notes for v0.78

Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-19 16:57:25 -08:00
Sage Weil
fa96de9eeb doc/release-notes: v0.67.7
Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-19 16:20:35 -08:00
Ken Dreyer
1bca9c5c41 v0.77 2014-02-19 22:54:44 +00:00
Samuel Just
40bdcb8850 osd/,mon/: add (up|acting)_primary to pg_stat_t
We use pg_stat_t information to determine pg create targeting.

Fixes: #7481
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2014-02-19 14:14:18 -08:00
Josh Durgin
72f260e07c Merge pull request #1256 from ceph/wip-librados-ops-and-rvals
librados c api for object operations and a few bug fixes

Reviewed-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Loic Dachary <loic@dachary.org>
Reviewed-by: Sage Weil <sage.weil@inktank.com>
2014-02-19 11:18:57 -08:00
Samuel Just
314116e250 PG: insert into stray set if !us_up() && !is_acting()
This is simpler than checking actingbackfill
since it may not yet be filled in.

Fixes: #7470
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2014-02-18 22:20:40 -08:00
Sage Weil
a33874d036 Merge pull request #1257 from ceph/wip-agent
osd: a few agent fixes

Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-02-18 21:10:04 -08:00
Sage Weil
a5c5d924be osd/ReplicatedPG: EOPNOTSUPP on hit_set_get on non-replicated pools
We need to use the async read stuff for this to work.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-18 21:05:34 -08:00
Sage Weil
a40cd5075c osd/ReplicatedPG: load older HitSets into memory
If our evict_mode is non-idle, load older HitSets into memory in the agent
work thread.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-18 21:05:34 -08:00
Sage Weil
0af73755fa osd/ReplicatedPG: strengthen agent_work assertions
Signed-off-by: Sage Weil <sage@inktank.com>
2014-02-18 21:05:34 -08:00
Samuel Just
1d907c60d7 OSD: consider up/acting primary for new intervals
Both acting_up_affected and start_peering_interval need
to consider primary changes as well as acting/up changes.

Fixes: #7469
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2014-02-18 19:46:33 -08:00
Josh Durgin
1ff0eefeb1 Merge pull request #1259 from ceph/wip-6677
rgw: add compatibility for MultipartUpload

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-02-18 15:38:34 -08:00
Josh Durgin
a2c195d85b Merge pull request #1258 from ceph/wip-rgw-gc
radosgw-admin: gc list --include-all

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-02-18 15:37:58 -08:00