]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
13 years agodoc: restructuring quick start section.
John Wilkins [Tue, 3 Jul 2012 18:17:50 +0000 (11:17 -0700)]
doc: restructuring quick start section.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
13 years agodoc: Cleaned up rbd snapshots.
John Wilkins [Tue, 3 Jul 2012 15:46:14 +0000 (08:46 -0700)]
doc: Cleaned up rbd snapshots.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
13 years agoclient: improve dump_cache output
Sage Weil [Tue, 3 Jul 2012 04:08:27 +0000 (21:08 -0700)]
client: improve dump_cache output

Hunting #1737.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agodoc: release notes for 0.48
Sage Weil [Tue, 3 Jul 2012 03:13:51 +0000 (20:13 -0700)]
doc: release notes for 0.48

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agodoc: 'Configuring a Storage Cluster' -> 'Configuration'
Sage Weil [Tue, 3 Jul 2012 01:03:02 +0000 (18:03 -0700)]
doc: 'Configuring a Storage Cluster' -> 'Configuration'

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoMerge tag 'v0.48argonaut'
Sage Weil [Tue, 3 Jul 2012 04:24:56 +0000 (21:24 -0700)]
Merge tag 'v0.48argonaut'

v0.48argonaut

13 years agoMerge branch 'wip-msgr'
Sage Weil [Tue, 3 Jul 2012 00:54:35 +0000 (17:54 -0700)]
Merge branch 'wip-msgr'

13 years agolockdep: enable in common_init
Sage Weil [Thu, 28 Jun 2012 23:23:30 +0000 (16:23 -0700)]
lockdep: enable in common_init

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomsgr: restart_queue when replacing existing pipe and taking over the queue
Sage Weil [Mon, 2 Jul 2012 00:23:28 +0000 (17:23 -0700)]
msgr: restart_queue when replacing existing pipe and taking over the queue

The queue may have been previously stopped (by discard_queue()), and needs
to be restarted.

Fixes consistent failures from the mon_recovery.py integration tests.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomsgr: choose incoming connection if ours is STANDBY
Sage Weil [Sun, 1 Jul 2012 22:37:31 +0000 (15:37 -0700)]
msgr: choose incoming connection if ours is STANDBY

If the connect_seq matches, but our existing connection is in STANDBY, take
the incoming one.  Otherwise, the other end will wait indefinitely for us
to connect but we won't.

Alternatively, we could "win" the race and trigger a connection by sending
a keepalive (or similar), but that is more work; we may as well accept the
incoming connection we have now.

This removes STANDBY from the acceptable WAIT case states.  It also keeps
responsibility squarely on the shoulders of the peer with something to
deliver.

Without this patch, a 3-osd vstart cluster with
'ms inject socket failures = 100' and rados bench write -b 4096 would start
generating slow request warnings after a few minutes due to the osds
failing to connect to each other.  With the patch, I complete a 10 minute
run without problems.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomsgr: preserve incoming message queue when replacing pipes
Sage Weil [Fri, 29 Jun 2012 00:50:47 +0000 (17:50 -0700)]
msgr: preserve incoming message queue when replacing pipes

If we replace an existing pipe with a new one, move the incoming queue
of messages that have not yet been dispatched over to the new Pipe so that
they are not lost.  This prevents messages from being lost.

Alternatively, we could set in_seq = existing->in_seq - existing->in_qlen,
but that would make the other end resend those messages, which is a waste
of bandwidth.

Very easy to reproduce the original bug with 'ms inject socket failures'.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomsgr: move dispatch_entry into DispatchQueue class
Sage Weil [Fri, 29 Jun 2012 00:45:24 +0000 (17:45 -0700)]
msgr: move dispatch_entry into DispatchQueue class

A bit cleaner.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomsgr: move incoming queue to separate class
Sage Weil [Fri, 29 Jun 2012 00:38:34 +0000 (17:38 -0700)]
msgr: move incoming queue to separate class

