]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
12 years agoceph_common.sh: 'hostname -s' (instead of cut ...)
Sage Weil [Tue, 18 Sep 2012 20:31:06 +0000 (13:31 -0700)]
ceph_common.sh: 'hostname -s' (instead of cut ...)

This will also match up with the instructions in the docs.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agodoc: v0.48.2argonaut release notes
Sage Weil [Thu, 20 Sep 2012 16:42:58 +0000 (09:42 -0700)]
doc: v0.48.2argonaut release notes

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge branch 'wip-mon'
Sage Weil [Thu, 20 Sep 2012 00:05:45 +0000 (17:05 -0700)]
Merge branch 'wip-mon'

Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agodoc: Removed legacy doc. Not needed.
John Wilkins [Wed, 19 Sep 2012 23:28:40 +0000 (16:28 -0700)]
doc: Removed legacy doc. Not needed.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Removed legacy doc. Not needed.
John Wilkins [Wed, 19 Sep 2012 23:28:01 +0000 (16:28 -0700)]
doc: Removed legacy doc. Not needed.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Removed legacy doc. Not needed.
John Wilkins [Wed, 19 Sep 2012 23:27:16 +0000 (16:27 -0700)]
doc: Removed legacy doc. Not needed.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Added enabling Swift access to rgw config.
John Wilkins [Wed, 19 Sep 2012 23:26:40 +0000 (16:26 -0700)]
doc: Added enabling Swift access to rgw config.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc; Added troubleshooting to index.
John Wilkins [Wed, 19 Sep 2012 23:25:49 +0000 (16:25 -0700)]
doc; Added troubleshooting to index.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Copied contents of rgw troubleshooting over to the new ops section.
John Wilkins [Wed, 19 Sep 2012 23:25:11 +0000 (16:25 -0700)]
doc: Copied contents of rgw troubleshooting over to the new ops section.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Reverted so that we don't force yes or non-interactive.
John Wilkins [Wed, 19 Sep 2012 23:24:12 +0000 (16:24 -0700)]
doc: Reverted so that we don't force yes or non-interactive.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Removed legacy usage.
John Wilkins [Wed, 19 Sep 2012 23:23:26 +0000 (16:23 -0700)]
doc: Removed legacy usage.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Cleanup, spell check, grammar check mostly.
John Wilkins [Wed, 19 Sep 2012 23:22:38 +0000 (16:22 -0700)]
doc: Cleanup, spell check, grammar check mostly.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Updating the index to remove legacy and uneeded entries.
John Wilkins [Wed, 19 Sep 2012 23:21:08 +0000 (16:21 -0700)]
doc: Updating the index to remove legacy and uneeded entries.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agomon: make MRoute encoding backwards-compatible
Sage Weil [Tue, 18 Sep 2012 21:48:14 +0000 (14:48 -0700)]
mon: make MRoute encoding backwards-compatible

If the target as the NULLROUTE feature, use a new encoding that explicitly
indicates whether a message follows.  If the feature is absent, use the
old encoding.  The mon is responsible for not trying to send a null reply
if the target does not have the feature.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agorbd/copy.sh: fix typo
Alex Elder [Wed, 19 Sep 2012 03:51:10 +0000 (22:51 -0500)]
rbd/copy.sh: fix typo

Or maybe it was a spello, or a thinko, or something.  In any case
I'm pretty sure Josh intended to call the function he added in
commit 78d6a60ca, and not the non-existent "test_import_args".

Signed-off-by: Alex Elder <elder@inktank.com>
12 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Tue, 18 Sep 2012 23:49:58 +0000 (16:49 -0700)]
Merge remote-tracking branch 'gh/next'

12 years agoMerge remote branch 'origin/wip-librbd-locking'
Josh Durgin [Tue, 18 Sep 2012 23:06:25 +0000 (16:06 -0700)]
Merge remote branch 'origin/wip-librbd-locking'

Conflicts:
qa/workunits/rbd/copy.sh

Reviewed-by: Sage Weil <sage.weil@inktank.com>
12 years agolibrbd: bump version
Josh Durgin [Mon, 10 Sep 2012 17:50:44 +0000 (10:50 -0700)]
librbd: bump version

