]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Sage Weil [Mon, 27 Jan 2014 21:49:56 +0000 (13:49 -0800)]
Merge pull request #1149 from kdreyer-inktank/wip-7245-redhat-udev
packaging: apply udev hack rule to RHEL
Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Derek Yarnell <derek@umiacs.umd.edu>
Derek Yarnell [Mon, 27 Jan 2014 19:27:51 +0000 (12:27 -0700)]
packaging: apply udev hack rule to RHEL
In the RPM spec file there is a test to deploy the uuid hack udev rules
for older udev operating systems. This includes CentOS and RHEL, but the
check currently only is for CentOS, causing RHEL clients to get a bogus
osd rules file.
Adjust the conditional to apply to RHEL as well as CentOS. (The %{rhel}
macro is defined in both platforms' redhat-rpm-config package.)
Fixes http://tracker.ceph.com/issues/7245
Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
Yehuda Sadeh [Mon, 27 Jan 2014 19:27:56 +0000 (11:27 -0800)]
Merge branch 'wip-user-quota-2'
Conflicts:
src/common/config_opts.h
src/rgw/rgw_common.h
src/rgw/rgw_json_enc.cc
src/rgw/rgw_quota.cc
src/rgw/rgw_rados.cc
src/rgw/rgw_rados.h
src/rgw/rgw_user.cc
src/rgw/rgw_user.h
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Sage Weil [Sun, 26 Jan 2014 20:14:29 +0000 (12:14 -0800)]
Merge pull request #1143 from dachary/wip-vstart-disk-usage
unittests: fail early when low on disk
Reviewed-by: Sage Weil <sage@inktank.com>
Loic Dachary [Sun, 26 Jan 2014 13:25:36 +0000 (05:25 -0800)]
Merge pull request #1003 from dachary/wip-handle-forward-unittest
mon: test for MForward messages
Reviewed-by: Joao Eduardo Luis <joao@inktank.com>
Loic Dachary [Fri, 27 Dec 2013 10:18:59 +0000 (11:18 +0100)]
mon: test for MForward messages
Creates two mons, send a mon command to the peon and check that the
command is forwarded to the leader.
Add a test to check that the connection features of the client are
preserved when the message reaches the leader.
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Wed, 8 Jan 2014 11:41:06 +0000 (12:41 +0100)]
mon: shell test helpers to run MONs from sources
The intent is to make it more convenient to reproduce a specific mon
behavior and observe the result by grepping the logs. It can be handy
for bug diagnostic. The test could be included as a unit test to
be run on make check.
The setup function will prepare a directory and kill leftover from a
previous run. The teardown function cleans up on success. The run
function is expected to be provided by the calling script and can make
use of the run_mon function to mkfs + run a monitor.
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Sun, 26 Jan 2014 12:32:57 +0000 (13:32 +0100)]
unittests: fail early when low on disk
Scripts from qa that are run as unittests via test/vstart_wrapper.sh may
fail because the partition on which it runs is low on space ( 95% full
). When it happens the cause of the problem may be unclear because it
is likely to show only as a client not being able to reach the mon.
A test is added in test/vstart_wrapper.sh to verify the disk space usage
using the same method as the mon would and fail with a detailed error if
it is the case.
Signed-off-by: Loic Dachary <loic@dachary.org>
Yehuda Sadeh [Fri, 24 Jan 2014 23:33:57 +0000 (15:33 -0800)]
rgw: simplify a code path
remove some duplicate code.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Fri, 24 Jan 2014 23:25:51 +0000 (15:25 -0800)]
radosgw-admin: add usage for user stats [--sync-stats]
add missing usage
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
John Wilkins [Fri, 24 Jan 2014 23:11:32 +0000 (15:11 -0800)]
doc: Switched logging to true. Now required for sync agent.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
Yehuda Sadeh [Fri, 24 Jan 2014 23:01:01 +0000 (15:01 -0800)]
cls_user: add generate_test_instances() implementation
to all the encoded/decoded stuff
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Fri, 24 Jan 2014 01:04:06 +0000 (17:04 -0800)]
rgw, cls_user: handle error cases related to response decoding
Certain operations weren't handling errors in decode, add some missing
logic.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Wed, 15 Jan 2014 22:35:57 +0000 (14:35 -0800)]
rgw: implement restful set user quota request
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Wed, 15 Jan 2014 19:36:47 +0000 (11:36 -0800)]
rgw: new restful api for retrieving user quota info
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Tue, 14 Jan 2014 22:48:16 +0000 (14:48 -0800)]
rgw: quota thread for full user stats sync
Get user stats up to date periodically. Add configurables for different
periods, whether we update idle users.
Make sure radosgw-admin does not start the quota threads.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Tue, 14 Jan 2014 08:18:52 +0000 (00:18 -0800)]
rgw: round bytes to the next 4k for quota use
Be more consistent as we round it like this in the objclass, so we need
the accounting to match.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Tue, 14 Jan 2014 05:50:32 +0000 (21:50 -0800)]
rgw: sync bucket stats thread
a new thread that periodically sync stats of recently modified buckets.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Mon, 13 Jan 2014 22:19:27 +0000 (14:19 -0800)]
rgw, cls_user: fix bucket creation
There's a single op to create and update the user bucket info, however,
the cases differ a bit, as we only need to guard against ENOENT if we're
updating the info.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Mon, 13 Jan 2014 21:21:27 +0000 (13:21 -0800)]
radosgw-admin: dump header when requested for user stats
header also contains sync timestamps, so we should dump it.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Mon, 13 Jan 2014 21:20:08 +0000 (13:20 -0800)]
radosgw-admin: update stats sync completion
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Mon, 13 Jan 2014 20:42:07 +0000 (12:42 -0800)]
cls_user: op to keep track of sync completion time
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Mon, 13 Jan 2014 20:31:26 +0000 (12:31 -0800)]
cls_user: keep time info about stats update
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Mon, 13 Jan 2014 19:01:59 +0000 (11:01 -0800)]
cls_user: header cleanup
put stats under a new struct
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Mon, 13 Jan 2014 18:23:30 +0000 (10:23 -0800)]
rgw: user quota should rely on cached info
user quota should rely on cached info if it says that we're at the
limit, since backend info might not be up to date.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Sat, 11 Jan 2014 01:33:59 +0000 (17:33 -0800)]
rgw: more quota fixes
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Sat, 11 Jan 2014 01:32:35 +0000 (17:32 -0800)]
rgw: configure user quota also through region map
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Sat, 11 Jan 2014 00:50:49 +0000 (16:50 -0800)]
rgw: more rgw_quota fixes
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Sat, 11 Jan 2014 00:28:24 +0000 (16:28 -0800)]
rgw: some quota fixes
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Fri, 10 Jan 2014 23:38:37 +0000 (15:38 -0800)]
rgw: enable user quota
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Fri, 10 Jan 2014 23:11:08 +0000 (15:11 -0800)]
radosgw-admin: user quota interface
also add needed functionality in RGWUser
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Fri, 10 Jan 2014 22:46:01 +0000 (14:46 -0800)]
rgw: some fixes
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Fri, 10 Jan 2014 22:35:31 +0000 (14:35 -0800)]
rgw: implement quota handlers for user stats
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Fri, 10 Jan 2014 21:44:56 +0000 (13:44 -0800)]
rgw: extend infrastructure to handle user stats read
Some helper functions that return data in required format for quota, add
async functions.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Fri, 10 Jan 2014 18:46:11 +0000 (10:46 -0800)]
rgw: move some code around, no actual changes
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Fri, 10 Jan 2014 18:42:13 +0000 (10:42 -0800)]
rgw: refactor quota cache
bucket quota cache is going to be reused, add a new abstract layer.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Fri, 10 Jan 2014 05:37:34 +0000 (21:37 -0800)]
rgw: rename RGWBucketStats to RGWStorageStats
make it more generic, will be reused for user's stats.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Thu, 9 Jan 2014 00:39:19 +0000 (16:39 -0800)]
rgw: pass bucket owner all around
User quota operations require that we know who the actual user we do the
operation on is. Pass that info when creating new object and when
removing objects.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Wed, 8 Jan 2014 22:15:15 +0000 (14:15 -0800)]
radosgw-admin: bucket stats --sync-stats [--bucket=...]
Sync user stats, either for a single buckets, or for all user's buckets.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Wed, 8 Jan 2014 22:13:27 +0000 (14:13 -0800)]
cls/user: some fixes + handle old buckets case
If a bucket was created prior to the new accounting, we can't substract
the old values, as the header stats didn't account for them.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Wed, 8 Jan 2014 01:29:39 +0000 (17:29 -0800)]
rgw, radosgw-admin, cls/user: retrieve user stats
add a new op to retrieve user header, new radosgw-admin command to stat
user.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Tue, 7 Jan 2014 22:42:03 +0000 (14:42 -0800)]
cls/user: a new op to retrieve user header
user header holds user total stats
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Tue, 10 Dec 2013 00:09:41 +0000 (16:09 -0800)]
cls/user: accounting functionality
Keep user total accounting in omap header, handle add/dec functionality.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Sat, 7 Dec 2013 00:23:33 +0000 (16:23 -0800)]
rgw: move bucket add / remove to new user objclass
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Fri, 6 Dec 2013 23:22:37 +0000 (15:22 -0800)]
rgw: replace user bucket listing with objclass call
instead of directly accessing the omap operation
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Fri, 6 Dec 2013 15:32:08 +0000 (07:32 -0800)]
rgw: new user objclass
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Sage Weil [Fri, 24 Jan 2014 16:31:37 +0000 (08:31 -0800)]
Merge pull request #1102 from ceph/wip-rgw-civetweb-2
Wip rgw civetweb 2
Reviewed-by: Sage Weil <sage@inktank.com>
Josh Durgin [Fri, 24 Jan 2014 06:43:43 +0000 (22:43 -0800)]
Merge pull request #1116 from jcsp/doc_toofull
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Fri, 24 Jan 2014 06:36:18 +0000 (22:36 -0800)]
Merge pull request #1135 from ceph/use-ceph-sharedptr
libc++: convert tr1 uses
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Noah Watkins [Fri, 24 Jan 2014 04:13:57 +0000 (20:13 -0800)]
libc++: convert tr1 uses
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
John Wilkins [Fri, 24 Jan 2014 01:11:59 +0000 (17:11 -0800)]
doc: Added domain pool, and changed zone configs to use domain tool so they don't clash.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
John Wilkins [Fri, 24 Jan 2014 01:11:23 +0000 (17:11 -0800)]
doc: Change zone domain to include "domain" so it is clear.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
John Wilkins [Fri, 24 Jan 2014 00:03:25 +0000 (16:03 -0800)]
doc: Added space between {Query_String} and [E=HTTP ... to solve for 500 error.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
athanatos [Thu, 23 Jan 2014 23:44:39 +0000 (15:44 -0800)]
Merge pull request #1134 from ceph/wip-backend-uninit-use
ReplicatedBackend: fix uninitialized use warning/bug
Reviewed-by: Samuel Just <sam.just@inktank.com>
Greg Farnum [Thu, 23 Jan 2014 23:40:18 +0000 (15:40 -0800)]
ReplicatedBackend: fix uninitialized use warning/bug
Signed-off-by: Greg Farnum <greg@inktank.com>
John Wilkins [Thu, 23 Jan 2014 21:34:25 +0000 (13:34 -0800)]
doc: Fixed omission of a comma in zone configuration.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
Samuel Just [Mon, 4 Nov 2013 22:02:28 +0000 (14:02 -0800)]
FileStore: perform LFNIndex lookup without holding fdcache lock
Fixes: #7207
Signed-off-by: Samuel Just <sam.just@inktank.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
Greg Farnum [Thu, 23 Jan 2014 20:47:00 +0000 (12:47 -0800)]
Merge remote-tracking branch 'origin/next'
Yehuda Sadeh [Thu, 23 Jan 2014 19:00:05 +0000 (11:00 -0800)]
mongoose: git rm src/mongoose
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Loic Dachary [Thu, 23 Jan 2014 18:22:49 +0000 (10:22 -0800)]
Merge pull request #1132 from ceph/wip-erasure-rule
osd/OSDMap: do not create erasure rule by default
Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Loic Dachary <loic@dachary.org>
Yehuda Sadeh [Wed, 15 Jan 2014 18:09:03 +0000 (10:09 -0800)]
civetweb: md5.inl -> md5.h
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Wed, 15 Jan 2014 02:25:35 +0000 (18:25 -0800)]
civetweb: add include to makefile
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Wed, 15 Jan 2014 00:50:19 +0000 (16:50 -0800)]
rgw: modify the civetweb rule
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Mon, 23 Dec 2013 06:29:15 +0000 (22:29 -0800)]
civetweb: fix module uri
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Wed, 15 Jan 2014 23:27:11 +0000 (15:27 -0800)]
civetweb: update submodule
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Mon, 23 Dec 2013 06:16:48 +0000 (22:16 -0800)]
rgw: switch mongoose to civetweb
Fixes: #7054
mongoose is now GPL, using the civetweb fork instead.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Sage Weil [Thu, 23 Jan 2014 17:27:03 +0000 (09:27 -0800)]
Merge pull request #1131 from ceph/use-unordered-map
osd: use ceph:: scoped hash_map
Reviewed-by: Sage Weil <sage@inktank.com>
Sage Weil [Thu, 23 Jan 2014 17:16:54 +0000 (09:16 -0800)]
osd/OSDMap: do not create erasure rule by default
If we do, we will require the v2 feature bit from clients.
We could only include feature bits for rules that are actually referenced
by pools, but for now making the user create the rule is simpler. There is
no need to create this rule ahead of time.
Signed-off-by: Sage Weil <sage@inktank.com>
Noah Watkins [Thu, 23 Jan 2014 15:20:42 +0000 (07:20 -0800)]
osd: use ceph:: scoped hash_map
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Josh Durgin [Thu, 23 Jan 2014 08:27:30 +0000 (00:27 -0800)]
Merge pull request #1064 from ceph/port/libc++
support libc++
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Samuel Just [Wed, 22 Jan 2014 22:52:39 +0000 (14:52 -0800)]
Merge branch 'wip-client-io-final'
Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
Samuel Just [Wed, 22 Jan 2014 19:55:16 +0000 (11:55 -0800)]
PGBackend: clarify rollback_stash name and method comments
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Sun, 19 Jan 2014 09:17:49 +0000 (01:17 -0800)]
PG: drop messages from down peers
This overlaps with the existing old_peering_msg() mechanism
except in one case: pulls from a replica not in the acting
set. If such a replica gets marked down, we may resend
pulls to another replica without causing a new interval
to start. If we recieved, but didn't process, a push in
response to such a pull prior to processing the map marking
the peer down, we might process the push after having reset
the pull state for a different pull operation. We can
avoid this by discarding ops from down peers.
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Fri, 17 Jan 2014 19:14:06 +0000 (11:14 -0800)]
ReplicatedPG: make STARTSYNC a noop
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Thu, 16 Jan 2014 20:04:01 +0000 (12:04 -0800)]
PG::calc_acting: consider newest_update_osd when choosing backfill peers
We must include newest_update_osd->second.log_tail when considering backfill
peers because in GetLog we will request logs back to the min last_update over
our acting_backfill set. This will result in our log being extended as far
backwards as necessary to pick up any peers which can be log recovered by the
union of newest_update_osd's log and that of the chosen primary.
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Thu, 16 Jan 2014 17:31:59 +0000 (09:31 -0800)]
ReplicatedPG: take ReplicatedPGRef in BlessedContext
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Wed, 15 Jan 2014 19:17:57 +0000 (11:17 -0800)]
RadosModel: RollBack dirties the object
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Tue, 14 Jan 2014 21:43:22 +0000 (13:43 -0800)]
RadosModel: undirty with update_object_undirty
Otherwise it doesn't behave properly with snapshots since
update_object_version doesn't add another snapshot entry.
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Tue, 14 Jan 2014 03:28:35 +0000 (19:28 -0800)]
ReplicatedPG::trim_object: remove unused int r; declaration
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Sun, 8 Dec 2013 06:18:24 +0000 (22:18 -0800)]
common/hobject: print shard as unsigned, not as char
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Fri, 13 Dec 2013 21:14:52 +0000 (13:14 -0800)]
ReplicatedPG::_process_copy_chunk: use append
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Mon, 13 Jan 2014 00:26:51 +0000 (16:26 -0800)]
ReplicatedPG: fill in mod_desc for hitset repops
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Wed, 15 Jan 2014 17:21:57 +0000 (09:21 -0800)]
ReplicatedPG: use append for write and writefull
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Wed, 15 Jan 2014 17:21:30 +0000 (09:21 -0800)]
ReplicatedPG: fill in mod_desc in finish_copyfrom
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Sat, 7 Dec 2013 23:10:26 +0000 (15:10 -0800)]
ReplicatedPG::finish_copyfrom: check new_obs.exists, not obs.exists
If the transaction previously created the object, the stat update
will have already happened.
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Sat, 7 Dec 2013 22:52:49 +0000 (14:52 -0800)]
ReplicatedPG: handle removing the old object in finish_copy_op
do_osd_ops will need to either copy the old version out of the
way or simply delete it depending on mod_desc. Thus, defer
handling filling that part in until we finish the copy op.
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Sat, 7 Dec 2013 22:43:22 +0000 (14:43 -0800)]
ReplicatedPG: EOPNOTSUPP on ec_pool if there are omaps in the COPY_GET
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Sat, 7 Dec 2013 21:09:52 +0000 (13:09 -0800)]
ReplicatedPG: make COPY_GET async read friendly
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Thu, 2 Jan 2014 15:34:16 +0000 (07:34 -0800)]
ReplicatedPG: requeue in_progress_async_reads on_change
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Fri, 6 Dec 2013 21:54:04 +0000 (13:54 -0800)]
ReplicatedPG: support async reads on ec pools
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Fri, 6 Dec 2013 21:51:24 +0000 (13:51 -0800)]
src/: add CEPH_OSD_OP_READ_SYNC
EC pools won't support SYNC reads. This means that TMAP and friends
along with reads from an object class will not be supported.
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Fri, 6 Dec 2013 19:50:29 +0000 (11:50 -0800)]
ReplicatedPG: use pgbackend->objects_read_sync() as appropriate
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Fri, 6 Dec 2013 19:44:02 +0000 (11:44 -0800)]
osd/: add sync/async read methods to PGBackend
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Fri, 6 Dec 2013 01:08:28 +0000 (17:08 -0800)]
ObjectStore: _collection_move_rename needs to increment ops
Bugfix.
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Thu, 9 Jan 2014 03:22:21 +0000 (19:22 -0800)]
PGLog,PG: reset can_rollback_to when we get a log entry without a transaction
We cannot rollback past an entry which we didn't actually
apply locally.
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Tue, 10 Dec 2013 18:50:59 +0000 (10:50 -0800)]
PGLog: we cannot rollback past a recovered object entry
We don't recover the older versions, so we can't do a rollback.
In general, this is ok since we had enough copies to recover it
in the first place.
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Mon, 9 Dec 2013 03:36:51 +0000 (19:36 -0800)]
PGLog: create interface allowing interface user to cleanup/rollback
We need to be able to allow the PGLog interface user to provide
logic for rolling back and trimming log entries. To that end,
serveral PGLog methods now take a LogEntryHander.
In PGLog::merge_old_entry, if prior_version > info.log_tail and
the object is not missing, we must have rolled back the prior
log entry. Thus, we don't skip the entry.
To simplify the code, _merge_old_entry has been split out as
a const helper. This way, proc_replica_log can be reexpressed
as merging the divergent replica log entries with the fully
merged authoritative log.
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Wed, 4 Dec 2013 00:14:55 +0000 (16:14 -0800)]
ReplicatedPG: Fill in rollback info for log events
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Mon, 25 Nov 2013 23:33:57 +0000 (15:33 -0800)]
osd/: introduce xattr caching for ec pools
Signed-off-by: Samuel Just <sam.just@inktank.com>
Samuel Just [Wed, 4 Dec 2013 00:25:07 +0000 (16:25 -0800)]
PGBackend,ReplicatedBackend: add support for rolling back log entries
Signed-off-by: Samuel Just <sam.just@inktank.com>