This extricates the incoming queue and its funky relationship with
DispatchQueue from Pipe and moves it into IncomingQueue.  There is now a
single IncomingQueue attached to each Pipe.  DispatchQueue is now no
longer tied to Pipe.

This modularizes the code a bit better (tho that is still a work in
progress) and (more importantly) will make it possible to move the
incoming messages from one pipe to another in accept().

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomsgr: make D_CONNECT constant non-zero, fix ms_handle_connect() callback
Sage Weil [Thu, 28 Jun 2012 00:06:40 +0000 (17:06 -0700)]
msgr: make D_CONNECT constant non-zero, fix ms_handle_connect() callback

A while ago we inadvertantly broke ms_handle_connect() callbacks because
of a check for m being non-zero in the dispatch_entry() thread.  Adjust the
enums so that they get delivered again.

This fixes hangs when, for example, the ceph tool sends a command, gets a
connection reset, and doesn't get the connect callback to resend after
reconnecting to a new monitor.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomsgr: fix pipe replacement assert
Sage Weil [Wed, 27 Jun 2012 00:10:40 +0000 (17:10 -0700)]
msgr: fix pipe replacement assert

We may replace an existing pipe in the STANDBY state if the previous
attempt failed during accept() (see previous patches).

This might fix #1378.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomsgr: do not try to reconnect con with CLOSED pipe
Sage Weil [Wed, 27 Jun 2012 00:07:31 +0000 (17:07 -0700)]
msgr: do not try to reconnect con with CLOSED pipe

If we have a con with a closed pipe, drop the message.  For lossless
sessions, the state will be STANDBY if we should reconnect.  For lossy
sessions, we will end up with CLOSED and we *should* drop the message.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomsgr: move to STANDBY if we replace during accept and then fail
Sage Weil [Wed, 27 Jun 2012 00:06:41 +0000 (17:06 -0700)]
msgr: move to STANDBY if we replace during accept and then fail

If we replace an existing pipe during accept() and then fail, move to
STANDBY so that our connection state (connect_seq, etc.) is preserved.
Otherwise, we will throw out that information and falsely trigger a
RESETSESSION on the next connection attempt.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agov0.48argonaut v0.48argonaut
Sage Weil [Sat, 30 Jun 2012 21:50:20 +0000 (14:50 -0700)]
v0.48argonaut

13 years agoceph.spec.in: Change license of base package to GPL and use SPDX format
Holger Macht [Mon, 2 Jul 2012 20:54:48 +0000 (13:54 -0700)]
ceph.spec.in: Change license of base package to GPL and use SPDX format

LGPLv2 in spec file is not correct, because some of the included
packages/binaries are GPLv2. For example:

 src/mount/mtab.c     -> package ceph, binary mount.ceph
 src/common/fiemap.cc -> package ceph, binary rbd