This marks the availability of the cloning and locking functions.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agocls_rbd: remove locking methods
Josh Durgin [Sat, 8 Sep 2012 01:45:22 +0000 (18:45 -0700)]
cls_rbd: remove locking methods

These are unnecessary now that librbd is using the generic cls_lock.

Fixes: #2951
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agorbd: add locking commands
Josh Durgin [Sat, 8 Sep 2012 01:16:25 +0000 (17:16 -0800)]
rbd: add locking commands

The locker (entity_name_t) will be different each time the rbd
command line tool is run, so 'lock remove' is always breaking a lock.

Fixes: #2556
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agoqa: update rbd tests and runner
Josh Durgin [Sat, 8 Sep 2012 01:14:39 +0000 (18:14 -0700)]
qa: update rbd tests and runner

* no longer need to wait for watch timeout since #2948 was fixed
* use --format 2 instead of --new-format
* add test_cls_rbd to run-rbd-tests script

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agolibrbd: use generic cls_lock instead of cls_rbd's locking
Josh Durgin [Sat, 1 Sep 2012 00:02:01 +0000 (17:02 -0700)]
librbd: use generic cls_lock instead of cls_rbd's locking

Update the librbd locking api to make more sense:
 * Add an optional tag to shared locking
 * only make shared vs exclusive different functions in the user-visible api
 * return a list of structs instead of a set of pairs
 * fix incorrect range checking in the C api
 * rename locks to lockers to be consistent with the generic locking class
 * rename other_locker parameter to client, to match the list_lockers usage

Fixes: #2952
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agocls_lock_client: add ObjectOperation-based get_lock_info
Josh Durgin [Fri, 31 Aug 2012 23:51:43 +0000 (16:51 -0700)]
cls_lock_client: add ObjectOperation-based get_lock_info

This will be used by librbd to grab lock info along with
the rest of its header information in a single request.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agocls_lock_types: add missing include
Josh Durgin [Fri, 31 Aug 2012 23:50:06 +0000 (16:50 -0700)]
cls_lock_types: add missing include

msg_types defines entity-related types used here.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agocls_lock_client: return error when decoding fails
Josh Durgin [Fri, 31 Aug 2012 20:06:12 +0000 (13:06 -0700)]
cls_lock_client: return error when decoding fails

Library code shouldn't be using cerr either.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agocls_lock_client: fix indentation
Josh Durgin [Fri, 31 Aug 2012 18:17:17 +0000 (11:17 -0700)]
cls_lock_client: fix indentation

Add indentation settings to header, and reindent.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agocls_lock_client: change modified reference parameters to pointers
Josh Durgin [Fri, 31 Aug 2012 18:14:22 +0000 (10:14 -0800)]
cls_lock_client: change modified reference parameters to pointers

This makes it clear which parameters are modified,
as our style guide states.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agocls_lock_client: clean up reference parameters
Josh Durgin [Fri, 31 Aug 2012 15:18:07 +0000 (08:18 -0700)]
cls_lock_client: clean up reference parameters

These should all be const. The remaining reference parameters
will be converted to pointers in another commit.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agocls_lock: fix some spacing
Josh Durgin [Thu, 30 Aug 2012 23:39:23 +0000 (16:39 -0700)]
cls_lock: fix some spacing

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agocls_lock: specify librados namespace explicitly
Yehuda Sadeh [Tue, 21 Aug 2012 21:56:43 +0000 (14:56 -0700)]
cls_lock: specify librados namespace explicitly

librados namespace was not specified, hence required including
source files to add using namespace. This fixes it.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoradosgw-admin: fix cli test
Sage Weil [Tue, 18 Sep 2012 22:28:32 +0000 (15:28 -0700)]
radosgw-admin: fix cli test

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agorbd: only open the destination pool for import
Josh Durgin [Tue, 18 Sep 2012 16:37:44 +0000 (09:37 -0700)]
rbd: only open the destination pool for import

Otherwise importing into another pool when the default pool, rbd,
doesn't exist results in an error trying to open the rbd pool.

Reported-by: Sébastien Han <han.sebastien@gmail.com>
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agoqa: test args for rbd import
Josh Durgin [Sat, 15 Sep 2012 00:14:47 +0000 (17:14 -0700)]
qa: test args for rbd import

Make sure that --pool/--dest-pool and --image/--dest all work
interchangeably.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agorbd: make --pool/--image args easier to understand for import
Josh Durgin [Sat, 15 Sep 2012 00:13:57 +0000 (17:13 -0700)]
rbd: make --pool/--image args easier to understand for import

There's no need to set the default pool in set_pool_image_name - this
is done later, in a way that doesn't ignore --pool if --dest-pool
is not specified.

This means --pool and --image can be used with import, just like
the rest of the commands. Without this change, --dest and --dest-pool
had to be used, and --pool would be silently ignored for rbd import.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agolibrbd, cls_rbd: close snapshot creation race with old format
Josh Durgin [Mon, 30 Jul 2012 22:19:29 +0000 (15:19 -0700)]
librbd, cls_rbd: close snapshot creation race with old format

If two clients created a snapshot at the same time, the one with the
higher snapshot id might be created first, so the lower snapshot id
would be added to the snapshot context and the snaphot seq would be
set to the lower one.

Instead of allowing this to happen, return -ESTALE if the snapshot id
is lower than the currently stored snapshot sequence number. On the
client side, get a new id and retry if this error is encountered.

Backport: argonaut
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agolibrbd: fix delete[]
Sage Weil [Sat, 25 Aug 2012 02:36:44 +0000 (19:36 -0700)]
librbd: fix delete[]

CID 716902: Non-array delete for scalars (DELETE_ARRAY)
At (15): Deleting array variable "buf" with non-array delete in "delete buf".

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agodoc: clarify rbd man page (esp. layering)
Josh Durgin [Thu, 30 Aug 2012 00:30:17 +0000 (17:30 -0700)]
doc: clarify rbd man page (esp. layering)

* a clone's size can't be overridden
* note which commands require format 2
* clarify details of copy
* add examples for cloning
* add pool to map example for consistency
* fix a couple warnings and re-sync man page with rst

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agorbd: add --format option
Josh Durgin [Wed, 29 Aug 2012 17:58:30 +0000 (10:58 -0700)]
rbd: add --format option

This chooses whether to use the original (supported by krbd)
or the new (supports layering) format.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agolibrbd: prevent racing clone and snap unprotect
Josh Durgin [Wed, 29 Aug 2012 00:24:47 +0000 (17:24 -0700)]
librbd: prevent racing clone and snap unprotect

If the following sequence of events occured,
a clone could be created of an unprotected snapshot:

1. A: begin clone - check that snap foo is protected
2. B: rbd unprotect snap foo
3. B: check that all pools have no clones of foo
4. B: unprotect snap foo
5. A: finish creating clone of foo, add it as a child

To stop this from happening, check at the beginning and end of
cloning that the parent snapshot is protected. If it is not,
or checking protection status fails (possibly because the parent
snapshot was removed), remove the clone and return an error.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agorbd: add "children" command, update cli test files
Dan Mick [Tue, 21 Aug 2012 23:07:25 +0000 (16:07 -0700)]
rbd: add "children" command, update cli test files

Fixes: #2720
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
12 years agolibrbd: add {rbd_}list_children() methods
Dan Mick [Tue, 21 Aug 2012 22:58:21 +0000 (15:58 -0700)]
librbd: add {rbd_}list_children() methods

These iterate over all pools and check for children of a
particular snapshot.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
12 years agomon: make heartbeat grace and down out interval scaling optional
Sage Weil [Wed, 5 Sep 2012 20:16:21 +0000 (13:16 -0700)]
mon: make heartbeat grace and down out interval scaling optional

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: add tunable to control laggy probability weighting. simplify decoding.
Sage Weil [Wed, 5 Sep 2012 20:15:42 +0000 (13:15 -0700)]
mon: add tunable to control laggy probability weighting.  simplify decoding.

Default to .3. Setting to 0 effectively turns this off.

Also make OSDMap::osd_xinfo_t decode into a float to simplify the
arithmetic conversions.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: apply grace period scaling to mon_osd_down_out_interval
Sage Weil [Wed, 5 Sep 2012 00:17:40 +0000 (17:17 -0700)]
mon: apply grace period scaling to mon_osd_down_out_interval

Scale the down/out interval the same way we do the heartbeat grace, so that
we give laggy osds a bit longer to recovery.