Also use SPDX format (http://www.spdx.org/licenses) for the sub-package
licenses.

Signed-off-by: Holger Macht <hmacht@suse.de>
13 years agomon: initialize quorum_features
Sage Weil [Mon, 2 Jul 2012 23:05:16 +0000 (16:05 -0700)]
mon: initialize quorum_features

This could cause us to incorrectly encode new features into the monstore
that an old mon won't understand.

This is overly conservative; we probably need to persist the set of quorum
features that are supported and use those.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agodoc: fixed --cap error and a few additional bits of cleanup.
John Wilkins [Mon, 2 Jul 2012 20:05:26 +0000 (13:05 -0700)]
doc: fixed --cap error and a few additional bits of cleanup.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
13 years agoOSD::do_command: unlock pg only if we had it
Samuel Just [Mon, 2 Jul 2012 16:51:37 +0000 (09:51 -0700)]
OSD::do_command: unlock pg only if we had it

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agoMOSDSubOp: set hobject_incorrect_pool in decode_payload
Samuel Just [Mon, 2 Jul 2012 16:49:52 +0000 (09:49 -0700)]
MOSDSubOp: set hobject_incorrect_pool in decode_payload

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agodoc: Added sudo and cleaner instruction for unmap.
John Wilkins [Mon, 2 Jul 2012 15:55:36 +0000 (08:55 -0700)]
doc: Added sudo and cleaner instruction for unmap.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
13 years agodoc: updated usage on RBD kernel object commands.
John Wilkins [Mon, 2 Jul 2012 15:35:10 +0000 (08:35 -0700)]
doc: updated usage on RBD kernel object commands.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
13 years agoMerge pull request #15 from fghaas/wip-rgw-doc
John Wilkins [Mon, 2 Jul 2012 15:07:23 +0000 (08:07 -0700)]
Merge pull request #15 from fghaas/wip-rgw-doc

radosgw documentation improvements

13 years agoMerge pull request #17 from fghaas/rgw-manpage
Sage Weil [Mon, 2 Jul 2012 15:03:33 +0000 (08:03 -0700)]
Merge pull request #17 from fghaas/rgw-manpage

doc: drop mention of MDS capabilities from radosgw man page

13 years agodoc: drop mention of MDS capabilities from radosgw man page 17/head
Florian Haas [Mon, 2 Jul 2012 14:54:08 +0000 (16:54 +0200)]
doc: drop mention of MDS capabilities from radosgw man page

Signed-off-by: Florian Haas <florian@hastexo.com>
13 years agofilestore: initialize m_filestore_do_dump
Sage Weil [Mon, 2 Jul 2012 14:10:33 +0000 (07:10 -0700)]
filestore: initialize m_filestore_do_dump

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agodoc: add design doc for rbd layering
Josh Durgin [Sat, 30 Jun 2012 02:20:33 +0000 (19:20 -0700)]
doc: add design doc for rbd layering

I'm still not sure about the names for the command line
operations, but they can be changed later if better ones
come up.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
13 years agofilestore: set min flush size
Sage Weil [Mon, 7 May 2012 21:37:38 +0000 (14:37 -0700)]
filestore: set min flush size

If a write is smaller than some threshold, do not bother to flush it; let
the fs do that (efficiently, we hope) at commit time.  Focus on the big
writes.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosdmap: check new pool name on rename
Sage Weil [Sat, 30 Jun 2012 02:56:07 +0000 (19:56 -0700)]
osdmap: check new pool name on rename

Ensure the new pool name doesn't already exist, both in the current and
project map.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoosd: handle pool name changes properly
Sage Weil [Sat, 30 Jun 2012 02:54:35 +0000 (19:54 -0700)]
osd: handle pool name changes properly

 * Remove the old name from the name->id map.

Fixes: #2676
Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoPG: reset_recovery_pointers in activate if missing is empty
Samuel Just [Fri, 29 Jun 2012 22:49:41 +0000 (15:49 -0700)]
PG: reset_recovery_pointers in activate if missing is empty

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agovstart.sh: don't clobber keyring if not -n
Dan Mick [Fri, 29 Jun 2012 22:25:52 +0000 (15:25 -0700)]
vstart.sh: don't clobber keyring if not -n

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
13 years agomon: 'osd pool rename <oldname> <newname>'
Sage Weil [Fri, 29 Jun 2012 21:51:32 +0000 (14:51 -0700)]
mon: 'osd pool rename <oldname> <newname>'

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agodoc: document new 'osd crush move ...' command
Sage Weil [Fri, 29 Jun 2012 21:22:14 +0000 (14:22 -0700)]
doc: document new 'osd crush move ...' command

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: fix 'osd crush move <item> <loc ...>'
Sage Weil [Fri, 29 Jun 2012 21:16:05 +0000 (14:16 -0700)]
mon: fix 'osd crush move <item> <loc ...>'

 - fix arg count check
 - avoid updating crush map if it is already correct

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoMerge branch 'wip-crushwrapper2'
Sage Weil [Fri, 29 Jun 2012 19:34:13 +0000 (12:34 -0700)]
Merge branch 'wip-crushwrapper2'

Reviewed-by: Sage Weil <sage@inktank.com>
13 years agomon: add 'osd crush move <name> <loc ...>' command
Sage Weil [Fri, 29 Jun 2012 17:53:11 +0000 (10:53 -0700)]
mon: add 'osd crush move <name> <loc ...>' command

Move an existing bucket to a new position in the hierarchy.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agocrush: add move_bucket() method
Caleb Miles [Fri, 29 Jun 2012 17:54:16 +0000 (10:54 -0700)]
crush: add move_bucket() method

Move an existing bucket to a new location in the hierarchy.

Signed-off-by: Caleb Miles <caselim@gmail.com>
13 years agocrush: get_loc -> get_immediate_parent
Caleb Miles [Fri, 29 Jun 2012 17:54:08 +0000 (10:54 -0700)]
crush: get_loc -> get_immediate_parent

Signed-off-by: Caleb Miles <caselim@gmail.com>
13 years agoPG::merge_old_entry: handle clone prior_version case
Samuel Just [Fri, 22 Jun 2012 16:07:45 +0000 (09:07 -0700)]
PG::merge_old_entry: handle clone prior_version case

A clone can have a prior_version after log_tail and still not have
a corresponding log entry since the prior_version would be the
head object.

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agoReplicatedPG: adjust log.complete_to based on rmissing
Samuel Just [Tue, 19 Jun 2012 19:48:23 +0000 (12:48 -0700)]
ReplicatedPG: adjust log.complete_to based on rmissing

log.complete_to can actually move backwards due to objects
missing because of divergent entries.

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agoReplicatedPG: clear peer_(missing|log)_requested in check_recovery_sources
Samuel Just [Mon, 25 Jun 2012 04:38:57 +0000 (21:38 -0700)]
ReplicatedPG: clear peer_(missing|log)_requested in check_recovery_sources

Otherwise, we might fail to re-request the information from a
previously down osd.

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agoPG: check_recovery_sources on each map
Samuel Just [Wed, 20 Jun 2012 16:29:18 +0000 (09:29 -0700)]
PG: check_recovery_sources on each map

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agodoc: radosgw: further simplify Apache rewrite rule 15/head
Florian Haas [Fri, 29 Jun 2012 05:50:50 +0000 (07:50 +0200)]
doc: radosgw: further simplify Apache rewrite rule

Sufficient to just pass the query string, drop params.

Signed-off-by: Florian Haas <florian@hastexo.com>
13 years agoMerge pull request #16 from fghaas/doc-osd
Sage Weil [Fri, 29 Jun 2012 05:25:14 +0000 (22:25 -0700)]
Merge pull request #16 from fghaas/doc-osd

doc: document osd tell bench

13 years agodoc: document osd tell bench 16/head
Florian Haas [Thu, 28 Jun 2012 19:07:22 +0000 (21:07 +0200)]
doc: document osd tell bench

Signed-off-by: Florian Haas <florian@hastexo.com>
13 years agodoc: minor edits.
John Wilkins [Thu, 28 Jun 2012 18:41:08 +0000 (11:41 -0700)]
doc: minor edits.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
13 years agorest-bench: mark request as complete later
Yehuda Sadeh [Wed, 27 Jun 2012 00:16:11 +0000 (17:16 -0700)]
rest-bench: mark request as complete later

We marked a request as complete in the callback, however
it might be that we're still inside S3_runall_request_context()
which means that request is not really complete yet.
Possibly fixes bug #2652.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
13 years agobuffer.h: fix operator> and operator>= increment error
Samuel Just [Thu, 28 Jun 2012 18:27:07 +0000 (11:27 -0700)]
buffer.h: fix operator> and operator>= increment error

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agoDBObjectMap: clones must inherit spos from parent
Samuel Just [Thu, 28 Jun 2012 01:09:37 +0000 (18:09 -0700)]
DBObjectMap: clones must inherit spos from parent

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agofilestore: sync object_map object in lfn_remove when nlink > 1
Samuel Just [Wed, 27 Jun 2012 22:16:42 +0000 (15:16 -0700)]
filestore: sync object_map object in lfn_remove when nlink > 1

In the following sequence:

1) create (a, 1)
2) setattr (a, 1)
3) link (a, 1), (b, 1)
4) remove (a, 1)

If we play 1-4 and then replay 1-4 again, we will end up removing
(b, 1)'s attributes since nlink for (a, 1) the second time through
is 1.  We fix this by marking spos on the object_map header for
(a, 1) when we remove (a, 1) but not eh attributes.

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agoradosgw Apache configuration: simplify rewrite rule
Florian Haas [Thu, 28 Jun 2012 07:46:28 +0000 (09:46 +0200)]
radosgw Apache configuration: simplify rewrite rule

Use a simpler RewriteRule as suggested here:
http://marc.info/?l=ceph-devel&m=133951986510085&w=2

13 years agoFix example radosgw Apache configuration
Florian Haas [Thu, 28 Jun 2012 07:43:00 +0000 (09:43 +0200)]
Fix example radosgw Apache configuration

Follow RFC2606, use example.com everywhere.

13 years agodebian: move metadata server into ceph-mds
Sage Weil [Mon, 18 Jun 2012 16:29:48 +0000 (09:29 -0700)]
debian: move metadata server into ceph-mds

Also adjust the recommends and depends, so that libcephfs1 and ceph-fuse
hang off of ceph-mds instead of ceph.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agodebian: move mount.ceph and cephfs into ceph-fs-common
Sage Weil [Mon, 18 Jun 2012 16:20:40 +0000 (09:20 -0700)]
debian: move mount.ceph and cephfs into ceph-fs-common