See #3047.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: decay laggy calculations over time
Sage Weil [Tue, 4 Sep 2012 23:55:08 +0000 (16:55 -0700)]
mon: decay laggy calculations over time

Add a configurable halflife for the laggy probability and duration and
apply it at the time those values are used to adjust the heartbeat grace
period.  Both are multiplied together, so it doesn't matter which you
think is being decayed (the probability or the interval).

Default to an hour.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: factor reporter lagginess into grace adjustment
Sage Weil [Tue, 4 Sep 2012 20:52:18 +0000 (13:52 -0700)]
mon: factor reporter lagginess into grace adjustment

Use reporters as a proxy for laggy subclusters within the overall cluster.
See #3046.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: scale heartbeat grace based on laggy probability, interval
Sage Weil [Tue, 4 Sep 2012 20:39:23 +0000 (13:39 -0700)]
mon: scale heartbeat grace based on laggy probability, interval

If, based on historical behavior, an observed osd failure is likely to be
due to unresponsiveness and not the daemon stopping, scale the heartbeat
grace period accordingly:

 grace' = grace + laggy_probabiliy * laggy_interval

This will avoid fruitlessly marking OSDs down and generating additional
map update overhead when the cluster is overloaded and potentially
struggling to keep up with map updates.   See #3045.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: check failures in tick
Sage Weil [Tue, 4 Sep 2012 20:20:32 +0000 (13:20 -0700)]
mon: check failures in tick

Currently we only trigger a failure on receipt of a failure report.  Move
the checks into a helper and check during tick() too, so that we will
trigger failures even when the thresholds are not met at failure report
time.  This is rarely true now, but will be true once we locally scale the
grace period.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: clean up osd failure logging
Sage Weil [Tue, 4 Sep 2012 20:09:11 +0000 (13:09 -0700)]
mon: clean up osd failure logging

Debug log when we get a report, info log when we actual fail the osd.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: reply to all reporters when an osd is failed
Sage Weil [Tue, 4 Sep 2012 20:04:58 +0000 (13:04 -0700)]
mon: reply to all reporters when an osd is failed

Track the latest report message for each reporter.  When the osd is
eventually marked failed, send map updates to them all.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: locally apply osd heartbeat grace to failure checks
Sage Weil [Tue, 4 Sep 2012 18:50:30 +0000 (11:50 -0700)]
mon: locally apply osd heartbeat grace to failure checks

Aggregate the failure reports into a single mon 'failed_since' value (the
max, currently), and wait until we have exceeded the grace period to
consider the osd failed.

WARNING: This slightly changes the semantics.  Previously, the grace could
be adjusted in the [osd] section.  Now, the [osd] option controls when the
failure messages are sent, and the [mon] option controls when it is marked
down, and sane users should set it once in [global].

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: no_reply() to failure messages we don't reply to
Sage Weil [Mon, 3 Sep 2012 22:37:49 +0000 (15:37 -0700)]
mon: no_reply() to failure messages we don't reply to

This makes use clean up request state when requests have been forwarded.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: send 'null' reply to requests we won't reply to
Sage Weil [Sat, 1 Sep 2012 01:23:20 +0000 (18:23 -0700)]
mon: send 'null' reply to requests we won't reply to

This is a no-op if the client was talking to us, but in the forwarded
request case will clean up the request state (and request message) on the
forwarding monitor.  Otherwise, MOSDFailure messages (and probably others)
can accumulate on the non-leader mon indefinitely.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: refactor osd failure report tracking
Sage Weil [Tue, 18 Sep 2012 21:38:47 +0000 (14:38 -0700)]
mon: refactor osd failure report tracking

- use structs to track allegedly failed nodes, and reports against them.
- use methods to handle report, and failure threshold logic.
- calculate failed_since based on OSD's reported failed_for duration

This will make it simpler to extend the logic when we add dynamic
grace periods.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: adjust or decay laggy probabilities on osd boot
Sage Weil [Tue, 28 Aug 2012 03:02:12 +0000 (20:02 -0700)]
mon: adjust or decay laggy probabilities on osd boot

On each osd boot, determine whether the osd was laggy (wrongly marked down)
or newly booted.  Either update the laggy probability and interval or
decay the values, as appropriate.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosdmap: include osd_xinfo_t to track laggy probabilities, timestamps
Sage Weil [Tue, 28 Aug 2012 02:57:48 +0000 (19:57 -0700)]
osdmap: include osd_xinfo_t to track laggy probabilities, timestamps

Track information about laggy probabilities for each OSD.  That is, the
probability that if it is marked down it is because it is laggy, and
the expected interval over which it will take to recovery if it is laggy.

We store this in the OSDMap because it is not convenient to keep it
elsewhere in the monitor.  Yet.  When the new mon infrastructure is in
place, there is a bunch of stuff that can be moved out of the OSDMap
'extended' section into other mon data structures.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosd: include boot_epoch in MOSDBoot
Sage Weil [Tue, 28 Aug 2012 00:23:30 +0000 (17:23 -0700)]
osd: include boot_epoch in MOSDBoot

This will let the monitor infer whether we were wrongly marked down or
the daemon restarted.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosd: include failed_for in MOSDFailure reports
Sage Weil [Tue, 18 Sep 2012 21:37:55 +0000 (14:37 -0700)]
osd: include failed_for in MOSDFailure reports

The monitor will need this to dynamically adjust the heartbeat grace.

Closes: #3044
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge branch 'master' of https://github.com/ceph/ceph
John Wilkins [Tue, 18 Sep 2012 21:17:19 +0000 (14:17 -0700)]
Merge branch 'master' of https://github.com/ceph/ceph

12 years ago:doc: Changed rados.gateway to radosgw.gateway. Start with /etc/init.d.
John Wilkins [Tue, 18 Sep 2012 21:16:44 +0000 (14:16 -0700)]
:doc: Changed rados.gateway to radosgw.gateway. Start with /etc/init.d.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agoworkqueue: allow thread pool size to be adjusted dynamically
Sage Weil [Tue, 18 Sep 2012 21:16:03 +0000 (14:16 -0700)]
workqueue: allow thread pool size to be adjusted dynamically

Allow thread pool sizes to be adjusted on the fly by telling the
ThreadPool which config option to monitor.  Add some basic unit tests
for resizing.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years ago:doc: Trimmed up the stack diagram and fixed a few hyperlink refs.
John Wilkins [Tue, 18 Sep 2012 20:55:18 +0000 (13:55 -0700)]
:doc: Trimmed up the stack diagram and fixed a few hyperlink refs.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Modified hostname to hostname -s.
John Wilkins [Tue, 18 Sep 2012 20:44:16 +0000 (13:44 -0700)]
:doc: Modified hostname to hostname -s.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Modified hostname to hostname -s.
John Wilkins [Tue, 18 Sep 2012 20:43:47 +0000 (13:43 -0700)]
:doc: Modified hostname to hostname -s.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Modified hostname to hostname -s.
John Wilkins [Tue, 18 Sep 2012 20:43:25 +0000 (13:43 -0700)]
:doc: Modified hostname to hostname -s.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agoMerge branch 'wip-3127'
Yehuda Sadeh [Tue, 18 Sep 2012 20:24:52 +0000 (13:24 -0700)]
Merge branch 'wip-3127'

Conflicts:
src/rgw/rgw_rados.cc

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: fix unused warning message
Yehuda Sadeh [Tue, 18 Sep 2012 20:20:06 +0000 (13:20 -0700)]
rgw: fix unused warning message

Remove unused variable.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: fix uninitialized var in error message
Yehuda Sadeh [Tue, 18 Sep 2012 20:12:06 +0000 (13:12 -0700)]
rgw: fix uninitialized var in error message

Used the wrong variable in error message.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw, cls_rgw: a tool to rebuild bucket stats
Yehuda Sadeh [Thu, 13 Sep 2012 23:20:15 +0000 (16:20 -0700)]
rgw, cls_rgw: a tool to rebuild bucket stats

radosgw-admin bucket check [--fix] --bucket=<bucket>