Based on patches from Laszlo Boszormenyi (GCS) <gcs@debian.hu>.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agodebian: arch linux-any
Sage Weil [Mon, 18 Jun 2012 16:15:56 +0000 (09:15 -0700)]
debian: arch linux-any

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agodebian: build with libnss instead of crypto++
Laszlo Boszormenyi (GCS) [Sat, 16 Jun 2012 20:39:56 +0000 (13:39 -0700)]
debian: build with libnss instead of crypto++

Signed-off-by: Laszlo Boszormenyi (GCS) <gcs@debian.hu>
13 years agodoc/config-cluster/authentication: keyring default locations, simplify key management
Sage Weil [Tue, 12 Jun 2012 19:47:57 +0000 (12:47 -0700)]
doc/config-cluster/authentication: keyring default locations, simplify key management

- keyrings have new default locations that everyone should use.
- the user key setup is vastly simplified if you use the
  'ceph auth get-or-create' command.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agopg: report scrub status
Mike Ryan [Wed, 27 Jun 2012 21:14:30 +0000 (14:14 -0700)]
pg: report scrub status

Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
13 years agopg: track who we are waiting for maps from
Mike Ryan [Wed, 27 Jun 2012 20:30:45 +0000 (13:30 -0700)]
pg: track who we are waiting for maps from

Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
13 years agopg: reduce scrub write lock window
Mike Ryan [Tue, 26 Jun 2012 23:25:27 +0000 (16:25 -0700)]
pg: reduce scrub write lock window

Wait for all replicas to construct the base scrub map before finalizing
the scrub and locking out writes.

Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
13 years agomon: MonmapMonitor: Use default port when the specified on 'add' is zero
Joao Eduardo Luis [Wed, 27 Jun 2012 23:29:24 +0000 (00:29 +0100)]
mon: MonmapMonitor: Use default port when the specified on 'add' is zero

Fixes a bug triggered by using the ceph tool to 'mon add' with a port set
to zero. We now default to the monitor's default port (6789) instead, and
we will fail if that port is already assigned to some other monitor.

Fixes: bug #2661
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
13 years agorest-bench: mark request as complete later
Yehuda Sadeh [Wed, 27 Jun 2012 00:16:11 +0000 (17:16 -0700)]
rest-bench: mark request as complete later

We marked a request as complete in the callback, however
it might be that we're still inside S3_runall_request_context()
which means that request is not really complete yet.
Possibly fixes bug #2652.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
13 years agorgw-admin: use correct modifier with strptime
Yehuda Sadeh [Wed, 27 Jun 2012 00:28:51 +0000 (17:28 -0700)]
rgw-admin: use correct modifier with strptime

Bug #2658: used %I (12h) instead of %H (24h)

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
13 years agoOSD: disconnect_session_watches: handle race with watch disconnect
Samuel Just [Tue, 26 Jun 2012 17:38:20 +0000 (10:38 -0700)]
OSD: disconnect_session_watches: handle race with watch disconnect

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Tested-by: Stefan Priebe <s.priebe@profihost.ag>
13 years agodoc: removing old 'todo' configuration reference.
John Wilkins [Tue, 26 Jun 2012 19:30:01 +0000 (12:30 -0700)]
doc: removing old 'todo' configuration reference.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
13 years agodoc: converted daemon references from nasty tables to lines.
John Wilkins [Tue, 26 Jun 2012 19:24:23 +0000 (12:24 -0700)]
doc: converted daemon references from nasty tables to lines.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
13 years agodoc: a few minor tweaks to radosgw to cleanup navigation.
John Wilkins [Tue, 26 Jun 2012 15:28:10 +0000 (08:28 -0700)]
doc: a few minor tweaks to radosgw to cleanup navigation.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
13 years agodoc: Published RADOS GW docs and install as is for now. Needs more work.
John Wilkins [Tue, 26 Jun 2012 15:21:05 +0000 (08:21 -0700)]
doc: Published RADOS GW docs and install as is for now. Needs more work.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
13 years agoCrushTester.cc: removed last broken bits of obsolete method
caleb miles [Tue, 26 Jun 2012 07:05:27 +0000 (00:05 -0700)]
CrushTester.cc: removed last broken bits of obsolete method

Signed-off-by: caleb miles <caleb.miles@inktank.com>
13 years agoCrushTester.cc: removed obsolete method for collapsing a CRUSH map
caleb miles [Tue, 26 Jun 2012 07:02:24 +0000 (00:02 -0700)]
CrushTester.cc: removed obsolete method for collapsing a CRUSH map

Signed-off-by: caleb miles <caleb.miles@inktank.com>
13 years agoCrushTester: eliminated compiler warning
caleb miles [Tue, 26 Jun 2012 06:58:52 +0000 (23:58 -0700)]
CrushTester: eliminated compiler warning

Signed-off-by: caleb miles <caselim@gmail.com>
13 years agoradosgw-admin: improve man page
Florian Haas [Sat, 23 Jun 2012 09:50:24 +0000 (10:50 +0100)]
radosgw-admin: improve man page

* remove "OpenStack user" information (deprecated, should no
  longer be used. No reason to keep mentioning it)
* fix description of --uid
* mention subusers
* add key management commands

Signed-off-by: Florian Haas <florian@hastexo.com>
13 years agodoc: explain how to configure Ceph for radosgw
Florian Haas [Thu, 14 Jun 2012 21:07:44 +0000 (23:07 +0200)]
doc: explain how to configure Ceph for radosgw

* explain creating auth creds for radosgw
* explain Apache config for radosgw
* explain starting daemons for radosgw
* explain creating users for radosgw
* explain creating subusers for radosgw
* explain using swift client against radosgw
* Explain user:subuser to tenant:user mapping in Swift

Signed-off-by: Florian Haas <florian@hastexo.com>
13 years agoMerge branch 'master' of github.com:ceph/ceph
caleb miles [Tue, 26 Jun 2012 06:14:09 +0000 (23:14 -0700)]
Merge branch 'master' of github.com:ceph/ceph

13 years agorgw: send both swift x-storage-token and x-auth-token
Yehuda Sadeh [Thu, 21 Jun 2012 22:40:27 +0000 (15:40 -0700)]
rgw: send both swift x-storage-token and x-auth-token