The command will dump the existing bucket header stats,
and the calculated bucket header stats. If --fix is provided
the bucket stats will be overwritten by the recalculated
stats.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years ago:doc: Changed title to RBD from RADOS. Clearer.
John Wilkins [Tue, 18 Sep 2012 20:02:17 +0000 (13:02 -0700)]
:doc: Changed title to RBD from RADOS. Clearer.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Made notice to stop i/o a warning. Initial format clean up.
John Wilkins [Tue, 18 Sep 2012 20:01:50 +0000 (13:01 -0700)]
:doc: Made notice to stop i/o a warning. Initial format clean up.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Added discussion and stack diagram. Initial format cleanup.
John Wilkins [Tue, 18 Sep 2012 20:00:58 +0000 (13:00 -0700)]
:doc: Added discussion and stack diagram. Initial format cleanup.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Remove legacy usage. Initial format cleanup.
John Wilkins [Tue, 18 Sep 2012 20:00:07 +0000 (13:00 -0700)]
:doc: Remove legacy usage. Initial format cleanup.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agorgw: obj_stat() returns object version (epoch), use it
Yehuda Sadeh [Thu, 13 Sep 2012 21:47:16 +0000 (14:47 -0700)]
rgw: obj_stat() returns object version (epoch), use it

We now pass the object version returned by obj_stat. We use that
epoch for setting the object version through the index suggestion
mechanism. This was broken by a recent change that switched from
reading the obj stats by (wrongly) calling directly to ioctx->stat()
to calling get_obj_state().

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agocls_rgw: complete_op() only skip update if epoch is non zero
Yehuda Sadeh [Thu, 13 Sep 2012 21:42:06 +0000 (14:42 -0700)]
cls_rgw: complete_op() only skip update if epoch is non zero

An update shouldn't be skipped if epoch is zero. We'd see a zero
epoch if we tried to read an object and it didn't exist. That
could happen e.g., when a delete object operation failed to
call the complete earlier, and now we're recalling delete on
the (now non-existent object).
However, note that the zero epoch is racy. We may end up racing
with an object creation. This will be taken care of by a new
rados change that will set the returned object version even if
it didn't exist.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agocls_rgw: update index stats based on correct category
Yehuda Sadeh [Thu, 13 Sep 2012 21:01:43 +0000 (14:01 -0700)]
cls_rgw: update index stats based on correct category

only refer to the on-disk category if the object existed.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: fix suggested object size
Yehuda Sadeh [Thu, 13 Sep 2012 00:11:54 +0000 (17:11 -0700)]
rgw: fix suggested object size

We can't just stat the head object, we need to go through
get_obj_state() to get obj attributes.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: set exists flag when suggesting existing bucket entry
Yehuda Sadeh [Wed, 12 Sep 2012 23:49:06 +0000 (16:49 -0700)]
rgw: set exists flag when suggesting existing bucket entry

We weren't setting the 'exists' flag on the bucket entry,
so we ended up not updating the index correctly.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agocls_rgw: change scoping of suggested changes vars
Yehuda Sadeh [Wed, 12 Sep 2012 23:41:17 +0000 (16:41 -0700)]
cls_rgw: change scoping of suggested changes vars