older clients need x-storage-token, newer x-auth-token

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
13 years agorgw: radosgw-admin date params now also accept time
Yehuda Sadeh [Thu, 21 Jun 2012 22:17:19 +0000 (15:17 -0700)]
rgw: radosgw-admin date params now also accept time

The date format now is "YYYY-MM-DD[ hh:mm:ss]". Got rid of
the --time param for the old ops log stuff.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
13 years agorgw-admin: fix usage help
Yehuda Sadeh [Thu, 21 Jun 2012 20:14:47 +0000 (13:14 -0700)]
rgw-admin: fix usage help

s/show/trim

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
13 years agoupstart: fix regex
Tommi Virtanen [Mon, 25 Jun 2012 22:14:33 +0000 (15:14 -0700)]
upstart: fix regex

Signed-off-by: Tommi Virtanen <tv@inktank.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
13 years agoMerge branch 'next'
Sage Weil [Mon, 25 Jun 2012 21:45:21 +0000 (14:45 -0700)]
Merge branch 'next'

13 years agomon: don't tick the PaxosServices if we are currently slurping.
Greg Farnum [Mon, 25 Jun 2012 20:04:15 +0000 (13:04 -0700)]
mon: don't tick the PaxosServices if we are currently slurping.

They aren't prepared to deal with the on-disk state being inconsistent.

Signed-off-by: Greg Farnum <greg@inktank.com>
13 years agoobjecter: do not feed session to op_submit()
Sage Weil [Wed, 20 Jun 2012 18:07:29 +0000 (11:07 -0700)]
objecter: do not feed session to op_submit()

The linger_send() method was doing this, but it is problematic because the
new Op doesn't get its pgid or acting vector set correctly.  The result is
that the request goes to the right OSD, but has the wrong pgid, and makes
the OSD complain about misdirected requests and drop it on the floor.  It
didn't affect the test results because we weren't testing whether the
watch was working in that case.

Instead, we'll just recalculate and get the same value the parent linger
op did.  Which is fine, and goes through all the usual code paths so
nothing is missed.

Also, increment num_homeless_ops before we recalc_op_target(), so that we
don't (harmlessly, but confusingly) underflow.

Fixes: #2022
Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoObjectStore::Transaction: initialize pool_override in all constructors
Samuel Just [Sun, 24 Jun 2012 20:30:53 +0000 (13:30 -0700)]
ObjectStore::Transaction: initialize pool_override in all constructors

use_pool_override and pool_override weren't initialized in these two
constructors.

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agoobjecter: do not feed session to op_submit()
Sage Weil [Wed, 20 Jun 2012 18:07:29 +0000 (11:07 -0700)]
objecter: do not feed session to op_submit()

The linger_send() method was doing this, but it is problematic because the
new Op doesn't get its pgid or acting vector set correctly.  The result is
that the request goes to the right OSD, but has the wrong pgid, and makes
the OSD complain about misdirected requests and drop it on the floor.  It
didn't affect the test results because we weren't testing whether the
watch was working in that case.

Instead, we'll just recalculate and get the same value the parent linger
op did.  Which is fine, and goes through all the usual code paths so
nothing is missed.

Also, increment num_homeless_ops before we recalc_op_target(), so that we
don't (harmlessly, but confusingly) underflow.

Fixes: #2022
Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoosd_types.cc: remove hobject_t decode asserts
Samuel Just [Fri, 22 Jun 2012 00:08:20 +0000 (17:08 -0700)]
osd_types.cc: remove hobject_t decode asserts

These asserts were useful for ensuring that pool is passed
in in the correct places, but they prevent the encoder
testing from working.

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agomon: note that monmap may be reencoded later
Sage Weil [Thu, 21 Jun 2012 14:33:47 +0000 (07:33 -0700)]
mon: note that monmap may be reencoded later

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: encoding new monmap using quorum feature set
Sage Weil [Thu, 21 Jun 2012 14:31:47 +0000 (07:31 -0700)]
mon: encoding new monmap using quorum feature set

It is probably unlikely that someone will expand the mon cluster with a
mixed feature set, but we know the quorum features here, so we should use
them.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: conditionally encode mon features for remote mon
Sage Weil [Thu, 21 Jun 2012 14:27:49 +0000 (07:27 -0700)]
mon: conditionally encode mon features for remote mon

The only time we encode these is when forwarding messages.  Encoding using
the destination's feature set.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: conditionally encode PGMap[::Incremental] with quorum features
Sage Weil [Thu, 21 Jun 2012 14:23:56 +0000 (07:23 -0700)]
mon: conditionally encode PGMap[::Incremental] with quorum features

This allows a mon cluster to transition to the new encoding during a
rolling upgrade.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: conditionally encode auth incremental with quorum feature bits
Sage Weil [Thu, 21 Jun 2012 03:41:17 +0000 (20:41 -0700)]
mon: conditionally encode auth incremental with quorum feature bits

If the quorum does not yet all have the MONENC feature, stick to the old
encoding.

It might be more polite to require a super-quorum before switching over,
and take note so that thereafter we can stick to the new encoding, but
that has more moving parts and I'm not sure it's worth the complexity.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: track intersection of quorum member features
Sage Weil [Thu, 21 Jun 2012 03:33:41 +0000 (20:33 -0700)]
mon: track intersection of quorum member features

When we form a quorum, also note the intersection of the quorum members'
feature bits.  This will inform decisions about what encodings we use.

This is an imperfect strategy because the quorum may change, and we may
have a mon with old code join in and not understand what is going on.
However, it does ensure that a majority of the members run new code, so in
the absence of other failures we can make progress.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agomon: conditionally encode old monmap when peer lacks feature
Sage Weil [Thu, 21 Jun 2012 02:08:34 +0000 (19:08 -0700)]
mon: conditionally encode old monmap when peer lacks feature

This allows a rolling upgrade from 0.47.2 to 0.48.

Signed-off-by: Sage Weil <sage@inktank.com>
13 years agoOSD,PG,ObjectStore: handle messages with old hobject_t encoding
Samuel Just [Wed, 20 Jun 2012 19:55:38 +0000 (12:55 -0700)]
OSD,PG,ObjectStore: handle messages with old hobject_t encoding

Messages that embed an hobject_t need to have the pool field fixed
on messages from old peers.

Signed-off-by: Samuel Just <sam.just@inktank.com>
13 years agodoc: ceph osd crush add is now ceph osd crush set
Travis Rhoden [Thu, 21 Jun 2012 19:25:02 +0000 (15:25 -0400)]
doc: ceph osd crush add is now ceph osd crush set

Mailing list thread: http://www.spinics.net/lists/ceph-devel/msg06199.html

Signed-off-by: Travis Rhoden <trhoden@gmail.com>
13 years agologrotate: reload all upstart instances
Sage Weil [Thu, 21 Jun 2012 19:42:53 +0000 (12:42 -0700)]
logrotate: reload all upstart instances

upstart doesn't let you wildcard all instances of a given job, so we
slog through initctl list output, and reload any running daemons.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Tommi Virtanen <tv@inktank.com>
13 years agodocs: clarify example in radosgw-admin
Yehuda Sadeh [Thu, 21 Jun 2012 18:34:20 +0000 (11:34 -0700)]
docs: clarify example in radosgw-admin

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
13 years agofilestore: remove btrfs start/end transaction ioctl code
Sage Weil [Thu, 21 Jun 2012 18:17:34 +0000 (11:17 -0700)]
filestore: remove btrfs start/end transaction ioctl code

This was an ill-conceived approach to getting atomic transactions out of
btrfs.  It doesn't offer rollback, which means that any error means we need
to wedge the file system and reboot in order to avoid corrupting the
data set.  And that's silly!

Snapshots are more robust and only marginally slower (because we have to
quiesce our writes while waiting for the snap to start, and btrfs resume
work in-kernel slightly faster...maybe).

Fixes: #2623
Signed-off-by: Sage Weil <sage@inktank.com>