Fixes: #3127
Bad variable scoping made it so that specific variables
weren't initialized between suggested changes iterations.
This specifically affected a case where in a specific
change we had an updated followed by a remove, and the
remove was on a non-existent key (e.g., was already
removed earlier). We ended up re-substracting the
object stats, as the entry wasn't reset between
the iterations (and we didn't read it because the
key didn't exist).

backport:argonaut
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agotest/rgw: add a test for index suggest
Yehuda Sadeh [Wed, 12 Sep 2012 23:34:45 +0000 (16:34 -0700)]
test/rgw: add a test for index suggest

test the bucket index suggest api

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoMerge branch 'master' of https://github.com/ceph/ceph
John Wilkins [Tue, 18 Sep 2012 19:55:35 +0000 (12:55 -0700)]
Merge branch 'master' of https://github.com/ceph/ceph

12 years agocls_rgw: configurable tag timeout
Yehuda Sadeh [Wed, 12 Sep 2012 22:12:23 +0000 (15:12 -0700)]
cls_rgw: configurable tag timeout

we'll be using that for bucket index unitest

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agotest/rgw: add bucket index unitest
Yehuda Sadeh [Wed, 12 Sep 2012 21:48:04 +0000 (14:48 -0700)]
test/rgw: add bucket index unitest

Tests objects creation, removal, prepare, complete

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agocpeh.spec.in: Don't package boto_tool.
Gary Lowell [Tue, 18 Sep 2012 19:43:36 +0000 (12:43 -0700)]
cpeh.spec.in:  Don't package boto_tool.

12 years agocls_rgw: client api for bucket index init
Yehuda Sadeh [Wed, 12 Sep 2012 21:47:11 +0000 (14:47 -0700)]
cls_rgw: client api for bucket index init

create a client api function for bucket index init.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agocls_rgw: add client api calls for index suggest
Yehuda Sadeh [Wed, 12 Sep 2012 18:10:57 +0000 (11:10 -0700)]
cls_rgw: add client api calls for index suggest

This is needed for unitest creation.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agodoc/config-cluster/*: update recently added/changed config options
Sage Weil [Tue, 18 Sep 2012 19:20:30 +0000 (12:20 -0700)]
doc/config-cluster/*: update recently added/changed config options

Signed-off-by: Sage Weil <sage@inktank.com>
12 years ago:doc: Title change for clarity. Initial formatting cleanup.
John Wilkins [Tue, 18 Sep 2012 18:41:32 +0000 (11:41 -0700)]
:doc: Title change for clarity. Initial formatting cleanup.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agoMerge branch 'master' of https://github.com/ceph/ceph
John Wilkins [Tue, 18 Sep 2012 18:23:55 +0000 (11:23 -0700)]
Merge branch 'master' of https://github.com/ceph/ceph

12 years ago:doc: Removed old rec section.
John Wilkins [Tue, 18 Sep 2012 18:23:22 +0000 (11:23 -0700)]
:doc: Removed old rec section.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodocs: add radosgw internals and usage testing section
Yehuda Sadeh [Tue, 18 Sep 2012 18:14:17 +0000 (11:14 -0700)]
docs: add radosgw internals and usage testing section

Document the current tests that are being done on the
radosgw usage feature.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years ago:doc: Notes to add data directory. Notes to address key with escape char.
John Wilkins [Tue, 18 Sep 2012 18:15:37 +0000 (11:15 -0700)]
:doc: Notes to add data directory. Notes to address key with escape char.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Added note to clarify use of host=shortname.
John Wilkins [Tue, 18 Sep 2012 18:14:54 +0000 (11:14 -0700)]
:doc: Added note to clarify use of host=shortname.

Fixes: #3155
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Rewrote architecture paper. Still needs some work.
John Wilkins [Tue, 18 Sep 2012 18:08:23 +0000 (11:08 -0700)]
:doc: Rewrote architecture paper. Still needs some work.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Removing old control.rst. New one is in ceph/docs/cluster-ops.rst
John Wilkins [Tue, 18 Sep 2012 18:05:30 +0000 (11:05 -0700)]
:doc: Removing old control.rst. New one is in ceph/docs/cluster-ops.rst

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Removing old init section.
John Wilkins [Tue, 18 Sep 2012 18:02:41 +0000 (11:02 -0700)]
:doc: Removing old init section.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agorbd: only open the destination pool for import
Josh Durgin [Tue, 18 Sep 2012 16:37:44 +0000 (09:37 -0700)]
rbd: only open the destination pool for import

Otherwise importing into another pool when the default pool, rbd,
doesn't exist results in an error trying to open the rbd pool.

Reported-by: Sébastien Han <han.sebastien@gmail.com>
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
12 years agoceph.spec.in: Add new rados libraries, libcls_kvs.so and libcls_refcount.so.
Gary Lowell [Tue, 18 Sep 2012 05:21:15 +0000 (22:21 -0700)]
ceph.spec.in:  Add new rados libraries, libcls_kvs.so and libcls_refcount.so.

12 years agoosd: default journal size to 1 GB
Sage Weil [Wed, 12 Sep 2012 00:08:51 +0000 (17:08 -0700)]
osd: default journal size to 1 GB

The default is used to create or extend the journal when it is a file.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agofilejournal: do not enforce that bdev size >= osd journal size
Sage Weil [Wed, 12 Sep 2012 00:12:06 +0000 (17:12 -0700)]
filejournal: do not enforce that bdev size >= osd journal size

If the configure osd journal size is > the block device size, warn, but
do not generate an error and abort startup.  This makes it safe to have
a default 'osd journal size' value of, say, 1 GB without fear of breaking
existing clusters with smaller jouranl block devices.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Tommi Virtanen <tv@inktank.com>